mirror of https://github.com/acidanthera/audk.git
Use doxygen comment style for document entity such as struct, enum, variable that use /// but not //
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5645 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
3566565aa4
commit
1bc5d0217a
|
@ -14,10 +14,10 @@
|
|||
#ifndef _ACPI_1_0_H_
|
||||
#define _ACPI_1_0_H_
|
||||
|
||||
//
|
||||
// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
// excluding the RSD PTR structure
|
||||
//
|
||||
///
|
||||
/// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
/// excluding the RSD PTR structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -51,9 +51,9 @@ typedef struct {
|
|||
#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01
|
||||
#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02
|
||||
|
||||
//
|
||||
// Power Management Timer frequency is fixed at 3.579545MHz
|
||||
//
|
||||
///
|
||||
/// Power Management Timer frequency is fixed at 3.579545MHz
|
||||
///
|
||||
#define ACPI_TIMER_FREQUENCY 3579545
|
||||
|
||||
//
|
||||
|
@ -125,9 +125,10 @@ typedef struct {
|
|||
//
|
||||
// ACPI 1.0b table structures
|
||||
//
|
||||
//
|
||||
// Root System Description Pointer Structure
|
||||
//
|
||||
|
||||
///
|
||||
/// Root System Description Pointer Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 Signature;
|
||||
UINT8 Checksum;
|
||||
|
@ -141,14 +142,15 @@ typedef struct {
|
|||
// No definition needed as it is a common description table header followed by a
|
||||
// variable number of UINT32 table pointers.
|
||||
//
|
||||
//
|
||||
// RSDT Revision (as defined in ACPI 1.0b spec.)
|
||||
//
|
||||
|
||||
///
|
||||
/// RSDT Revision (as defined in ACPI 1.0b spec.)
|
||||
///
|
||||
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Fixed ACPI Description Table Structure (FADT)
|
||||
//
|
||||
///
|
||||
/// Fixed ACPI Description Table Structure (FADT)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 FirmwareCtrl;
|
||||
|
@ -192,9 +194,9 @@ typedef struct {
|
|||
UINT32 Flags;
|
||||
} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// FADT Version (as defined in ACPI 1.0b spec.)
|
||||
//
|
||||
///
|
||||
/// FADT Version (as defined in ACPI 1.0b spec.)
|
||||
///
|
||||
#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
|
@ -212,9 +214,9 @@ typedef struct {
|
|||
#define EFI_ACPI_1_0_TMR_VAL_EXT (1 << 8)
|
||||
#define EFI_ACPI_1_0_DCK_CAP (1 << 9)
|
||||
|
||||
//
|
||||
// Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// Firmware ACPI Control Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -225,31 +227,31 @@ typedef struct {
|
|||
UINT8 Reserved[40];
|
||||
} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
|
||||
|
||||
//
|
||||
// Firmware Control Structure Feature Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Firmware Control Structure Feature Flags
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_1_0_S4BIOS_F (1 << 0)
|
||||
|
||||
//
|
||||
// Multiple APIC Description Table header definition. The rest of the table
|
||||
// must be defined in a platform specific manner.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Description Table header definition. The rest of the table
|
||||
/// must be defined in a platform specific manner.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 LocalApicAddress;
|
||||
UINT32 Flags;
|
||||
} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// MADT Revision (as defined in ACPI 1.0b spec.)
|
||||
//
|
||||
///
|
||||
/// MADT Revision (as defined in ACPI 1.0b spec.)
|
||||
///
|
||||
#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Multiple APIC Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Flags
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0)
|
||||
|
||||
//
|
||||
|
@ -266,9 +268,10 @@ typedef struct {
|
|||
//
|
||||
// APIC Structure Definitions
|
||||
//
|
||||
//
|
||||
// Processor Local APIC Structure Definition
|
||||
//
|
||||
|
||||
///
|
||||
/// Processor Local APIC Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -277,14 +280,14 @@ typedef struct {
|
|||
UINT32 Flags;
|
||||
} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
//
|
||||
///
|
||||
/// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
///
|
||||
#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0)
|
||||
|
||||
//
|
||||
// IO APIC Structure
|
||||
//
|
||||
///
|
||||
/// IO APIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -294,9 +297,9 @@ typedef struct {
|
|||
UINT32 SystemVectorBase;
|
||||
} EFI_ACPI_1_0_IO_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Interrupt Source Override Structure
|
||||
//
|
||||
///
|
||||
/// Interrupt Source Override Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -306,9 +309,9 @@ typedef struct {
|
|||
UINT16 Flags;
|
||||
} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Non-Maskable Interrupt Source Structure
|
||||
//
|
||||
///
|
||||
/// Non-Maskable Interrupt Source Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -316,9 +319,9 @@ typedef struct {
|
|||
UINT32 GlobalSystemInterruptVector;
|
||||
} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC NMI Structure
|
||||
//
|
||||
///
|
||||
/// Local APIC NMI Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -327,9 +330,9 @@ typedef struct {
|
|||
UINT8 LocalApicInti;
|
||||
} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE;
|
||||
|
||||
//
|
||||
// Smart Battery Description Table (SBST)
|
||||
//
|
||||
///
|
||||
/// Smart Battery Description Table (SBST)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 WarningEnergyLevel;
|
||||
|
@ -340,49 +343,50 @@ typedef struct {
|
|||
//
|
||||
// Known table signatures
|
||||
//
|
||||
//
|
||||
// "RSD PTR " Root System Description Pointer
|
||||
//
|
||||
|
||||
///
|
||||
/// "RSD PTR " Root System Description Pointer
|
||||
///
|
||||
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL
|
||||
|
||||
//
|
||||
// "APIC" Multiple APIC Description Table
|
||||
//
|
||||
///
|
||||
/// "APIC" Multiple APIC Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_APIC_SIGNATURE 0x43495041
|
||||
|
||||
//
|
||||
// "DSDT" Differentiated System Description Table
|
||||
//
|
||||
///
|
||||
/// "DSDT" Differentiated System Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344
|
||||
|
||||
//
|
||||
// "FACS" Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// "FACS" Firmware ACPI Control Structure
|
||||
///
|
||||
#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146
|
||||
|
||||
//
|
||||
// "FACP" Fixed ACPI Description Table
|
||||
//
|
||||
///
|
||||
/// "FACP" Fixed ACPI Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
|
||||
|
||||
//
|
||||
// "PSDT" Persistent System Description Table
|
||||
//
|
||||
///
|
||||
/// "PSDT" Persistent System Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350
|
||||
|
||||
//
|
||||
// "RSDT" Root System Description Table
|
||||
//
|
||||
///
|
||||
/// "RSDT" Root System Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352
|
||||
|
||||
//
|
||||
// "SBST" Smart Battery Specification Table
|
||||
//
|
||||
///
|
||||
/// "SBST" Smart Battery Specification Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253
|
||||
|
||||
//
|
||||
// "SSDT" Secondary System Description Table
|
||||
//
|
||||
///
|
||||
/// "SSDT" Secondary System Description Table
|
||||
///
|
||||
#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
#define EFI_ACPI_2_0_REVISION 0x02
|
||||
|
||||
//
|
||||
// ACPI 2.0 Generic Address Space definition
|
||||
//
|
||||
///
|
||||
/// ACPI 2.0 Generic Address Space definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 AddressSpaceId;
|
||||
UINT8 RegisterBitWidth;
|
||||
|
@ -49,9 +49,10 @@ typedef struct {
|
|||
//
|
||||
// ACPI 2.0 table structures
|
||||
//
|
||||
//
|
||||
// Root System Description Pointer Structure
|
||||
//
|
||||
|
||||
///
|
||||
/// Root System Description Pointer Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 Signature;
|
||||
UINT8 Checksum;
|
||||
|
@ -64,15 +65,15 @@ typedef struct {
|
|||
UINT8 Reserved[3];
|
||||
} EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
|
||||
|
||||
//
|
||||
// RSD_PTR Revision (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// RSD_PTR Revision (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02
|
||||
|
||||
//
|
||||
// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
// excluding the RSD PTR structure
|
||||
//
|
||||
///
|
||||
/// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
/// excluding the RSD PTR structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -83,9 +84,10 @@ typedef struct {
|
|||
// No definition needed as it is a common description table header followed by a
|
||||
// variable number of UINT32 table pointers.
|
||||
//
|
||||
//
|
||||
// RSDT Revision (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
|
||||
///
|
||||
/// RSDT Revision (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
|
@ -93,14 +95,15 @@ typedef struct {
|
|||
// No definition needed as it is a common description table header followed by a
|
||||
// variable number of UINT64 table pointers.
|
||||
//
|
||||
//
|
||||
// XSDT Revision (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
|
||||
///
|
||||
/// XSDT Revision (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Fixed ACPI Description Table Structure (FADT)
|
||||
//
|
||||
///
|
||||
/// Fixed ACPI Description Table Structure (FADT)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 FirmwareCtrl;
|
||||
|
@ -156,15 +159,15 @@ typedef struct {
|
|||
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
|
||||
} EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// FADT Version (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// FADT Version (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#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.
|
||||
//
|
||||
///
|
||||
/// 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)
|
||||
|
||||
|
@ -187,9 +190,9 @@ typedef struct {
|
|||
#define EFI_ACPI_2_0_HEADLESS (1 << 12)
|
||||
#define EFI_ACPI_2_0_CPU_SW_SLP (1 << 13)
|
||||
|
||||
//
|
||||
// Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// Firmware ACPI Control Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -202,36 +205,36 @@ typedef struct {
|
|||
UINT8 Reserved[31];
|
||||
} EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
|
||||
|
||||
//
|
||||
// FACS Version (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// FACS Version (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
|
||||
|
||||
//
|
||||
// Firmware Control Structure Feature Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// 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)
|
||||
|
||||
//
|
||||
// Multiple APIC Description Table header definition. The rest of the table
|
||||
// must be defined in a platform specific manner.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Description Table header definition. The rest of the table
|
||||
/// must be defined in a platform specific manner.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 LocalApicAddress;
|
||||
UINT32 Flags;
|
||||
} EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// MADT Revision (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// MADT Revision (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Multiple APIC Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Flags
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_2_0_PCAT_COMPAT (1 << 0)
|
||||
|
||||
//
|
||||
|
@ -252,9 +255,10 @@ typedef struct {
|
|||
//
|
||||
// APIC Structure Definitions
|
||||
//
|
||||
//
|
||||
// Processor Local APIC Structure Definition
|
||||
//
|
||||
|
||||
///
|
||||
/// Processor Local APIC Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -263,14 +267,14 @@ typedef struct {
|
|||
UINT32 Flags;
|
||||
} EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
//
|
||||
///
|
||||
/// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
///
|
||||
#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED (1 << 0)
|
||||
|
||||
//
|
||||
// IO APIC Structure
|
||||
//
|
||||
///
|
||||
/// IO APIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -280,9 +284,9 @@ typedef struct {
|
|||
UINT32 GlobalSystemInterruptBase;
|
||||
} EFI_ACPI_2_0_IO_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Interrupt Source Override Structure
|
||||
//
|
||||
///
|
||||
/// Interrupt Source Override Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -292,9 +296,9 @@ typedef struct {
|
|||
UINT16 Flags;
|
||||
} EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Non-Maskable Interrupt Source Structure
|
||||
//
|
||||
///
|
||||
/// Non-Maskable Interrupt Source Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -302,9 +306,9 @@ typedef struct {
|
|||
UINT32 GlobalSystemInterrupt;
|
||||
} EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC NMI Structure
|
||||
//
|
||||
///
|
||||
/// Local APIC NMI Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -313,9 +317,9 @@ typedef struct {
|
|||
UINT8 LocalApicLint;
|
||||
} EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC Address Override Structure
|
||||
//
|
||||
///
|
||||
/// Local APIC Address Override Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -323,9 +327,9 @@ typedef struct {
|
|||
UINT64 LocalApicAddress;
|
||||
} EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
|
||||
|
||||
//
|
||||
// IO SAPIC Structure
|
||||
//
|
||||
///
|
||||
/// IO SAPIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -335,9 +339,9 @@ typedef struct {
|
|||
UINT64 IoSapicAddress;
|
||||
} EFI_ACPI_2_0_IO_SAPIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local SAPIC Structure
|
||||
//
|
||||
///
|
||||
/// Local SAPIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -348,9 +352,9 @@ typedef struct {
|
|||
UINT32 Flags;
|
||||
} EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Platform Interrupt Sources Structure
|
||||
//
|
||||
///
|
||||
/// Platform Interrupt Sources Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -363,9 +367,9 @@ typedef struct {
|
|||
UINT32 Reserved;
|
||||
} EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
|
||||
|
||||
//
|
||||
// Smart Battery Description Table (SBST)
|
||||
//
|
||||
///
|
||||
/// Smart Battery Description Table (SBST)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 WarningEnergyLevel;
|
||||
|
@ -373,16 +377,16 @@ typedef struct {
|
|||
UINT32 CriticalEnergyLevel;
|
||||
} EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// SBST Version (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// SBST Version (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Embedded Controller Boot Resources Table (ECDT)
|
||||
// The table is followed by a null terminated ASCII string that contains
|
||||
// a fully qualified reference to the name space object.
|
||||
//
|
||||
///
|
||||
/// Embedded Controller Boot Resources Table (ECDT)
|
||||
/// The table is followed by a null terminated ASCII string that contains
|
||||
/// a fully qualified reference to the name space object.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl;
|
||||
|
@ -391,115 +395,116 @@ typedef struct {
|
|||
UINT8 GpeBit;
|
||||
} EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
|
||||
|
||||
//
|
||||
// ECDT Version (as defined in ACPI 2.0 spec.)
|
||||
//
|
||||
///
|
||||
/// ECDT Version (as defined in ACPI 2.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Known table signatures
|
||||
//
|
||||
//
|
||||
// "RSD PTR " Root System Description Pointer
|
||||
//
|
||||
|
||||
///
|
||||
/// "RSD PTR " Root System Description Pointer
|
||||
///
|
||||
#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352
|
||||
|
||||
//
|
||||
// "SPIC" Multiple SAPIC Description Table
|
||||
//
|
||||
// BUGBUG: Don't know where this came from except SR870BN4 uses it.
|
||||
// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053
|
||||
//
|
||||
///
|
||||
/// "SPIC" Multiple SAPIC Description Table
|
||||
///
|
||||
/// BUGBUG: Don't know where this came from except SR870BN4 uses it.
|
||||
/// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053
|
||||
///
|
||||
#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041
|
||||
|
||||
//
|
||||
// "BOOT" MS Simple Boot Spec
|
||||
//
|
||||
///
|
||||
/// "BOOT" MS Simple Boot Spec
|
||||
///
|
||||
#define EFI_ACPI_2_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42
|
||||
|
||||
//
|
||||
// "DBGP" MS Bebug Port Spec
|
||||
//
|
||||
///
|
||||
/// "DBGP" MS Bebug Port Spec
|
||||
///
|
||||
#define EFI_ACPI_2_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244
|
||||
|
||||
//
|
||||
// "DSDT" Differentiated System Description Table
|
||||
//
|
||||
///
|
||||
/// "DSDT" Differentiated System Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344
|
||||
|
||||
//
|
||||
// "ECDT" Embedded Controller Boot Resources Table
|
||||
//
|
||||
///
|
||||
/// "ECDT" Embedded Controller Boot Resources Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345
|
||||
|
||||
//
|
||||
// "ETDT" Event Timer Description Table
|
||||
//
|
||||
///
|
||||
/// "ETDT" Event Timer Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE 0x54445445
|
||||
|
||||
//
|
||||
// "FACS" Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// "FACS" Firmware ACPI Control Structure
|
||||
///
|
||||
#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146
|
||||
|
||||
//
|
||||
// "FACP" Fixed ACPI Description Table
|
||||
//
|
||||
///
|
||||
/// "FACP" Fixed ACPI Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
|
||||
|
||||
//
|
||||
// "APIC" Multiple APIC Description Table
|
||||
//
|
||||
///
|
||||
/// "APIC" Multiple APIC Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041
|
||||
|
||||
//
|
||||
// "PSDT" Persistent System Description Table
|
||||
//
|
||||
///
|
||||
/// "PSDT" Persistent System Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350
|
||||
|
||||
//
|
||||
// "RSDT" Root System Description Table
|
||||
//
|
||||
///
|
||||
/// "RSDT" Root System Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352
|
||||
|
||||
//
|
||||
// "SBST" Smart Battery Specification Table
|
||||
//
|
||||
///
|
||||
/// "SBST" Smart Battery Specification Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253
|
||||
|
||||
//
|
||||
// "SLIT" System Locality Information Table
|
||||
//
|
||||
///
|
||||
/// "SLIT" System Locality Information Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C53
|
||||
|
||||
//
|
||||
// "SPCR" Serial Port Concole Redirection Table
|
||||
//
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52435053
|
||||
|
||||
//
|
||||
// "SRAT" Static Resource Affinity Table
|
||||
//
|
||||
///
|
||||
/// "SRAT" Static Resource Affinity Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_STATIC_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253
|
||||
|
||||
//
|
||||
// "SSDT" Secondary System Description Table
|
||||
//
|
||||
///
|
||||
/// "SSDT" Secondary System Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353
|
||||
|
||||
//
|
||||
// "SPMI" Server Platform Management Interface Table
|
||||
//
|
||||
///
|
||||
/// "SPMI" Server Platform Management Interface Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE 0x494D5053
|
||||
|
||||
//
|
||||
// "XSDT" Extended System Description Table
|
||||
//
|
||||
///
|
||||
/// "XSDT" Extended System Description Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445358
|
||||
|
||||
//
|
||||
// "MCFG" Static Resource Affinity Table
|
||||
//
|
||||
///
|
||||
/// "MCFG" Static Resource Affinity Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE 0x4746434D
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -20,14 +20,15 @@
|
|||
// Ensure proper structure formats
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// ACPI Specification Revision
|
||||
//
|
||||
|
||||
///
|
||||
/// ACPI Specification Revision
|
||||
///
|
||||
#define EFI_ACPI_3_0_REVISION 0x03
|
||||
|
||||
//
|
||||
// ACPI 3.0 Generic Address Space definition
|
||||
//
|
||||
///
|
||||
/// ACPI 3.0 Generic Address Space definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 AddressSpaceId;
|
||||
UINT8 RegisterBitWidth;
|
||||
|
@ -58,9 +59,10 @@ typedef struct {
|
|||
//
|
||||
// ACPI 3.0 table structures
|
||||
//
|
||||
//
|
||||
// Root System Description Pointer Structure
|
||||
//
|
||||
|
||||
///
|
||||
/// Root System Description Pointer Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 Signature;
|
||||
UINT8 Checksum;
|
||||
|
@ -73,14 +75,15 @@ typedef struct {
|
|||
UINT8 Reserved[3];
|
||||
} EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
|
||||
|
||||
//
|
||||
// RSD_PTR Revision (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// RSD_PTR Revision (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 // ACPISpec30 (Revision 3.0 September 2, 2004) says current value is 2
|
||||
//
|
||||
// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
// excluding the RSD PTR structure
|
||||
//
|
||||
|
||||
///
|
||||
/// Common table header, this prefaces all ACPI tables, including FACS, but
|
||||
/// excluding the RSD PTR structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -91,9 +94,10 @@ typedef struct {
|
|||
// No definition needed as it is a common description table header followed by a
|
||||
// variable number of UINT32 table pointers.
|
||||
//
|
||||
//
|
||||
// RSDT Revision (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
|
||||
///
|
||||
/// RSDT Revision (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
|
@ -101,14 +105,15 @@ typedef struct {
|
|||
// No definition needed as it is a common description table header followed by a
|
||||
// variable number of UINT64 table pointers.
|
||||
//
|
||||
//
|
||||
// XSDT Revision (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
|
||||
///
|
||||
/// XSDT Revision (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Fixed ACPI Description Table Structure (FADT)
|
||||
//
|
||||
///
|
||||
/// Fixed ACPI Description Table Structure (FADT)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 FirmwareCtrl;
|
||||
|
@ -164,9 +169,9 @@ typedef struct {
|
|||
EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
|
||||
} EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// FADT Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// FADT Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04
|
||||
|
||||
//
|
||||
|
@ -216,9 +221,9 @@ typedef struct {
|
|||
#define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL (1 << 18)
|
||||
#define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE (1 << 19)
|
||||
|
||||
//
|
||||
// Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// Firmware ACPI Control Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Length;
|
||||
|
@ -231,15 +236,15 @@ typedef struct {
|
|||
UINT8 Reserved[31];
|
||||
} EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
|
||||
|
||||
//
|
||||
// FACS Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// FACS Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
|
||||
|
||||
//
|
||||
// Firmware Control Structure Feature Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Firmware Control Structure Feature Flags
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_3_0_S4BIOS_F (1 << 0)
|
||||
|
||||
//
|
||||
|
@ -252,25 +257,25 @@ typedef struct {
|
|||
#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
|
||||
#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
|
||||
|
||||
//
|
||||
// Multiple APIC Description Table header definition. The rest of the table
|
||||
// must be defined in a platform specific manner.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Description Table header definition. The rest of the table
|
||||
/// must be defined in a platform specific manner.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 LocalApicAddress;
|
||||
UINT32 Flags;
|
||||
} EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// MADT Revision (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// MADT Revision (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02
|
||||
|
||||
//
|
||||
// Multiple APIC Flags
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Multiple APIC Flags
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_3_0_PCAT_COMPAT (1 << 0)
|
||||
|
||||
//
|
||||
|
@ -291,9 +296,10 @@ typedef struct {
|
|||
//
|
||||
// APIC Structure Definitions
|
||||
//
|
||||
//
|
||||
// Processor Local APIC Structure Definition
|
||||
//
|
||||
|
||||
///
|
||||
/// Processor Local APIC Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -302,14 +308,14 @@ typedef struct {
|
|||
UINT32 Flags;
|
||||
} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
//
|
||||
///
|
||||
/// Local APIC Flags. All other bits are reserved and must be 0.
|
||||
///
|
||||
#define EFI_ACPI_3_0_LOCAL_APIC_ENABLED (1 << 0)
|
||||
|
||||
//
|
||||
// IO APIC Structure
|
||||
//
|
||||
///
|
||||
/// IO APIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -319,9 +325,9 @@ typedef struct {
|
|||
UINT32 GlobalSystemInterruptBase;
|
||||
} EFI_ACPI_3_0_IO_APIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Interrupt Source Override Structure
|
||||
//
|
||||
///
|
||||
/// Interrupt Source Override Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -331,9 +337,9 @@ typedef struct {
|
|||
UINT16 Flags;
|
||||
} EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Platform Interrupt Sources Structure Definition
|
||||
//
|
||||
///
|
||||
/// Platform Interrupt Sources Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -355,9 +361,9 @@ typedef struct {
|
|||
#define EFI_ACPI_3_0_POLARITY (3 << 0)
|
||||
#define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2)
|
||||
|
||||
//
|
||||
// Non-Maskable Interrupt Source Structure
|
||||
//
|
||||
///
|
||||
/// Non-Maskable Interrupt Source Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -365,9 +371,9 @@ typedef struct {
|
|||
UINT32 GlobalSystemInterrupt;
|
||||
} EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC NMI Structure
|
||||
//
|
||||
///
|
||||
/// Local APIC NMI Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -376,9 +382,9 @@ typedef struct {
|
|||
UINT8 LocalApicLint;
|
||||
} EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC Address Override Structure
|
||||
//
|
||||
///
|
||||
/// Local APIC Address Override Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -386,9 +392,9 @@ typedef struct {
|
|||
UINT64 LocalApicAddress;
|
||||
} EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
|
||||
|
||||
//
|
||||
// IO SAPIC Structure
|
||||
//
|
||||
///
|
||||
/// IO SAPIC Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -398,10 +404,10 @@ typedef struct {
|
|||
UINT64 IoSapicAddress;
|
||||
} EFI_ACPI_3_0_IO_SAPIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local SAPIC Structure
|
||||
// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
|
||||
//
|
||||
///
|
||||
/// Local SAPIC Structure
|
||||
/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -413,9 +419,9 @@ typedef struct {
|
|||
UINT32 ACPIProcessorUIDValue;
|
||||
} EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
|
||||
|
||||
//
|
||||
// Platform Interrupt Sources Structure
|
||||
//
|
||||
///
|
||||
/// Platform Interrupt Sources Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -428,15 +434,15 @@ typedef struct {
|
|||
UINT32 PlatformInterruptSourceFlags;
|
||||
} EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
|
||||
|
||||
//
|
||||
// Platform Interrupt Source Flags.
|
||||
// All other bits are reserved and must be set to 0.
|
||||
//
|
||||
///
|
||||
/// Platform Interrupt Source Flags.
|
||||
/// All other bits are reserved and must be set to 0.
|
||||
///
|
||||
#define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE (1 << 0)
|
||||
|
||||
//
|
||||
// Smart Battery Description Table (SBST)
|
||||
//
|
||||
///
|
||||
/// Smart Battery Description Table (SBST)
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 WarningEnergyLevel;
|
||||
|
@ -444,16 +450,16 @@ typedef struct {
|
|||
UINT32 CriticalEnergyLevel;
|
||||
} EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// SBST Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// SBST Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Embedded Controller Boot Resources Table (ECDT)
|
||||
// The table is followed by a null terminated ASCII string that contains
|
||||
// a fully qualified reference to the name space object.
|
||||
//
|
||||
///
|
||||
/// Embedded Controller Boot Resources Table (ECDT)
|
||||
/// The table is followed by a null terminated ASCII string that contains
|
||||
/// a fully qualified reference to the name space object.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl;
|
||||
|
@ -462,37 +468,37 @@ typedef struct {
|
|||
UINT8 GpeBit;
|
||||
} EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
|
||||
|
||||
//
|
||||
// ECDT Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// ECDT Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// System Resource Affinity Table (SRAT. The rest of the table
|
||||
// must be defined in a platform specific manner.
|
||||
//
|
||||
///
|
||||
/// System Resource Affinity Table (SRAT. The rest of the table
|
||||
/// must be defined in a platform specific manner.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 Reserved1; // Must be set to 1
|
||||
UINT64 Reserved2;
|
||||
} EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// SRAT Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// SRAT Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02
|
||||
|
||||
//
|
||||
// SRAT structure types.
|
||||
// All other values between 0x02 an 0xFF are reserved and
|
||||
// will be ignored by OSPM.
|
||||
//
|
||||
///
|
||||
/// SRAT structure types.
|
||||
/// All other values between 0x02 an 0xFF are reserved and
|
||||
/// will be ignored by OSPM.
|
||||
///
|
||||
#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
|
||||
#define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01
|
||||
|
||||
//
|
||||
// Processor Local APIC/SAPIC Affinity Structure Definition
|
||||
//
|
||||
///
|
||||
/// Processor Local APIC/SAPIC Affinity Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -504,14 +510,14 @@ typedef struct {
|
|||
UINT8 Reserved[4];
|
||||
} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
|
||||
|
||||
//
|
||||
// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
|
||||
//
|
||||
///
|
||||
/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
|
||||
///
|
||||
#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
|
||||
|
||||
//
|
||||
// Memory Affinity Structure Definition
|
||||
//
|
||||
///
|
||||
/// Memory Affinity Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
|
@ -533,147 +539,148 @@ typedef struct {
|
|||
#define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1)
|
||||
#define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2)
|
||||
|
||||
//
|
||||
// System Locality Distance Information Table (SLIT).
|
||||
// The rest of the table is a matrix.
|
||||
//
|
||||
///
|
||||
/// System Locality Distance Information Table (SLIT).
|
||||
/// The rest of the table is a matrix.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT64 NumberOfSystemLocalities;
|
||||
} EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// SLIT Version (as defined in ACPI 3.0 spec.)
|
||||
//
|
||||
///
|
||||
/// SLIT Version (as defined in ACPI 3.0 spec.)
|
||||
///
|
||||
#define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// Known table signatures
|
||||
//
|
||||
//
|
||||
// "RSD PTR " Root System Description Pointer
|
||||
//
|
||||
|
||||
///
|
||||
/// "RSD PTR " Root System Description Pointer
|
||||
///
|
||||
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL
|
||||
|
||||
//
|
||||
// "APIC" Multiple APIC Description Table
|
||||
//
|
||||
///
|
||||
/// "APIC" Multiple APIC Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041
|
||||
|
||||
//
|
||||
// "DSDT" Differentiated System Description Table
|
||||
//
|
||||
///
|
||||
/// "DSDT" Differentiated System Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344
|
||||
|
||||
//
|
||||
// "ECDT" Embedded Controller Boot Resources Table
|
||||
//
|
||||
///
|
||||
/// "ECDT" Embedded Controller Boot Resources Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345
|
||||
|
||||
//
|
||||
// "FACP" Fixed ACPI Description Table
|
||||
//
|
||||
///
|
||||
/// "FACP" Fixed ACPI Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146
|
||||
|
||||
//
|
||||
// "FACS" Firmware ACPI Control Structure
|
||||
//
|
||||
///
|
||||
/// "FACS" Firmware ACPI Control Structure
|
||||
///
|
||||
#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146
|
||||
|
||||
//
|
||||
// "PSDT" Persistent System Description Table
|
||||
//
|
||||
///
|
||||
/// "PSDT" Persistent System Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350
|
||||
|
||||
//
|
||||
// "RSDT" Root System Description Table
|
||||
//
|
||||
///
|
||||
/// "RSDT" Root System Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352
|
||||
|
||||
//
|
||||
// "SBST" Smart Battery Specification Table
|
||||
//
|
||||
///
|
||||
/// "SBST" Smart Battery Specification Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253
|
||||
|
||||
//
|
||||
// "SLIT" System Locality Information Table
|
||||
//
|
||||
///
|
||||
/// "SLIT" System Locality Information Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C53
|
||||
|
||||
//
|
||||
// "SRAT" System Resource Affinity Table
|
||||
//
|
||||
///
|
||||
/// "SRAT" System Resource Affinity Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253
|
||||
|
||||
//
|
||||
// "SSDT" Secondary System Description Table
|
||||
//
|
||||
///
|
||||
/// "SSDT" Secondary System Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353
|
||||
|
||||
//
|
||||
// "XSDT" Extended System Description Table
|
||||
//
|
||||
///
|
||||
/// "XSDT" Extended System Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445358
|
||||
|
||||
//
|
||||
// "BOOT" MS Simple Boot Spec
|
||||
//
|
||||
///
|
||||
/// "BOOT" MS Simple Boot Spec
|
||||
///
|
||||
#define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42
|
||||
|
||||
//
|
||||
// "CPEP" Corrected Platform Error Polling Table
|
||||
// See
|
||||
//
|
||||
///
|
||||
/// "CPEP" Corrected Platform Error Polling Table
|
||||
/// See
|
||||
///
|
||||
#define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE 0x50455043
|
||||
|
||||
//
|
||||
// "DBGP" MS Debug Port Spec
|
||||
//
|
||||
///
|
||||
/// "DBGP" MS Debug Port Spec
|
||||
///
|
||||
#define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244
|
||||
|
||||
//
|
||||
// "ETDT" Event Timer Description Table
|
||||
//
|
||||
///
|
||||
/// "ETDT" Event Timer Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE 0x54445445
|
||||
|
||||
//
|
||||
// "HPET" IA-PC High Precision Event Timer Table
|
||||
//
|
||||
///
|
||||
/// "HPET" IA-PC High Precision Event Timer Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE 0x54455048
|
||||
|
||||
//
|
||||
// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
|
||||
//
|
||||
///
|
||||
/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE 0x4746434D
|
||||
|
||||
//
|
||||
// "SPCR" Serial Port Concole Redirection Table
|
||||
//
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52435053
|
||||
|
||||
//
|
||||
// "SPMI" Server Platform Management Interface Table
|
||||
//
|
||||
///
|
||||
/// "SPMI" Server Platform Management Interface Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE 0x494D5053
|
||||
|
||||
//
|
||||
// "TCPA" Trusted Computing Platform Alliance Capabilities Table
|
||||
//
|
||||
///
|
||||
/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE 0x41504354
|
||||
|
||||
//
|
||||
// "WDRT" Watchdog Resource Table
|
||||
//
|
||||
///
|
||||
/// "WDRT" Watchdog Resource Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE 0x54524457
|
||||
|
||||
//
|
||||
// "WDAT" Watchdog Action Table
|
||||
//
|
||||
///
|
||||
/// "WDAT" Watchdog Action Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE 0x54414457
|
||||
|
||||
//
|
||||
// "iBFT" iSCSI Boot Firmware Table
|
||||
//
|
||||
///
|
||||
/// "iBFT" iSCSI Boot Firmware Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE 0x54464269
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -21,19 +21,19 @@
|
|||
//
|
||||
#pragma pack (1)
|
||||
|
||||
//
|
||||
// Information Record header that appears at the beginning of each record
|
||||
//
|
||||
///
|
||||
/// Information Record header that appears at the beginning of each record
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Reserved;
|
||||
UINT16 RecordLength;
|
||||
} EFI_ACPI_ASF_RECORD_HEADER;
|
||||
|
||||
//
|
||||
// This structure contains information that identifies the system's type
|
||||
// and configuration
|
||||
//
|
||||
///
|
||||
/// This structure contains information that identifies the system's type
|
||||
/// and configuration
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
|
||||
UINT8 MinWatchDogResetValue;
|
||||
|
@ -44,9 +44,9 @@ typedef struct {
|
|||
UINT8 Reserved[3];
|
||||
} EFI_ACPI_ASF_INFO;
|
||||
|
||||
//
|
||||
// Alert sensors definition
|
||||
//
|
||||
///
|
||||
/// Alert sensors definition
|
||||
///
|
||||
#define ASF_ALRT_SENSOR_ARRAY_LENGTH 36
|
||||
|
||||
typedef struct {
|
||||
|
@ -58,9 +58,9 @@ typedef struct {
|
|||
UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];
|
||||
} EFI_ACPI_ASF_ALRT;
|
||||
|
||||
//
|
||||
// Alert Remote Control System Actions
|
||||
//
|
||||
///
|
||||
/// Alert Remote Control System Actions
|
||||
///
|
||||
#define ASF_RCTL_DEVICES_ARRAY_LENGTH 16
|
||||
typedef struct {
|
||||
EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
|
||||
|
@ -70,9 +70,9 @@ typedef struct {
|
|||
UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];
|
||||
} EFI_ACPI_ASF_RCTL;
|
||||
|
||||
//
|
||||
// Remote Control Capabilities
|
||||
//
|
||||
///
|
||||
/// Remote Control Capabilities
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
|
||||
UINT8 RemoteControlCapabilities[7];
|
||||
|
@ -84,9 +84,9 @@ typedef struct {
|
|||
UINT8 RMCPOEMParameters[2];
|
||||
} EFI_ACPI_ASF_RMCP;
|
||||
|
||||
//
|
||||
// SMBus Devices with fixed addresses
|
||||
//
|
||||
///
|
||||
/// SMBus Devices with fixed addresses
|
||||
///
|
||||
#define ASF_ADDR_DEVICE_ARRAY_LENGTH 16
|
||||
typedef struct {
|
||||
EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
|
||||
|
@ -104,9 +104,9 @@ typedef struct {
|
|||
EFI_ACPI_ASF_ADDR AsfAddr;
|
||||
} EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;
|
||||
|
||||
//
|
||||
// "ASF!" ASF Description Table Signature
|
||||
//
|
||||
///
|
||||
/// "ASF!" ASF Description Table Signature
|
||||
///
|
||||
#define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341
|
||||
|
||||
#pragma pack ()
|
||||
|
|
|
@ -20,9 +20,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// ATA_IDENTIFY_DATA is defined in ATA-5
|
||||
//
|
||||
///
|
||||
/// ATA_IDENTIFY_DATA is defined in ATA-5
|
||||
///
|
||||
typedef struct {
|
||||
UINT16 config; /* General Configuration */
|
||||
UINT16 cylinders; /* Number of Cylinders */
|
||||
|
@ -75,9 +75,9 @@ typedef struct {
|
|||
UINT16 reserved_160_255[96];
|
||||
} ATA_IDENTIFY_DATA;
|
||||
|
||||
//
|
||||
// ATAPI_IDENTIFY_DATA is defined in ATA-6
|
||||
//
|
||||
///
|
||||
/// ATAPI_IDENTIFY_DATA is defined in ATA-6
|
||||
///
|
||||
typedef struct {
|
||||
UINT16 config; // General Configuration
|
||||
UINT16 obsolete_1;
|
||||
|
@ -355,10 +355,10 @@ typedef struct {
|
|||
UINT8 reserved_11;
|
||||
} ATAPI_MODE_SENSE_CMD;
|
||||
|
||||
//
|
||||
// ATAPI_PACKET_COMMAND is not defined in ATA specification.
|
||||
// We add it here for the convenience for ATA/ATAPI module writer.
|
||||
//
|
||||
///
|
||||
/// ATAPI_PACKET_COMMAND is not defined in ATA specification.
|
||||
/// We add it here for the convenience for ATA/ATAPI module writer.
|
||||
///
|
||||
typedef union {
|
||||
UINT16 Data16[6];
|
||||
ATAPI_TEST_UNIT_READY_CMD TestUnitReady;
|
||||
|
|
|
@ -22,14 +22,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#define CDVOL_TYPE_CODED 0x1
|
||||
#define CDVOL_TYPE_END 0xFF
|
||||
|
||||
//
|
||||
// CDROM_VOLUME_DESCRIPTOR.Id
|
||||
//
|
||||
///
|
||||
/// CDROM_VOLUME_DESCRIPTOR.Id
|
||||
///
|
||||
#define CDVOL_ID "CD001"
|
||||
|
||||
//
|
||||
// CDROM_VOLUME_DESCRIPTOR.SystemId
|
||||
//
|
||||
///
|
||||
/// CDROM_VOLUME_DESCRIPTOR.SystemId
|
||||
///
|
||||
#define CDVOL_ELTORITO_ID "EL TORITO SPECIFICATION"
|
||||
|
||||
//
|
||||
|
@ -53,14 +53,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// El Torito Volume Descriptor
|
||||
// Note that the CDROM_VOLUME_DESCRIPTOR does not match the ISO-9660
|
||||
// descriptor. For some reason descriptor used by El Torito is
|
||||
// different, but they start the same. The El Torito descriptor
|
||||
// is left shifted 1 byte starting with the SystemId. (Note this
|
||||
// causes the field to get unaligned)
|
||||
//
|
||||
///
|
||||
/// El Torito Volume Descriptor
|
||||
/// Note that the CDROM_VOLUME_DESCRIPTOR does not match the ISO-9660
|
||||
/// descriptor. For some reason descriptor used by El Torito is
|
||||
/// different, but they start the same. The El Torito descriptor
|
||||
/// is left shifted 1 byte starting with the SystemId. (Note this
|
||||
/// causes the field to get unaligned)
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
CHAR8 Id[5]; // CD001
|
||||
|
@ -72,17 +72,17 @@ typedef struct {
|
|||
UINT32 VolSpaceSize[2];
|
||||
} CDROM_VOLUME_DESCRIPTOR;
|
||||
|
||||
//
|
||||
// Catalog Entry
|
||||
//
|
||||
///
|
||||
/// Catalog Entry
|
||||
///
|
||||
typedef union {
|
||||
struct {
|
||||
CHAR8 Reserved[0x20];
|
||||
} Unknown;
|
||||
|
||||
//
|
||||
// Catalog validation entry (Catalog header)
|
||||
//
|
||||
///
|
||||
/// Catalog validation entry (Catalog header)
|
||||
///
|
||||
struct {
|
||||
UINT8 Indicator;
|
||||
UINT8 PlatformId;
|
||||
|
@ -92,9 +92,9 @@ typedef union {
|
|||
UINT16 Id55AA;
|
||||
} Catalog;
|
||||
|
||||
//
|
||||
// Initial/Default Entry or Section Entry
|
||||
//
|
||||
///
|
||||
/// Initial/Default Entry or Section Entry
|
||||
///
|
||||
struct {
|
||||
UINT8 Indicator;
|
||||
UINT8 MediaType : 4;
|
||||
|
@ -106,9 +106,9 @@ typedef union {
|
|||
UINT32 Lba;
|
||||
} Boot;
|
||||
|
||||
//
|
||||
// Section Header Entry
|
||||
//
|
||||
///
|
||||
/// Section Header Entry
|
||||
///
|
||||
struct {
|
||||
UINT8 Indicator;
|
||||
UINT8 PlatformId;
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
// Ensure proper structure formats
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// High Precision Event Timer Table header definition.
|
||||
//
|
||||
|
||||
///
|
||||
/// High Precision Event Timer Table header definition.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 EventTimerBlockId;
|
||||
|
@ -34,9 +35,9 @@ typedef struct {
|
|||
UINT8 PageProtectionAndOemAttribute;
|
||||
} EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER;
|
||||
|
||||
//
|
||||
// HPET Revision (defined in spec)
|
||||
//
|
||||
///
|
||||
/// HPET Revision (defined in spec)
|
||||
///
|
||||
#define EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
|
|
|
@ -46,9 +46,9 @@ typedef struct {
|
|||
UINT8 SizeInLBA[4];
|
||||
} MBR_PARTITION_RECORD;
|
||||
|
||||
//
|
||||
// MBR Partition table
|
||||
//
|
||||
///
|
||||
/// MBR Partition table
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 BootStrapCode[440];
|
||||
UINT8 UniqueMbrSignature[4];
|
||||
|
|
|
@ -20,11 +20,12 @@
|
|||
// Ensure proper structure formats
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// Memory Mapped Configuration Space Access Table (MCFG)
|
||||
// This table is a basic description table header followed by
|
||||
// a number of base address allocation structures.
|
||||
//
|
||||
|
||||
///
|
||||
/// Memory Mapped Configuration Space Access Table (MCFG)
|
||||
/// This table is a basic description table header followed by
|
||||
/// a number of base address allocation structures.
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 BaseAddress;
|
||||
UINT16 PciSegmentGroupNumber;
|
||||
|
@ -32,17 +33,19 @@ typedef struct {
|
|||
UINT8 EndBusNumber;
|
||||
UINT32 Reserved;
|
||||
} EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE;
|
||||
//
|
||||
// MCFG Table header definition. The rest of the table
|
||||
// must be defined in a platform specific manner.
|
||||
//
|
||||
|
||||
///
|
||||
/// MCFG Table header definition. The rest of the table
|
||||
/// must be defined in a platform specific manner.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT64 Reserved;
|
||||
} EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_HEADER;
|
||||
//
|
||||
// MCFG Revision (defined in spec)
|
||||
//
|
||||
|
||||
///
|
||||
/// MCFG Revision (defined in spec)
|
||||
///
|
||||
#define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION 0x01
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -433,9 +433,9 @@ typedef struct {
|
|||
UINT8 NextItemPtr;
|
||||
} EFI_PCI_CAPABILITY_HDR;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_PMI
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_PMI
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT16 PMC;
|
||||
|
@ -444,9 +444,9 @@ typedef struct {
|
|||
UINT8 Data;
|
||||
} EFI_PCI_CAPABILITY_PMI;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_AGP
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_AGP
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT8 Rev;
|
||||
|
@ -455,27 +455,27 @@ typedef struct {
|
|||
UINT32 Command;
|
||||
} EFI_PCI_CAPABILITY_AGP;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_VPD
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_VPD
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT16 AddrReg;
|
||||
UINT32 DataReg;
|
||||
} EFI_PCI_CAPABILITY_VPD;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_SLOTID
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_SLOTID
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT8 ExpnsSlotReg;
|
||||
UINT8 ChassisNo;
|
||||
} EFI_PCI_CAPABILITY_SLOTID;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_MSI
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_MSI
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT16 MsgCtrlReg;
|
||||
|
@ -491,19 +491,19 @@ typedef struct {
|
|||
UINT16 MsgDataReg;
|
||||
} EFI_PCI_CAPABILITY_MSI64;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
//
|
||||
// not finished - fields need to go here
|
||||
//
|
||||
///
|
||||
/// not finished - fields need to go here
|
||||
///
|
||||
} EFI_PCI_CAPABILITY_HOTPLUG;
|
||||
|
||||
//
|
||||
// Capability EFI_PCI_CAPABILITY_ID_PCIX
|
||||
//
|
||||
///
|
||||
/// Capability EFI_PCI_CAPABILITY_ID_PCIX
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
UINT16 CommandReg;
|
||||
|
|
|
@ -157,9 +157,9 @@ typedef struct {
|
|||
#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
|
||||
|
||||
typedef struct {
|
||||
//
|
||||
// Standard fields.
|
||||
//
|
||||
///
|
||||
/// Standard fields.
|
||||
///
|
||||
UINT16 Magic;
|
||||
UINT8 MajorLinkerVersion;
|
||||
UINT8 MinorLinkerVersion;
|
||||
|
@ -169,9 +169,9 @@ typedef struct {
|
|||
UINT32 AddressOfEntryPoint;
|
||||
UINT32 BaseOfCode;
|
||||
UINT32 BaseOfData;
|
||||
//
|
||||
// NT additional fields.
|
||||
//
|
||||
///
|
||||
/// NT additional fields.
|
||||
///
|
||||
UINT32 ImageBase;
|
||||
UINT32 SectionAlignment;
|
||||
UINT32 FileAlignment;
|
||||
|
@ -309,11 +309,11 @@ typedef EFI_IMAGE_NT_HEADERS64 EFI_IMAGE_NT_HEADERS;
|
|||
|
||||
#elif defined (MDE_CPU_EBC)
|
||||
|
||||
//
|
||||
// This is just to make sure you can cross compile with the EBC compiiler.
|
||||
// It does not make sense to have a PE loader coded in EBC. You need to
|
||||
// understand the basic
|
||||
//
|
||||
///
|
||||
/// This is just to make sure you can cross compile with the EBC compiiler.
|
||||
/// It does not make sense to have a PE loader coded in EBC. You need to
|
||||
/// understand the basic
|
||||
///
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
@ -723,9 +723,9 @@ typedef struct {
|
|||
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1
|
||||
|
||||
|
||||
//
|
||||
// Union of PE32, PE32+, and TE headers
|
||||
//
|
||||
///
|
||||
/// Union of PE32, PE32+, and TE headers
|
||||
///
|
||||
typedef union {
|
||||
EFI_IMAGE_NT_HEADERS32 Pe32;
|
||||
EFI_IMAGE_NT_HEADERS64 Pe32Plus;
|
||||
|
|
|
@ -15,25 +15,27 @@
|
|||
#ifndef __SAL_API_H__
|
||||
#define __SAL_API_H__
|
||||
|
||||
//
|
||||
// FIT Types
|
||||
// Table 2-2 of Intel Itanium Processor Family System Abstraction Layer Specification December 2003
|
||||
//
|
||||
///
|
||||
/// FIT Types
|
||||
/// Table 2-2 of Intel Itanium Processor Family System Abstraction Layer Specification December 2003
|
||||
///
|
||||
#define EFI_SAL_FIT_FIT_HEADER_TYPE 0x00
|
||||
#define EFI_SAL_FIT_PAL_B_TYPE 0x01
|
||||
//
|
||||
// type from 0x02 to 0x0E is reserved.
|
||||
//
|
||||
|
||||
///
|
||||
/// type from 0x02 to 0x0E is reserved.
|
||||
///
|
||||
#define EFI_SAL_FIT_PAL_A_TYPE 0x0F
|
||||
//
|
||||
// OEM-defined type range is from 0x10 to 0x7E. Here we defined the PEI_CORE type as 0x10
|
||||
//
|
||||
|
||||
///
|
||||
/// OEM-defined type range is from 0x10 to 0x7E. Here we defined the PEI_CORE type as 0x10
|
||||
///
|
||||
#define EFI_SAL_FIT_PEI_CORE_TYPE 0x10
|
||||
#define EFI_SAL_FIT_UNUSED_TYPE 0x7F
|
||||
|
||||
//
|
||||
// EFI_SAL_STATUS
|
||||
//
|
||||
///
|
||||
/// EFI_SAL_STATUS
|
||||
///
|
||||
typedef UINTN EFI_SAL_STATUS;
|
||||
|
||||
#define EFI_SAL_SUCCESS ((EFI_SAL_STATUS) 0)
|
||||
|
@ -55,9 +57,9 @@ typedef struct {
|
|||
UINTN r11;
|
||||
} SAL_RETURN_REGS;
|
||||
|
||||
//
|
||||
// Delivery Mode of IPF CPU.
|
||||
//
|
||||
///
|
||||
/// Delivery Mode of IPF CPU.
|
||||
///
|
||||
typedef enum {
|
||||
EFI_DELIVERY_MODE_INT,
|
||||
EFI_DELIVERY_MODE_MPreserved1,
|
||||
|
@ -616,9 +618,9 @@ typedef struct {
|
|||
UINT8 SmbiosBcdTimeStamp[6];
|
||||
} SAL_SMBIOS_DEVICE_ERROR_RECORD;
|
||||
|
||||
//
|
||||
// Sal Platform Specific Errors Info.
|
||||
//
|
||||
///
|
||||
/// Sal Platform Specific Errors Info.
|
||||
///
|
||||
#define SAL_PLATFORM_ERROR_RECORD_INFO \
|
||||
{ \
|
||||
0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
|
@ -644,9 +646,9 @@ typedef struct {
|
|||
UINT8 OemComponentId[16];
|
||||
} SAL_PLATFORM_SPECIFIC_ERROR_RECORD;
|
||||
|
||||
//
|
||||
// Union of all the possible Sal Record Types
|
||||
//
|
||||
///
|
||||
/// Union of all the possible Sal Record Types
|
||||
///
|
||||
typedef union {
|
||||
SAL_RECORD_HEADER *RecordHeader;
|
||||
SAL_PROCESSOR_ERROR_RECORD *SalProcessorRecord;
|
||||
|
|
|
@ -272,14 +272,14 @@ typedef struct {
|
|||
#define EFI_SCSI_ASC_NO_MEDIA (0x3A)
|
||||
#define EFI_SCSI_ASC_ILLEGAL_MODE_FOR_THIS_TRACK (0x64)
|
||||
|
||||
//
|
||||
// Additional Sense Code Qualifier
|
||||
//
|
||||
///
|
||||
/// Additional Sense Code Qualifier
|
||||
///
|
||||
#define EFI_SCSI_ASCQ_IN_PROGRESS (0x01)
|
||||
|
||||
//
|
||||
// Max bytes needed to represent ID of a SCSI device
|
||||
//
|
||||
///
|
||||
/// Max bytes needed to represent ID of a SCSI device
|
||||
///
|
||||
#define EFI_SCSI_TARGET_MAX_BYTES (0x10)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,14 +23,14 @@
|
|||
//
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// SPCR Revision (defined in spec)
|
||||
//
|
||||
///
|
||||
/// SPCR Revision (defined in spec)
|
||||
///
|
||||
#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// SPCR Structure Definition
|
||||
//
|
||||
///
|
||||
/// SPCR Structure Definition
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT8 InterfaceType;
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
#define _SMBUS_H_
|
||||
|
||||
|
||||
//
|
||||
// UDID of SMBUS device.
|
||||
//
|
||||
///
|
||||
/// UDID of SMBUS device.
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 VendorSpecificId;
|
||||
UINT16 SubsystemDeviceId;
|
||||
|
@ -34,9 +34,9 @@ typedef struct {
|
|||
UINT8 DeviceCapabilities;
|
||||
} EFI_SMBUS_UDID;
|
||||
|
||||
//
|
||||
// Smbus Device Address, Smbus Device Command, Smbus Operations
|
||||
//
|
||||
///
|
||||
/// Smbus Device Address, Smbus Device Command, Smbus Operations
|
||||
///
|
||||
typedef struct {
|
||||
UINTN SmbusDeviceAddress : 7;
|
||||
} EFI_SMBUS_DEVICE_ADDRESS;
|
||||
|
|
|
@ -294,9 +294,9 @@ typedef enum {
|
|||
#define EFI_USB_SET_PROTOCOL_REQUEST 0x0b
|
||||
|
||||
#pragma pack(1)
|
||||
//
|
||||
// Descriptor header for Report/Physical Descriptors
|
||||
//
|
||||
///
|
||||
/// Descriptor header for Report/Physical Descriptors
|
||||
///
|
||||
typedef struct hid_class_descriptor {
|
||||
UINT8 DescriptorType;
|
||||
UINT16 DescriptorLength;
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
// Ensure proper structure formats
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// Watchdog Action Table definition.
|
||||
//
|
||||
///
|
||||
/// Watchdog Action Table definition.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
UINT32 WatchdogHeaderLength;
|
||||
|
@ -52,14 +52,14 @@ typedef struct {
|
|||
|
||||
#pragma pack()
|
||||
|
||||
//
|
||||
// WDAT Revision (defined in spec)
|
||||
//
|
||||
///
|
||||
/// WDAT Revision (defined in spec)
|
||||
///
|
||||
#define EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE_REVISION 0x01
|
||||
|
||||
//
|
||||
// WDAT 1.0 Flags
|
||||
//
|
||||
///
|
||||
/// WDAT 1.0 Flags
|
||||
///
|
||||
#define EFI_ACPI_WDAT_1_0_WATCHDOG_ENABLED 0x1
|
||||
#define EFI_ACPI_WDAT_1_0_WATCHDOG_STOPPED_IN_SLEEP_STATE 0x80
|
||||
|
||||
|
|
|
@ -21,9 +21,10 @@
|
|||
// Ensure proper structure formats
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// Watchdog Resource Table definition.
|
||||
//
|
||||
|
||||
///
|
||||
/// Watchdog Resource Table definition.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||||
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ControlRegisterAddress;
|
||||
|
|
Loading…
Reference in New Issue