Re: [edk2] Passing Xen memory map and resource map to OVMF

Subject: Re: [edk2] Passing Xen memory map and resource map to OVMF

From: Wei Liu <>

To: Gerd Hoffmann <>

Date: 2013-11-13 19:58:11

On Wed, Nov 13, 2013 at 08:03:39AM +0100, Gerd Hoffmann wrote:
>   Hi,
> > > The first thing that comes in mind is to reuse E820 table for memory map
> > > plus some extra fields for io / mmio resources. But I guess UEFI is the
> > > new world so stuffs like E820 from old world will be less popular. Any
> > > suggestion on existing table / data structure I can use?
> What io/mmio ressources do you need to pass on?

MMIO holes, IO range created by hvmloader.

OVMF should make use of that information instead of creating MMIO holes
etc of its own. See OvmfPkg/PlatformPei/Platform.c:MemMapInitialization.

> > As far as I can see, qemu exports an fw_cfg table called "etc/e820". See
> > qemu commit
> > 
> > commit 7d67110f2d9a6a2d6b5215a948abc95d07258735
> > Author: Gerd Hoffmann 
> > Date:   Fri Oct 18 11:31:54 2013 +0200
> > 
> >     pc: add etc/e820 fw_cfg file
> New in qemu 1.7  Was added exactly to deal with the 1TB limitation and
> also to allow for non-contiguous memory (not implemented yet in qemu,
> but if numa support is extended some day to support that we are fine
> interface-wise).

This is probably too new for us. We're still fighting a regression in


> > Does this work when qemu is used in combination with Xen?
> It should, might need windup in the xen machine type though (not fully
> sure how much code is shared between normal and xen machine types).
> cheers,
>   Gerd

DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
edk2-devel mailing list