root / hw / acpi-dsdt.dsl @ c5d6edc3
History | View | Annotate | Download (15.5 kB)
1 | 6515b203 | bellard | /* |
---|---|---|---|
2 | 6515b203 | bellard | * QEMU ACPI DSDT ASL definition |
3 | 6515b203 | bellard | * |
4 | 6515b203 | bellard | * Copyright (c) 2006 Fabrice Bellard |
5 | 6515b203 | bellard | * |
6 | 6515b203 | bellard | * This library is free software; you can redistribute it and/or |
7 | 6515b203 | bellard | * modify it under the terms of the GNU Lesser General Public |
8 | 6515b203 | bellard | * License version 2 as published by the Free Software Foundation. |
9 | 6515b203 | bellard | * |
10 | 6515b203 | bellard | * This library is distributed in the hope that it will be useful, |
11 | 6515b203 | bellard | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | 6515b203 | bellard | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | 6515b203 | bellard | * Lesser General Public License for more details. |
14 | 6515b203 | bellard | * |
15 | 6515b203 | bellard | * You should have received a copy of the GNU Lesser General Public |
16 | 6515b203 | bellard | * License along with this library; if not, write to the Free Software |
17 | 6515b203 | bellard | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | 6515b203 | bellard | */ |
19 | 6515b203 | bellard | DefinitionBlock ( |
20 | 6515b203 | bellard | "acpi-dsdt.aml", // Output Filename |
21 | 6515b203 | bellard | "DSDT", // Signature |
22 | 6515b203 | bellard | 0x01, // DSDT Compliance Revision |
23 | 6515b203 | bellard | "QEMU", // OEMID |
24 | 6515b203 | bellard | "QEMUDSDT", // TABLE ID |
25 | 6515b203 | bellard | 0x1 // OEM Revision |
26 | 6515b203 | bellard | ) |
27 | 6515b203 | bellard | { |
28 | 6515b203 | bellard | Scope (\) |
29 | 6515b203 | bellard | { |
30 | 6515b203 | bellard | /* CMOS memory access */ |
31 | 6515b203 | bellard | OperationRegion (CMS, SystemIO, 0x70, 0x02) |
32 | 6515b203 | bellard | Field (CMS, ByteAcc, NoLock, Preserve) |
33 | 6515b203 | bellard | { |
34 | 6515b203 | bellard | CMSI, 8, |
35 | 6515b203 | bellard | CMSD, 8 |
36 | 6515b203 | bellard | } |
37 | 6515b203 | bellard | Method (CMRD, 1, NotSerialized) |
38 | 6515b203 | bellard | { |
39 | 6515b203 | bellard | Store (Arg0, CMSI) |
40 | 6515b203 | bellard | Store (CMSD, Local0) |
41 | 6515b203 | bellard | Return (Local0) |
42 | 6515b203 | bellard | } |
43 | 6515b203 | bellard | |
44 | 6515b203 | bellard | /* Debug Output */ |
45 | 6515b203 | bellard | OperationRegion (DBG, SystemIO, 0xb044, 0x04) |
46 | 6515b203 | bellard | Field (DBG, DWordAcc, NoLock, Preserve) |
47 | 6515b203 | bellard | { |
48 | 6515b203 | bellard | DBGL, 32, |
49 | 6515b203 | bellard | } |
50 | 6515b203 | bellard | } |
51 | 6515b203 | bellard | |
52 | 6515b203 | bellard | |
53 | 6515b203 | bellard | /* PCI Bus definition */ |
54 | 6515b203 | bellard | Scope(\_SB) { |
55 | 6515b203 | bellard | Device(PCI0) { |
56 | 6515b203 | bellard | Name (_HID, EisaId ("PNP0A03")) |
57 | 6515b203 | bellard | Name (_ADR, 0x00) |
58 | 6515b203 | bellard | Name (_UID, 1) |
59 | 6515b203 | bellard | Name(_PRT, Package() { |
60 | 6515b203 | bellard | /* PCI IRQ routing table, example from ACPI 2.0a specification, |
61 | 6515b203 | bellard | section 6.2.8.1 */ |
62 | 6515b203 | bellard | /* Note: we provide the same info as the PCI routing |
63 | 6515b203 | bellard | table of the Bochs BIOS */ |
64 | 6515b203 | bellard | |
65 | 6515b203 | bellard | // PCI Slot 0 |
66 | 6583391f | bellard | Package() {0x0000ffff, 0, LNKD, 0}, |
67 | 6583391f | bellard | Package() {0x0000ffff, 1, LNKA, 0}, |
68 | 6583391f | bellard | Package() {0x0000ffff, 2, LNKB, 0}, |
69 | 6583391f | bellard | Package() {0x0000ffff, 3, LNKC, 0}, |
70 | 6515b203 | bellard | |
71 | 6583391f | bellard | // PCI Slot 1 |
72 | 6583391f | bellard | Package() {0x0001ffff, 0, LNKA, 0}, |
73 | 6583391f | bellard | Package() {0x0001ffff, 1, LNKB, 0}, |
74 | 6583391f | bellard | Package() {0x0001ffff, 2, LNKC, 0}, |
75 | 6583391f | bellard | Package() {0x0001ffff, 3, LNKD, 0}, |
76 | 6583391f | bellard | |
77 | 6515b203 | bellard | // PCI Slot 2 |
78 | 6583391f | bellard | Package() {0x0002ffff, 0, LNKB, 0}, |
79 | 6583391f | bellard | Package() {0x0002ffff, 1, LNKC, 0}, |
80 | 6583391f | bellard | Package() {0x0002ffff, 2, LNKD, 0}, |
81 | 6583391f | bellard | Package() {0x0002ffff, 3, LNKA, 0}, |
82 | 6515b203 | bellard | |
83 | 6515b203 | bellard | // PCI Slot 3 |
84 | 6583391f | bellard | Package() {0x0003ffff, 0, LNKC, 0}, |
85 | 6583391f | bellard | Package() {0x0003ffff, 1, LNKD, 0}, |
86 | 6583391f | bellard | Package() {0x0003ffff, 2, LNKA, 0}, |
87 | 6583391f | bellard | Package() {0x0003ffff, 3, LNKB, 0}, |
88 | 6515b203 | bellard | |
89 | 6515b203 | bellard | // PCI Slot 4 |
90 | 6583391f | bellard | Package() {0x0004ffff, 0, LNKD, 0}, |
91 | 6583391f | bellard | Package() {0x0004ffff, 1, LNKA, 0}, |
92 | 6583391f | bellard | Package() {0x0004ffff, 2, LNKB, 0}, |
93 | 6583391f | bellard | Package() {0x0004ffff, 3, LNKC, 0}, |
94 | 6515b203 | bellard | |
95 | 6515b203 | bellard | // PCI Slot 5 |
96 | 6583391f | bellard | Package() {0x0005ffff, 0, LNKA, 0}, |
97 | 6583391f | bellard | Package() {0x0005ffff, 1, LNKB, 0}, |
98 | 6583391f | bellard | Package() {0x0005ffff, 2, LNKC, 0}, |
99 | 6583391f | bellard | Package() {0x0005ffff, 3, LNKD, 0}, |
100 | 6515b203 | bellard | }) |
101 | 6515b203 | bellard | |
102 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
103 | 6515b203 | bellard | { |
104 | 6515b203 | bellard | Name (MEMP, ResourceTemplate () |
105 | 6515b203 | bellard | { |
106 | 6515b203 | bellard | WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, |
107 | 6515b203 | bellard | 0x0000, // Address Space Granularity |
108 | 6515b203 | bellard | 0x0000, // Address Range Minimum |
109 | 6515b203 | bellard | 0x00FF, // Address Range Maximum |
110 | 6515b203 | bellard | 0x0000, // Address Translation Offset |
111 | 6515b203 | bellard | 0x0100, // Address Length |
112 | 6515b203 | bellard | ,, ) |
113 | 6515b203 | bellard | IO (Decode16, |
114 | 6515b203 | bellard | 0x0CF8, // Address Range Minimum |
115 | 6515b203 | bellard | 0x0CF8, // Address Range Maximum |
116 | 6515b203 | bellard | 0x01, // Address Alignment |
117 | 6515b203 | bellard | 0x08, // Address Length |
118 | 6515b203 | bellard | ) |
119 | 6515b203 | bellard | WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, |
120 | 6515b203 | bellard | 0x0000, // Address Space Granularity |
121 | 6515b203 | bellard | 0x0000, // Address Range Minimum |
122 | 6515b203 | bellard | 0x0CF7, // Address Range Maximum |
123 | 6515b203 | bellard | 0x0000, // Address Translation Offset |
124 | 6515b203 | bellard | 0x0CF8, // Address Length |
125 | 6515b203 | bellard | ,, , TypeStatic) |
126 | 6515b203 | bellard | WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, |
127 | 6515b203 | bellard | 0x0000, // Address Space Granularity |
128 | 6515b203 | bellard | 0x0D00, // Address Range Minimum |
129 | 6515b203 | bellard | 0xFFFF, // Address Range Maximum |
130 | 6515b203 | bellard | 0x0000, // Address Translation Offset |
131 | 6515b203 | bellard | 0xF300, // Address Length |
132 | 6515b203 | bellard | ,, , TypeStatic) |
133 | 6515b203 | bellard | DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, |
134 | 6515b203 | bellard | 0x00000000, // Address Space Granularity |
135 | 6515b203 | bellard | 0x000A0000, // Address Range Minimum |
136 | 6515b203 | bellard | 0x000BFFFF, // Address Range Maximum |
137 | 6515b203 | bellard | 0x00000000, // Address Translation Offset |
138 | 6515b203 | bellard | 0x00020000, // Address Length |
139 | 6515b203 | bellard | ,, , AddressRangeMemory, TypeStatic) |
140 | 6515b203 | bellard | DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite, |
141 | 6515b203 | bellard | 0x00000000, // Address Space Granularity |
142 | 6515b203 | bellard | 0x00000000, // Address Range Minimum |
143 | 6515b203 | bellard | 0xFEBFFFFF, // Address Range Maximum |
144 | 6515b203 | bellard | 0x00000000, // Address Translation Offset |
145 | 6515b203 | bellard | 0x00000000, // Address Length |
146 | 6515b203 | bellard | ,, MEMF, AddressRangeMemory, TypeStatic) |
147 | 6515b203 | bellard | }) |
148 | 6515b203 | bellard | CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MIN, PMIN) |
149 | 6515b203 | bellard | CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MAX, PMAX) |
150 | 6515b203 | bellard | CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._LEN, PLEN) |
151 | 6515b203 | bellard | /* compute available RAM */ |
152 | 6515b203 | bellard | Add(CMRD(0x34), ShiftLeft(CMRD(0x35), 8), Local0) |
153 | 6515b203 | bellard | ShiftLeft(Local0, 16, Local0) |
154 | 6515b203 | bellard | Add(Local0, 0x1000000, Local0) |
155 | 6515b203 | bellard | /* update field of last region */ |
156 | 6515b203 | bellard | Store(Local0, PMIN) |
157 | 6515b203 | bellard | Subtract (PMAX, PMIN, PLEN) |
158 | 6515b203 | bellard | Increment (PLEN) |
159 | 6515b203 | bellard | Return (MEMP) |
160 | 6515b203 | bellard | } |
161 | 6515b203 | bellard | } |
162 | 6515b203 | bellard | } |
163 | 6515b203 | bellard | |
164 | 6515b203 | bellard | /* PIIX3 ISA bridge */ |
165 | 6515b203 | bellard | Scope(\_SB.PCI0) { |
166 | 6515b203 | bellard | Device (ISA) { |
167 | 6515b203 | bellard | Name (_ADR, 0x00010000) |
168 | 6515b203 | bellard | |
169 | 6515b203 | bellard | /* PIIX PCI to ISA irq remapping */ |
170 | 6515b203 | bellard | OperationRegion (P40C, PCI_Config, 0x60, 0x04) |
171 | 6515b203 | bellard | |
172 | 6515b203 | bellard | |
173 | 6515b203 | bellard | /* Keyboard seems to be important for WinXP install */ |
174 | 6515b203 | bellard | Device (KBD) |
175 | 6515b203 | bellard | { |
176 | 6515b203 | bellard | Name (_HID, EisaId ("PNP0303")) |
177 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
178 | 6515b203 | bellard | { |
179 | 6515b203 | bellard | Return (0x0f) |
180 | 6515b203 | bellard | } |
181 | 6515b203 | bellard | |
182 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
183 | 6515b203 | bellard | { |
184 | 6515b203 | bellard | Name (TMP, ResourceTemplate () |
185 | 6515b203 | bellard | { |
186 | 6515b203 | bellard | IO (Decode16, |
187 | 6515b203 | bellard | 0x0060, // Address Range Minimum |
188 | 6515b203 | bellard | 0x0060, // Address Range Maximum |
189 | 6515b203 | bellard | 0x01, // Address Alignment |
190 | 6515b203 | bellard | 0x01, // Address Length |
191 | 6515b203 | bellard | ) |
192 | 6515b203 | bellard | IO (Decode16, |
193 | 6515b203 | bellard | 0x0064, // Address Range Minimum |
194 | 6515b203 | bellard | 0x0064, // Address Range Maximum |
195 | 6515b203 | bellard | 0x01, // Address Alignment |
196 | 6515b203 | bellard | 0x01, // Address Length |
197 | 6515b203 | bellard | ) |
198 | 6515b203 | bellard | IRQNoFlags () |
199 | 6515b203 | bellard | {1} |
200 | 6515b203 | bellard | }) |
201 | 6515b203 | bellard | Return (TMP) |
202 | 6515b203 | bellard | } |
203 | 6515b203 | bellard | } |
204 | 6515b203 | bellard | |
205 | 6515b203 | bellard | Device (MOU) |
206 | 6515b203 | bellard | { |
207 | 6515b203 | bellard | Name (_HID, EisaId ("PNP0F13")) |
208 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
209 | 6515b203 | bellard | { |
210 | 6515b203 | bellard | Return (0x0f) |
211 | 6515b203 | bellard | } |
212 | 6515b203 | bellard | |
213 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
214 | 6515b203 | bellard | { |
215 | 6515b203 | bellard | Name (TMP, ResourceTemplate () |
216 | 6515b203 | bellard | { |
217 | 6515b203 | bellard | IRQNoFlags () {12} |
218 | 6515b203 | bellard | }) |
219 | 6515b203 | bellard | Return (TMP) |
220 | 6515b203 | bellard | } |
221 | 6515b203 | bellard | } |
222 | 6515b203 | bellard | } |
223 | 6515b203 | bellard | } |
224 | 6515b203 | bellard | |
225 | 6515b203 | bellard | /* PCI IRQs */ |
226 | 6515b203 | bellard | Scope(\_SB) { |
227 | 6515b203 | bellard | Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) |
228 | 6515b203 | bellard | { |
229 | 6515b203 | bellard | PRQ0, 8, |
230 | 6515b203 | bellard | PRQ1, 8, |
231 | 6515b203 | bellard | PRQ2, 8, |
232 | 6515b203 | bellard | PRQ3, 8 |
233 | 6515b203 | bellard | } |
234 | 6515b203 | bellard | |
235 | 6515b203 | bellard | Device(LNKA){ |
236 | 6515b203 | bellard | Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link |
237 | 6515b203 | bellard | Name(_UID, 1) |
238 | 6515b203 | bellard | Name(_PRS, ResourceTemplate(){ |
239 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
240 | 6515b203 | bellard | {3,4,5,6,7,9,10,11,12} |
241 | 6515b203 | bellard | }) |
242 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
243 | 6515b203 | bellard | { |
244 | 6515b203 | bellard | Store (0x0B, Local0) |
245 | 6515b203 | bellard | If (And (0x80, PRQ0, Local1)) |
246 | 6515b203 | bellard | { |
247 | 6515b203 | bellard | Store (0x09, Local0) |
248 | 6515b203 | bellard | } |
249 | 6515b203 | bellard | Return (Local0) |
250 | 6515b203 | bellard | } |
251 | 6515b203 | bellard | Method (_DIS, 0, NotSerialized) |
252 | 6515b203 | bellard | { |
253 | 6515b203 | bellard | Or (PRQ0, 0x80, PRQ0) |
254 | 6515b203 | bellard | } |
255 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
256 | 6515b203 | bellard | { |
257 | 6515b203 | bellard | Name (PRR0, ResourceTemplate () |
258 | 6515b203 | bellard | { |
259 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
260 | 6515b203 | bellard | {1} |
261 | 6515b203 | bellard | }) |
262 | 6515b203 | bellard | CreateWordField (PRR0, 0x01, TMP) |
263 | 6515b203 | bellard | Store (PRQ0, Local0) |
264 | 6515b203 | bellard | If (LLess (Local0, 0x80)) |
265 | 6515b203 | bellard | { |
266 | 6515b203 | bellard | ShiftLeft (One, Local0, TMP) |
267 | 6515b203 | bellard | } |
268 | 6515b203 | bellard | Else |
269 | 6515b203 | bellard | { |
270 | 6515b203 | bellard | Store (Zero, TMP) |
271 | 6515b203 | bellard | } |
272 | 6515b203 | bellard | Return (PRR0) |
273 | 6515b203 | bellard | } |
274 | 6515b203 | bellard | Method (_SRS, 1, NotSerialized) |
275 | 6515b203 | bellard | { |
276 | 6515b203 | bellard | CreateWordField (Arg0, 0x01, TMP) |
277 | 6515b203 | bellard | FindSetRightBit (TMP, Local0) |
278 | 6515b203 | bellard | Decrement (Local0) |
279 | 6515b203 | bellard | Store (Local0, PRQ0) |
280 | 6515b203 | bellard | } |
281 | 6515b203 | bellard | } |
282 | 6515b203 | bellard | Device(LNKB){ |
283 | 6515b203 | bellard | Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link |
284 | 6515b203 | bellard | Name(_UID, 2) |
285 | 6515b203 | bellard | Name(_PRS, ResourceTemplate(){ |
286 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
287 | 6515b203 | bellard | {3,4,5,6,7,9,10,11,12} |
288 | 6515b203 | bellard | }) |
289 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
290 | 6515b203 | bellard | { |
291 | 6515b203 | bellard | Store (0x0B, Local0) |
292 | 6515b203 | bellard | If (And (0x80, PRQ1, Local1)) |
293 | 6515b203 | bellard | { |
294 | 6515b203 | bellard | Store (0x09, Local0) |
295 | 6515b203 | bellard | } |
296 | 6515b203 | bellard | Return (Local0) |
297 | 6515b203 | bellard | } |
298 | 6515b203 | bellard | Method (_DIS, 0, NotSerialized) |
299 | 6515b203 | bellard | { |
300 | 6515b203 | bellard | Or (PRQ1, 0x80, PRQ1) |
301 | 6515b203 | bellard | } |
302 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
303 | 6515b203 | bellard | { |
304 | 6515b203 | bellard | Name (PRR0, ResourceTemplate () |
305 | 6515b203 | bellard | { |
306 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
307 | 6515b203 | bellard | {1} |
308 | 6515b203 | bellard | }) |
309 | 6515b203 | bellard | CreateWordField (PRR0, 0x01, TMP) |
310 | 6515b203 | bellard | Store (PRQ1, Local0) |
311 | 6515b203 | bellard | If (LLess (Local0, 0x80)) |
312 | 6515b203 | bellard | { |
313 | 6515b203 | bellard | ShiftLeft (One, Local0, TMP) |
314 | 6515b203 | bellard | } |
315 | 6515b203 | bellard | Else |
316 | 6515b203 | bellard | { |
317 | 6515b203 | bellard | Store (Zero, TMP) |
318 | 6515b203 | bellard | } |
319 | 6515b203 | bellard | Return (PRR0) |
320 | 6515b203 | bellard | } |
321 | 6515b203 | bellard | Method (_SRS, 1, NotSerialized) |
322 | 6515b203 | bellard | { |
323 | 6515b203 | bellard | CreateWordField (Arg0, 0x01, TMP) |
324 | 6515b203 | bellard | FindSetRightBit (TMP, Local0) |
325 | 6515b203 | bellard | Decrement (Local0) |
326 | 6515b203 | bellard | Store (Local0, PRQ1) |
327 | 6515b203 | bellard | } |
328 | 6515b203 | bellard | } |
329 | 6515b203 | bellard | Device(LNKC){ |
330 | 6515b203 | bellard | Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link |
331 | 6515b203 | bellard | Name(_UID, 3) |
332 | 6515b203 | bellard | Name(_PRS, ResourceTemplate(){ |
333 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
334 | 6515b203 | bellard | {3,4,5,6,7,9,10,11,12} |
335 | 6515b203 | bellard | }) |
336 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
337 | 6515b203 | bellard | { |
338 | 6515b203 | bellard | Store (0x0B, Local0) |
339 | 6515b203 | bellard | If (And (0x80, PRQ2, Local1)) |
340 | 6515b203 | bellard | { |
341 | 6515b203 | bellard | Store (0x09, Local0) |
342 | 6515b203 | bellard | } |
343 | 6515b203 | bellard | Return (Local0) |
344 | 6515b203 | bellard | } |
345 | 6515b203 | bellard | Method (_DIS, 0, NotSerialized) |
346 | 6515b203 | bellard | { |
347 | 6515b203 | bellard | Or (PRQ2, 0x80, PRQ2) |
348 | 6515b203 | bellard | } |
349 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
350 | 6515b203 | bellard | { |
351 | 6515b203 | bellard | Name (PRR0, ResourceTemplate () |
352 | 6515b203 | bellard | { |
353 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
354 | 6515b203 | bellard | {1} |
355 | 6515b203 | bellard | }) |
356 | 6515b203 | bellard | CreateWordField (PRR0, 0x01, TMP) |
357 | 6515b203 | bellard | Store (PRQ2, Local0) |
358 | 6515b203 | bellard | If (LLess (Local0, 0x80)) |
359 | 6515b203 | bellard | { |
360 | 6515b203 | bellard | ShiftLeft (One, Local0, TMP) |
361 | 6515b203 | bellard | } |
362 | 6515b203 | bellard | Else |
363 | 6515b203 | bellard | { |
364 | 6515b203 | bellard | Store (Zero, TMP) |
365 | 6515b203 | bellard | } |
366 | 6515b203 | bellard | Return (PRR0) |
367 | 6515b203 | bellard | } |
368 | 6515b203 | bellard | Method (_SRS, 1, NotSerialized) |
369 | 6515b203 | bellard | { |
370 | 6515b203 | bellard | CreateWordField (Arg0, 0x01, TMP) |
371 | 6515b203 | bellard | FindSetRightBit (TMP, Local0) |
372 | 6515b203 | bellard | Decrement (Local0) |
373 | 6515b203 | bellard | Store (Local0, PRQ2) |
374 | 6515b203 | bellard | } |
375 | 6515b203 | bellard | } |
376 | 6515b203 | bellard | Device(LNKD){ |
377 | 6515b203 | bellard | Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link |
378 | 6515b203 | bellard | Name(_UID, 4) |
379 | 6515b203 | bellard | Name(_PRS, ResourceTemplate(){ |
380 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
381 | 6515b203 | bellard | {3,4,5,6,7,9,10,11,12} |
382 | 6515b203 | bellard | }) |
383 | 6515b203 | bellard | Method (_STA, 0, NotSerialized) |
384 | 6515b203 | bellard | { |
385 | 6515b203 | bellard | Store (0x0B, Local0) |
386 | 6515b203 | bellard | If (And (0x80, PRQ3, Local1)) |
387 | 6515b203 | bellard | { |
388 | 6515b203 | bellard | Store (0x09, Local0) |
389 | 6515b203 | bellard | } |
390 | 6515b203 | bellard | Return (Local0) |
391 | 6515b203 | bellard | } |
392 | 6515b203 | bellard | Method (_DIS, 0, NotSerialized) |
393 | 6515b203 | bellard | { |
394 | 6515b203 | bellard | Or (PRQ3, 0x80, PRQ3) |
395 | 6515b203 | bellard | } |
396 | 6515b203 | bellard | Method (_CRS, 0, NotSerialized) |
397 | 6515b203 | bellard | { |
398 | 6515b203 | bellard | Name (PRR0, ResourceTemplate () |
399 | 6515b203 | bellard | { |
400 | 6515b203 | bellard | IRQ (Level, ActiveLow, Shared) |
401 | 6515b203 | bellard | {1} |
402 | 6515b203 | bellard | }) |
403 | 6515b203 | bellard | CreateWordField (PRR0, 0x01, TMP) |
404 | 6515b203 | bellard | Store (PRQ3, Local0) |
405 | 6515b203 | bellard | If (LLess (Local0, 0x80)) |
406 | 6515b203 | bellard | { |
407 | 6515b203 | bellard | ShiftLeft (One, Local0, TMP) |
408 | 6515b203 | bellard | } |
409 | 6515b203 | bellard | Else |
410 | 6515b203 | bellard | { |
411 | 6515b203 | bellard | Store (Zero, TMP) |
412 | 6515b203 | bellard | } |
413 | 6515b203 | bellard | Return (PRR0) |
414 | 6515b203 | bellard | } |
415 | 6515b203 | bellard | Method (_SRS, 1, NotSerialized) |
416 | 6515b203 | bellard | { |
417 | 6515b203 | bellard | CreateWordField (Arg0, 0x01, TMP) |
418 | 6515b203 | bellard | FindSetRightBit (TMP, Local0) |
419 | 6515b203 | bellard | Decrement (Local0) |
420 | 6515b203 | bellard | Store (Local0, PRQ3) |
421 | 6515b203 | bellard | } |
422 | 6515b203 | bellard | } |
423 | 6515b203 | bellard | } |
424 | 6515b203 | bellard | |
425 | 6515b203 | bellard | /* S5 = power off state */ |
426 | 6515b203 | bellard | Name (_S5, Package (4) { |
427 | 6515b203 | bellard | 0x00, // PM1a_CNT.SLP_TYP |
428 | 6515b203 | bellard | 0x00, // PM2a_CNT.SLP_TYP |
429 | 6515b203 | bellard | 0x00, // reserved |
430 | 6515b203 | bellard | 0x00, // reserved |
431 | 6515b203 | bellard | }) |
432 | 6515b203 | bellard | } |