Chameleon Applications

Chameleon Applications Svn Source Tree

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

Source at commit 214 created 13 years 5 months ago.
By ifabio, update to chameleon trunk 630, and now the pakage folder is the same as blackosx branch, also add Icon "building" into buildpkg script, and add mint theme info into the English localizable.strings.
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 {
24 char Signature[8];
25 uint8_t Checksum;
26 char OEMID[6];
27 uint8_t Revision;
28 uint32_t RsdtAddress;
29 uint32_t Length;
30 uint64_t XsdtAddress;
31 uint8_t ExtendedChecksum;
32 char Reserved[3];
33} __attribute__((packed));
34
35// TODO Migrate
36struct acpi_2_rsdt {
37char Signature[4];
38uint32_t Length;
39uint8_t Revision;
40uint8_t Checksum;
41char OEMID[6];
42char OEMTableId[8];
43uint32_t OEMRevision;
44uint32_t CreatorId;
45uint32_t CreatorRevision;
46} __attribute__((packed));
47
48// TODO Migrate
49struct acpi_2_xsdt {
50char Signature[4];
51uint32_t Length;
52uint8_t Revision;
53uint8_t Checksum;
54char OEMID[6];
55char OEMTableId[8];
56uint32_t OEMRevision;
57uint32_t CreatorId;
58uint32_t CreatorRevision;
59} __attribute__((packed));
60
61// TODO Migrate
62struct acpi_2_ssdt {
63char Signature[4];
64uint32_t Length;
65uint8_t Revision;
66uint8_t Checksum;
67char OEMID[6];
68char OEMTableId[8];
69uint32_t OEMRevision;
70uint32_t CreatorId;
71uint32_t CreatorRevision;
72} __attribute__((packed));
73
74// TODO Migrate
75struct acpi_2_dsdt {
76char Signature[4];
77uint32_t Length;
78uint8_t Revision;
79uint8_t Checksum;
80char OEMID[6];
81char OEMTableId[8];
82uint32_t OEMRevision;
83uint32_t CreatorId;
84uint32_t CreatorRevision;
85} __attribute__((packed));
86
87// TODO Migrate
88struct acpi_2_fadt {
89char Signature[4];
90uint32_t Length;
91uint8_t Revision;
92uint8_t Checksum;
93char OEMID[6];
94char OEMTableId[8];
95uint32_t OEMRevision;
96uint32_t CreatorId;
97uint32_t CreatorRevision;
98uint32_t FIRMWARE_CTRL;
99uint32_t DSDT;
100uint8_t Model;// JrCs
101uint8_t PM_Profile;// JrCs
102uint16_tSCI_Interrupt;
103uint32_tSMI_Command_Port;
104uint8_tACPI_Enable;
105uint8_tACPI_Disable;
106uint8_tS4BIOS_Command;
107uint8_tPState_Control;
108uint32_tPM1A_Event_Block_Address;
109uint32_tPM1B_Event_Block_Address;
110uint32_tPM1A_Control_Block_Address;
111uint32_tPM1B_Control_Block_Address;
112uint32_tPM2_Control_Block_Address;
113uint32_tPM_Timer_Block_Address;
114uint32_tGPE0_Block_Address;
115uint32_tGPE1_Block_Address;
116uint8_tPM1_Event_Block_Length;
117uint8_tPM1_Control_Block_Length;
118uint8_tPM2_Control_Block_Length;
119uint8_tPM_Timer_Block_Length;
120uint8_tGPE0_Block_Length;
121uint8_tGPE1_Block_Length;
122uint8_tGPE1_Base_Offset;
123uint8_tCST_Support;
124uint16_tC2_Latency;
125uint16_tC3_Latency;
126uint16_tCPU_Cache_Size;
127uint16_tCache_Flush_Stride;
128uint8_tDuty_Cycle_Offset;
129uint8_tDuty_Cycle_Width;
130uint8_tRTC_Day_Alarm_Index;
131uint8_tRTC_Month_Alarm_Index;
132uint8_tRTC_Century_Index;
133uint16_tBoot_Flags;
134uint8_tReserved0;
135/* Begin Asere */
136//Reset Fix
137uint32_t Flags;
138uint8_t Reset_SpaceID;
139uint8_t Reset_BitWidth;
140uint8_t Reset_BitOffset;
141uint8_t Reset_AccessWidth;
142uint64_t Reset_Address;
143uint8_t Reset_Value;
144uint8_t Reserved[3];
145
146uint64_t X_FIRMWARE_CTRL;
147uint64_t X_DSDT;
148/* End Asere */
149/*We absolutely don't care about theese fields*/
150uint8_tnotimp2[96];
151} __attribute__((packed));
152
153#endif /* !__LIBSAIO_ACPI_H */
154

Archive Download this file

Revision: 214