ReactOS Fundraising Campaign 2012
 
€ 3,873 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

acpi.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS PCI Bus Driver
00003  * LICENSE:         BSD - See COPYING.ARM in the top level directory
00004  * FILE:            include/reactos/drivers/acpi/acpi.h
00005  * PURPOSE:         ACPI Tables and NT Registry Data
00006  * PROGRAMMERS:     ReactOS Portable Systems Group
00007  */
00008 
00009 //
00010 // ACPI BIOS Registry Component Configuration Data
00011 //
00012 typedef struct _ACPI_E820_ENTRY
00013 {
00014     PHYSICAL_ADDRESS Base;
00015     LARGE_INTEGER Length;
00016     ULONGLONG Type;
00017 } ACPI_E820_ENTRY, *PACPI_E820_ENTRY;
00018 
00019 typedef struct _ACPI_BIOS_MULTI_NODE
00020 {
00021     PHYSICAL_ADDRESS RsdtAddress;
00022     ULONGLONG Count;
00023     ACPI_E820_ENTRY E820Entry[1];
00024 } ACPI_BIOS_MULTI_NODE, *PACPI_BIOS_MULTI_NODE;
00025 
00026 //
00027 // ACPI Signatures
00028 //
00029 #define RSDP_SIGNATURE 0x2052545020445352       // "RSD PTR "
00030 #define FACS_SIGNATURE 0x53434146               // "FACS"
00031 #define FADT_SIGNATURE 0x50434146               // "FACP"
00032 #define RSDT_SIGNATURE 0x54445352               // "RSDT"
00033 #define APIC_SIGNATURE 0x43495041               // "APIC"
00034 #define DSDT_SIGNATURE 0x54445344               // "DSDT"
00035 #define SSDT_SIGNATURE 0x54445353               // "SSDT"
00036 #define PSDT_SIGNATURE 0x54445350               // "PSDT"
00037 #define SBST_SIGNATURE 0x54534253               // "SBST"
00038 #define DBGP_SIGNATURE 0x50474244               // "DBGP"
00039 #define XSDT_SIGNATURE 'TDSX'
00040 #define BOOT_SIGNATURE 'TOOB'
00041 #define SRAT_SIGNATURE 'TARS'
00042 #define WDRT_SIGNATURE 'TRDW'
00043 
00044 //
00045 // FADT Flags
00046 //
00047 #define ACPI_TMR_VAL_EXT 0x100
00048 
00049 //
00050 // ACPI Generic Register Address
00051 //
00052 typedef struct _GEN_ADDR
00053 {
00054     UCHAR AddressSpaceID;
00055     UCHAR BitWidth;
00056     UCHAR BitOffset;
00057     UCHAR Reserved;
00058     PHYSICAL_ADDRESS Address;
00059 } GEN_ADDR, *PGEN_ADDR;
00060 
00061 //
00062 // ACPI BIOS Structures (packed)
00063 //
00064 #include <pshpack1.h>
00065 typedef struct  _RSDP
00066 {
00067     ULONGLONG Signature;
00068     UCHAR Checksum;
00069     UCHAR OEMID[6];
00070     UCHAR Reserved[1];
00071     ULONG RsdtAddress;
00072 } RSDP;
00073 typedef RSDP *PRSDP;
00074 
00075 typedef struct _DESCRIPTION_HEADER
00076 {
00077     ULONG Signature;
00078     ULONG Length;
00079     UCHAR Revision;
00080     UCHAR Checksum;
00081     UCHAR OEMID[6];
00082     UCHAR OEMTableID[8];
00083     ULONG OEMRevision;
00084     UCHAR CreatorID[4];
00085     ULONG CreatorRev;
00086 } DESCRIPTION_HEADER;
00087 typedef DESCRIPTION_HEADER *PDESCRIPTION_HEADER;
00088 
00089 typedef struct _FACS
00090 {
00091     ULONG Signature;
00092     ULONG Length;
00093     ULONG HardwareSignature;
00094     ULONG pFirmwareWakingVector;
00095     ULONG GlobalLock;
00096     ULONG Flags;
00097     PHYSICAL_ADDRESS x_FirmwareWakingVector;
00098     UCHAR version;
00099     UCHAR Reserved[32];
00100 } FACS;
00101 typedef FACS *PFACS;
00102 
00103 typedef struct _FADT
00104 {
00105     DESCRIPTION_HEADER Header;
00106     ULONG facs;
00107     ULONG dsdt;
00108     UCHAR int_model;
00109     UCHAR pm_profile;
00110     USHORT sci_int_vector;
00111     ULONG smi_cmd_io_port;
00112     UCHAR acpi_on_value;
00113     UCHAR acpi_off_value;
00114     UCHAR s4bios_req;
00115     UCHAR pstate_control;
00116     ULONG pm1a_evt_blk_io_port;
00117     ULONG pm1b_evt_blk_io_port;
00118     ULONG pm1a_ctrl_blk_io_port;
00119     ULONG pm1b_ctrl_blk_io_port;
00120     ULONG pm2_ctrl_blk_io_port;
00121     ULONG pm_tmr_blk_io_port;
00122     ULONG gp0_blk_io_port;
00123     ULONG gp1_blk_io_port;
00124     UCHAR pm1_evt_len;
00125     UCHAR pm1_ctrl_len;
00126     UCHAR pm2_ctrl_len;
00127     UCHAR pm_tmr_len;
00128     UCHAR gp0_blk_len;
00129     UCHAR gp1_blk_len;
00130     UCHAR gp1_base;
00131     UCHAR cstate_control;
00132     USHORT lvl2_latency;
00133     USHORT lvl3_latency;
00134     USHORT flush_size;
00135     USHORT flush_stride;
00136     UCHAR duty_offset;
00137     UCHAR duty_width;
00138     UCHAR day_alarm_index;
00139     UCHAR month_alarm_index;
00140     UCHAR century_alarm_index;
00141     USHORT boot_arch;
00142     UCHAR reserved3[1];
00143     ULONG flags;
00144     GEN_ADDR reset_reg;
00145     UCHAR reset_val;
00146     UCHAR reserved4[3];
00147     PHYSICAL_ADDRESS x_firmware_ctrl;
00148     PHYSICAL_ADDRESS x_dsdt;
00149     GEN_ADDR x_pm1a_evt_blk;
00150     GEN_ADDR x_pm1b_evt_blk;
00151     GEN_ADDR x_pm1a_ctrl_blk;
00152     GEN_ADDR x_pm1b_ctrl_blk;
00153     GEN_ADDR x_pm2_ctrl_blk;
00154     GEN_ADDR x_pm_tmr_blk;
00155     GEN_ADDR x_gp0_blk;
00156     GEN_ADDR x_gp1_blk;
00157 } FADT;
00158 typedef FADT *PFADT;
00159 
00160 typedef struct _DSDT
00161 {
00162     DESCRIPTION_HEADER Header;
00163     UCHAR DiffDefBlock[ANYSIZE_ARRAY];
00164 } DSDT;
00165 typedef DSDT *PDSDT;
00166 
00167 typedef struct _RSDT
00168 {
00169     DESCRIPTION_HEADER Header;
00170     ULONG Tables[ANYSIZE_ARRAY];
00171 } RSDT;
00172 typedef RSDT *PRSDT;
00173 
00174 typedef struct _XSDT
00175 {
00176     DESCRIPTION_HEADER Header;
00177     PHYSICAL_ADDRESS Tables[ANYSIZE_ARRAY];
00178 } XSDT;
00179 typedef XSDT *PXSDT;
00180 #include <poppack.h>
00181 
00182 //
00183 // Microsoft-specific (pretty much) ACPI Tables, normal MS ABI packing
00184 //
00185 typedef struct _DEBUG_PORT_TABLE
00186 {
00187     DESCRIPTION_HEADER Header;
00188     UCHAR InterfaceType;
00189     UCHAR Reserved[3];
00190     GEN_ADDR BaseAddress;
00191 } DEBUG_PORT_TABLE, *PDEBUG_PORT_TABLE;
00192 
00193 typedef struct _WATCHDOG_TABLE
00194 {
00195     DESCRIPTION_HEADER Header;
00196     GEN_ADDR ControlRegister;
00197     GEN_ADDR CountRegister;
00198     USHORT PciDeviceId;
00199     USHORT PciVendorId;
00200     UCHAR PciBus;
00201     UCHAR PciDevice;
00202     UCHAR PciFunction;
00203     UCHAR PciSegment;
00204     USHORT MaxCount;
00205     UCHAR Units;
00206 } WATCHDOG_TABLE, *PWATCHDOG_TABLE;
00207 
00208 typedef struct _BOOT_TABLE
00209 {
00210     DESCRIPTION_HEADER Header;
00211     UCHAR CMOSIndex;
00212     UCHAR Reserved[3];
00213 } BOOT_TABLE, *PBOOT_TABLE;
00214 
00215 typedef struct _ACPI_SRAT
00216 {
00217     DESCRIPTION_HEADER Header;
00218     UCHAR TableRevision;
00219     ULONG Reserved[2];
00220 } ACPI_SRAT, *PACPI_SRAT;
00221 
00222 /* EOF */

Generated on Sat May 19 2012 04:25:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.