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] [PATCH 3/4] x86-64: EFI runtime code

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 3/4] x86-64: EFI runtime code
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Tue, 28 Jun 2011 12:05:03 -0400
Cc: Keir Fraser <keir.xen@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 28 Jun 2011 09:10:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E09A533020000780004A535@xxxxxxxxxxxxxxxxxxxx>
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>
References: <4E099AA6020000780004A4C6@xxxxxxxxxxxxxxxxxxxx> <CA2F43DE.1D24C%keir.xen@xxxxxxxxx> <4E09A533020000780004A535@xxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)
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