hv: relocate ACPI DATA address to 0x7fe00000

Relocate ACPI address to 0x7fe00000 and ACPI NVS to 0x7ff00000 correspondingly.
In this case, we could include TPM event log region [0x7ffb0000, 0x80000000)
into ACPI NVS.

Tracked-On: #6320
Signed-off-by: Fei Li <fei1.li@intel.com>
This commit is contained in:
Fei Li 2021-07-29 10:02:48 +08:00 committed by wenlingz
parent 74e68e39d1
commit a705ff2dac
3 changed files with 9 additions and 9 deletions

View File

@ -199,17 +199,17 @@ static const struct e820_entry pre_ve820_template[E820_MAX_ENTRIES] = {
}, },
{ /* part2 of lowmem of hpa1*/ { /* part2 of lowmem of hpa1*/
.baseaddr = PRE_RTVM_SW_SRAM_BASE_GPA + PRE_RTVM_SW_SRAM_MAX_SIZE, .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 .type = E820_TYPE_RAM
}, },
{ /* ACPI Reclaim */ { /* ACPI Reclaim */
.baseaddr = VIRT_ACPI_DATA_ADDR,/* consecutive from 0x7fff0000UL */ .baseaddr = VIRT_ACPI_DATA_ADDR,/* consecutive from 0x7fe00000UL */
.length = (960U * MEM_1K), /* 960KB */ .length = (960U * MEM_1K), /* 960KB */
.type = E820_TYPE_ACPI_RECLAIM .type = E820_TYPE_ACPI_RECLAIM
}, },
{ /* ACPI NVS */ { /* ACPI NVS */
.baseaddr = VIRT_ACPI_NVS_ADDR, /* consecutive after ACPI Reclaim */ .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 .type = E820_TYPE_ACPI_NVS
}, },
{ /* 32bit PCI hole */ { /* 32bit PCI hole */

View File

@ -12,15 +12,15 @@
#define ACPI_OEM_ID "ACRN " #define ACPI_OEM_ID "ACRN "
/* Use a pre-loaded multiboot module as pre-launched VM ACPI table. /* 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 * 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; * The module file should be generated by acrn-config tool;
*/ */
#define VIRT_ACPI_DATA_ADDR 0x7ff00000UL #define VIRT_ACPI_DATA_ADDR 0x7fe00000UL
#define VIRT_ACPI_NVS_ADDR 0x7fff0000UL #define VIRT_ACPI_NVS_ADDR 0x7ff00000UL
#define VIRT_RSDP_ADDR 0x000f2400UL #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. */ /* virtual PCI MMCFG address base for pre/post-launched VM. */
#define UOS_VIRT_PCI_MMCFG_BASE 0xE0000000UL #define UOS_VIRT_PCI_MMCFG_BASE 0xE0000000UL

View File

@ -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'), ('mcfg.asl', 'mcfg.aml'), ('apic.asl', 'apic.aml'), ('tpm2.asl', 'tpm2.aml'),
('dsdt.aml', 'dsdt.aml'), ('PTCT', 'ptct.aml'), ('RTCT', 'rtct.aml')] ('dsdt.aml', 'dsdt.aml'), ('PTCT', 'ptct.aml'), ('RTCT', 'rtct.aml')]
ACPI_BASE = 0x7ff00000 ACPI_BASE = 0x7fe00000
ACPI_RSDP_ADDR_OFFSET = 0x0 # (36 bytes fixed) ACPI_RSDP_ADDR_OFFSET = 0x0 # (36 bytes fixed)
ACPI_XSDT_ADDR_OFFSET = 0x80 # (36 bytes + 8*7 table addrs) ACPI_XSDT_ADDR_OFFSET = 0x80 # (36 bytes + 8*7 table addrs)