This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Ideas for PV on SeaBIOS

To: Keir Fraser <keir.xen@xxxxxxxxx>
Subject: Re: [Xen-devel] Ideas for PV on SeaBIOS
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Thu, 19 May 2011 09:01:57 +0100
Cc: Daniel Castro <evil.dani@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "seabios@xxxxxxxxxxx" <seabios@xxxxxxxxxxx>
Delivery-date: Thu, 19 May 2011 01:03:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C9FA8305.1A924%keir.xen@xxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <C9FA8305.1A924%keir.xen@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Thu, 2011-05-19 at 08:19 +0100, Keir Fraser wrote:
> On 19/05/2011 06:33, "Daniel Castro" <evil.dani@xxxxxxxxx> wrote:
> > Good Day,
> > 
> > In order to give PV Drivers to SeaBIOS we will need to solve a few
> > problems, one is the following:
> > Does a booting kernel informs the BIOS that it will leave real mode
> > and not use it again? When the booting kernel uses CPU real mode for
> > the last time, how can we (Xen or SeaBIOS) know that real mode will no
> > longer be used, and hence BIOS calls will not be issued?
> > We want upon last real mode usage to leave all Xen PV information in a
> > clean state, this means, closing the channel and ring between the
> > newly created domain and the host system.
> > 
> > If you have any ideas please let me know.
> There's no easy way. Best effort might be to hook off the guest OS setting
> up its PV drivers. One of the first steps of that would be getting a
> hypercall transfer page, and also setting up event-channel delivery.

Probably the first thing it will do is hit the Xen CPUID leaf.

>  It may
> be necessary for the hypervisor to give the BIOS some help by delivering a
> pre-registered callback on one of those events, to clean up. This is made
> uglier by the fact you don't know what execution mode the OS might be in
> when it triggers the callback.

Virtual SMM? :-(

>  Needs a bit more thought.

We had a bit of a brainstorm yesterday and someone suggested that
perhaps qemu could deal with it when it sees the I/O ports for the
emulated device unplug get hit. That would potentially mean
communicating a bunch of frontend state to qemu though, which could get
pretty ugly.

More thought indeed.


Xen-devel mailing list