[SeaBIOS] [Xen-devel] Ideas for PV on SeaBIOS
Ian.Campbell at citrix.com
Thu May 19 10:01:57 CEST 2011
On Thu, 2011-05-19 at 08:19 +0100, Keir Fraser wrote:
> On 19/05/2011 06:33, "Daniel Castro" <evil.dani at gmail.com> 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
More thought indeed.
More information about the SeaBIOS