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:
klu2 2008-08-14 03:21:03 +00:00
parent 3566565aa4
commit 1bc5d0217a
18 changed files with 642 additions and 619 deletions

View File

@ -14,10 +14,10 @@
#ifndef _ACPI_1_0_H_ #ifndef _ACPI_1_0_H_
#define _ACPI_1_0_H_ #define _ACPI_1_0_H_
// ///
// Common table header, this prefaces all ACPI tables, including FACS, but /// Common table header, this prefaces all ACPI tables, including FACS, but
// excluding the RSD PTR structure /// excluding the RSD PTR structure
// ///
typedef struct { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -51,9 +51,9 @@ typedef struct {
#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01 #define ACPI_ADDRESS_SPACE_TYPE_IO 0x01
#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02 #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 #define ACPI_TIMER_FREQUENCY 3579545
// //
@ -125,9 +125,10 @@ typedef struct {
// //
// ACPI 1.0b table structures // ACPI 1.0b table structures
// //
//
// Root System Description Pointer Structure ///
// /// Root System Description Pointer Structure
///
typedef struct { typedef struct {
UINT64 Signature; UINT64 Signature;
UINT8 Checksum; UINT8 Checksum;
@ -141,14 +142,15 @@ typedef struct {
// No definition needed as it is a common description table header followed by a // No definition needed as it is a common description table header followed by a
// variable number of UINT32 table pointers. // 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 #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 { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 FirmwareCtrl; UINT32 FirmwareCtrl;
@ -192,9 +194,9 @@ typedef struct {
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE; } 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 #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_TMR_VAL_EXT (1 << 8)
#define EFI_ACPI_1_0_DCK_CAP (1 << 9) #define EFI_ACPI_1_0_DCK_CAP (1 << 9)
// ///
// Firmware ACPI Control Structure /// Firmware ACPI Control Structure
// ///
typedef struct { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -225,31 +227,31 @@ typedef struct {
UINT8 Reserved[40]; UINT8 Reserved[40];
} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; } EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
// ///
// Firmware Control Structure Feature Flags /// Firmware Control Structure Feature Flags
// All other bits are reserved and must be set to 0. /// All other bits are reserved and must be set to 0.
// ///
#define EFI_ACPI_1_0_S4BIOS_F (1 << 0) #define EFI_ACPI_1_0_S4BIOS_F (1 << 0)
// ///
// Multiple APIC Description Table header definition. The rest of the table /// Multiple APIC Description Table header definition. The rest of the table
// must be defined in a platform specific manner. /// must be defined in a platform specific manner.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 LocalApicAddress; UINT32 LocalApicAddress;
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; } 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 #define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
// ///
// Multiple APIC Flags /// Multiple APIC Flags
// All other bits are reserved and must be set to 0. /// All other bits are reserved and must be set to 0.
// ///
#define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0) #define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0)
// //
@ -266,9 +268,10 @@ typedef struct {
// //
// APIC Structure Definitions // APIC Structure Definitions
// //
//
// Processor Local APIC Structure Definition ///
// /// Processor Local APIC Structure Definition
///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -277,14 +280,14 @@ typedef struct {
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE; } 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) #define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0)
// ///
// IO APIC Structure /// IO APIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -294,9 +297,9 @@ typedef struct {
UINT32 SystemVectorBase; UINT32 SystemVectorBase;
} EFI_ACPI_1_0_IO_APIC_STRUCTURE; } EFI_ACPI_1_0_IO_APIC_STRUCTURE;
// ///
// Interrupt Source Override Structure /// Interrupt Source Override Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -306,9 +309,9 @@ typedef struct {
UINT16 Flags; UINT16 Flags;
} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; } EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
// ///
// Non-Maskable Interrupt Source Structure /// Non-Maskable Interrupt Source Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -316,9 +319,9 @@ typedef struct {
UINT32 GlobalSystemInterruptVector; UINT32 GlobalSystemInterruptVector;
} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; } EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
// ///
// Local APIC NMI Structure /// Local APIC NMI Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -327,9 +330,9 @@ typedef struct {
UINT8 LocalApicInti; UINT8 LocalApicInti;
} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE; } EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE;
// ///
// Smart Battery Description Table (SBST) /// Smart Battery Description Table (SBST)
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 WarningEnergyLevel; UINT32 WarningEnergyLevel;
@ -340,49 +343,50 @@ typedef struct {
// //
// Known table signatures // 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 #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 #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 #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 #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 #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 #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 #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 #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 #define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353
#pragma pack() #pragma pack()

View File

@ -25,9 +25,9 @@
// //
#define EFI_ACPI_2_0_REVISION 0x02 #define EFI_ACPI_2_0_REVISION 0x02
// ///
// ACPI 2.0 Generic Address Space definition /// ACPI 2.0 Generic Address Space definition
// ///
typedef struct { typedef struct {
UINT8 AddressSpaceId; UINT8 AddressSpaceId;
UINT8 RegisterBitWidth; UINT8 RegisterBitWidth;
@ -49,9 +49,10 @@ typedef struct {
// //
// ACPI 2.0 table structures // ACPI 2.0 table structures
// //
//
// Root System Description Pointer Structure ///
// /// Root System Description Pointer Structure
///
typedef struct { typedef struct {
UINT64 Signature; UINT64 Signature;
UINT8 Checksum; UINT8 Checksum;
@ -64,15 +65,15 @@ typedef struct {
UINT8 Reserved[3]; UINT8 Reserved[3];
} EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER; } 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 #define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02
// ///
// Common table header, this prefaces all ACPI tables, including FACS, but /// Common table header, this prefaces all ACPI tables, including FACS, but
// excluding the RSD PTR structure /// excluding the RSD PTR structure
// ///
typedef struct { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -83,9 +84,10 @@ typedef struct {
// No definition needed as it is a common description table header followed by a // No definition needed as it is a common description table header followed by a
// variable number of UINT32 table pointers. // 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 #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 // No definition needed as it is a common description table header followed by a
// variable number of UINT64 table pointers. // 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 #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 { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 FirmwareCtrl; UINT32 FirmwareCtrl;
@ -156,15 +159,15 @@ typedef struct {
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
} EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE; } 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 #define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x03
// ///
// Fixed ACPI Description Table Boot Architecture Flags /// Fixed ACPI Description Table Boot Architecture Flags
// All other bits are reserved and must be set to 0. /// 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_LEGACY_DEVICES (1 << 0)
#define EFI_ACPI_2_0_8042 (1 << 1) #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_HEADLESS (1 << 12)
#define EFI_ACPI_2_0_CPU_SW_SLP (1 << 13) #define EFI_ACPI_2_0_CPU_SW_SLP (1 << 13)
// ///
// Firmware ACPI Control Structure /// Firmware ACPI Control Structure
// ///
typedef struct { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -202,36 +205,36 @@ typedef struct {
UINT8 Reserved[31]; UINT8 Reserved[31];
} EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; } 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 #define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
// ///
// Firmware Control Structure Feature Flags /// Firmware Control Structure Feature Flags
// All other bits are reserved and must be set to 0. /// 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 (1 << 0)
// ///
// Multiple APIC Description Table header definition. The rest of the table /// Multiple APIC Description Table header definition. The rest of the table
// must be defined in a platform specific manner. /// must be defined in a platform specific manner.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 LocalApicAddress; UINT32 LocalApicAddress;
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; } 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 #define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
// ///
// Multiple APIC Flags /// Multiple APIC Flags
// All other bits are reserved and must be set to 0. /// 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 (1 << 0)
// //
@ -252,9 +255,10 @@ typedef struct {
// //
// APIC Structure Definitions // APIC Structure Definitions
// //
//
// Processor Local APIC Structure Definition ///
// /// Processor Local APIC Structure Definition
///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -263,14 +267,14 @@ typedef struct {
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE; } 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) #define EFI_ACPI_2_0_LOCAL_APIC_ENABLED (1 << 0)
// ///
// IO APIC Structure /// IO APIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -280,9 +284,9 @@ typedef struct {
UINT32 GlobalSystemInterruptBase; UINT32 GlobalSystemInterruptBase;
} EFI_ACPI_2_0_IO_APIC_STRUCTURE; } EFI_ACPI_2_0_IO_APIC_STRUCTURE;
// ///
// Interrupt Source Override Structure /// Interrupt Source Override Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -292,9 +296,9 @@ typedef struct {
UINT16 Flags; UINT16 Flags;
} EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; } EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
// ///
// Non-Maskable Interrupt Source Structure /// Non-Maskable Interrupt Source Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -302,9 +306,9 @@ typedef struct {
UINT32 GlobalSystemInterrupt; UINT32 GlobalSystemInterrupt;
} EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; } EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
// ///
// Local APIC NMI Structure /// Local APIC NMI Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -313,9 +317,9 @@ typedef struct {
UINT8 LocalApicLint; UINT8 LocalApicLint;
} EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE; } EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE;
// ///
// Local APIC Address Override Structure /// Local APIC Address Override Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -323,9 +327,9 @@ typedef struct {
UINT64 LocalApicAddress; UINT64 LocalApicAddress;
} EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; } EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
// ///
// IO SAPIC Structure /// IO SAPIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -335,9 +339,9 @@ typedef struct {
UINT64 IoSapicAddress; UINT64 IoSapicAddress;
} EFI_ACPI_2_0_IO_SAPIC_STRUCTURE; } EFI_ACPI_2_0_IO_SAPIC_STRUCTURE;
// ///
// Local SAPIC Structure /// Local SAPIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -348,9 +352,9 @@ typedef struct {
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; } EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
// ///
// Platform Interrupt Sources Structure /// Platform Interrupt Sources Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -363,9 +367,9 @@ typedef struct {
UINT32 Reserved; UINT32 Reserved;
} EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; } EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
// ///
// Smart Battery Description Table (SBST) /// Smart Battery Description Table (SBST)
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 WarningEnergyLevel; UINT32 WarningEnergyLevel;
@ -373,16 +377,16 @@ typedef struct {
UINT32 CriticalEnergyLevel; UINT32 CriticalEnergyLevel;
} EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE; } 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 #define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
// ///
// Embedded Controller Boot Resources Table (ECDT) /// Embedded Controller Boot Resources Table (ECDT)
// The table is followed by a null terminated ASCII string that contains /// The table is followed by a null terminated ASCII string that contains
// a fully qualified reference to the name space object. /// a fully qualified reference to the name space object.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl; EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl;
@ -391,115 +395,116 @@ typedef struct {
UINT8 GpeBit; UINT8 GpeBit;
} EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; } 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 #define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
// //
// Known table signatures // 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 #define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352
// ///
// "SPIC" Multiple SAPIC Description Table /// "SPIC" Multiple SAPIC Description Table
// ///
// BUGBUG: Don't know where this came from except SR870BN4 uses it. /// 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 0x43495053
// ///
#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE 0x4746434D
#pragma pack() #pragma pack()

