ReactOS 0.4.16-dev-889-g9563c07
acpi.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PCI Bus Driver
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: include/reactos/drivers/acpi/acpi.h
5 * PURPOSE: ACPI Tables and NT Registry Data
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9//
10// ACPI BIOS Registry Component Configuration Data
11//
12typedef struct _ACPI_E820_ENTRY
13{
18
20{
25
26//
27// ACPI Signatures
28//
29#define RSDP_SIGNATURE 0x2052545020445352 // "RSD PTR "
30#define FACS_SIGNATURE 0x53434146 // "FACS"
31#define FADT_SIGNATURE 0x50434146 // "FACP"
32#define RSDT_SIGNATURE 0x54445352 // "RSDT"
33#define APIC_SIGNATURE 0x43495041 // "APIC"
34#define DSDT_SIGNATURE 0x54445344 // "DSDT"
35#define SSDT_SIGNATURE 0x54445353 // "SSDT"
36#define PSDT_SIGNATURE 0x54445350 // "PSDT"
37#define SBST_SIGNATURE 0x54534253 // "SBST"
38#define DBGP_SIGNATURE 0x50474244 // "DBGP"
39#define XSDT_SIGNATURE 'TDSX'
40#define BOOT_SIGNATURE 'TOOB'
41#define SRAT_SIGNATURE 'TARS'
42#define WDRT_SIGNATURE 'TRDW'
43#define BGRT_SIGNATURE 0x54524742 // "BGRT"
44
45//
46// FADT Flags
47//
48#define ACPI_TMR_VAL_EXT 0x100
49
50//
51// BGRT Flags
52//
53#define BGRT_STATUS_IMAGE_VALID 0x01
54
55//
56// BGRT Image Types
57//
58typedef enum _BGRT_IMAGE_TYPE
59{
63
64//
65// ACPI Generic Register Address
66//
67#include <pshpack1.h>
68typedef struct _GEN_ADDR
69{
76
77//
78// ACPI BIOS Structures (packed)
79//
80typedef struct _RSDP
81{
82 // ACPI v1.0 (Rev=0)
86 UCHAR Revision; // Was reserved before ACPI v2.0 (Rev=2).
88 // ACPI v2.0 (Rev=2)
94typedef RSDP *PRSDP;
95
96typedef struct _DESCRIPTION_HEADER
97{
98 // ACPI v1.0
110
111typedef struct _FACS
112{
113 // ACPI v1.0 (Ver=0)
120 PHYSICAL_ADDRESS x_FirmwareWakingVector; // Was reserved before ACPI v2.0 (Ver=1).
121 UCHAR Version; // Was reserved before ACPI v2.0 (Ver=1).
123 ULONG OsFlags; // Was reserved before ACPI v4.0 (Ver=2).
126typedef FACS *PFACS;
127
128typedef struct _FADT
129{
130 // ACPI v1.0 (H.Rev=1)
134 UCHAR reserved44[1]; // Was int_model before ACPI v2.0.
170 // ACPI v1.5 (H.Rev=3)
173 USHORT arm_boot_arch; // Was reserved before ACPI v5.1.
174 UCHAR minor_revision; // Was reserved before ACPI v5.1.
185 // ACPI v5.0 (H.Rev=5)
188 // ACPI v6.0 (H.Rev=6)
191typedef FADT *PFADT;
192
193typedef struct _DSDT
194{
198typedef DSDT *PDSDT;
199
200typedef struct _RSDT
201{
202 // ACPI v1.0 (H.Rev=1)
206typedef RSDT *PRSDT;
207
208typedef struct _XSDT
209{
210 // ACPI v2.0 (H.Rev=1)
214typedef XSDT *PXSDT;
215#include <poppack.h>
216
217//
218// Microsoft-specific (pretty much) ACPI Tables, normal MS ABI packing
219//
220typedef struct _DEBUG_PORT_TABLE
221{
227
228typedef struct _WATCHDOG_TABLE
229{
242
243typedef struct _BOOT_TABLE
244{
249
250typedef struct _ACPI_SRAT
251{
256
257typedef struct _BGRT_TABLE
258{
267
268/* EOF */
unsigned short USHORT
Definition: pedump.c:61
struct _ACPI_SRAT ACPI_SRAT
struct _ACPI_BIOS_MULTI_NODE * PACPI_BIOS_MULTI_NODE
struct _DEBUG_PORT_TABLE DEBUG_PORT_TABLE
FACS * PFACS
Definition: acpi.h:126
struct _RSDT RSDT
struct _GEN_ADDR * PGEN_ADDR
RSDT * PRSDT
Definition: acpi.h:206
enum _BGRT_IMAGE_TYPE BGRT_IMAGE_TYPE
_BGRT_IMAGE_TYPE
Definition: acpi.h:59
@ BgrtImageTypeBitmap
Definition: acpi.h:60
@ BgrtImageTypeMax
Definition: acpi.h:61
FADT * PFADT
Definition: acpi.h:191
struct _BOOT_TABLE BOOT_TABLE
struct _ACPI_E820_ENTRY * PACPI_E820_ENTRY
struct _GEN_ADDR GEN_ADDR
struct _XSDT XSDT
struct _RSDP RSDP
DSDT * PDSDT
Definition: acpi.h:198
struct _ACPI_E820_ENTRY ACPI_E820_ENTRY
struct _FADT FADT
struct _ACPI_BIOS_MULTI_NODE ACPI_BIOS_MULTI_NODE
struct _DSDT DSDT
struct _FACS FACS
struct _ACPI_SRAT * PACPI_SRAT
struct _DEBUG_PORT_TABLE * PDEBUG_PORT_TABLE
struct _BGRT_TABLE * PBGRT_TABLE
DESCRIPTION_HEADER * PDESCRIPTION_HEADER
Definition: acpi.h:109
struct _WATCHDOG_TABLE WATCHDOG_TABLE
struct _BGRT_TABLE BGRT_TABLE
RSDP * PRSDP
Definition: acpi.h:94
struct _DESCRIPTION_HEADER DESCRIPTION_HEADER
struct _BOOT_TABLE * PBOOT_TABLE
enum _BGRT_IMAGE_TYPE * PBGRT_IMAGE_TYPE
XSDT * PXSDT
Definition: acpi.h:214
struct _WATCHDOG_TABLE * PWATCHDOG_TABLE
ACPI_E820_ENTRY E820Entry[1]
Definition: acpi.h:23
ULONGLONG Count
Definition: acpi.h:22
PHYSICAL_ADDRESS RsdtAddress
Definition: acpi.h:21
Definition: acpi.h:13
LARGE_INTEGER Length
Definition: acpi.h:15
ULONGLONG Type
Definition: acpi.h:16
PHYSICAL_ADDRESS Base
Definition: acpi.h:14
UCHAR TableRevision
Definition: acpi.h:253
DESCRIPTION_HEADER Header
Definition: acpi.h:252
ULONG OffsetX
Definition: acpi.h:264
UCHAR ImageType
Definition: acpi.h:262
DESCRIPTION_HEADER Header
Definition: acpi.h:259
USHORT Version
Definition: acpi.h:260
ULONGLONG LogoAddress
Definition: acpi.h:263
UCHAR Status
Definition: acpi.h:261
ULONG OffsetY
Definition: acpi.h:265
UCHAR CMOSIndex
Definition: acpi.h:246
DESCRIPTION_HEADER Header
Definition: acpi.h:245
UCHAR InterfaceType
Definition: acpi.h:223
GEN_ADDR BaseAddress
Definition: acpi.h:225
DESCRIPTION_HEADER Header
Definition: acpi.h:222
ULONG Signature
Definition: acpi.h:99
UCHAR Revision
Definition: acpi.h:101
ULONG OEMRevision
Definition: acpi.h:105
ULONG CreatorRev
Definition: acpi.h:107
UCHAR Checksum
Definition: acpi.h:102
UCHAR OEMID[6]
Definition: acpi.h:103
UCHAR OEMTableID[8]
Definition: acpi.h:104
UCHAR CreatorID[4]
Definition: acpi.h:106
Definition: acpi.h:194
UCHAR DiffDefBlock[ANYSIZE_ARRAY]
Definition: acpi.h:196
DESCRIPTION_HEADER Header
Definition: acpi.h:195
Definition: acpi.h:112
ULONG OsFlags
Definition: acpi.h:123
PHYSICAL_ADDRESS x_FirmwareWakingVector
Definition: acpi.h:120
ULONG Length
Definition: acpi.h:115
ULONG pFirmwareWakingVector
Definition: acpi.h:117
ULONG GlobalLock
Definition: acpi.h:118
ULONG Flags
Definition: acpi.h:119
UCHAR Reserved40[24]
Definition: acpi.h:124
ULONG Signature
Definition: acpi.h:114
UCHAR Version
Definition: acpi.h:121
UCHAR Reserved33[3]
Definition: acpi.h:122
ULONG HardwareSignature
Definition: acpi.h:116
Definition: acpi.h:129
ULONG flags
Definition: acpi.h:169
GEN_ADDR x_pm1a_evt_blk
Definition: acpi.h:177
GEN_ADDR x_gp1_blk
Definition: acpi.h:184
UCHAR pm1_ctrl_len
Definition: acpi.h:151
UCHAR reserved111[1]
Definition: acpi.h:168
GEN_ADDR x_pm1a_ctrl_blk
Definition: acpi.h:179
UCHAR gp0_blk_len
Definition: acpi.h:154
ULONG pm2_ctrl_blk_io_port
Definition: acpi.h:146
USHORT flush_stride
Definition: acpi.h:161
ULONG pm1a_ctrl_blk_io_port
Definition: acpi.h:144
ULONG gp0_blk_io_port
Definition: acpi.h:148
GEN_ADDR x_gp0_blk
Definition: acpi.h:183
UCHAR pm_profile
Definition: acpi.h:135
UCHAR reserved44[1]
Definition: acpi.h:134
ULONG pm1a_evt_blk_io_port
Definition: acpi.h:142
ULONG pm1b_ctrl_blk_io_port
Definition: acpi.h:145
UCHAR pm1_evt_len
Definition: acpi.h:150
ULONG facs
Definition: acpi.h:132
GEN_ADDR x_pm1b_ctrl_blk
Definition: acpi.h:180
UCHAR gp1_base
Definition: acpi.h:156
UCHAR acpi_on_value
Definition: acpi.h:138
USHORT lvl2_latency
Definition: acpi.h:158
GEN_ADDR sleep_status
Definition: acpi.h:187
UCHAR century_alarm_index
Definition: acpi.h:166
UCHAR duty_offset
Definition: acpi.h:162
USHORT flush_size
Definition: acpi.h:160
GEN_ADDR x_pm_tmr_blk
Definition: acpi.h:182
GEN_ADDR sleep_control
Definition: acpi.h:186
DESCRIPTION_HEADER Header
Definition: acpi.h:131
UCHAR minor_revision
Definition: acpi.h:174
GEN_ADDR x_pm1b_evt_blk
Definition: acpi.h:178
PHYSICAL_ADDRESS x_dsdt
Definition: acpi.h:176
ULONG dsdt
Definition: acpi.h:133
UCHAR s4bios_req
Definition: acpi.h:140
UCHAR acpi_off_value
Definition: acpi.h:139
GEN_ADDR x_pm2_ctrl_blk
Definition: acpi.h:181
USHORT boot_arch
Definition: acpi.h:167
UCHAR gp1_blk_len
Definition: acpi.h:155
ULONG pm_tmr_blk_io_port
Definition: acpi.h:147
UCHAR pm2_ctrl_len
Definition: acpi.h:152
UCHAR duty_width
Definition: acpi.h:163
UCHAR pm_tmr_len
Definition: acpi.h:153
UCHAR cstate_control
Definition: acpi.h:157
UCHAR month_alarm_index
Definition: acpi.h:165
PHYSICAL_ADDRESS x_firmware_ctrl
Definition: acpi.h:175
USHORT arm_boot_arch
Definition: acpi.h:173
GEN_ADDR reset_reg
Definition: acpi.h:171
ULONG smi_cmd_io_port
Definition: acpi.h:137
ULONG pm1b_evt_blk_io_port
Definition: acpi.h:143
ULONGLONG hypervisor_id
Definition: acpi.h:189
UCHAR day_alarm_index
Definition: acpi.h:164
USHORT sci_int_vector
Definition: acpi.h:136
UCHAR pstate_control
Definition: acpi.h:141
UCHAR reset_val
Definition: acpi.h:172
USHORT lvl3_latency
Definition: acpi.h:159
ULONG gp1_blk_io_port
Definition: acpi.h:149
Definition: acpi.h:69
UCHAR AddressSpaceID
Definition: acpi.h:70
UCHAR BitOffset
Definition: acpi.h:72
PHYSICAL_ADDRESS Address
Definition: acpi.h:74
UCHAR BitWidth
Definition: acpi.h:71
UCHAR Reserved
Definition: acpi.h:73
Definition: acpi.h:81
ULONG Length
Definition: acpi.h:89
ULONG RsdtAddress
Definition: acpi.h:87
UCHAR Reserved33[3]
Definition: acpi.h:92
ULONGLONG Signature
Definition: acpi.h:83
UCHAR Checksum
Definition: acpi.h:84
UCHAR XChecksum
Definition: acpi.h:91
PHYSICAL_ADDRESS XsdtAddress
Definition: acpi.h:90
UCHAR Revision
Definition: acpi.h:86
UCHAR OEMID[6]
Definition: acpi.h:85
Definition: acpi.h:201
ULONG Tables[ANYSIZE_ARRAY]
Definition: acpi.h:204
DESCRIPTION_HEADER Header
Definition: acpi.h:203
UCHAR Units
Definition: acpi.h:240
UCHAR PciFunction
Definition: acpi.h:237
USHORT PciDeviceId
Definition: acpi.h:233
UCHAR PciDevice
Definition: acpi.h:236
UCHAR PciBus
Definition: acpi.h:235
DESCRIPTION_HEADER Header
Definition: acpi.h:230
USHORT MaxCount
Definition: acpi.h:239
USHORT PciVendorId
Definition: acpi.h:234
GEN_ADDR CountRegister
Definition: acpi.h:232
UCHAR PciSegment
Definition: acpi.h:238
GEN_ADDR ControlRegister
Definition: acpi.h:231
Definition: acpi.h:209
PHYSICAL_ADDRESS Tables[ANYSIZE_ARRAY]
Definition: acpi.h:212
DESCRIPTION_HEADER Header
Definition: acpi.h:211
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
unsigned char UCHAR
Definition: xmlstorage.h:181