|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 4/4] hvmloader:ovmf: setup E820 map
On Wed, Nov 20, 2013 at 11:51:50AM +0000, Ian Campbell wrote:
> On Wed, 2013-11-20 at 11:49 +0000, Wei Liu wrote:
> > On Wed, Nov 20, 2013 at 10:07:08AM +0000, Ian Campbell wrote:
> > > On Tue, 2013-11-19 at 18:01 +0000, Wei Liu wrote:
> > > > On Tue, Nov 19, 2013 at 05:56:28PM +0000, Ian Campbell wrote:
> > > > > On Fri, 2013-11-15 at 15:59 +0000, Wei Liu wrote:
> > > > > > E820 map will be used by OVMF to create memory map.
> > > > > >
> > > > > > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > > > > > ---
> > > > > > tools/firmware/hvmloader/ovmf.c | 13 ++++++++++++-
> > > > > > 1 file changed, 12 insertions(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/tools/firmware/hvmloader/ovmf.c
> > > > > > b/tools/firmware/hvmloader/ovmf.c
> > > > > > index c253083..52ccd0d 100644
> > > > > > --- a/tools/firmware/hvmloader/ovmf.c
> > > > > > +++ b/tools/firmware/hvmloader/ovmf.c
> > > > > > @@ -128,6 +128,17 @@ static void ovmf_create_smbios_tables(void)
> > > > > > SMBIOS_PHYSICAL_END);
> > > > > > }
> > > > > >
> > > > > > +static void ovmf_setup_e820(void)
> > > > > > +{
> > > > > > + struct ovmf_info *info = (void *)OVMF_INFO_PHYSICAL_ADDRESS;
> > > > > > + struct e820entry *e820 = scratch_alloc(sizeof(struct
> > > > > > e820entry)*16, 0);
> > > > > > + info->e820 = (uint32_t)e820;
> > > > > > +
> > > > > > + /* OVMF doesn't load bios image below 0x100000 */
> > > > > > + info->e820_nr = build_e820_table(e820, 0, 0xfffff);
> > > > >
> > > > > I'm afraid I don't understand that comment, what is it referring too?
> > > >
> > > > Looking at build_e820_table, the third parameter is base address of bios
> > > > image. We already load OVMF to higher address, we only need to make
> > > > build_e820_table happy. Probably we should modify build_e820_table
> > > > instead?
> > >
> > > What about the stuff at LOWCHUNK_BEGIN?
> > >
> >
> > Only RAM in E820 map is revelant in OVMF, all other entries
> > are unparsed. And 0xA0000 - 0x1A0000 is automatically reserved in OVMF
> > code.
>
> Regardless of what the OVMF code does I think the e820 table which
> hvmloader passes through should attempt to accurately describe what
> hvmloader has done.
>
It is a bit confusing that SeaBIOS codes is relying on SeaBIOS to
reserve certain region. I just followed suit.
In any case, I think you make a good point. I will add that region to
E820 map.
Wei.
> Ian.
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |