|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |