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

Re: [Xen-devel] [PATCH 3/4] x86-64: EFI runtime code

On Tue, Jun 28, 2011 at 08:56:03AM +0100, Jan Beulich wrote:
> >>> On 28.06.11 at 09:39, Keir Fraser <keir.xen@xxxxxxxxx> wrote:
> > On 28/06/2011 08:11, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:
> > 
> >>>>> On 27.06.11 at 18:25, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 
> >>>>> wrote:
> >>> On Mon, Jun 27, 2011 at 11:43:02AM +0100, Jan Beulich wrote:
> >>>> This allows Dom0 access to all suitable EFI runtime services. The
> >>> 
> >>> What type of patches for the upstream 3.0 kernel are needed to take
> >>> advantage of these new hypercalls?
> >> 
> >> I did not put any consideration in how to integrate this with the
> >> upstream kernel. For our kernel, I used the *-xen.? mechanism
> >> to have a parallel source file to arch/x86/platform/efi/efi.c, and
> >> excluded building of arch/x86/platform/efi/efi_stub_*.S and
> >> arch/x86/platform/efi/efi_*.c.
> >> 
> >> Patch below for reference.
> > 
> > Since the new hypercalls are 1:1 replacements for the EFI run-time calls (I
> > think?)
> Yes, with a few exceptions of things that must not be done from
> Dom0 (i.e. the ResetSystem() and SetVirtualAddressMap() ones).
> > we could perhaps keep most of Linux's EFI subsystem intact and spoof
> > it with a fake operations table containing hypercall stubs.
> Indeed, that part ought to be simple. The question is which of the
> (luckily few) other code paths need adjustment.

What kind of minimal "stuff" is required from EFI for Dom0 consumption?

I see the need for the VGA console, and that looks easy enough.
The E820 is parsed by the Xen hypervisor, so XENMEM_machine_memory_map from Dom0
will take care of that.

The other information Dom0 needs is the ACPI DSDT to figure out the polarity
and trigger for the interrupts. Is the ACPI DSDT "lost" when it is running from 

In the future we will need the _CST, _PSS (and its friends) to shuffle
the contents of that up to the hypervisor for CPU Cx/Px states. Does the ACPI
runtime code need to be aware of EFI?

What about ACPI S3? The contents of ACPI FADT table is required for that. Will
EFI make that obsolete?

I am just wondering whether Dom0 actually needs to know that EFI exists.

Xen-devel mailing list



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