36 UINT32 CreatorRevision;
43#define ACPI_SMALL_ITEM_FLAG 0x00
44#define ACPI_LARGE_ITEM_FLAG 0x01
49#define ACPI_SMALL_IRQ_DESCRIPTOR_NAME 0x04
50#define ACPI_SMALL_DMA_DESCRIPTOR_NAME 0x05
51#define ACPI_SMALL_START_DEPENDENT_DESCRIPTOR_NAME 0x06
52#define ACPI_SMALL_END_DEPENDENT_DESCRIPTOR_NAME 0x07
53#define ACPI_SMALL_IO_PORT_DESCRIPTOR_NAME 0x08
54#define ACPI_SMALL_FIXED_IO_PORT_DESCRIPTOR_NAME 0x09
55#define ACPI_SMALL_VENDOR_DEFINED_DESCRIPTOR_NAME 0x0E
56#define ACPI_SMALL_END_TAG_DESCRIPTOR_NAME 0x0F
61#define ACPI_LARGE_24_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x01
62#define ACPI_LARGE_VENDOR_DEFINED_DESCRIPTOR_NAME 0x04
63#define ACPI_LARGE_32_BIT_MEMORY_RANGE_DESCRIPTOR_NAME 0x05
64#define ACPI_LARGE_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR_NAME 0x06
65#define ACPI_LARGE_DWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x07
66#define ACPI_LARGE_WORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x08
67#define ACPI_LARGE_EXTENDED_IRQ_DESCRIPTOR_NAME 0x09
68#define ACPI_LARGE_QWORD_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0A
73#define ACPI_IRQ_NOFLAG_DESCRIPTOR 0x22
74#define ACPI_IRQ_DESCRIPTOR 0x23
75#define ACPI_DMA_DESCRIPTOR 0x2A
76#define ACPI_START_DEPENDENT_DESCRIPTOR 0x30
77#define ACPI_START_DEPENDENT_EX_DESCRIPTOR 0x31
78#define ACPI_END_DEPENDENT_DESCRIPTOR 0x38
79#define ACPI_IO_PORT_DESCRIPTOR 0x47
80#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR 0x4B
81#define ACPI_END_TAG_DESCRIPTOR 0x79
86#define ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR 0x81
87#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR 0x85
88#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR 0x86
89#define ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR 0x87
90#define ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR 0x88
91#define ACPI_EXTENDED_INTERRUPT_DESCRIPTOR 0x89
92#define ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR 0x8A
93#define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A
98#define ACPI_ADDRESS_SPACE_TYPE_MEM 0x00
99#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01
100#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02
105#define ACPI_TIMER_FREQUENCY 3579545
116typedef PACKED
struct {
122 UINT64 AddrSpaceGranularity;
125 UINT64 AddrTranslationOffset;
129typedef PACKED
union {
136} ACPI_SMALL_RESOURCE_HEADER;
138typedef PACKED
struct {
147} ACPI_LARGE_RESOURCE_HEADER;
152typedef PACKED
struct {
153 ACPI_SMALL_RESOURCE_HEADER Header;
160typedef PACKED
struct {
161 ACPI_SMALL_RESOURCE_HEADER Header;
169typedef PACKED
struct {
170 ACPI_SMALL_RESOURCE_HEADER Header;
178typedef PACKED
struct {
179 ACPI_SMALL_RESOURCE_HEADER Header;
181 UINT16 BaseAddressMin;
182 UINT16 BaseAddressMax;
190typedef PACKED
struct {
191 ACPI_SMALL_RESOURCE_HEADER Header;
199typedef PACKED
struct {
200 ACPI_LARGE_RESOURCE_HEADER Header;
202 UINT16 BaseAddressMin;
203 UINT16 BaseAddressMax;
211typedef PACKED
struct {
212 ACPI_LARGE_RESOURCE_HEADER Header;
214 UINT32 BaseAddressMin;
215 UINT32 BaseAddressMax;
223typedef PACKED
struct {
224 ACPI_LARGE_RESOURCE_HEADER Header;
233typedef PACKED
struct {
234 ACPI_LARGE_RESOURCE_HEADER Header;
238 UINT64 AddrSpaceGranularity;
241 UINT64 AddrTranslationOffset;
248typedef PACKED
struct {
249 ACPI_LARGE_RESOURCE_HEADER Header;
253 UINT32 AddrSpaceGranularity;
256 UINT32 AddrTranslationOffset;
263typedef PACKED
struct {
264 ACPI_LARGE_RESOURCE_HEADER Header;
268 UINT16 AddrSpaceGranularity;
271 UINT16 AddrTranslationOffset;
278typedef PACKED
struct {
279 ACPI_LARGE_RESOURCE_HEADER Header;
280 UINT8 InterruptVectorFlags;
281 UINT8 InterruptTableLength;
282 UINT32 InterruptNumber[1];
298#define EFI_ACPI_RESERVED_BYTE 0x00
299#define EFI_ACPI_RESERVED_WORD 0x0000
300#define EFI_ACPI_RESERVED_DWORD 0x00000000
301#define EFI_ACPI_RESERVED_QWORD 0x0000000000000000
309#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE (1 << 0)
310#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY (0 << 0)
314#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE (0 << 1)
315#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE (1 << 1)
316#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING (2 << 1)
317#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE (3 << 1)
321#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY (0 << 3)
322#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED (1 << 3)
323#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI (2 << 3)
324#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS (3 << 3)
328#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION (1 << 5)
329#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC (0 << 5)
335#define EFI_ACPI_IRQ_SHARABLE_MASK 0x10
336#define EFI_ACPI_IRQ_SHARABLE 0x10
338#define EFI_ACPI_IRQ_POLARITY_MASK 0x08
339#define EFI_ACPI_IRQ_HIGH_TRUE 0x00
340#define EFI_ACPI_IRQ_LOW_FALSE 0x08
342#define EFI_ACPI_IRQ_MODE 0x01
343#define EFI_ACPI_IRQ_LEVEL_TRIGGERED 0x00
344#define EFI_ACPI_IRQ_EDGE_TRIGGERED 0x01
350#define EFI_ACPI_DMA_SPEED_TYPE_MASK 0x60
351#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00
352#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20
353#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40
354#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60
356#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04
357#define EFI_ACPI_DMA_BUS_MASTER 0x04
359#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03
360#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00
361#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01
362#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x02
368#define EFI_ACPI_IO_DECODE_MASK 0x01
369#define EFI_ACPI_IO_DECODE_16_BIT 0x01
370#define EFI_ACPI_IO_DECODE_10_BIT 0x00
376#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK 0x01
377#define EFI_ACPI_MEMORY_WRITABLE 0x01
378#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00
384#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK BIT0
385#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK BIT1
386#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK BIT2
387#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK BIT3
388#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK BIT4
418#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
469#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01
471#define EFI_ACPI_1_0_INT_MODE_DUAL_PIC 0
472#define EFI_ACPI_1_0_INT_MODE_MULTIPLE_APIC 1
478#define EFI_ACPI_1_0_WBINVD BIT0
479#define EFI_ACPI_1_0_WBINVD_FLUSH BIT1
480#define EFI_ACPI_1_0_PROC_C1 BIT2
481#define EFI_ACPI_1_0_P_LVL2_UP BIT3
482#define EFI_ACPI_1_0_PWR_BUTTON BIT4
483#define EFI_ACPI_1_0_SLP_BUTTON BIT5
484#define EFI_ACPI_1_0_FIX_RTC BIT6
485#define EFI_ACPI_1_0_RTC_S4 BIT7
486#define EFI_ACPI_1_0_TMR_VAL_EXT BIT8
487#define EFI_ACPI_1_0_DCK_CAP BIT9
495 UINT32 HardwareSignature;
496 UINT32 FirmwareWakingVector;
506#define EFI_ACPI_1_0_S4BIOS_F BIT0
514 UINT32 LocalApicAddress;
521#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
527#define EFI_ACPI_1_0_PCAT_COMPAT BIT0
534#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00
535#define EFI_ACPI_1_0_IO_APIC 0x01
536#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02
537#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
538#define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04
550 UINT8 AcpiProcessorId;
558#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED BIT0
568 UINT32 IoApicAddress;
569 UINT32 SystemVectorBase;
580 UINT32 GlobalSystemInterruptVector;
591 UINT32 GlobalSystemInterruptVector;
600 UINT8 AcpiProcessorId;
610 UINT32 WarningEnergyLevel;
611 UINT32 LowEnergyLevel;
612 UINT32 CriticalEnergyLevel;
622#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
627#define EFI_ACPI_1_0_APIC_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
632#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
637#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
642#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
647#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
652#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
657#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
662#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
PACKED struct @101 EFI_ACPI_DWORD_ADDRESS_SPACE_DESCRIPTOR
PACKED struct @97 EFI_ACPI_24_BIT_MEMORY_RANGE_DESCRIPTOR
PACKED struct @94 EFI_ACPI_DMA_DESCRIPTOR
PACKED struct @103 EFI_ACPI_EXTENDED_INTERRUPT_DESCRIPTOR
PACKED struct @96 EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR
PACKED struct @100 EFI_ACPI_QWORD_ADDRESS_SPACE_DESCRIPTOR
PACKED struct @95 EFI_ACPI_IO_PORT_DESCRIPTOR
PACKED struct @99 EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR
PACKED struct @93 EFI_ACPI_IRQ_DESCRIPTOR
PACKED struct @89 EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR
PACKED struct @92 EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR
PACKED struct @98 EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR
PACKED struct @102 EFI_ACPI_WORD_ADDRESS_SPACE_DESCRIPTOR