[SeaBIOS] Ideas for PV on SeaBIOS

Kevin O'Connor kevin at koconnor.net
Tue May 24 01:52:38 CEST 2011


CC'ing the mailing list.

On Mon, May 23, 2011 at 03:24:05PM +0900, Daniel Castro wrote:
> Kevin,
> thanks for your answer.
> 
> Please see below:
> 
> On Sat, May 21, 2011 at 10:29 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
> > On Thu, May 19, 2011 at 02:33:52PM +0900, Daniel Castro 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?
> >
> > In the general case, no.
> >
> > The ACPI spec does define a mechanism for the OS to inform the BIOS
> > that it is transitioning from "Legacy state" to "Working state" via an
> > SMI.  SeaBIOS does have code for this (see src/smm.c), but it doesn't
> > currently do anything interesting.  Unfortunately, this is only
> > available for OSs that support ACPI.
> 
> In your opinion how hard would implementing that functionality will
> be?

Well, there's code there today.  Unfortunately it's all in 16bit mode
assembler.  If anything significant needs to be done then
transitioning to C code would be needed, and getting that all setup
would likely be a pain.

>and how often that call is supported by HVM guests? Windows
> support such feature?

I think it's common for OSes to do this.  It's been in the ACPI spec
for some time, and not doing it would likely break USB keyboard
emulation.

-Kevin


> 
> >
> >> 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.
> >
> > Is it required to close the channel?  Can opening a new channel
> > implicitly close the old channel (I believe this is what the virtio
> > stuff does)?
> >
> > -Kevin
> >
> 
> 
> 
> -- 
> +-=====---------------------------+
> | +---------------------------------+ | This space intentionally blank
> for notetaking.
> | |   | Daniel Castro,                |
> | |   | Consultant/Programmer.|
> | |   | U Andes                         |
> +-------------------------------------+



More information about the SeaBIOS mailing list