[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/x86: Increase xen_e820_map to E820_X_MAX possible entries
On Wed, Nov 16, 2016 at 07:09:01AM +0100, Juergen Gross wrote: > On 15/11/16 01:11, Alex Thorlton wrote: > > On systems with sufficiently large e820 tables, and several IOAPICs, it > > is possible for the XENMEM_machine_memory_map callback (and its > > counterpart, XENMEM_memory_map) to attempt to return an e820 table with > > more than 128 entries. This callback adds entries to the BIOS-provided > > e820 table to account for IOAPIC registers, which, on sufficiently large > > systems, can result in an e820 table that is too large to copy back into > > xen_e820_map. > > > > This change simply increases the size of xen_e820_map to E820_X_MAX to > > ensure that there is enough room to store the entire e820 map returned > > from this callback. > > > > Signed-off-by: Alex Thorlton <athorlton@xxxxxxx> > > Suggested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> > > Cc: Russ Anderson <rja@xxxxxxx> > > Cc: David Vrabel <david.vrabel@xxxxxxxxxx> > > Cc: Juergen Gross <jgross@xxxxxxxx> > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > > Cc: x86@xxxxxxxxxx > > Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx > > --- > > arch/x86/xen/setup.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c > > index f8960fc..5e1ecc7 100644 > > --- a/arch/x86/xen/setup.c > > +++ b/arch/x86/xen/setup.c > > @@ -41,7 +41,7 @@ > > unsigned long xen_released_pages; > > > > /* E820 map used during setting up memory. */ > > -static struct e820entry xen_e820_map[E820MAX] __initdata; > > +static struct e820entry xen_e820_map[E820_X_MAX] __initdata; > > static u32 xen_e820_map_entries __initdata; > > > > /* > > @@ -750,7 +750,7 @@ char * __init xen_memory_setup(void) > > max_pfn = min(max_pfn, xen_start_info->nr_pages); > > mem_end = PFN_PHYS(max_pfn); > > > > - memmap.nr_entries = E820MAX; > > + memmap.nr_entries = E820_X_MAX; > > Please use ARRAY_SIZE(xen_e820_map) here and ... > > > set_xen_guest_handle(memmap.buffer, xen_e820_map); > > > > op = xen_initial_domain() ? > > @@ -923,7 +923,7 @@ char * __init xen_auto_xlated_memory_setup(void) > > int i; > > int rc; > > > > - memmap.nr_entries = E820MAX; > > + memmap.nr_entries = E820_X_MAX; > > ... here. Got it. Thanks, Juergen! - Alex _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |