13#define ACPI_RSDP_SIGNATURE "RSD PTR "
14#define ACPI_RSDT_SIGNATURE "RSDT"
15#define ACPI_XSDT_SIGNATURE "XSDT"
16#define ACPI_MADT_SIGNATURE "APIC"
17#define ACPI_FADT_SIGNATURE "FACP"
18#define ACPI_FACS_SIGNATURE "FACS"
19#define ACPI_MCFG_SIGNATURE "MCFG"
20#define ACPI_HPET_SIGNATURE "HPET"
21#define ACPI_SRAT_SIGNATURE "SRAT"
22#define ACPI_SLIT_SIGNATURE "SLIT"
23#define ACPI_DSDT_SIGNATURE "DSDT"
24#define ACPI_SSDT_SIGNATURE "SSDT"
25#define ACPI_PSDT_SIGNATURE "PSDT"
26#define ACPI_ECDT_SIGNATURE "ECDT"
27#define ACPI_DBG2_SIGNATURE "DBG2"
28#define ACPI_SPCR_SIGNATURE "SPCR"
29#define ACPI_RHCT_SIGNATURE "RHCT"
30#define ACPI_DMAR_SIGNATURE "DMAR"
31#define ACPI_WAET_SIGNATURE "WAET"
33#define ACPI_AS_ID_SYS_MEM 0x00
34#define ACPI_AS_ID_SYS_IO 0x01
35#define ACPI_AS_ID_PCI_CFG_SPACE 0x02
36#define ACPI_AS_ID_EC 0x03
37#define ACPI_AS_ID_SMBUS 0x04
38#define ACPI_AS_ID_SYS_CMOS 0x05
39#define ACPI_AS_ID_PCI_BAR_TGT 0x06
40#define ACPI_AS_ID_IPMI 0x07
41#define ACPI_AS_ID_GP_IO 0x08
42#define ACPI_AS_ID_GENERIC_SBUS 0x09
43#define ACPI_AS_ID_PCC 0x0A
44#define ACPI_AS_ID_FFH 0x7F
45#define ACPI_AS_ID_OEM_BASE 0xC0
46#define ACPI_AS_ID_OEM_END 0xFF
48#define ACPI_ACCESS_UD 0
49#define ACPI_ACCESS_BYTE 1
50#define ACPI_ACCESS_WORD 2
51#define ACPI_ACCESS_DWORD 3
52#define ACPI_ACCESS_QWORD 4
92 struct acpi_sdt_hdr
hdr;
97 struct acpi_sdt_hdr
hdr;
113enum acpi_madt_entry_type {
114 ACPI_MADT_ENTRY_TYPE_LAPIC = 0,
115 ACPI_MADT_ENTRY_TYPE_IOAPIC = 1,
116 ACPI_MADT_ENTRY_TYPE_INTERRUPT_SOURCE_OVERRIDE = 2,
117 ACPI_MADT_ENTRY_TYPE_NMI_SOURCE = 3,
118 ACPI_MADT_ENTRY_TYPE_LAPIC_NMI = 4,
119 ACPI_MADT_ENTRY_TYPE_LAPIC_ADDRESS_OVERRIDE = 5,
120 ACPI_MADT_ENTRY_TYPE_IOSAPIC = 6,
121 ACPI_MADT_ENTRY_TYPE_LSAPIC = 7,
122 ACPI_MADT_ENTRY_TYPE_PLATFORM_INTERRUPT_SOURCES = 8,
123 ACPI_MADT_ENTRY_TYPE_LOCAL_X2APIC = 9,
124 ACPI_MADT_ENTRY_TYPE_LOCAL_X2APIC_NMI = 0xA,
125 ACPI_MADT_ENTRY_TYPE_GICC = 0xB,
126 ACPI_MADT_ENTRY_TYPE_GICD = 0xC,
127 ACPI_MADT_ENTRY_TYPE_GIC_MSI_FRAME = 0xD,
128 ACPI_MADT_ENTRY_TYPE_GICR = 0xE,
129 ACPI_MADT_ENTRY_TYPE_GIC_ITS = 0xF,
130 ACPI_MADT_ENTRY_TYPE_MULTIPROCESSOR_WAKEUP = 0x10,
131 ACPI_MADT_ENTRY_TYPE_CORE_PIC = 0x11,
132 ACPI_MADT_ENTRY_TYPE_LIO_PIC = 0x12,
133 ACPI_MADT_ENTRY_TYPE_HT_PIC = 0x13,
134 ACPI_MADT_ENTRY_TYPE_EIO_PIC = 0x14,
135 ACPI_MADT_ENTRY_TYPE_MSI_PIC = 0x15,
136 ACPI_MADT_ENTRY_TYPE_BIO_PIC = 0x16,
137 ACPI_MADT_ENTRY_TYPE_LPC_PIC = 0x17,
138 ACPI_MADT_ENTRY_TYPE_RINTC = 0x18,
139 ACPI_MADT_ENTRY_TYPE_IMSIC = 0x19,
140 ACPI_MADT_ENTRY_TYPE_APLIC = 0x1A,
141 ACPI_MADT_ENTRY_TYPE_PLIC = 0x1B,
142 ACPI_MADT_ENTRY_TYPE_RESERVED = 0x1C,
143 ACPI_MADT_ENTRY_TYPE_OEM = 0x80,
147 struct acpi_sdt_hdr
hdr;
148 uacpi_u32 local_interrupt_controller_address;
150 struct acpi_entry_hdr entries[];
159#define ACPI_PIC_ENABLED (1 << 0)
160#define ACPI_PIC_ONLINE_CAPABLE (1 << 1)
163 struct acpi_entry_hdr
hdr;
171 struct acpi_entry_hdr
hdr;
186#define ACPI_MADT_POLARITY_MASK 0b11
187#define ACPI_MADT_POLARITY_CONFORMING 0b00
188#define ACPI_MADT_POLARITY_ACTIVE_HIGH 0b01
189#define ACPI_MADT_POLARITY_ACTIVE_LOW 0b11
191#define ACPI_MADT_TRIGGERING_MASK 0b1100
192#define ACPI_MADT_TRIGGERING_CONFORMING 0b0000
193#define ACPI_MADT_TRIGGERING_EDGE 0b0100
194#define ACPI_MADT_TRIGGERING_LEVEL 0b1100
197 struct acpi_entry_hdr
hdr;
206 struct acpi_entry_hdr
hdr;
213 struct acpi_entry_hdr
hdr;
221 struct acpi_entry_hdr
hdr;
228 struct acpi_entry_hdr
hdr;
237 struct acpi_entry_hdr
hdr;
249#define ACPI_CPEI_PROCESSOR_OVERRIDE (1 << 0)
252 struct acpi_entry_hdr
hdr;
264 struct acpi_entry_hdr
hdr;
273 struct acpi_entry_hdr
hdr;
282#define ACPI_GICC_ENABLED (1 << 0)
283#define ACPI_GICC_PERF_INTERRUPT_MODE (1 << 1)
284#define ACPI_GICC_VGIC_MAINTENANCE_INTERRUPT_MODE (1 << 2)
285#define ACPI_GICC_ONLINE_CAPABLE (1 << 3)
288#define ACPI_GICC_TRIGGERING_EDGE 1
289#define ACPI_GICC_TRIGGERING_LEVEL 0
292 struct acpi_entry_hdr
hdr;
314 struct acpi_entry_hdr
hdr;
325#define ACPI_SPI_SELECT (1 << 0)
328 struct acpi_entry_hdr
hdr;
339 struct acpi_entry_hdr
hdr;
347 struct acpi_entry_hdr
hdr;
356 struct acpi_entry_hdr
hdr;
363#define ACPI_CORE_PIC_ENABLED (1 << 0)
366 struct acpi_entry_hdr
hdr;
375 struct acpi_entry_hdr
hdr;
385 struct acpi_entry_hdr
hdr;
394 struct acpi_entry_hdr
hdr;
403 struct acpi_entry_hdr
hdr;
412 struct acpi_entry_hdr
hdr;
422 struct acpi_entry_hdr
hdr;
431 struct acpi_entry_hdr
hdr;
444 struct acpi_entry_hdr
hdr;
458 struct acpi_entry_hdr
hdr;
472 struct acpi_entry_hdr
hdr;
498 struct acpi_sdt_hdr
hdr;
501 struct acpi_entry_hdr entries[];
509#define ACPI_SRAT_PROCESSOR_ENABLED (1 << 0)
512 struct acpi_entry_hdr
hdr;
523#define ACPI_SRAT_MEMORY_ENABLED (1 << 0)
524#define ACPI_SRAT_MEMORY_HOTPLUGGABLE (1 << 1)
525#define ACPI_SRAT_MEMORY_NON_VOLATILE (1 << 2)
528 struct acpi_entry_hdr
hdr;
540 struct acpi_entry_hdr
hdr;
551#define ACPI_SRAT_GICC_ENABLED (1 << 0)
554 struct acpi_entry_hdr
hdr;
563 struct acpi_entry_hdr
hdr;
571#define ACPI_GENERIC_AFFINITY_ENABLED (1 << 0)
572#define ACPI_GENERIC_AFFINITY_ARCH_TRANSACTIONS (1 << 1)
575 struct acpi_entry_hdr
hdr;
586#define ACPI_SRAT_RINTC_AFFINITY_ENABLED (1 << 0)
589 struct acpi_entry_hdr
hdr;
599 struct acpi_sdt_hdr
hdr;
611#define ACPI_GTDT_TRIGGERING (1 << 0)
612#define ACPI_GTDT_TRIGGERING_EDGE 1
613#define ACPI_GTDT_TRIGGERING_LEVEL 0
621#define ACPI_GTDT_POLARITY (1 << 1)
622#define ACPI_GTDT_POLARITY_ACTIVE_LOW 1
623#define ACPI_GTDT_POLARITY_ACTIVE_HIGH 0
626#define ACPI_GTDT_ALWAYS_ON_CAPABLE (1 << 2)
629 struct acpi_sdt_hdr
hdr;
661 struct acpi_gtdt_entry_hdr
hdr;
670#define ACPI_GTDT_TIMER_ENTRY_SECURE (1 << 0)
671#define ACPI_GTDT_TIMER_ENTRY_ALWAYS_ON_CAPABLE (1 << 1)
687#define ACPI_GTDT_WATCHDOG_SECURE (1 << 2)
690 struct acpi_gtdt_entry_hdr
hdr;
700#define ACPI_IA_PC_LEGACY_DEVS (1 << 0)
701#define ACPI_IA_PC_8042 (1 << 1)
702#define ACPI_IA_PC_NO_VGA (1 << 2)
703#define ACPI_IA_PC_NO_MSI (1 << 3)
704#define ACPI_IA_PC_NO_PCIE_ASPM (1 << 4)
705#define ACPI_IA_PC_NO_CMOS_RTC (1 << 5)
708#define ACPI_WBINVD (1 << 0)
709#define ACPI_WBINVD_FLUSH (1 << 1)
710#define ACPI_PROC_C1 (1 << 2)
711#define ACPI_P_LVL2_UP (1 << 3)
712#define ACPI_PWR_BUTTON (1 << 4)
713#define ACPI_SLP_BUTTON (1 << 5)
714#define ACPI_FIX_RTC (1 << 6)
715#define ACPI_RTC_S4 (1 << 7)
716#define ACPI_TMR_VAL_EXT (1 << 8)
717#define ACPI_DCK_CAP (1 << 9)
718#define ACPI_RESET_REG_SUP (1 << 10)
719#define ACPI_SEALED_CASE (1 << 11)
720#define ACPI_HEADLESS (1 << 12)
721#define ACPI_CPU_SW_SLP (1 << 13)
722#define ACPI_PCI_EXP_WAK (1 << 14)
723#define ACPI_USE_PLATFORM_CLOCK (1 << 15)
724#define ACPI_S4_RTC_STS_VALID (1 << 16)
725#define ACPI_REMOTE_POWER_ON_CAPABLE (1 << 17)
726#define ACPI_FORCE_APIC_CLUSTER_MODEL (1 << 18)
727#define ACPI_FORCE_APIC_PHYS_DEST_MODE (1 << 19)
728#define ACPI_HW_REDUCED_ACPI (1 << 20)
729#define ACPI_LOW_POWER_S0_IDLE_CAPABLE (1 << 21)
732#define ACPI_ARM_PSCI_COMPLIANT (1 << 0)
733#define ACPI_ARM_PSCI_USE_HVC (1 << 1)
736 struct acpi_sdt_hdr
hdr;
775 struct acpi_gas reset_reg;
781 struct acpi_gas x_pm1a_evt_blk;
782 struct acpi_gas x_pm1b_evt_blk;
783 struct acpi_gas x_pm1a_cnt_blk;
784 struct acpi_gas x_pm1b_cnt_blk;
785 struct acpi_gas x_pm2_cnt_blk;
786 struct acpi_gas x_pm_tmr_blk;
787 struct acpi_gas x_gpe0_blk;
788 struct acpi_gas x_gpe1_blk;
789 struct acpi_gas sleep_control_reg;
790 struct acpi_gas sleep_status_reg;
796#define ACPI_S4BIOS_F (1 << 0)
797#define ACPI_64BIT_WAKE_SUPPORTED_F (1 << 1)
800#define ACPI_64BIT_WAKE_F (1 << 0)
827 struct acpi_sdt_hdr
hdr;
834#define ACPI_HPET_PCI_VENDOR_ID_SHIFT 16
835#define ACPI_HPET_LEGACY_REPLACEMENT_IRQ_ROUTING_CAPABLE (1 << 15)
836#define ACPI_HPET_COUNT_SIZE_CAP (1 << 13)
837#define ACPI_HPET_NUMBER_OF_COMPARATORS_SHIFT 8
838#define ACPI_HPET_NUMBER_OF_COMPARATORS_MASK 0b11111
839#define ACPI_HPET_HARDWARE_REV_ID_MASK 0b11111111
842#define ACPI_HPET_PAGE_PROTECTION_MASK 0b11
843#define ACPI_HPET_PAGE_NO_PROTECTION 0
844#define ACPI_HPET_PAGE_4K_PROTECTED 1
845#define ACPI_HPET_PAGE_64K_PROTECTED 2
848 struct acpi_sdt_hdr
hdr;
858#define ACPI_PM1_STS_TMR_STS_IDX 0
859#define ACPI_PM1_STS_BM_STS_IDX 4
860#define ACPI_PM1_STS_GBL_STS_IDX 5
861#define ACPI_PM1_STS_PWRBTN_STS_IDX 8
862#define ACPI_PM1_STS_SLPBTN_STS_IDX 9
863#define ACPI_PM1_STS_RTC_STS_IDX 10
864#define ACPI_PM1_STS_IGN0_IDX 11
865#define ACPI_PM1_STS_PCIEXP_WAKE_STS_IDX 14
866#define ACPI_PM1_STS_WAKE_STS_IDX 15
868#define ACPI_PM1_STS_TMR_STS_MASK (1 << ACPI_PM1_STS_TMR_STS_IDX)
869#define ACPI_PM1_STS_BM_STS_MASK (1 << ACPI_PM1_STS_BM_STS_IDX)
870#define ACPI_PM1_STS_GBL_STS_MASK (1 << ACPI_PM1_STS_GBL_STS_IDX)
871#define ACPI_PM1_STS_PWRBTN_STS_MASK (1 << ACPI_PM1_STS_PWRBTN_STS_IDX)
872#define ACPI_PM1_STS_SLPBTN_STS_MASK (1 << ACPI_PM1_STS_SLPBTN_STS_IDX)
873#define ACPI_PM1_STS_RTC_STS_MASK (1 << ACPI_PM1_STS_RTC_STS_IDX)
874#define ACPI_PM1_STS_IGN0_MASK (1 << ACPI_PM1_STS_IGN0_IDX)
875#define ACPI_PM1_STS_PCIEXP_WAKE_STS_MASK (1 << ACPI_PM1_STS_PCIEXP_WAKE_STS_IDX)
876#define ACPI_PM1_STS_WAKE_STS_MASK (1 << ACPI_PM1_STS_WAKE_STS_IDX)
878#define ACPI_PM1_STS_CLEAR 1
881#define ACPI_PM1_EN_TMR_EN_IDX 0
882#define ACPI_PM1_EN_GBL_EN_IDX 5
883#define ACPI_PM1_EN_PWRBTN_EN_IDX 8
884#define ACPI_PM1_EN_SLPBTN_EN_IDX 9
885#define ACPI_PM1_EN_RTC_EN_IDX 10
886#define ACPI_PM1_EN_PCIEXP_WAKE_DIS_IDX 14
888#define ACPI_PM1_EN_TMR_EN_MASK (1 << ACPI_PM1_EN_TMR_EN_IDX)
889#define ACPI_PM1_EN_GBL_EN_MASK (1 << ACPI_PM1_EN_GBL_EN_IDX)
890#define ACPI_PM1_EN_PWRBTN_EN_MASK (1 << ACPI_PM1_EN_PWRBTN_EN_IDX)
891#define ACPI_PM1_EN_SLPBTN_EN_MASK (1 << ACPI_PM1_EN_SLPBTN_EN_IDX)
892#define ACPI_PM1_EN_RTC_EN_MASK (1 << ACPI_PM1_EN_RTC_EN_IDX)
893#define ACPI_PM1_EN_PCIEXP_WAKE_DIS_MASK (1 << ACPI_PM1_EN_PCIEXP_WAKE_DIS_IDX)
896#define ACPI_PM1_CNT_SCI_EN_IDX 0
897#define ACPI_PM1_CNT_BM_RLD_IDX 1
898#define ACPI_PM1_CNT_GBL_RLS_IDX 2
899#define ACPI_PM1_CNT_RSVD0_IDX 3
900#define ACPI_PM1_CNT_RSVD1_IDX 4
901#define ACPI_PM1_CNT_RSVD2_IDX 5
902#define ACPI_PM1_CNT_RSVD3_IDX 6
903#define ACPI_PM1_CNT_RSVD4_IDX 7
904#define ACPI_PM1_CNT_RSVD5_IDX 8
905#define ACPI_PM1_CNT_IGN0_IDX 9
906#define ACPI_PM1_CNT_SLP_TYP_IDX 10
907#define ACPI_PM1_CNT_SLP_EN_IDX 13
908#define ACPI_PM1_CNT_RSVD6_IDX 14
909#define ACPI_PM1_CNT_RSVD7_IDX 15
911#define ACPI_SLP_TYP_MAX 0x7
913#define ACPI_PM1_CNT_SCI_EN_MASK (1 << ACPI_PM1_CNT_SCI_EN_IDX)
914#define ACPI_PM1_CNT_BM_RLD_MASK (1 << ACPI_PM1_CNT_BM_RLD_IDX)
915#define ACPI_PM1_CNT_GBL_RLS_MASK (1 << ACPI_PM1_CNT_GBL_RLS_IDX)
916#define ACPI_PM1_CNT_SLP_TYP_MASK (ACPI_SLP_TYP_MAX << ACPI_PM1_CNT_SLP_TYP_IDX)
917#define ACPI_PM1_CNT_SLP_EN_MASK (1 << ACPI_PM1_CNT_SLP_EN_IDX)
925#define ACPI_PM1_CNT_PRESERVE_MASK ( \
926 (1 << ACPI_PM1_CNT_RSVD0_IDX) | \
927 (1 << ACPI_PM1_CNT_RSVD1_IDX) | \
928 (1 << ACPI_PM1_CNT_RSVD2_IDX) | \
929 (1 << ACPI_PM1_CNT_RSVD3_IDX) | \
930 (1 << ACPI_PM1_CNT_RSVD4_IDX) | \
931 (1 << ACPI_PM1_CNT_RSVD5_IDX) | \
932 (1 << ACPI_PM1_CNT_IGN0_IDX ) | \
933 (1 << ACPI_PM1_CNT_RSVD6_IDX) | \
934 (1 << ACPI_PM1_CNT_RSVD7_IDX) \
938#define ACPI_PM2_CNT_ARB_DIS_IDX 0
939#define ACPI_PM2_CNT_ARB_DIS_MASK (1 << ACPI_PM2_CNT_ARB_DIS_IDX)
942#define ACPI_PM2_CNT_PRESERVE_MASK (~((uacpi_u64)ACPI_PM2_CNT_ARB_DIS_MASK))
945#define ACPI_SLP_CNT_RSVD0_IDX 0
946#define ACPI_SLP_CNT_IGN0_IDX 1
947#define ACPI_SLP_CNT_SLP_TYP_IDX 2
948#define ACPI_SLP_CNT_SLP_EN_IDX 5
949#define ACPI_SLP_CNT_RSVD1_IDX 6
950#define ACPI_SLP_CNT_RSVD2_IDX 7
952#define ACPI_SLP_CNT_SLP_TYP_MASK (ACPI_SLP_TYP_MAX << ACPI_SLP_CNT_SLP_TYP_IDX)
953#define ACPI_SLP_CNT_SLP_EN_MASK (1 << ACPI_SLP_CNT_SLP_EN_IDX)
955#define ACPI_SLP_CNT_PRESERVE_MASK ( \
956 (1 << ACPI_SLP_CNT_RSVD0_IDX) | \
957 (1 << ACPI_SLP_CNT_IGN0_IDX) | \
958 (1 << ACPI_SLP_CNT_RSVD1_IDX) | \
959 (1 << ACPI_SLP_CNT_RSVD2_IDX) \
963#define ACPI_SLP_STS_WAK_STS_IDX 7
965#define ACPI_SLP_STS_WAK_STS_MASK (1 << ACPI_SLP_STS_WAK_STS_IDX)
968#define ACPI_SLP_STS_PRESERVE_MASK (~((uacpi_u64)ACPI_SLP_STS_WAK_STS_MASK))
970#define ACPI_SLP_STS_CLEAR 1
973 struct acpi_sdt_hdr
hdr;
978 struct acpi_sdt_hdr
hdr;
992#define ACPI_STA_RESULT_DEVICE_ENABLED (1 << 1)
993#define ACPI_STA_RESULT_DEVICE_SHOWN_IN_UI (1 << 2)
994#define ACPI_STA_RESULT_DEVICE_FUNCTIONING (1 << 3)
995#define ACPI_STA_RESULT_DEVICE_BATTERY_PRESENT (1 << 4)
997#define ACPI_REG_DISCONNECT 0
998#define ACPI_REG_CONNECT 1
1001 struct acpi_sdt_hdr
hdr;
1002 struct acpi_gas ec_control;
1003 struct acpi_gas ec_data;
1066 struct acpi_sdt_hdr
hdr;
1080 uacpi_u8 number_generic_address_registers;
1105#define ACPI_SPCR_INTERRUPT_TYPE_8259 0x1
1106#define ACPI_SPCR_INTERRUPT_TYPE_IOAPIC 0x2
1107#define ACPI_SPCR_INTERRUPT_TYPE_IOSAPIC 0x4
1108#define ACPI_SPCR_INTERRUPT_TYPE_GIC 0x8
1109#define ACPI_SPCR_INTERRUPT_TYPE_PLIC_APLIC 0x10
1112#define ACPI_SPCR_PCI_FLAGS_DO_NOT_DISABLE 0x1
1123 struct acpi_sdt_hdr
hdr;
1126 struct acpi_gas base_address;
1166#define ACPI_TIMER_CANNOT_WAKE_CPU (1 << 0)
1169 struct acpi_sdt_hdr
hdr;
1174 struct acpi_rhct_hdr entries[];
1186 struct acpi_rhct_hdr
hdr;
1193 struct acpi_rhct_hdr
hdr;
1208 struct acpi_rhct_hdr
hdr;
1215 struct acpi_rhct_hdr
hdr;
1222#define ACPI_LARGE_ITEM (1 << 7)
1224#define ACPI_SMALL_ITEM_NAME_IDX 3
1225#define ACPI_SMALL_ITEM_NAME_MASK 0xF
1226#define ACPI_SMALL_ITEM_LENGTH_MASK 0x7
1228#define ACPI_LARGE_ITEM_NAME_MASK 0x7F
1231#define ACPI_RESOURCE_IRQ 0x04
1232#define ACPI_RESOURCE_DMA 0x05
1233#define ACPI_RESOURCE_START_DEPENDENT 0x06
1234#define ACPI_RESOURCE_END_DEPENDENT 0x07
1235#define ACPI_RESOURCE_IO 0x08
1236#define ACPI_RESOURCE_FIXED_IO 0x09
1237#define ACPI_RESOURCE_FIXED_DMA 0x0A
1238#define ACPI_RESOURCE_VENDOR_TYPE0 0x0E
1239#define ACPI_RESOURCE_END_TAG 0x0F
1242#define ACPI_RESOURCE_MEMORY24 0x01
1243#define ACPI_RESOURCE_GENERIC_REGISTER 0x02
1244#define ACPI_RESOURCE_VENDOR_TYPE1 0x04
1245#define ACPI_RESOURCE_MEMORY32 0x05
1246#define ACPI_RESOURCE_FIXED_MEMORY32 0x06
1247#define ACPI_RESOURCE_ADDRESS32 0x07
1248#define ACPI_RESOURCE_ADDRESS16 0x08
1249#define ACPI_RESOURCE_EXTENDED_IRQ 0x09
1250#define ACPI_RESOURCE_ADDRESS64 0x0A
1251#define ACPI_RESOURCE_ADDRESS64_EXTENDED 0x0B
1252#define ACPI_RESOURCE_GPIO_CONNECTION 0x0C
1253#define ACPI_RESOURCE_PIN_FUNCTION 0x0D
1254#define ACPI_RESOURCE_SERIAL_CONNECTION 0x0E
1255#define ACPI_RESOURCE_PIN_CONFIGURATION 0x0F
1256#define ACPI_RESOURCE_PIN_GROUP 0x10
1257#define ACPI_RESOURCE_PIN_GROUP_FUNCTION 0x11
1258#define ACPI_RESOURCE_PIN_GROUP_CONFIGURATION 0x12
1259#define ACPI_RESOURCE_CLOCK_INPUT 0x13
1271 struct acpi_small_item common;
1278 struct acpi_small_item common;
1285 struct acpi_small_item common;
1291 struct acpi_small_item common;
1296 struct acpi_small_item common;
1306 struct acpi_small_item common;
1313 struct acpi_small_item common;
1321 struct acpi_small_item common;
1327 struct acpi_small_item common;
1339 struct acpi_large_item common;
1349 struct acpi_large_item common;
1355 struct acpi_large_item common;
1365 struct acpi_large_item common;
1373 struct acpi_large_item common;
1424 struct acpi_large_item common;
1432 struct acpi_large_item common;
1442 struct acpi_large_item common;
1458#define ACPI_SERIAL_TYPE_I2C 1
1459#define ACPI_SERIAL_TYPE_SPI 2
1460#define ACPI_SERIAL_TYPE_UART 3
1461#define ACPI_SERIAL_TYPE_CSI2 4
1462#define ACPI_SERIAL_TYPE_MAX ACPI_SERIAL_TYPE_CSI2
1465 struct acpi_large_item common;
1471 uacpi_u8 type_specific_revision_id;
1477 struct acpi_resource_serial common;
1484 struct acpi_resource_serial common;
1494 struct acpi_resource_serial common;
1504 struct acpi_resource_serial common;
1509 struct acpi_large_item common;
1523 struct acpi_large_item common;
1537 struct acpi_large_item common;
1548 struct acpi_large_item common;
1561 struct acpi_large_item common;
1575 struct acpi_large_item common;
1585#define ACPI_DMAR_INTR_REMAP (1 << 0)
1586#define ACPI_DMAR_X2APIC_OPT_OUT (1 << 1)
1587#define ACPI_DMAR_DMA_CTRL_PLATFORM_OPT_IN_FLAG (1 << 2)
1607 struct acpi_sdt_hdr
hdr;
1611 struct acpi_dmar_entry_hdr entries[];
1616#define ACPI_DSS_PCI_ENDPOINT 0x01
1617#define ACPI_DSS_PCI_BRIDGE 0x02
1618#define ACPI_DSS_IOAPIC 0x03
1619#define ACPI_DSS_MSI_CAPABLE_HPET 0x04
1620#define ACPI_DSS_ACPI_NAMESPACE_DEVICE 0x05
1623#define ACPI_DSS_REQ_WO_PASID_NESTED_NOTALLOWED (1 << 0)
1624#define ACPI_DSS_REQ_WO_PASID_PWSNP_NOTALLOWED (1 << 1)
1625#define ACPI_DSS_REQ_WO_PASID_PGSNP_NOTALLOWED (1 << 2)
1626#define ACPI_DSS_ATC_HARDENED (1 << 3)
1627#define ACPI_DSS_ATC_REQUIRED (1 << 4)
1643#define ACPI_INCLUDE_PCI_ALL (1 << 0)
1646 struct acpi_dmar_entry_hdr
hdr;
1651 struct acpi_dmar_dss entries[];
1656 struct acpi_dmar_entry_hdr
hdr;
1661 struct acpi_dmar_dss entries[];
1666#define ACPI_ATSR_ALL_PORTS (1 << 0)
1669 struct acpi_dmar_entry_hdr
hdr;
1673 struct acpi_dmar_dss entries[];
1678 struct acpi_dmar_entry_hdr
hdr;
1686 struct acpi_dmar_entry_hdr
hdr;
1694#define ACPI_SATC_ATC_REQUIRED 0x01
1697 struct acpi_dmar_entry_hdr
hdr;
1701 struct acpi_dmar_dss entries[];
1706 struct acpi_dmar_entry_hdr
hdr;
1709 struct acpi_dmar_dss entries[];
1714#define ACPI_WAET_RTC_GOOD (1 << 0)
1715#define ACPI_WAET_ACPI_PM_TIMER_GOOD (1 << 1)
1718 struct acpi_sdt_hdr
hdr;
_Check_return_ _Ret_maybenull_ _In_ size_t alignment
static PDB_INFORMATION information
static cab_ULONG checksum(const cab_UBYTE *data, cab_UWORD bytes, cab_ULONG csum)
static const WCHAR version[]
#define ACPI_STA_RESULT_DEVICE_PRESENT
@ ACPI_GTDT_ENTRY_TYPE_TIMER
@ ACPI_GTDT_ENTRY_TYPE_WATCHDOG
@ ACPI_DMAR_ENTRY_TYPE_RHSA
@ ACPI_DMAR_ENTRY_TYPE_SATC
@ ACPI_DMAR_ENTRY_TYPE_ATSR
@ ACPI_DMAR_ENTRY_TYPE_RMRR
@ ACPI_DMAR_ENTRY_TYPE_SIDP
@ ACPI_DMAR_ENTRY_TYPE_ANDD
@ ACPI_DMAR_ENTRY_TYPE_DRHD
@ ACPI_DBG2_SUBTYPE_USB_XHCI_DEBUG
@ ACPI_DBG2_SUBTYPE_USB_EHCI_DEBUG
@ ACPI_RHCT_ENTRY_TYPE_ISA_STRING
@ ACPI_RHCT_ENTRY_TYPE_HART_INFO
@ ACPI_RHCT_ENTRY_TYPE_CMO
@ ACPI_RHCT_ENTRY_TYPE_MMU
@ ACPI_SRAT_ENTRY_TYPE_X2APIC_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_GENERIC_INITIATOR_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_GIC_ITS_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_GICC_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_RINTC_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_MEMORY_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_PROCESSOR_AFFINITY
@ ACPI_SRAT_ENTRY_TYPE_GENERIC_PORT_AFFINITY
@ ACPI_DBG2_SUBTYPE_1394_STANDARD
@ ACPI_RHCT_MMU_TYPE_SV39
@ ACPI_RHCT_MMU_TYPE_SV48
@ ACPI_RHCT_MMU_TYPE_SV57
@ ACPI_SPCR_TERMINAL_TYPE_VT100
@ ACPI_SPCR_TERMINAL_TYPE_ANSI
@ ACPI_SPCR_TERMINAL_TYPE_VT_UTF8
@ ACPI_SPCR_TERMINAL_TYPE_EXTENDED_VT100
@ ACPI_DBG2_SUBTYPE_SERIAL_APM88XXXX
@ ACPI_DBG2_SUBTYPE_SERIAL_NS16550
@ ACPI_DBG2_SUBTYPE_SERIAL_NS16550_NVIDIA
@ ACPI_DBG2_SUBTYPE_SERIAL_INTEL_USIF
@ ACPI_DBG2_SUBTYPE_SERIAL_ARM_SBSA_32BIT
@ ACPI_DBG2_SUBTYPE_SERIAL_BCM2835
@ ACPI_DBG2_SUBTYPE_SERIAL_SAM5250
@ ACPI_DBG2_SUBTYPE_SERIAL_NS16550_GAS
@ ACPI_DBG2_SUBTYPE_SERIAL_MSM8X60
@ ACPI_DBG2_SUBTYPE_SERIAL_PL011
@ ACPI_DBG2_SUBTYPE_SERIAL_ARM_DCC
@ ACPI_DBG2_SUBTYPE_SERIAL_SDM845_1_8432MHZ
@ ACPI_DBG2_SUBTYPE_SERIAL_INTEL_LPSS
@ ACPI_DBG2_SUBTYPE_SERIAL_NS16550_DBGP1
@ ACPI_DBG2_SUBTYPE_SERIAL_SDM845_7_372MHZ
@ ACPI_DBG2_SUBTYPE_SERIAL_TI_OMAP
@ ACPI_DBG2_SUBTYPE_SERIAL_IMX6
@ ACPI_DBG2_SUBTYPE_SERIAL_RISCV_SBI
@ ACPI_DBG2_SUBTYPE_SERIAL_ARM_SBSA_GENERIC
@ ACPI_DBG2_SUBTYPE_SERIAL_MSM8974
@ ACPI_DBG2_SUBTYPE_SERIAL_MAX311XE_SPI
#define UACPI_EXPECT_SIZEOF(type, size)
static const FxOffsetAndName offsets[]
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLuint GLsizei GLsizei * length
static unsigned int number
static HANDLE ACCESS_MASK ULONG attributes
uacpi_u64 x_firmware_waking_vector
uacpi_u32 firmware_waking_vector
uacpi_u32 hardware_signature