diff --git a/hypervisor/arch/x86/guest/ve820.c b/hypervisor/arch/x86/guest/ve820.c index 5724ed98e..8de17d519 100644 --- a/hypervisor/arch/x86/guest/ve820.c +++ b/hypervisor/arch/x86/guest/ve820.c @@ -199,17 +199,17 @@ static const struct e820_entry pre_ve820_template[E820_MAX_ENTRIES] = { }, { /* part2 of lowmem of hpa1*/ .baseaddr = PRE_RTVM_SW_SRAM_BASE_GPA + PRE_RTVM_SW_SRAM_MAX_SIZE, - .length = MEM_2G - MEM_1M - (PRE_RTVM_SW_SRAM_BASE_GPA + PRE_RTVM_SW_SRAM_MAX_SIZE), + .length = VIRT_ACPI_DATA_ADDR - (PRE_RTVM_SW_SRAM_BASE_GPA + PRE_RTVM_SW_SRAM_MAX_SIZE), .type = E820_TYPE_RAM }, { /* ACPI Reclaim */ - .baseaddr = VIRT_ACPI_DATA_ADDR,/* consecutive from 0x7fff0000UL */ + .baseaddr = VIRT_ACPI_DATA_ADDR,/* consecutive from 0x7fe00000UL */ .length = (960U * MEM_1K), /* 960KB */ .type = E820_TYPE_ACPI_RECLAIM }, { /* ACPI NVS */ .baseaddr = VIRT_ACPI_NVS_ADDR, /* consecutive after ACPI Reclaim */ - .length = 0x10000, /* 64KB */ + .length = MEM_1M, /* only the first 64KB is used for NVS */ .type = E820_TYPE_ACPI_NVS }, { /* 32bit PCI hole */ diff --git a/hypervisor/include/dm/vacpi.h b/hypervisor/include/dm/vacpi.h index 5946f223c..66e464758 100644 --- a/hypervisor/include/dm/vacpi.h +++ b/hypervisor/include/dm/vacpi.h @@ -12,15 +12,15 @@ #define ACPI_OEM_ID "ACRN " /* Use a pre-loaded multiboot module as pre-launched VM ACPI table. - * The module file size is fixed to 1MB and loaded to GPA 0x7ff00000. + * The module file size is fixed to 1MB and loaded to GPA 0x7fe00000. * A hardcoded RSDP table at GPA 0x000f2400 will point to the XSDT - * table which at GPA 0x7ff00080; + * table which at GPA 0x7fe00080; * The module file should be generated by acrn-config tool; */ -#define VIRT_ACPI_DATA_ADDR 0x7ff00000UL -#define VIRT_ACPI_NVS_ADDR 0x7fff0000UL +#define VIRT_ACPI_DATA_ADDR 0x7fe00000UL +#define VIRT_ACPI_NVS_ADDR 0x7ff00000UL #define VIRT_RSDP_ADDR 0x000f2400UL -#define VIRT_XSDT_ADDR 0x7ff00080UL +#define VIRT_XSDT_ADDR 0x7fe00080UL /* virtual PCI MMCFG address base for pre/post-launched VM. */ #define UOS_VIRT_PCI_MMCFG_BASE 0xE0000000UL diff --git a/misc/config_tools/acpi_gen/acpi_const.py b/misc/config_tools/acpi_gen/acpi_const.py index c5c12de1d..33ddfef85 100644 --- a/misc/config_tools/acpi_gen/acpi_const.py +++ b/misc/config_tools/acpi_gen/acpi_const.py @@ -17,7 +17,7 @@ ACPI_TABLE_LIST = [('rsdp.asl', 'rsdp.aml'), ('xsdt.asl', 'xsdt.aml'), ('facp.as ('mcfg.asl', 'mcfg.aml'), ('apic.asl', 'apic.aml'), ('tpm2.asl', 'tpm2.aml'), ('dsdt.asl', 'dsdt.aml'), ('PTCT', 'ptct.aml'), ('RTCT', 'rtct.aml')] -ACPI_BASE = 0x7ff00000 +ACPI_BASE = 0x7fe00000 ACPI_RSDP_ADDR_OFFSET = 0x0 # (36 bytes fixed) ACPI_XSDT_ADDR_OFFSET = 0x80 # (36 bytes + 8*7 table addrs)