X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdePkg%2FInclude%2FIndustryStandard%2FAcpi20.h;h=b63d494705a2a9e8d874da3d5c3faddf0b510dc3;hb=b219e2cd4cf52a4f5c37e1cdf871fb6a49f8a911;hp=a0642bc2a136515fe61eef7ec246396a5d985c33;hpb=75c123cc9a7619e92d12e0f6e804034c86f48d2f;p=mirror_edk2.git diff --git a/MdePkg/Include/IndustryStandard/Acpi20.h b/MdePkg/Include/IndustryStandard/Acpi20.h index a0642bc2a1..b63d494705 100644 --- a/MdePkg/Include/IndustryStandard/Acpi20.h +++ b/MdePkg/Include/IndustryStandard/Acpi20.h @@ -1,14 +1,8 @@ -/** @file - ACPI 2.0 definitions from the ACPI Specification, revision 2.0 +/** @file + ACPI 2.0 definitions from the ACPI Specification, revision 2.0 - Copyright (c) 2006 - 2008, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _ACPI_2_0_H_ @@ -16,6 +10,32 @@ #include +// +// Define for Descriptor +// +#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02 + +#define ACPI_GENERIC_REGISTER_DESCRIPTOR 0x82 + +// +// Ensure proper structure formats +// +#pragma pack(1) + +/// +/// Generic Register Descriptor +/// +typedef PACKED struct { + ACPI_LARGE_RESOURCE_HEADER Header; + UINT8 AddressSpaceId; + UINT8 RegisterBitWidth; + UINT8 RegisterBitOffset; + UINT8 AddressSize; + UINT64 RegisterAddress; +} EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR; + +#pragma pack() + // // Ensure proper structure formats // @@ -77,7 +97,7 @@ typedef struct { // // Root System Description Table -// No definition needed as it is a common description table header, the same with +// No definition needed as it is a common description table header, the same with // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers. // @@ -88,7 +108,7 @@ typedef struct { // // Extended System Description Table -// No definition needed as it is a common description table header, the same with +// No definition needed as it is a common description table header, the same with // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers. // @@ -160,31 +180,42 @@ typedef struct { /// #define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x03 -/// -/// Fixed ACPI Description Table Boot Architecture Flags -/// All other bits are reserved and must be set to 0. -/// -#define EFI_ACPI_2_0_LEGACY_DEVICES (1 << 0) -#define EFI_ACPI_2_0_8042 (1 << 1) +// +// Fixed ACPI Description Table Preferred Power Management Profile +// +#define EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED 0 +#define EFI_ACPI_2_0_PM_PROFILE_DESKTOP 1 +#define EFI_ACPI_2_0_PM_PROFILE_MOBILE 2 +#define EFI_ACPI_2_0_PM_PROFILE_WORKSTATION 3 +#define EFI_ACPI_2_0_PM_PROFILE_ENTERPRISE_SERVER 4 +#define EFI_ACPI_2_0_PM_PROFILE_SOHO_SERVER 5 +#define EFI_ACPI_2_0_PM_PROFILE_APPLIANCE_PC 6 + +// +// Fixed ACPI Description Table Boot Architecture Flags +// All other bits are reserved and must be set to 0. +// +#define EFI_ACPI_2_0_LEGACY_DEVICES BIT0 +#define EFI_ACPI_2_0_8042 BIT1 // // Fixed ACPI Description Table Fixed Feature Flags // All other bits are reserved and must be set to 0. // -#define EFI_ACPI_2_0_WBINVD (1 << 0) -#define EFI_ACPI_2_0_WBINVD_FLUSH (1 << 1) -#define EFI_ACPI_2_0_PROC_C1 (1 << 2) -#define EFI_ACPI_2_0_P_LVL2_UP (1 << 3) -#define EFI_ACPI_2_0_PWR_BUTTON (1 << 4) -#define EFI_ACPI_2_0_SLP_BUTTON (1 << 5) -#define EFI_ACPI_2_0_FIX_RTC (1 << 6) -#define EFI_ACPI_2_0_RTC_S4 (1 << 7) -#define EFI_ACPI_2_0_TMR_VAL_EXT (1 << 8) -#define EFI_ACPI_2_0_DCK_CAP (1 << 9) -#define EFI_ACPI_2_0_RESET_REG_SUP (1 << 10) -#define EFI_ACPI_2_0_SEALED_CASE (1 << 11) -#define EFI_ACPI_2_0_HEADLESS (1 << 12) -#define EFI_ACPI_2_0_CPU_SW_SLP (1 << 13) +#define EFI_ACPI_2_0_WBINVD BIT0 +#define EFI_ACPI_2_0_WBINVD_FLUSH BIT1 +#define EFI_ACPI_2_0_PROC_C1 BIT2 +#define EFI_ACPI_2_0_P_LVL2_UP BIT3 +#define EFI_ACPI_2_0_PWR_BUTTON BIT4 +#define EFI_ACPI_2_0_SLP_BUTTON BIT5 +#define EFI_ACPI_2_0_FIX_RTC BIT6 +#define EFI_ACPI_2_0_RTC_S4 BIT7 +#define EFI_ACPI_2_0_TMR_VAL_EXT BIT8 +#define EFI_ACPI_2_0_DCK_CAP BIT9 +#define EFI_ACPI_2_0_RESET_REG_SUP BIT10 +#define EFI_ACPI_2_0_SEALED_CASE BIT11 +#define EFI_ACPI_2_0_HEADLESS BIT12 +#define EFI_ACPI_2_0_CPU_SW_SLP BIT13 /// /// Firmware ACPI Control Structure @@ -210,7 +241,7 @@ typedef struct { /// Firmware Control Structure Feature Flags /// All other bits are reserved and must be set to 0. /// -#define EFI_ACPI_2_0_S4BIOS_F (1 << 0) +#define EFI_ACPI_2_0_S4BIOS_F BIT0 /// /// Multiple APIC Description Table header definition. The rest of the table @@ -231,7 +262,7 @@ typedef struct { /// Multiple APIC Flags /// All other bits are reserved and must be set to 0. /// -#define EFI_ACPI_2_0_PCAT_COMPAT (1 << 0) +#define EFI_ACPI_2_0_PCAT_COMPAT BIT0 // // Multiple APIC Description Table APIC structure types @@ -266,7 +297,7 @@ typedef struct { /// /// Local APIC Flags. All other bits are reserved and must be 0. /// -#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED (1 << 0) +#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED BIT0 /// /// IO APIC Structure @@ -474,7 +505,7 @@ typedef struct { #define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T') /// -/// "SPCR" Serial Port Concole Redirection Table +/// "SPCR" Serial Port Console Redirection Table /// #define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') @@ -499,7 +530,7 @@ typedef struct { #define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T') /// -/// "MCFG" Static Resource Affinity Table +/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table /// #define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')