[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 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.

Wei.

> > 
> > Wei.
> > 
> > > 
> > > > +    dump_e820_table(e820, info->e820_nr);
> > > > +}
> > > > +
> > > >  struct bios_config ovmf_config =  {
> > > >      .name = "OVMF",
> > > >  
> > > > @@ -142,7 +153,7 @@ struct bios_config ovmf_config =  {
> > > >      .bios_info_setup = ovmf_setup_bios_info,
> > > >      .bios_info_finish = ovmf_finish_bios_info,
> > > >  
> > > > -    .e820_setup = NULL,
> > > > +    .e820_setup = ovmf_setup_e820,
> > > >  
> > > >      .acpi_build_tables = ovmf_acpi_build_tables,
> > > >      .create_mp_tables = NULL,
> > > 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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