ReactOS 0.4.15-dev-7918-g2a2556c
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{
92typedef RSDP *PRSDP;
93
94typedef struct _DESCRIPTION_HEADER
95{
107
108typedef struct _FACS
109{
120typedef FACS *PFACS;
121
122typedef struct _FADT
123{
177typedef FADT *PFADT;
178
179typedef struct _DSDT
180{
184typedef DSDT *PDSDT;
185
186typedef struct _RSDT
187{
191typedef RSDT *PRSDT;
192
193typedef struct _XSDT
194{
198typedef XSDT *PXSDT;
199#include <poppack.h>
200
201//
202// Microsoft-specific (pretty much) ACPI Tables, normal MS ABI packing
203//
204typedef struct _DEBUG_PORT_TABLE
205{
211
212typedef struct _WATCHDOG_TABLE
213{
226
227typedef struct _BOOT_TABLE
228{
233
234typedef struct _ACPI_SRAT
235{
240
241typedef struct _BGRT_TABLE
242{
251
252/* 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:120
struct _RSDT RSDT
struct _GEN_ADDR * PGEN_ADDR
RSDT * PRSDT
Definition: acpi.h:191
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:177
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:184
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:106
struct _WATCHDOG_TABLE WATCHDOG_TABLE
struct _BGRT_TABLE BGRT_TABLE
RSDP * PRSDP
Definition: acpi.h:92
struct _DESCRIPTION_HEADER DESCRIPTION_HEADER
struct _BOOT_TABLE * PBOOT_TABLE
enum _BGRT_IMAGE_TYPE * PBGRT_IMAGE_TYPE
XSDT * PXSDT
Definition: acpi.h:198
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:237
DESCRIPTION_HEADER Header
Definition: acpi.h:236
ULONG OffsetX
Definition: acpi.h:248
UCHAR ImageType
Definition: acpi.h:246
DESCRIPTION_HEADER Header
Definition: acpi.h:243
USHORT Version
Definition: acpi.h:244
ULONGLONG LogoAddress
Definition: acpi.h:247
UCHAR Status
Definition: acpi.h:245
ULONG OffsetY
Definition: acpi.h:249
UCHAR CMOSIndex
Definition: acpi.h:230
DESCRIPTION_HEADER Header
Definition: acpi.h:229
UCHAR InterfaceType
Definition: acpi.h:207
GEN_ADDR BaseAddress
Definition: acpi.h:209
DESCRIPTION_HEADER Header
Definition: acpi.h:206
ULONG Signature
Definition: acpi.h:96
UCHAR Revision
Definition: acpi.h:98
ULONG OEMRevision
Definition: acpi.h:102
ULONG CreatorRev
Definition: acpi.h:104
UCHAR Checksum
Definition: acpi.h:99
UCHAR OEMID[6]
Definition: acpi.h:100
UCHAR OEMTableID[8]
Definition: acpi.h:101
UCHAR CreatorID[4]
Definition: acpi.h:103
ULONG Length
Definition: acpi.h:97
Definition: acpi.h:180
UCHAR DiffDefBlock[ANYSIZE_ARRAY]
Definition: acpi.h:182
DESCRIPTION_HEADER Header
Definition: acpi.h:181
Definition: acpi.h:109
UCHAR version
Definition: acpi.h:117
PHYSICAL_ADDRESS x_FirmwareWakingVector
Definition: acpi.h:116
ULONG Length
Definition: acpi.h:111
ULONG pFirmwareWakingVector
Definition: acpi.h:113
ULONG GlobalLock
Definition: acpi.h:114
ULONG Flags
Definition: acpi.h:115
ULONG Signature
Definition: acpi.h:110
ULONG HardwareSignature
Definition: acpi.h:112
Definition: acpi.h:123
ULONG flags
Definition: acpi.h:162
GEN_ADDR x_pm1a_evt_blk
Definition: acpi.h:168
GEN_ADDR x_gp1_blk
Definition: acpi.h:175
UCHAR pm1_ctrl_len
Definition: acpi.h:144
GEN_ADDR x_pm1a_ctrl_blk
Definition: acpi.h:170
UCHAR reserved4[3]
Definition: acpi.h:165
UCHAR gp0_blk_len
Definition: acpi.h:147
ULONG pm2_ctrl_blk_io_port
Definition: acpi.h:139
USHORT flush_stride
Definition: acpi.h:154
ULONG pm1a_ctrl_blk_io_port
Definition: acpi.h:137
ULONG gp0_blk_io_port
Definition: acpi.h:141
GEN_ADDR x_gp0_blk
Definition: acpi.h:174
UCHAR pm_profile
Definition: acpi.h:128
ULONG pm1a_evt_blk_io_port
Definition: acpi.h:135
ULONG pm1b_ctrl_blk_io_port
Definition: acpi.h:138
UCHAR pm1_evt_len
Definition: acpi.h:143
ULONG facs
Definition: acpi.h:125
GEN_ADDR x_pm1b_ctrl_blk
Definition: acpi.h:171
UCHAR gp1_base
Definition: acpi.h:149
UCHAR acpi_on_value
Definition: acpi.h:131
USHORT lvl2_latency
Definition: acpi.h:151
UCHAR century_alarm_index
Definition: acpi.h:159
UCHAR duty_offset
Definition: acpi.h:155
USHORT flush_size
Definition: acpi.h:153
UCHAR int_model
Definition: acpi.h:127
GEN_ADDR x_pm_tmr_blk
Definition: acpi.h:173
DESCRIPTION_HEADER Header
Definition: acpi.h:124
GEN_ADDR x_pm1b_evt_blk
Definition: acpi.h:169
PHYSICAL_ADDRESS x_dsdt
Definition: acpi.h:167
ULONG dsdt
Definition: acpi.h:126
UCHAR s4bios_req
Definition: acpi.h:133
UCHAR acpi_off_value
Definition: acpi.h:132
GEN_ADDR x_pm2_ctrl_blk
Definition: acpi.h:172
USHORT boot_arch
Definition: acpi.h:160
UCHAR gp1_blk_len
Definition: acpi.h:148
ULONG pm_tmr_blk_io_port
Definition: acpi.h:140
UCHAR pm2_ctrl_len
Definition: acpi.h:145
UCHAR duty_width
Definition: acpi.h:156
UCHAR pm_tmr_len
Definition: acpi.h:146
UCHAR cstate_control
Definition: acpi.h:150
UCHAR month_alarm_index
Definition: acpi.h:158
PHYSICAL_ADDRESS x_firmware_ctrl
Definition: acpi.h:166
GEN_ADDR reset_reg
Definition: acpi.h:163
UCHAR reserved3[1]
Definition: acpi.h:161
ULONG smi_cmd_io_port
Definition: acpi.h:130
ULONG pm1b_evt_blk_io_port
Definition: acpi.h:136
UCHAR day_alarm_index
Definition: acpi.h:157
USHORT sci_int_vector
Definition: acpi.h:129
UCHAR pstate_control
Definition: acpi.h:134
UCHAR reset_val
Definition: acpi.h:164
USHORT lvl3_latency
Definition: acpi.h:152
ULONG gp1_blk_io_port
Definition: acpi.h:142
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:87
ULONG RsdtAddress
Definition: acpi.h:86
ULONGLONG Signature
Definition: acpi.h:82
UCHAR Checksum
Definition: acpi.h:83
UCHAR XChecksum
Definition: acpi.h:89
PHYSICAL_ADDRESS XsdtAddress
Definition: acpi.h:88
UCHAR Revision
Definition: acpi.h:85
UCHAR OEMID[6]
Definition: acpi.h:84
Definition: acpi.h:187
ULONG Tables[ANYSIZE_ARRAY]
Definition: acpi.h:189
DESCRIPTION_HEADER Header
Definition: acpi.h:188
UCHAR Units
Definition: acpi.h:224
UCHAR PciFunction
Definition: acpi.h:221
USHORT PciDeviceId
Definition: acpi.h:217
UCHAR PciDevice
Definition: acpi.h:220
UCHAR PciBus
Definition: acpi.h:219
DESCRIPTION_HEADER Header
Definition: acpi.h:214
USHORT MaxCount
Definition: acpi.h:223
USHORT PciVendorId
Definition: acpi.h:218
GEN_ADDR CountRegister
Definition: acpi.h:216
UCHAR PciSegment
Definition: acpi.h:222
GEN_ADDR ControlRegister
Definition: acpi.h:215
Definition: acpi.h:194
PHYSICAL_ADDRESS Tables[ANYSIZE_ARRAY]
Definition: acpi.h:196
DESCRIPTION_HEADER Header
Definition: acpi.h:195
#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