View File

@ -20,14 +20,15 @@
// Ensure proper structure formats // Ensure proper structure formats
// //
#pragma pack(1) #pragma pack(1)
//
// ACPI Specification Revision ///
// /// ACPI Specification Revision
///
#define EFI_ACPI_3_0_REVISION 0x03 #define EFI_ACPI_3_0_REVISION 0x03
// ///
// ACPI 3.0 Generic Address Space definition /// ACPI 3.0 Generic Address Space definition
// ///
typedef struct { typedef struct {
UINT8 AddressSpaceId; UINT8 AddressSpaceId;
UINT8 RegisterBitWidth; UINT8 RegisterBitWidth;
@ -58,9 +59,10 @@ typedef struct {
// //
// ACPI 3.0 table structures // ACPI 3.0 table structures
// //
//
// Root System Description Pointer Structure ///
// /// Root System Description Pointer Structure
///
typedef struct { typedef struct {
UINT64 Signature; UINT64 Signature;
UINT8 Checksum; UINT8 Checksum;
@ -73,14 +75,15 @@ typedef struct {
UINT8 Reserved[3]; UINT8 Reserved[3];
} EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER; } 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 #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 { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -91,9 +94,10 @@ typedef struct {
// No definition needed as it is a common description table header followed by a // No definition needed as it is a common description table header followed by a
// variable number of UINT32 table pointers. // 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 #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 // No definition needed as it is a common description table header followed by a
// variable number of UINT64 table pointers. // 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 #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 { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 FirmwareCtrl; UINT32 FirmwareCtrl;
@ -164,9 +169,9 @@ typedef struct {
EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
} EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE; } 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 #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_CLUSTER_MODEL (1 << 18)
#define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE (1 << 19) #define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE (1 << 19)
// ///
// Firmware ACPI Control Structure /// Firmware ACPI Control Structure
// ///
typedef struct { typedef struct {
UINT32 Signature; UINT32 Signature;
UINT32 Length; UINT32 Length;
@ -231,15 +236,15 @@ typedef struct {
UINT8 Reserved[31]; UINT8 Reserved[31];
} EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; } 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 #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
// ///
// Firmware Control Structure Feature Flags /// Firmware Control Structure Feature Flags
// All other bits are reserved and must be set to 0. /// All other bits are reserved and must be set to 0.
// ///
#define EFI_ACPI_3_0_S4BIOS_F (1 << 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_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
#define EFI_ACPI_3_0_SECONDARY_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 /// Multiple APIC Description Table header definition. The rest of the table
// must be defined in a platform specific manner. /// must be defined in a platform specific manner.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 LocalApicAddress; UINT32 LocalApicAddress;
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; } 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 #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02
// ///
// Multiple APIC Flags /// Multiple APIC Flags
// All other bits are reserved and must be set to 0. /// All other bits are reserved and must be set to 0.
// ///
#define EFI_ACPI_3_0_PCAT_COMPAT (1 << 0) #define EFI_ACPI_3_0_PCAT_COMPAT (1 << 0)
// //
@ -291,9 +296,10 @@ typedef struct {
// //
// APIC Structure Definitions // APIC Structure Definitions
// //
//
// Processor Local APIC Structure Definition ///
// /// Processor Local APIC Structure Definition
///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -302,14 +308,14 @@ typedef struct {
UINT32 Flags; UINT32 Flags;
} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE; } 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) #define EFI_ACPI_3_0_LOCAL_APIC_ENABLED (1 << 0)
// ///
// IO APIC Structure /// IO APIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -319,9 +325,9 @@ typedef struct {
UINT32 GlobalSystemInterruptBase; UINT32 GlobalSystemInterruptBase;
} EFI_ACPI_3_0_IO_APIC_STRUCTURE; } EFI_ACPI_3_0_IO_APIC_STRUCTURE;
// ///
// Interrupt Source Override Structure /// Interrupt Source Override Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -331,9 +337,9 @@ typedef struct {
UINT16 Flags; UINT16 Flags;
} EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; } EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
// ///
// Platform Interrupt Sources Structure Definition /// Platform Interrupt Sources Structure Definition
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -355,9 +361,9 @@ typedef struct {
#define EFI_ACPI_3_0_POLARITY (3 << 0) #define EFI_ACPI_3_0_POLARITY (3 << 0)
#define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2) #define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2)
// ///
// Non-Maskable Interrupt Source Structure /// Non-Maskable Interrupt Source Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -365,9 +371,9 @@ typedef struct {
UINT32 GlobalSystemInterrupt; UINT32 GlobalSystemInterrupt;
} EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; } EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
// ///
// Local APIC NMI Structure /// Local APIC NMI Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -376,9 +382,9 @@ typedef struct {
UINT8 LocalApicLint; UINT8 LocalApicLint;
} EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE; } EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE;
// ///
// Local APIC Address Override Structure /// Local APIC Address Override Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -386,9 +392,9 @@ typedef struct {
UINT64 LocalApicAddress; UINT64 LocalApicAddress;
} EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; } EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
// ///
// IO SAPIC Structure /// IO SAPIC Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -398,10 +404,10 @@ typedef struct {
UINT64 IoSapicAddress; UINT64 IoSapicAddress;
} EFI_ACPI_3_0_IO_SAPIC_STRUCTURE; } EFI_ACPI_3_0_IO_SAPIC_STRUCTURE;
// ///
// Local SAPIC Structure /// Local SAPIC Structure
// This struct followed by a null-terminated ASCII string - ACPI Processor UID String /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -413,9 +419,9 @@ typedef struct {
UINT32 ACPIProcessorUIDValue; UINT32 ACPIProcessorUIDValue;
} EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; } EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
// ///
// Platform Interrupt Sources Structure /// Platform Interrupt Sources Structure
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -428,15 +434,15 @@ typedef struct {
UINT32 PlatformInterruptSourceFlags; UINT32 PlatformInterruptSourceFlags;
} EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; } EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
// ///
// Platform Interrupt Source Flags. /// Platform Interrupt Source Flags.
// All other bits are reserved and must be set to 0. /// All other bits are reserved and must be set to 0.
// ///
#define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE (1 << 0) #define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE (1 << 0)
// ///
// Smart Battery Description Table (SBST) /// Smart Battery Description Table (SBST)
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 WarningEnergyLevel; UINT32 WarningEnergyLevel;
@ -444,16 +450,16 @@ typedef struct {
UINT32 CriticalEnergyLevel; UINT32 CriticalEnergyLevel;
} EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE; } 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 #define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
// ///
// Embedded Controller Boot Resources Table (ECDT) /// Embedded Controller Boot Resources Table (ECDT)
// The table is followed by a null terminated ASCII string that contains /// The table is followed by a null terminated ASCII string that contains
// a fully qualified reference to the name space object. /// a fully qualified reference to the name space object.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl; EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl;
@ -462,37 +468,37 @@ typedef struct {
UINT8 GpeBit; UINT8 GpeBit;
} EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; } 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 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
// ///
// System Resource Affinity Table (SRAT. The rest of the table /// System Resource Affinity Table (SRAT. The rest of the table
// must be defined in a platform specific manner. /// must be defined in a platform specific manner.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 Reserved1; // Must be set to 1 UINT32 Reserved1; // Must be set to 1
UINT64 Reserved2; UINT64 Reserved2;
} EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER; } 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 #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02
// ///
// SRAT structure types. /// SRAT structure types.
// All other values between 0x02 an 0xFF are reserved and /// All other values between 0x02 an 0xFF are reserved and
// will be ignored by OSPM. /// will be ignored by OSPM.
// ///
#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
#define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01 #define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01
// ///
// Processor Local APIC/SAPIC Affinity Structure Definition /// Processor Local APIC/SAPIC Affinity Structure Definition
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -504,14 +510,14 @@ typedef struct {
UINT8 Reserved[4]; UINT8 Reserved[4];
} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE; } 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) #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
// ///
// Memory Affinity Structure Definition /// Memory Affinity Structure Definition
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Length; UINT8 Length;
@ -533,147 +539,148 @@ typedef struct {
#define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1) #define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1)
#define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2) #define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2)
// ///
// System Locality Distance Information Table (SLIT). /// System Locality Distance Information Table (SLIT).
// The rest of the table is a matrix. /// The rest of the table is a matrix.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT64 NumberOfSystemLocalities; UINT64 NumberOfSystemLocalities;
} EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER; } 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 #define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
// //
// Known table signatures // 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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42
// ///
// "CPEP" Corrected Platform Error Polling Table /// "CPEP" Corrected Platform Error Polling Table
// See /// See
// ///
#define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE 0x50455043 #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 #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 #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 #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 #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 #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 #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 #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 #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 #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 #define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE 0x54464269
#pragma pack() #pragma pack()

