Chameleon

Chameleon Svn Source Tree

Root/branches/valv/i386/libsaio/acpi.h

  • Property svn:executable set to
1#ifndef __LIBSAIO_ACPI_H
2#define __LIBSAIO_ACPI_H
3
4#define ACPI_RANGE_START (0x0E0000)
5#define ACPI_RANGE_END (0x0FFFFF)
6
7#define UINT64_LE_FROM_CHARS(a,b,c,d,e,f,g,h) \
8( ((uint64_t)h << 56) \
9| ((uint64_t)g << 48) \
10| ((uint64_t)f << 40) \
11| ((uint64_t)e << 32) \
12| ((uint64_t)d << 24) \
13| ((uint64_t)c << 16) \
14| ((uint64_t)b << 8) \
15| ((uint64_t)a << 0) \
16)
17
18#define ACPI_SIGNATURE_UINT64_LE UINT64_LE_FROM_CHARS('R','S','D',' ','P','T','R',' ')
19
20/* Per ACPI 3.0a spec */
21
22// TODO Migrate
23struct acpi_2_rsdp {
24charSignature[8];
25uint8_tChecksum;
26charOEMID[6];
27uint8_tRevision;
28uint32_tRsdtAddress;
29uint32_tLength;
30uint64_tXsdtAddress;
31uint8_tExtendedChecksum;
32charReserved[3];
33} __attribute__((packed));
34
35// TODO Migrate
36struct acpi_2_rsdt {
37charSignature[4];
38uint32_tLength;
39uint8_tRevision;
40uint8_tChecksum;
41charOEMID[6];
42charOEMTableId[8];
43uint32_tOEMRevision;
44uint32_tCreatorId;
45uint32_tCreatorRevision;
46} __attribute__((packed));
47
48// TODO Migrate
49struct acpi_2_xsdt {
50charSignature[4];
51uint32_tLength;
52uint8_tRevision;
53uint8_tChecksum;
54charOEMID[6];
55charOEMTableId[8];
56uint32_tOEMRevision;
57uint32_tCreatorId;
58uint32_tCreatorRevision;
59} __attribute__((packed));
60
61// TODO Migrate
62struct acpi_2_gas {
63uint8_tAddress_Space_ID;
64uint8_tRegister_Bit_Width;
65uint8_tRegister_Bit_Offset;
66uint8_tAccess_Size;
67uint64_tAddress;
68} __attribute__((packed));
69
70// TODO Migrate
71struct acpi_2_ssdt {
72charSignature[4];
73uint32_tLength;
74uint8_tRevision;
75uint8_tChecksum;
76charOEMID[6];
77charOEMTableId[8];
78uint32_tOEMRevision;
79uint32_tCreatorId;
80uint32_tCreatorRevision;
81} __attribute__((packed));
82
83// TODO Migrate
84struct acpi_2_dsdt {
85charSignature[4];
86uint32_tLength;
87uint8_tRevision;
88uint8_tChecksum;
89charOEMID[6];
90charOEMTableId[8];
91uint32_tOEMRevision;
92uint32_tCreatorId;
93uint32_tCreatorRevision;
94} __attribute__((packed));
95
96// TODO Migrate
97struct acpi_2_fadt {
98charSignature[4];
99uint32_tLength;
100uint8_tRevision;
101uint8_tChecksum;
102charOEMID[6];
103charOEMTableId[8];
104uint32_tOEMRevision;
105uint32_tCreatorId;
106uint32_tCreatorRevision;
107uint32_tFIRMWARE_CTRL;
108uint32_tDSDT;
109uint8_tINT_MODEL; // JrCs
110uint8_tPreferred_PM_Profile; // JrCs
111uint16_tSCI_INT;
112uint32_tSMI_CMD;
113uint8_tACPI_ENABLE;
114uint8_tACPI_DISABLE;
115uint8_tS4BIOS_REQ;
116uint8_tPSTATE_CNT;
117uint32_tPM1a_EVT_BLK;
118uint32_tPM1b_EVT_BLK;
119uint32_tPM1a_CNT_BLK;
120uint32_tPM1b_CNT_BLK;
121uint32_tPM2_CNT_BLK;
122uint32_tPM_TMR_BLK;
123uint32_tGPE0_BLK;
124uint32_tGPE1_BLK;
125uint8_tPM1_EVT_LEN;
126uint8_tPM1_CNT_LEN;
127uint8_tPM2_CNT_LEN;
128uint8_tPM_TMR_LEN;
129uint8_tGPE0_BLK_LEN;
130uint8_tGPE1_BLK_LEN;
131uint8_tGPE1_BASE;
132uint8_tCST_CNT;
133uint16_tP_LVL2_LAT;
134uint16_tP_LVL3_LAT;
135uint16_tFLUSH_SIZE;
136uint16_tFLUSH_STRIDE;
137uint8_tDUTY_OFFSET;
138uint8_tDUTY_WIDTH;
139uint8_tDAY_ALRM;
140uint8_tMON_ALRM;
141uint8_tCENTURY;
142uint16_tIAPC_BOOT_ARCH;
143uint8_tReserved1;
144uint32_tFlags;
145struct acpi_2_gasRESET_REG;
146uint8_tRESET_VALUE;
147uint8_tReserved2[3];
148uint64_tX_FIRMWARE_CTRL;
149uint64_tX_DSDT;
150struct acpi_2_gasX_PM1a_EVT_BLK;
151struct acpi_2_gasX_PM1b_EVT_BLK;
152struct acpi_2_gasX_PM1a_CNT_BLK;
153struct acpi_2_gasX_PM1b_CNT_BLK;
154struct acpi_2_gasX_PM2_CNT_BLK;
155struct acpi_2_gasX_PM_TMR_BLK;
156struct acpi_2_gasX_GPE0_BLK;
157struct acpi_2_gasX_GPE1_BLK;
158} __attribute__((packed));
159
160#endif /* !__LIBSAIO_ACPI_H */
161

Archive Download this file

Revision: 709