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 <kraxel@redhat.com>
> > 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
1.6.
Wei.
> > 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
>