diff --git a/devicemodel/core/sw_load_common.c b/devicemodel/core/sw_load_common.c index 0a2a5d7b8..d06fbd43b 100644 --- a/devicemodel/core/sw_load_common.c +++ b/devicemodel/core/sw_load_common.c @@ -55,9 +55,10 @@ static char bootargs[BOOT_ARG_LEN]; * 1: 0xA0000 - 0x100000 (reserved) 0x60000 * 2: 0x100000 - lowmem RAM lowmem - 1MB * 3: lowmem - 0x80000000 (reserved) 2GB - lowmem - * 4: 0xE0000000 - 0x100000000 MCFG, MMIO 512MB - * 5: 0x100000000 - 0x140000000 64-bit PCI hole 1GB - * 6: 0x140000000 - highmem RAM highmem - 5GB + * 4: 0x80000000 - 0x88000000 (reserved) 128MB + * 5: 0xE0000000 - 0x100000000 MCFG, MMIO 512MB + * 6: 0x100000000 - 0x140000000 64-bit PCI hole 1GB + * 7: 0x140000000 - highmem RAM highmem - 5GB */ const struct e820_entry e820_default_entries[NUM_E820_ENTRIES] = { { /* 0 to video memory */ @@ -84,6 +85,13 @@ const struct e820_entry e820_default_entries[NUM_E820_ENTRIES] = { .type = E820_TYPE_RESERVED }, + { + /* reserve for PRM resource */ + .baseaddr = 0x80000000, + .length = 0x8000000, + .type = E820_TYPE_RESERVED + }, + { /* ECFG_BASE to 4GB */ .baseaddr = PCI_EMUL_ECFG_BASE, .length = (4 * GB) - PCI_EMUL_ECFG_BASE, diff --git a/devicemodel/include/sw_load.h b/devicemodel/include/sw_load.h index a19f4bc91..74424edf8 100644 --- a/devicemodel/include/sw_load.h +++ b/devicemodel/include/sw_load.h @@ -39,9 +39,9 @@ #define E820_TYPE_ACPI_NVS 4 /* EFI 10 */ #define E820_TYPE_UNUSABLE 5 /* EFI 8 */ -#define NUM_E820_ENTRIES 7 +#define NUM_E820_ENTRIES 8 #define LOWRAM_E820_ENTRY 2 -#define HIGHRAM_E820_ENTRY 6 +#define HIGHRAM_E820_ENTRY 7 /* Defines a single entry in an E820 memory map. */ struct e820_entry {