mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-21 16:57:20 +00:00
hv: vacpi: add fadt table support
Add FADT table support to support guest S5 setting. According to ACPI 6.3 Spec, OSPM must ignored the DSDT and FACS fields if them're zero. However, Linux kernel seems not to abide by the protocol, it will check DSDT still. So add an empty DSDT to meet it. Tracked-On: #4623 Signed-off-by: Li Fei1 <fei1.li@intel.com>
This commit is contained in:
@@ -34,13 +34,17 @@
|
||||
* ------
|
||||
* RSDP -> 0xf2400 (36 bytes fixed)
|
||||
* XSDT -> 0xf2480 (36 bytes + 8*7 table addrs, 4 used)
|
||||
* MADT -> 0xf2500 (depends on #CPUs)
|
||||
* FADT -> 0xf2500 (244 bytes fixed for ACPI 2.0)
|
||||
* DSDT -> 0xf2600 (36 bytes fixed for an empty DSDT)
|
||||
* MADT -> 0xf2740 (depends on #CPUs)
|
||||
*/
|
||||
#define ACPI_BASE 0xf2400U
|
||||
|
||||
#define ACPI_RSDP_ADDR (ACPI_BASE + 0x0U)
|
||||
#define ACPI_XSDT_ADDR (ACPI_BASE + 0x080U)
|
||||
#define ACPI_MADT_ADDR (ACPI_BASE + 0x100U)
|
||||
#define ACPI_FADT_ADDR (ACPI_BASE + 0x100U)
|
||||
#define ACPI_DSDT_ADDR (ACPI_BASE + 0x200U)
|
||||
#define ACPI_MADT_ADDR (ACPI_BASE + 0x340U)
|
||||
|
||||
#define ACPI_OEM_ID "ACRN "
|
||||
#define ACPI_ASL_COMPILER_ID "INTL"
|
||||
@@ -52,6 +56,8 @@ struct acpi_table_info {
|
||||
struct acpi_table_xsdt xsdt;
|
||||
|
||||
struct {
|
||||
struct acpi_table_fadt fadt;
|
||||
struct acpi_table_header dsdt; /* an empty DSDT */
|
||||
struct acpi_table_madt madt;
|
||||
struct acpi_madt_local_apic_nmi lapic_nmi;
|
||||
struct acpi_madt_local_apic lapic_array[MAX_PCPU_NUM];
|
||||
|
Reference in New Issue
Block a user