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 <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
.code16
#define SMAP 0x534d4150
-#define E820MAX 128
+#define E820_BIOS_MAX 128
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)
.align 4
e820map:
- .fill E820MAX*20,1,0
+ .fill E820_BIOS_MAX*20,1,0
e820nr:
.long 0
GLOBAL(lowmem_kb)
uint32_t type;
};
-#define E820MAX 128
+#define E820MAX 1024
struct e820map {
unsigned int nr_map;