View File

@ -21,19 +21,19 @@
// //
#pragma pack (1) #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 { typedef struct {
UINT8 Type; UINT8 Type;
UINT8 Reserved; UINT8 Reserved;
UINT16 RecordLength; UINT16 RecordLength;
} EFI_ACPI_ASF_RECORD_HEADER; } EFI_ACPI_ASF_RECORD_HEADER;
// ///
// This structure contains information that identifies the system's type /// This structure contains information that identifies the system's type
// and configuration /// and configuration
// ///
typedef struct { typedef struct {
EFI_ACPI_ASF_RECORD_HEADER RecordHeader; EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
UINT8 MinWatchDogResetValue; UINT8 MinWatchDogResetValue;
@ -44,9 +44,9 @@ typedef struct {
UINT8 Reserved[3]; UINT8 Reserved[3];
} EFI_ACPI_ASF_INFO; } EFI_ACPI_ASF_INFO;
// ///
// Alert sensors definition /// Alert sensors definition
// ///
#define ASF_ALRT_SENSOR_ARRAY_LENGTH 36 #define ASF_ALRT_SENSOR_ARRAY_LENGTH 36
typedef struct { typedef struct {
@ -58,9 +58,9 @@ typedef struct {
UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH]; UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];
} EFI_ACPI_ASF_ALRT; } EFI_ACPI_ASF_ALRT;
// ///
// Alert Remote Control System Actions /// Alert Remote Control System Actions
// ///
#define ASF_RCTL_DEVICES_ARRAY_LENGTH 16 #define ASF_RCTL_DEVICES_ARRAY_LENGTH 16
typedef struct { typedef struct {
EFI_ACPI_ASF_RECORD_HEADER RecordHeader; EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
@ -70,9 +70,9 @@ typedef struct {
UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH]; UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];
} EFI_ACPI_ASF_RCTL; } EFI_ACPI_ASF_RCTL;
// ///
// Remote Control Capabilities /// Remote Control Capabilities
// ///
typedef struct { typedef struct {
EFI_ACPI_ASF_RECORD_HEADER RecordHeader; EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
UINT8 RemoteControlCapabilities[7]; UINT8 RemoteControlCapabilities[7];
@ -84,9 +84,9 @@ typedef struct {
UINT8 RMCPOEMParameters[2]; UINT8 RMCPOEMParameters[2];
} EFI_ACPI_ASF_RMCP; } EFI_ACPI_ASF_RMCP;
// ///
// SMBus Devices with fixed addresses /// SMBus Devices with fixed addresses
// ///
#define ASF_ADDR_DEVICE_ARRAY_LENGTH 16 #define ASF_ADDR_DEVICE_ARRAY_LENGTH 16
typedef struct { typedef struct {
EFI_ACPI_ASF_RECORD_HEADER RecordHeader; EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
@ -104,9 +104,9 @@ typedef struct {
EFI_ACPI_ASF_ADDR AsfAddr; EFI_ACPI_ASF_ADDR AsfAddr;
} EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE; } 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 #define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341
#pragma pack () #pragma pack ()

View File

@ -20,9 +20,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#pragma pack(1) #pragma pack(1)
// ///
// ATA_IDENTIFY_DATA is defined in ATA-5 /// ATA_IDENTIFY_DATA is defined in ATA-5
// ///
typedef struct { typedef struct {
UINT16 config; /* General Configuration */ UINT16 config; /* General Configuration */
UINT16 cylinders; /* Number of Cylinders */ UINT16 cylinders; /* Number of Cylinders */
@ -75,9 +75,9 @@ typedef struct {
UINT16 reserved_160_255[96]; UINT16 reserved_160_255[96];
} ATA_IDENTIFY_DATA; } ATA_IDENTIFY_DATA;
// ///
// ATAPI_IDENTIFY_DATA is defined in ATA-6 /// ATAPI_IDENTIFY_DATA is defined in ATA-6
// ///
typedef struct { typedef struct {
UINT16 config; // General Configuration UINT16 config; // General Configuration
UINT16 obsolete_1; UINT16 obsolete_1;
@ -355,10 +355,10 @@ typedef struct {
UINT8 reserved_11; UINT8 reserved_11;
} ATAPI_MODE_SENSE_CMD; } ATAPI_MODE_SENSE_CMD;
// ///
// ATAPI_PACKET_COMMAND is not defined in ATA specification. /// ATAPI_PACKET_COMMAND is not defined in ATA specification.
// We add it here for the convenience for ATA/ATAPI module writer. /// We add it here for the convenience for ATA/ATAPI module writer.
// ///
typedef union { typedef union {
UINT16 Data16[6]; UINT16 Data16[6];
ATAPI_TEST_UNIT_READY_CMD TestUnitReady; ATAPI_TEST_UNIT_READY_CMD TestUnitReady;

View File

@ -22,14 +22,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define CDVOL_TYPE_CODED 0x1 #define CDVOL_TYPE_CODED 0x1
#define CDVOL_TYPE_END 0xFF #define CDVOL_TYPE_END 0xFF
// ///
// CDROM_VOLUME_DESCRIPTOR.Id /// CDROM_VOLUME_DESCRIPTOR.Id
// ///
#define CDVOL_ID "CD001" #define CDVOL_ID "CD001"
// ///
// CDROM_VOLUME_DESCRIPTOR.SystemId /// CDROM_VOLUME_DESCRIPTOR.SystemId
// ///
#define CDVOL_ELTORITO_ID "EL TORITO SPECIFICATION" #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) #pragma pack(1)
// ///
// El Torito Volume Descriptor /// El Torito Volume Descriptor
// Note that the CDROM_VOLUME_DESCRIPTOR does not match the ISO-9660 /// Note that the CDROM_VOLUME_DESCRIPTOR does not match the ISO-9660
// descriptor. For some reason descriptor used by El Torito is /// descriptor. For some reason descriptor used by El Torito is
// different, but they start the same. The El Torito descriptor /// different, but they start the same. The El Torito descriptor
// is left shifted 1 byte starting with the SystemId. (Note this /// is left shifted 1 byte starting with the SystemId. (Note this
// causes the field to get unaligned) /// causes the field to get unaligned)
// ///
typedef struct { typedef struct {
UINT8 Type; UINT8 Type;
CHAR8 Id[5]; // CD001 CHAR8 Id[5]; // CD001
@ -72,17 +72,17 @@ typedef struct {
UINT32 VolSpaceSize[2]; UINT32 VolSpaceSize[2];
} CDROM_VOLUME_DESCRIPTOR; } CDROM_VOLUME_DESCRIPTOR;
// ///
// Catalog Entry /// Catalog Entry
// ///
typedef union { typedef union {
struct { struct {
CHAR8 Reserved[0x20]; CHAR8 Reserved[0x20];
} Unknown; } Unknown;
// ///
// Catalog validation entry (Catalog header) /// Catalog validation entry (Catalog header)
// ///
struct { struct {
UINT8 Indicator; UINT8 Indicator;
UINT8 PlatformId; UINT8 PlatformId;
@ -92,9 +92,9 @@ typedef union {
UINT16 Id55AA; UINT16 Id55AA;
} Catalog; } Catalog;
// ///
// Initial/Default Entry or Section Entry /// Initial/Default Entry or Section Entry
// ///
struct { struct {
UINT8 Indicator; UINT8 Indicator;
UINT8 MediaType : 4; UINT8 MediaType : 4;
@ -106,9 +106,9 @@ typedef union {
UINT32 Lba; UINT32 Lba;
} Boot; } Boot;
// ///
// Section Header Entry /// Section Header Entry
// ///
struct { struct {
UINT8 Indicator; UINT8 Indicator;
UINT8 PlatformId; UINT8 PlatformId;

View File

@ -22,9 +22,10 @@
// Ensure proper structure formats // Ensure proper structure formats
// //
#pragma pack(1) #pragma pack(1)
//
// High Precision Event Timer Table header definition. ///
// /// High Precision Event Timer Table header definition.
///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 EventTimerBlockId; UINT32 EventTimerBlockId;
@ -34,9 +35,9 @@ typedef struct {
UINT8 PageProtectionAndOemAttribute; UINT8 PageProtectionAndOemAttribute;
} EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER; } 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 #define EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION 0x01
// //

View File

@ -46,9 +46,9 @@ typedef struct {
UINT8 SizeInLBA[4]; UINT8 SizeInLBA[4];
} MBR_PARTITION_RECORD; } MBR_PARTITION_RECORD;
// ///
// MBR Partition table /// MBR Partition table
// ///
typedef struct { typedef struct {
UINT8 BootStrapCode[440]; UINT8 BootStrapCode[440];
UINT8 UniqueMbrSignature[4]; UINT8 UniqueMbrSignature[4];

View File

@ -20,11 +20,12 @@
// Ensure proper structure formats // Ensure proper structure formats
// //
#pragma pack(1) #pragma pack(1)
//
// Memory Mapped Configuration Space Access Table (MCFG) ///
// This table is a basic description table header followed by /// Memory Mapped Configuration Space Access Table (MCFG)
// a number of base address allocation structures. /// This table is a basic description table header followed by
// /// a number of base address allocation structures.
///
typedef struct { typedef struct {
UINT64 BaseAddress; UINT64 BaseAddress;
UINT16 PciSegmentGroupNumber; UINT16 PciSegmentGroupNumber;
@ -32,17 +33,19 @@ typedef struct {
UINT8 EndBusNumber; UINT8 EndBusNumber;
UINT32 Reserved; UINT32 Reserved;
} EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCATION_STRUCTURE; } 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 { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT64 Reserved; UINT64 Reserved;
} EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_HEADER; } 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 #define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION 0x01
#pragma pack() #pragma pack()

View File

@ -433,9 +433,9 @@ typedef struct {
UINT8 NextItemPtr; UINT8 NextItemPtr;
} EFI_PCI_CAPABILITY_HDR; } EFI_PCI_CAPABILITY_HDR;
// ///
// Capability EFI_PCI_CAPABILITY_ID_PMI /// Capability EFI_PCI_CAPABILITY_ID_PMI
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT16 PMC; UINT16 PMC;
@ -444,9 +444,9 @@ typedef struct {
UINT8 Data; UINT8 Data;
} EFI_PCI_CAPABILITY_PMI; } EFI_PCI_CAPABILITY_PMI;
// ///
// Capability EFI_PCI_CAPABILITY_ID_AGP /// Capability EFI_PCI_CAPABILITY_ID_AGP
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT8 Rev; UINT8 Rev;
@ -455,27 +455,27 @@ typedef struct {
UINT32 Command; UINT32 Command;
} EFI_PCI_CAPABILITY_AGP; } EFI_PCI_CAPABILITY_AGP;
// ///
// Capability EFI_PCI_CAPABILITY_ID_VPD /// Capability EFI_PCI_CAPABILITY_ID_VPD
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT16 AddrReg; UINT16 AddrReg;
UINT32 DataReg; UINT32 DataReg;
} EFI_PCI_CAPABILITY_VPD; } EFI_PCI_CAPABILITY_VPD;
// ///
// Capability EFI_PCI_CAPABILITY_ID_SLOTID /// Capability EFI_PCI_CAPABILITY_ID_SLOTID
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT8 ExpnsSlotReg; UINT8 ExpnsSlotReg;
UINT8 ChassisNo; UINT8 ChassisNo;
} EFI_PCI_CAPABILITY_SLOTID; } EFI_PCI_CAPABILITY_SLOTID;
// ///
// Capability EFI_PCI_CAPABILITY_ID_MSI /// Capability EFI_PCI_CAPABILITY_ID_MSI
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT16 MsgCtrlReg; UINT16 MsgCtrlReg;
@ -491,19 +491,19 @@ typedef struct {
UINT16 MsgDataReg; UINT16 MsgDataReg;
} EFI_PCI_CAPABILITY_MSI64; } EFI_PCI_CAPABILITY_MSI64;
// ///
// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG /// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
// ///
// not finished - fields need to go here /// not finished - fields need to go here
// ///
} EFI_PCI_CAPABILITY_HOTPLUG; } EFI_PCI_CAPABILITY_HOTPLUG;
// ///
// Capability EFI_PCI_CAPABILITY_ID_PCIX /// Capability EFI_PCI_CAPABILITY_ID_PCIX
// ///
typedef struct { typedef struct {
EFI_PCI_CAPABILITY_HDR Hdr; EFI_PCI_CAPABILITY_HDR Hdr;
UINT16 CommandReg; UINT16 CommandReg;

View File

@ -157,9 +157,9 @@ typedef struct {
#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b #define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
typedef struct { typedef struct {
// ///
// Standard fields. /// Standard fields.
// ///
UINT16 Magic; UINT16 Magic;
UINT8 MajorLinkerVersion; UINT8 MajorLinkerVersion;
UINT8 MinorLinkerVersion; UINT8 MinorLinkerVersion;
@ -169,9 +169,9 @@ typedef struct {
UINT32 AddressOfEntryPoint; UINT32 AddressOfEntryPoint;
UINT32 BaseOfCode; UINT32 BaseOfCode;
UINT32 BaseOfData; UINT32 BaseOfData;
// ///
// NT additional fields. /// NT additional fields.
// ///
UINT32 ImageBase; UINT32 ImageBase;
UINT32 SectionAlignment; UINT32 SectionAlignment;
UINT32 FileAlignment; UINT32 FileAlignment;
@ -309,11 +309,11 @@ typedef EFI_IMAGE_NT_HEADERS64 EFI_IMAGE_NT_HEADERS;
#elif defined (MDE_CPU_EBC) #elif defined (MDE_CPU_EBC)
// ///
// This is just to make sure you can cross compile with the EBC compiiler. /// 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 /// It does not make sense to have a PE loader coded in EBC. You need to
// understand the basic /// understand the basic
// ///
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC) #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
@ -723,9 +723,9 @@ typedef struct {
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1 #define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1
// ///
// Union of PE32, PE32+, and TE headers /// Union of PE32, PE32+, and TE headers
// ///
typedef union { typedef union {
EFI_IMAGE_NT_HEADERS32 Pe32; EFI_IMAGE_NT_HEADERS32 Pe32;
EFI_IMAGE_NT_HEADERS64 Pe32Plus; EFI_IMAGE_NT_HEADERS64 Pe32Plus;

View File

@ -15,25 +15,27 @@
#ifndef __SAL_API_H__ #ifndef __SAL_API_H__
#define __SAL_API_H__ #define __SAL_API_H__
// ///
// FIT Types /// FIT Types
// Table 2-2 of Intel Itanium Processor Family System Abstraction Layer Specification December 2003 /// 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_FIT_HEADER_TYPE 0x00
#define EFI_SAL_FIT_PAL_B_TYPE 0x01 #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 #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_PEI_CORE_TYPE 0x10
#define EFI_SAL_FIT_UNUSED_TYPE 0x7F #define EFI_SAL_FIT_UNUSED_TYPE 0x7F
// ///
// EFI_SAL_STATUS /// EFI_SAL_STATUS
// ///
typedef UINTN EFI_SAL_STATUS; typedef UINTN EFI_SAL_STATUS;
#define EFI_SAL_SUCCESS ((EFI_SAL_STATUS) 0) #define EFI_SAL_SUCCESS ((EFI_SAL_STATUS) 0)
@ -55,9 +57,9 @@ typedef struct {
UINTN r11; UINTN r11;
} SAL_RETURN_REGS; } SAL_RETURN_REGS;
// ///
// Delivery Mode of IPF CPU. /// Delivery Mode of IPF CPU.
// ///
typedef enum { typedef enum {
EFI_DELIVERY_MODE_INT, EFI_DELIVERY_MODE_INT,
EFI_DELIVERY_MODE_MPreserved1, EFI_DELIVERY_MODE_MPreserved1,
@ -616,9 +618,9 @@ typedef struct {
UINT8 SmbiosBcdTimeStamp[6]; UINT8 SmbiosBcdTimeStamp[6];
} SAL_SMBIOS_DEVICE_ERROR_RECORD; } SAL_SMBIOS_DEVICE_ERROR_RECORD;
// ///
// Sal Platform Specific Errors Info. /// Sal Platform Specific Errors Info.
// ///
#define SAL_PLATFORM_ERROR_RECORD_INFO \ #define SAL_PLATFORM_ERROR_RECORD_INFO \
{ \ { \
0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \ 0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
@ -644,9 +646,9 @@ typedef struct {
UINT8 OemComponentId[16]; UINT8 OemComponentId[16];
} SAL_PLATFORM_SPECIFIC_ERROR_RECORD; } SAL_PLATFORM_SPECIFIC_ERROR_RECORD;
// ///
// Union of all the possible Sal Record Types /// Union of all the possible Sal Record Types
// ///
typedef union { typedef union {
SAL_RECORD_HEADER *RecordHeader; SAL_RECORD_HEADER *RecordHeader;
SAL_PROCESSOR_ERROR_RECORD *SalProcessorRecord; SAL_PROCESSOR_ERROR_RECORD *SalProcessorRecord;

View File

@ -272,14 +272,14 @@ typedef struct {
#define EFI_SCSI_ASC_NO_MEDIA (0x3A) #define EFI_SCSI_ASC_NO_MEDIA (0x3A)
#define EFI_SCSI_ASC_ILLEGAL_MODE_FOR_THIS_TRACK (0x64) #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) #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) #define EFI_SCSI_TARGET_MAX_BYTES (0x10)
#endif #endif

View File

@ -23,14 +23,14 @@
// //
#pragma pack(1) #pragma pack(1)
// ///
// SPCR Revision (defined in spec) /// SPCR Revision (defined in spec)
// ///
#define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x01 #define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION 0x01
// ///
// SPCR Structure Definition /// SPCR Structure Definition
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT8 InterfaceType; UINT8 InterfaceType;

View File

@ -20,9 +20,9 @@
#define _SMBUS_H_ #define _SMBUS_H_
// ///
// UDID of SMBUS device. /// UDID of SMBUS device.
// ///
typedef struct { typedef struct {
UINT32 VendorSpecificId; UINT32 VendorSpecificId;
UINT16 SubsystemDeviceId; UINT16 SubsystemDeviceId;
@ -34,9 +34,9 @@ typedef struct {
UINT8 DeviceCapabilities; UINT8 DeviceCapabilities;
} EFI_SMBUS_UDID; } EFI_SMBUS_UDID;
// ///
// Smbus Device Address, Smbus Device Command, Smbus Operations /// Smbus Device Address, Smbus Device Command, Smbus Operations
// ///
typedef struct { typedef struct {
UINTN SmbusDeviceAddress : 7; UINTN SmbusDeviceAddress : 7;
} EFI_SMBUS_DEVICE_ADDRESS; } EFI_SMBUS_DEVICE_ADDRESS;

View File

@ -294,9 +294,9 @@ typedef enum {
#define EFI_USB_SET_PROTOCOL_REQUEST 0x0b #define EFI_USB_SET_PROTOCOL_REQUEST 0x0b
#pragma pack(1) #pragma pack(1)
// ///
// Descriptor header for Report/Physical Descriptors /// Descriptor header for Report/Physical Descriptors
// ///
typedef struct hid_class_descriptor { typedef struct hid_class_descriptor {
UINT8 DescriptorType; UINT8 DescriptorType;
UINT16 DescriptorLength; UINT16 DescriptorLength;

View File

@ -22,9 +22,9 @@
// Ensure proper structure formats // Ensure proper structure formats
// //
#pragma pack(1) #pragma pack(1)
// ///
// Watchdog Action Table definition. /// Watchdog Action Table definition.
// ///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
UINT32 WatchdogHeaderLength; UINT32 WatchdogHeaderLength;
@ -52,14 +52,14 @@ typedef struct {
#pragma pack() #pragma pack()
// ///
// WDAT Revision (defined in spec) /// WDAT Revision (defined in spec)
// ///
#define EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE_REVISION 0x01 #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_ENABLED 0x1
#define EFI_ACPI_WDAT_1_0_WATCHDOG_STOPPED_IN_SLEEP_STATE 0x80 #define EFI_ACPI_WDAT_1_0_WATCHDOG_STOPPED_IN_SLEEP_STATE 0x80

View File

@ -21,9 +21,10 @@
// Ensure proper structure formats // Ensure proper structure formats
// //
#pragma pack(1) #pragma pack(1)
//
// Watchdog Resource Table definition. ///
// /// Watchdog Resource Table definition.
///
typedef struct { typedef struct {
EFI_ACPI_DESCRIPTION_HEADER Header; EFI_ACPI_DESCRIPTION_HEADER Header;
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ControlRegisterAddress; EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ControlRegisterAddress;