[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.