From: Juergen Gross Date: Fri, 24 Mar 2017 13:19:47 +0000 (+0100) Subject: x86: support larger memory map from EFI X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=refs%2Fheads%2Fmaster;p=people%2Froyger%2Fxen.git x86: support larger memory map from EFI Use a larger e820 map buffer for non-BIOS memory map sources. This requires to have different defines for the maximum number of E820 map entries for the raw BIOS buffer and the later used struct e820map. Signed-off-by: Juergen Gross Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/boot/mem.S b/xen/arch/x86/boot/mem.S index 14dff95999..4b1fa4dae9 100644 --- a/xen/arch/x86/boot/mem.S +++ b/xen/arch/x86/boot/mem.S @@ -1,7 +1,7 @@ .code16 #define SMAP 0x534d4150 -#define E820MAX 128 +#define E820_BIOS_MAX 128 get_memory_map: @@ -23,7 +23,7 @@ get_memory_map: jne .Lmem88 movb bootsym(e820nr),%al # up to 128 entries - cmpb $E820MAX,%al + cmpb $E820_BIOS_MAX,%al jae .Lmem88 incb bootsym(e820nr) @@ -86,7 +86,7 @@ ENTRY(e820map_copy) .align 4 e820map: - .fill E820MAX*20,1,0 + .fill E820_BIOS_MAX*20,1,0 e820nr: .long 0 GLOBAL(lowmem_kb) diff --git a/xen/include/asm-x86/e820.h b/xen/include/asm-x86/e820.h index a2d468ff73..28defa8545 100644 --- a/xen/include/asm-x86/e820.h +++ b/xen/include/asm-x86/e820.h @@ -16,7 +16,7 @@ struct __packed e820entry { uint32_t type; }; -#define E820MAX 128 +#define E820MAX 1024 struct e820map { unsigned int nr_map;