mirror of https://github.com/acidanthera/audk.git
DynamicTablesPkg: Update FADT generator to ACPI 6.3
Update FADT table generator to support ACPI revision 6.3 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
This commit is contained in:
parent
f7079d1bc1
commit
5f7c91f0d7
|
@ -5,7 +5,7 @@
|
||||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
@par Reference(s):
|
@par Reference(s):
|
||||||
- ACPI 6.2 Specification - Errata A, September 2017
|
- ACPI 6.3 Specification, January 2019
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@ Requirements:
|
||||||
|
|
||||||
/** This macro defines the FADT flag options for ARM Platforms.
|
/** This macro defines the FADT flag options for ARM Platforms.
|
||||||
*/
|
*/
|
||||||
#define FADT_FLAGS (EFI_ACPI_6_2_HW_REDUCED_ACPI | \
|
#define FADT_FLAGS (EFI_ACPI_6_3_HW_REDUCED_ACPI | \
|
||||||
EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE)
|
EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE)
|
||||||
|
|
||||||
/** This macro defines the valid mask for the FADT flag option
|
/** This macro defines the valid mask for the FADT flag option
|
||||||
if HW_REDUCED_ACPI flag in the table is set.
|
if HW_REDUCED_ACPI flag in the table is set.
|
||||||
|
@ -42,47 +42,47 @@ Requirements:
|
||||||
22-31 (reserved).
|
22-31 (reserved).
|
||||||
|
|
||||||
Valid bits are:
|
Valid bits are:
|
||||||
EFI_ACPI_6_2_WBINVD BIT0
|
EFI_ACPI_6_3_WBINVD BIT0
|
||||||
EFI_ACPI_6_2_PWR_BUTTON BIT4
|
EFI_ACPI_6_3_PWR_BUTTON BIT4
|
||||||
EFI_ACPI_6_2_SLP_BUTTON BIT5
|
EFI_ACPI_6_3_SLP_BUTTON BIT5
|
||||||
EFI_ACPI_6_2_FIX_RTC BIT6
|
EFI_ACPI_6_3_FIX_RTC BIT6
|
||||||
EFI_ACPI_6_2_DCK_CAP BIT9
|
EFI_ACPI_6_3_DCK_CAP BIT9
|
||||||
EFI_ACPI_6_2_RESET_REG_SUP BIT10
|
EFI_ACPI_6_3_RESET_REG_SUP BIT10
|
||||||
EFI_ACPI_6_2_SEALED_CASE BIT11
|
EFI_ACPI_6_3_SEALED_CASE BIT11
|
||||||
EFI_ACPI_6_2_HEADLESS BIT12
|
EFI_ACPI_6_3_HEADLESS BIT12
|
||||||
EFI_ACPI_6_2_USE_PLATFORM_CLOCK BIT15
|
EFI_ACPI_6_3_USE_PLATFORM_CLOCK BIT15
|
||||||
EFI_ACPI_6_2_FORCE_APIC_CLUSTER_MODEL BIT18
|
EFI_ACPI_6_3_FORCE_APIC_CLUSTER_MODEL BIT18
|
||||||
EFI_ACPI_6_2_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
|
EFI_ACPI_6_3_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
|
||||||
EFI_ACPI_6_2_HW_REDUCED_ACPI BIT20
|
EFI_ACPI_6_3_HW_REDUCED_ACPI BIT20
|
||||||
EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE BIT21
|
EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE BIT21
|
||||||
*/
|
*/
|
||||||
#define VALID_HARDWARE_REDUCED_FLAG_MASK ( \
|
#define VALID_HARDWARE_REDUCED_FLAG_MASK ( \
|
||||||
EFI_ACPI_6_2_WBINVD | \
|
EFI_ACPI_6_3_WBINVD | \
|
||||||
EFI_ACPI_6_2_PWR_BUTTON | \
|
EFI_ACPI_6_3_PWR_BUTTON | \
|
||||||
EFI_ACPI_6_2_SLP_BUTTON | \
|
EFI_ACPI_6_3_SLP_BUTTON | \
|
||||||
EFI_ACPI_6_2_FIX_RTC | \
|
EFI_ACPI_6_3_FIX_RTC | \
|
||||||
EFI_ACPI_6_2_DCK_CAP | \
|
EFI_ACPI_6_3_DCK_CAP | \
|
||||||
EFI_ACPI_6_2_RESET_REG_SUP | \
|
EFI_ACPI_6_3_RESET_REG_SUP | \
|
||||||
EFI_ACPI_6_2_SEALED_CASE | \
|
EFI_ACPI_6_3_SEALED_CASE | \
|
||||||
EFI_ACPI_6_2_HEADLESS | \
|
EFI_ACPI_6_3_HEADLESS | \
|
||||||
EFI_ACPI_6_2_USE_PLATFORM_CLOCK | \
|
EFI_ACPI_6_3_USE_PLATFORM_CLOCK | \
|
||||||
EFI_ACPI_6_2_FORCE_APIC_CLUSTER_MODEL | \
|
EFI_ACPI_6_3_FORCE_APIC_CLUSTER_MODEL | \
|
||||||
EFI_ACPI_6_2_FORCE_APIC_PHYSICAL_DESTINATION_MODE | \
|
EFI_ACPI_6_3_FORCE_APIC_PHYSICAL_DESTINATION_MODE | \
|
||||||
EFI_ACPI_6_2_HW_REDUCED_ACPI | \
|
EFI_ACPI_6_3_HW_REDUCED_ACPI | \
|
||||||
EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE)
|
EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE)
|
||||||
|
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
|
|
||||||
/** The AcpiFadt is a template EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE
|
/** The AcpiFadt is a template EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE
|
||||||
structure used for generating the FADT Table.
|
structure used for generating the FADT Table.
|
||||||
Note: fields marked with "{Template}" will be updated dynamically.
|
Note: fields marked with "{Template}" will be updated dynamically.
|
||||||
*/
|
*/
|
||||||
STATIC
|
STATIC
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
|
||||||
ACPI_HEADER (
|
ACPI_HEADER (
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE,
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE,
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
|
||||||
),
|
),
|
||||||
// UINT32 FirmwareCtrl
|
// UINT32 FirmwareCtrl
|
||||||
0,
|
0,
|
||||||
|
@ -91,7 +91,7 @@ EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
|
||||||
// UINT8 Reserved0
|
// UINT8 Reserved0
|
||||||
EFI_ACPI_RESERVED_BYTE,
|
EFI_ACPI_RESERVED_BYTE,
|
||||||
// UINT8 PreferredPmProfile
|
// UINT8 PreferredPmProfile
|
||||||
EFI_ACPI_6_2_PM_PROFILE_UNSPECIFIED, // {Template}: Power Management Profile
|
EFI_ACPI_6_3_PM_PROFILE_UNSPECIFIED, // {Template}: Power Management Profile
|
||||||
// UINT16 SciInt
|
// UINT16 SciInt
|
||||||
0,
|
0,
|
||||||
// UINT32 SmiCmd
|
// UINT32 SmiCmd
|
||||||
|
@ -160,37 +160,37 @@ EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
|
||||||
0,
|
0,
|
||||||
// UINT32 Flags
|
// UINT32 Flags
|
||||||
FADT_FLAGS,
|
FADT_FLAGS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE ResetReg
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE ResetReg
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// UINT8 ResetValue
|
// UINT8 ResetValue
|
||||||
0,
|
0,
|
||||||
// UINT16 ArmBootArch
|
// UINT16 ArmBootArch
|
||||||
EFI_ACPI_6_2_ARM_PSCI_COMPLIANT, // {Template}: ARM Boot Architecture Flags
|
EFI_ACPI_6_3_ARM_PSCI_COMPLIANT, // {Template}: ARM Boot Architecture Flags
|
||||||
// UINT8 MinorRevision
|
// UINT8 MinorRevision
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,
|
||||||
// UINT64 XFirmwareCtrl
|
// UINT64 XFirmwareCtrl
|
||||||
0,
|
0,
|
||||||
// UINT64 XDsdt
|
// UINT64 XDsdt
|
||||||
0,
|
0,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE SleepControlReg
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE SleepControlReg
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
|
// EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
|
||||||
NULL_GAS,
|
NULL_GAS,
|
||||||
// UINT64 HypervisorVendorIdentity
|
// UINT64 HypervisorVendorIdentity
|
||||||
EFI_ACPI_RESERVED_QWORD // {Template}: Hypervisor Vendor ID
|
EFI_ACPI_RESERVED_QWORD // {Template}: Hypervisor Vendor ID
|
||||||
|
@ -532,7 +532,7 @@ BuildFadtTable (
|
||||||
This,
|
This,
|
||||||
(EFI_ACPI_DESCRIPTION_HEADER*)&AcpiFadt,
|
(EFI_ACPI_DESCRIPTION_HEADER*)&AcpiFadt,
|
||||||
AcpiTableInfo,
|
AcpiTableInfo,
|
||||||
sizeof (EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE)
|
sizeof (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE)
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
DEBUG ((
|
DEBUG ((
|
||||||
|
@ -614,9 +614,9 @@ ACPI_TABLE_GENERATOR FadtGenerator = {
|
||||||
// Generator Description
|
// Generator Description
|
||||||
L"ACPI.STD.FADT.GENERATOR",
|
L"ACPI.STD.FADT.GENERATOR",
|
||||||
// ACPI Table Signature
|
// ACPI Table Signature
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
|
||||||
// ACPI Table Revision supported by this Generator
|
// ACPI Table Revision supported by this Generator
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
|
EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
|
||||||
// Minimum supported ACPI Table Revision
|
// Minimum supported ACPI Table Revision
|
||||||
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
|
EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
|
||||||
// Creator ID
|
// Creator ID
|
||||||
|
|
Loading…
Reference in New Issue