📄 actbl1.h
字号:
typedef struct acpi_madt_io_sapic{ ACPI_SUBTABLE_HEADER Header; UINT8 Id; /* I/O SAPIC ID */ UINT8 Reserved; /* Reserved, must be zero */ UINT32 GlobalIrqBase; /* Global interrupt for SAPIC start */ UINT64 Address; /* SAPIC physical address */} ACPI_MADT_IO_SAPIC;/* 7: Local Sapic */typedef struct acpi_madt_local_sapic{ ACPI_SUBTABLE_HEADER Header; UINT8 ProcessorId; /* ACPI processor id */ UINT8 Id; /* SAPIC ID */ UINT8 Eid; /* SAPIC EID */ UINT8 Reserved[3]; /* Reserved, must be zero */ UINT32 LapicFlags; UINT32 Uid; /* Numeric UID - ACPI 3.0 */ char UidString[1]; /* String UID - ACPI 3.0 */} ACPI_MADT_LOCAL_SAPIC;/* 8: Platform Interrupt Source */typedef struct acpi_madt_interrupt_source{ ACPI_SUBTABLE_HEADER Header; UINT16 IntiFlags; UINT8 Type; /* 1=PMI, 2=INIT, 3=corrected */ UINT8 Id; /* Processor ID */ UINT8 Eid; /* Processor EID */ UINT8 IoSapicVector; /* Vector value for PMI interrupts */ UINT32 GlobalIrq; /* Global system interrupt */ UINT32 Flags; /* Interrupt Source Flags */} ACPI_MADT_INTERRUPT_SOURCE;/* Flags field above */#define ACPI_MADT_CPEI_OVERRIDE (1)/* * Common flags fields for MADT subtables *//* MADT Local APIC flags (LapicFlags) */#define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set *//* MADT MPS INTI flags (IntiFlags) */#define ACPI_MADT_POLARITY_MASK (3) /* 00-01: Polarity of APIC I/O input signals */#define ACPI_MADT_TRIGGER_MASK (3<<2) /* 02-03: Trigger mode of APIC input signals *//* Values for MPS INTI flags */#define ACPI_MADT_POLARITY_CONFORMS 0#define ACPI_MADT_POLARITY_ACTIVE_HIGH 1#define ACPI_MADT_POLARITY_RESERVED 2#define ACPI_MADT_POLARITY_ACTIVE_LOW 3#define ACPI_MADT_TRIGGER_CONFORMS (0)#define ACPI_MADT_TRIGGER_EDGE (1<<2)#define ACPI_MADT_TRIGGER_RESERVED (2<<2)#define ACPI_MADT_TRIGGER_LEVEL (3<<2)/******************************************************************************* * * MCFG - PCI Memory Mapped Configuration table and sub-table * ******************************************************************************/typedef struct acpi_table_mcfg{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT8 Reserved[8];} ACPI_TABLE_MCFG;/* Subtable */typedef struct acpi_mcfg_allocation{ UINT64 Address; /* Base address, processor-relative */ UINT16 PciSegment; /* PCI segment group number */ UINT8 StartBusNumber; /* Starting PCI Bus number */ UINT8 EndBusNumber; /* Final PCI Bus number */ UINT32 Reserved;} ACPI_MCFG_ALLOCATION;/******************************************************************************* * * SBST - Smart Battery Specification Table * ******************************************************************************/typedef struct acpi_table_sbst{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT32 WarningLevel; UINT32 LowLevel; UINT32 CriticalLevel;} ACPI_TABLE_SBST;/******************************************************************************* * * SLIT - System Locality Distance Information Table * ******************************************************************************/typedef struct acpi_table_slit{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT64 LocalityCount; UINT8 Entry[1]; /* Real size = localities^2 */} ACPI_TABLE_SLIT;/******************************************************************************* * * SPCR - Serial Port Console Redirection table * ******************************************************************************/typedef struct acpi_table_spcr{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT8 InterfaceType; /* 0=full 16550, 1=subset of 16550 */ UINT8 Reserved[3]; ACPI_GENERIC_ADDRESS SerialPort; UINT8 InterruptType; UINT8 PcInterrupt; UINT32 Interrupt; UINT8 BaudRate; UINT8 Parity; UINT8 StopBits; UINT8 FlowControl; UINT8 TerminalType; UINT8 Reserved1; UINT16 PciDeviceId; UINT16 PciVendorId; UINT8 PciBus; UINT8 PciDevice; UINT8 PciFunction; UINT32 PciFlags; UINT8 PciSegment; UINT32 Reserved2;} ACPI_TABLE_SPCR;/******************************************************************************* * * SPMI - Server Platform Management Interface table * ******************************************************************************/typedef struct acpi_table_spmi{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT8 Reserved; UINT8 InterfaceType; UINT16 SpecRevision; /* Version of IPMI */ UINT8 InterruptType; UINT8 GpeNumber; /* GPE assigned */ UINT8 Reserved1; UINT8 PciDeviceFlag; UINT32 Interrupt; ACPI_GENERIC_ADDRESS IpmiRegister; UINT8 PciSegment; UINT8 PciBus; UINT8 PciDevice; UINT8 PciFunction;} ACPI_TABLE_SPMI;/******************************************************************************* * * SRAT - System Resource Affinity Table * ******************************************************************************/typedef struct acpi_table_srat{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT32 TableRevision; /* Must be value '1' */ UINT64 Reserved; /* Reserved, must be zero */} ACPI_TABLE_SRAT;/* Values for subtable type in ACPI_SUBTABLE_HEADER */enum AcpiSratType{ ACPI_SRAT_TYPE_CPU_AFFINITY = 0, ACPI_SRAT_TYPE_MEMORY_AFFINITY = 1, ACPI_SRAT_TYPE_RESERVED = 2};/* SRAT sub-tables */typedef struct acpi_srat_cpu_affinity{ ACPI_SUBTABLE_HEADER Header; UINT8 ProximityDomainLo; UINT8 ApicId; UINT32 Flags; UINT8 LocalSapicEid; UINT8 ProximityDomainHi[3]; UINT32 Reserved; /* Reserved, must be zero */} ACPI_SRAT_CPU_AFFINITY;/* Flags */#define ACPI_SRAT_CPU_ENABLED (1) /* 00: Use affinity structure */typedef struct acpi_srat_mem_affinity{ ACPI_SUBTABLE_HEADER Header; UINT32 ProximityDomain; UINT16 Reserved; /* Reserved, must be zero */ UINT64 BaseAddress; UINT64 Length; UINT32 MemoryType; /* See acpi_address_range_id */ UINT32 Flags; UINT64 Reserved1; /* Reserved, must be zero */} ACPI_SRAT_MEM_AFFINITY;/* Flags */#define ACPI_SRAT_MEM_ENABLED (1) /* 00: Use affinity structure */#define ACPI_SRAT_MEM_HOT_PLUGGABLE (1<<1) /* 01: Memory region is hot pluggable */#define ACPI_SRAT_MEM_NON_VOLATILE (1<<2) /* 02: Memory region is non-volatile *//* Memory types */enum acpi_address_range_id{ ACPI_ADDRESS_RANGE_MEMORY = 1, ACPI_ADDRESS_RANGE_RESERVED = 2, ACPI_ADDRESS_RANGE_ACPI = 3, ACPI_ADDRESS_RANGE_NVS = 4, ACPI_ADDRESS_RANGE_COUNT = 5};/******************************************************************************* * * TCPA - Trusted Computing Platform Alliance table * ******************************************************************************/typedef struct acpi_table_tcpa{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT16 Reserved; UINT32 MaxLogLength; /* Maximum length for the event log area */ UINT64 LogAddress; /* Address of the event log area */} ACPI_TABLE_TCPA;/******************************************************************************* * * UEFI - UEFI Boot optimization Table * ******************************************************************************/typedef struct acpi_table_uefi{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT8 Identifier[16]; /* UUID identifier */ UINT16 DataOffset; /* Offset of remaining data in table */ UINT8 Data;} ACPI_TABLE_UEFI;/******************************************************************************* * * WDAT - Watchdog Action Table * ******************************************************************************/typedef struct acpi_table_wdat{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT32 HeaderLength; /* Watchdog Header Length */ UINT16 PciSegment; /* PCI Segment number */ UINT8 PciBus; /* PCI Bus number */ UINT8 PciDevice; /* PCI Device number */ UINT8 PciFunction; /* PCI Function number */ UINT8 Reserved[3]; UINT32 TimerPeriod; /* Period of one timer count (msec) */ UINT32 MaxCount; /* Maximum counter value supported */ UINT32 MinCount; /* Minimum counter value */ UINT8 Flags; UINT8 Reserved2[3]; UINT32 Entries; /* Number of watchdog entries that follow */} ACPI_TABLE_WDAT;/* WDAT Instruction Entries (actions) */typedef struct acpi_wdat_entry{ ACPI_WHEA_HEADER WheaHeader; /* Common header for WHEA tables */} ACPI_WDAT_ENTRY;/* Values for Action field above */enum AcpiWdatActions{ ACPI_WDAT_RESET = 1, ACPI_WDAT_GET_CURRENT_COUNTDOWN = 4, ACPI_WDAT_GET_COUNTDOWN = 5, ACPI_WDAT_SET_COUNTDOWN = 6, ACPI_WDAT_GET_RUNNING_STATE = 8, ACPI_WDAT_SET_RUNNING_STATE = 9, ACPI_WDAT_GET_STOPPED_STATE = 10, ACPI_WDAT_SET_STOPPED_STATE = 11, ACPI_WDAT_GET_REBOOT = 16, ACPI_WDAT_SET_REBOOT = 17, ACPI_WDAT_GET_SHUTDOWN = 18, ACPI_WDAT_SET_SHUTDOWN = 19, ACPI_WDAT_GET_STATUS = 32, ACPI_WDAT_SET_STATUS = 33, ACPI_WDAT_ACTION_RESERVED = 34 /* 34 and greater are reserved */};/* Values for Instruction field above */enum AcpiWdatInstructions{ ACPI_WDAT_READ_VALUE = 0, ACPI_WDAT_READ_COUNTDOWN = 1, ACPI_WDAT_WRITE_VALUE = 2, ACPI_WDAT_WRITE_COUNTDOWN = 3, ACPI_WDAT_INSTRUCTION_RESERVED = 4, /* 4 and greater are reserved */ ACPI_WDAT_PRESERVE_REGISTER = 0x80 /* Except for this value */};/******************************************************************************* * * WDRT - Watchdog Resource Table * ******************************************************************************/typedef struct acpi_table_wdrt{ ACPI_TABLE_HEADER Header; /* Common ACPI table header */ UINT32 HeaderLength; /* Watchdog Header Length */ UINT8 PciSegment; /* PCI Segment number */ UINT8 PciBus; /* PCI Bus number */ UINT8 PciDevice; /* PCI Device number */ UINT8 PciFunction; /* PCI Function number */ UINT32 TimerPeriod; /* Period of one timer count (msec) */ UINT32 MaxCount; /* Maximum counter value supported */ UINT32 MinCount; /* Minimum counter value */ UINT8 Flags; UINT8 Reserved[3]; UINT32 Entries; /* Number of watchdog entries that follow */} ACPI_TABLE_WDRT;/* Flags */#define ACPI_WDRT_TIMER_ENABLED (1) /* 00: Timer enabled *//* Reset to default packing */#pragma pack()#endif /* __ACTBL1_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -