grammar.asl revision 1.1.1.8 1 1.1 jruoho /*
2 1.1.1.7 christos * Some or all of this work - Copyright (c) 2006 - 2017, Intel Corp.
3 1.1 jruoho * All rights reserved.
4 1.1 jruoho *
5 1.1 jruoho * Redistribution and use in source and binary forms, with or without modification,
6 1.1 jruoho * are permitted provided that the following conditions are met:
7 1.1 jruoho *
8 1.1 jruoho * Redistributions of source code must retain the above copyright notice,
9 1.1 jruoho * this list of conditions and the following disclaimer.
10 1.1 jruoho * Redistributions in binary form must reproduce the above copyright notice,
11 1.1 jruoho * this list of conditions and the following disclaimer in the documentation
12 1.1 jruoho * and/or other materials provided with the distribution.
13 1.1 jruoho * Neither the name of Intel Corporation nor the names of its contributors
14 1.1 jruoho * may be used to endorse or promote products derived from this software
15 1.1 jruoho * without specific prior written permission.
16 1.1 jruoho *
17 1.1 jruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 1.1 jruoho * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 1.1 jruoho * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 1.1 jruoho * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 1.1 jruoho * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 1.1 jruoho * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 1.1 jruoho * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 1.1 jruoho * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 1.1 jruoho * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 1.1 jruoho * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 1.1 jruoho */
28 1.1 jruoho
29 1.1 jruoho //
30 1.1 jruoho //
31 1.1 jruoho // Grammar.asl - Minimally excercises most ASL constructs
32 1.1 jruoho //
33 1.1 jruoho // NOTE -- use: iasl -f -of grammar.asl to compile
34 1.1 jruoho //
35 1.1 jruoho // This 1) Ignores errors (checks compiler error handling)
36 1.1 jruoho // 2) Disables constant folding
37 1.1 jruoho //
38 1.1 jruoho //
39 1.1 jruoho
40 1.1 jruoho /*******************************************************************************
41 1.1 jruoho Compilation should look like this:
42 1.1 jruoho
43 1.1 jruoho C:\acpica\tests\misc>iasl -f -of grammar.asl
44 1.1 jruoho
45 1.1 jruoho Intel ACPI Component Architecture
46 1.1 jruoho ASL Optimizing Compiler version 20090422 [Apr 22 2009]
47 1.1 jruoho Copyright (C) 2000 - 2009 Intel Corporation
48 1.1 jruoho Supports ACPI Specification Revision 3.0a
49 1.1 jruoho
50 1.1 jruoho grammar.asl 187: Name (_NPK, Package (8)
51 1.1 jruoho Warning 1098 - ^ Unknown reserved name (_NPK)
52 1.1 jruoho
53 1.1 jruoho grammar.asl 510: NAME (ESC1, "abcdefg\x00hijklmn")
54 1.1 jruoho Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
55 1.1 jruoho
56 1.1 jruoho grammar.asl 511: NAME (ESC2, "abcdefg\000hijklmn")
57 1.1 jruoho Warning 1042 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
58 1.1 jruoho
59 1.1 jruoho grammar.asl 601: Method (RCIV, 1)
60 1.1 jruoho Warning 1087 - ^ Not all control paths return a value (RCIV)
61 1.1 jruoho
62 1.1 jruoho grammar.asl 608: RCIV (Subtract (Arg0, 1))
63 1.1 jruoho Remark 5073 - ^ Recursive method call (RCIV)
64 1.1 jruoho
65 1.1 jruoho grammar.asl 937: Method (_ERR, 2)
66 1.1 jruoho Warning 1077 - ^ Reserved method has too few arguments (_ERR requires 3)
67 1.1 jruoho
68 1.1 jruoho grammar.asl 1377: Store (0x1234567887654321, QWD2)
69 1.1 jruoho Warning 1032 - ^ 64-bit integer in 32-bit table, truncating
70 1.1 jruoho
71 1.1 jruoho grammar.asl 1379: if (LNotEqual (Local0, 0x1234567887654321))
72 1.1 jruoho Warning 1032 - 64-bit integer in 32-bit table, truncating ^
73 1.1 jruoho
74 1.1 jruoho grammar.asl 1459: SizeOf (BUFO)
75 1.1 jruoho Warning 1105 - ^ Result is not used, operator has no effect
76 1.1 jruoho
77 1.1 jruoho grammar.asl 1485: Acquire (MTX2, 1)
78 1.1 jruoho Warning 1104 - ^ Possible operator timeout is ignored
79 1.1 jruoho
80 1.1 jruoho grammar.asl 1633: Add (Local0, Local1)
81 1.1 jruoho Warning 1105 - ^ Result is not used, operator has no effect
82 1.1 jruoho
83 1.1 jruoho grammar.asl 1804: Method (COND)
84 1.1 jruoho Warning 1087 - ^ Not all control paths return a value (COND)
85 1.1 jruoho
86 1.1 jruoho grammar.asl 6010: Name (_HID, "*PNP0A06")
87 1.1 jruoho Error 4001 - ^ String must be entirely alphanumeric (*PNP0A06)
88 1.1 jruoho
89 1.1 jruoho grammar.asl 6461: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
90 1.1 jruoho Warning 1038 - Invalid or unknown escape sequence ^
91 1.1 jruoho
92 1.1 jruoho grammar.asl 6800: And (Local0, 1, Local0) // Local0 &= 1
93 1.1 jruoho Error 4050 - ^ Method local variable is not initialized (Local0)
94 1.1 jruoho
95 1.1 jruoho grammar.asl 6886: Name (_HID, "*PNP0C0A") // Control Method Battey ID
96 1.1 jruoho Error 4001 - ^ String must be entirely alphanumeric (*PNP0C0A)
97 1.1 jruoho
98 1.1 jruoho ASL Input: grammar.asl - 10254 lines, 322162 bytes, 4810 keywords
99 1.1 jruoho AML Output: grammar.aml - 43392 bytes, 669 named objects, 4141 executable opcodes
100 1.1 jruoho
101 1.1 jruoho Compilation complete. 3 Errors, 12 Warnings, 1 Remarks, 1101 Optimizations
102 1.1 jruoho
103 1.1 jruoho ***************************************************************************************************/
104 1.1 jruoho
105 1.1 jruoho DefinitionBlock (
106 1.1 jruoho "grammar.aml", //Output filename
107 1.1 jruoho "DSDT", //Signature
108 1.1 jruoho 0x01, //DSDT Revision ---> 32-bit table
109 1.1 jruoho "Intel", //OEMID
110 1.1 jruoho "GRMTEST", //TABLE ID
111 1.1 jruoho 0x20090511 //OEM Revision
112 1.1 jruoho )
113 1.1 jruoho {
114 1.1 jruoho
115 1.1 jruoho External (\ABCD, UnknownObj)
116 1.1 jruoho
117 1.1 jruoho
118 1.1 jruoho /* Device with _STA and _INI */
119 1.1 jruoho
120 1.1 jruoho Device (A1)
121 1.1 jruoho {
122 1.1 jruoho Method (_STA)
123 1.1 jruoho {
124 1.1 jruoho Return (0x0F)
125 1.1 jruoho }
126 1.1 jruoho
127 1.1 jruoho Method (_INI)
128 1.1 jruoho {
129 1.1 jruoho Return
130 1.1 jruoho }
131 1.1 jruoho }
132 1.1 jruoho
133 1.1 jruoho /* Device with no _STA, has _INI */
134 1.1 jruoho
135 1.1 jruoho Device (A2)
136 1.1 jruoho {
137 1.1 jruoho Method (_INI)
138 1.1 jruoho {
139 1.1 jruoho Return
140 1.1 jruoho }
141 1.1 jruoho }
142 1.1 jruoho
143 1.1 jruoho /* Device with _STA, no _INI */
144 1.1 jruoho
145 1.1 jruoho Device (A3)
146 1.1 jruoho {
147 1.1 jruoho Method (_STA)
148 1.1 jruoho {
149 1.1 jruoho Return (0x0F)
150 1.1 jruoho }
151 1.1 jruoho }
152 1.1 jruoho
153 1.1 jruoho /* Device with _STA and _INI, but not present */
154 1.1 jruoho
155 1.1 jruoho Device (A4)
156 1.1 jruoho {
157 1.1 jruoho Method (_STA)
158 1.1 jruoho {
159 1.1 jruoho Return (Zero)
160 1.1 jruoho }
161 1.1 jruoho
162 1.1 jruoho Method (_INI)
163 1.1 jruoho {
164 1.1 jruoho Return
165 1.1 jruoho }
166 1.1 jruoho }
167 1.1 jruoho
168 1.1 jruoho
169 1.1 jruoho /* Resource descriptors */
170 1.1 jruoho
171 1.1 jruoho Device (IRES)
172 1.1 jruoho {
173 1.1 jruoho Name (PRT0, ResourceTemplate ()
174 1.1 jruoho {
175 1.1 jruoho IRQ (Edge, ActiveHigh, Exclusive) {3,4,5,6,7,9,10,11,14,15}
176 1.1 jruoho
177 1.1 jruoho StartDependentFn (1,1)
178 1.1 jruoho {
179 1.1 jruoho IRQNoFlags () {0,1,2}
180 1.1 jruoho }
181 1.1 jruoho EndDependentFn ()
182 1.1 jruoho })
183 1.1 jruoho
184 1.1 jruoho Method (_CRS, 0, NotSerialized)
185 1.1 jruoho {
186 1.1 jruoho Store ("_CRS:", Debug)
187 1.1 jruoho Store (PRT0, Debug)
188 1.1 jruoho Return (PRT0)
189 1.1 jruoho }
190 1.1 jruoho
191 1.1 jruoho Method (_SRS, 1, Serialized)
192 1.1 jruoho {
193 1.1 jruoho Store ("_SRS:", Debug)
194 1.1 jruoho Store (Arg0, Debug)
195 1.1 jruoho Return (Zero)
196 1.1 jruoho }
197 1.1 jruoho }
198 1.1 jruoho
199 1.1 jruoho Name (_NPK, Package ()
200 1.1 jruoho {
201 1.1 jruoho 0x1111,
202 1.1 jruoho 0x2222,
203 1.1 jruoho 0x3333,
204 1.1 jruoho 0x4444
205 1.1 jruoho })
206 1.1 jruoho
207 1.1 jruoho
208 1.1 jruoho Device (RES)
209 1.1 jruoho {
210 1.1 jruoho Name (_PRT, Package (0x04)
211 1.1 jruoho {
212 1.1 jruoho Package (0x04)
213 1.1 jruoho {
214 1.1 jruoho 0x0002FFFF,
215 1.1 jruoho Zero,
216 1.1 jruoho Zero,
217 1.1 jruoho Zero
218 1.1 jruoho },
219 1.1 jruoho
220 1.1 jruoho Package (0x04)
221 1.1 jruoho {
222 1.1 jruoho 0x0002FFFF,
223 1.1 jruoho One,
224 1.1 jruoho Zero,
225 1.1 jruoho Zero
226 1.1 jruoho },
227 1.1 jruoho
228 1.1 jruoho Package (0x04)
229 1.1 jruoho {
230 1.1 jruoho 0x000AFFFF,
231 1.1 jruoho Zero,
232 1.1 jruoho Zero,
233 1.1 jruoho Zero
234 1.1 jruoho },
235 1.1 jruoho
236 1.1 jruoho Package (0x04)
237 1.1 jruoho {
238 1.1 jruoho 0x000BFFFF,
239 1.1 jruoho Zero,
240 1.1 jruoho Zero,
241 1.1 jruoho Zero
242 1.1 jruoho }
243 1.1 jruoho })
244 1.1 jruoho
245 1.1.1.3 christos Method (_CRS, 0, Serialized)
246 1.1 jruoho {
247 1.1 jruoho Name (PRT0, ResourceTemplate ()
248 1.1 jruoho {
249 1.1 jruoho WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
250 1.1 jruoho 0x0000, // Address Space Granularity
251 1.1 jruoho 0xFFF2, // Address Range Minimum
252 1.1 jruoho 0xFFF3, // Address Range Maximum
253 1.1 jruoho 0x0032, // Address Translation Offset
254 1.1 jruoho 0x0002,,,)
255 1.1 jruoho WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
256 1.1 jruoho 0x0000, // Address Space Granularity
257 1.1 jruoho 0x0000, // Address Range Minimum
258 1.1 jruoho 0x00FF, // Address Range Maximum
259 1.1 jruoho 0x0000, // Address Translation Offset
260 1.1 jruoho 0x0100,,,)
261 1.1 jruoho WordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
262 1.1 jruoho 0x0000, // Address Space Granularity
263 1.1 jruoho 0xA000, // Address Range Minimum
264 1.1 jruoho 0xBFFF, // Address Range Maximum
265 1.1 jruoho 0x0000, // Address Translation Offset
266 1.1 jruoho 0x2000,,,)
267 1.1 jruoho IO (Decode16, 0x0CF8, 0x0CFF, 0x01, 0x08)
268 1.1 jruoho WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
269 1.1 jruoho 0x0000, // Address Space Granularity
270 1.1 jruoho 0x0000, // Address Range Minimum
271 1.1 jruoho 0x0CF7, // Address Range Maximum
272 1.1 jruoho 0x0000, // Address Translation Offset
273 1.1 jruoho 0x0CF8,,,
274 1.1 jruoho , TypeStatic)
275 1.1 jruoho WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
276 1.1 jruoho 0x0000, // Address Space Granularity
277 1.1 jruoho 0x0D00, // Address Range Minimum
278 1.1 jruoho 0xFFFF, // Address Range Maximum
279 1.1 jruoho 0x0000, // Address Translation Offset
280 1.1 jruoho 0xF300,,,
281 1.1 jruoho , TypeStatic)
282 1.1 jruoho DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
283 1.1 jruoho 0x00000000, // Address Space Granularity
284 1.1 jruoho 0x00000000, // Address Range Minimum
285 1.1 jruoho 0x00000CF7, // Address Range Maximum
286 1.1 jruoho 0x00000000, // Address Translation Offset
287 1.1 jruoho 0x00000CF8,,,
288 1.1 jruoho , TypeStatic)
289 1.1 jruoho DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
290 1.1 jruoho 0x00000000, // Address Space Granularity
291 1.1 jruoho 0x000C8000, // Address Range Minimum
292 1.1 jruoho 0x000EFFFF, // Address Range Maximum
293 1.1 jruoho 0x00000000, // Address Translation Offset
294 1.1 jruoho 0x00028000,,,
295 1.1 jruoho , AddressRangeMemory, TypeStatic)
296 1.1 jruoho DWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
297 1.1 jruoho 0x00000000, // Address Space Granularity
298 1.1 jruoho 0x000C8000, // Address Range Minimum
299 1.1 jruoho 0x000EFFFF, // Address Range Maximum
300 1.1 jruoho 0x00000000, // Address Translation Offset
301 1.1 jruoho 0x00028000,,,)
302 1.1 jruoho QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
303 1.1 jruoho 0x0000000000000000, // Address Space Granularity
304 1.1 jruoho 0x0000000000000000, // Address Range Minimum
305 1.1 jruoho 0x0000000000000CF7, // Address Range Maximum
306 1.1 jruoho 0x0000000000000000, // Address Translation Offset
307 1.1 jruoho 0x0000000000000CF8, 0x44, "This is a ResouceSource string",
308 1.1 jruoho , TypeStatic)
309 1.1 jruoho QWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
310 1.1 jruoho 0x0000000000000000, // Address Space Granularity
311 1.1 jruoho 0x0000000000000000, // Address Range Minimum
312 1.1 jruoho 0x0000000000000CF7, // Address Range Maximum
313 1.1 jruoho 0x0000000000000000, // Address Translation Offset
314 1.1 jruoho 0x0000000000000CF8,,,
315 1.1 jruoho , TypeStatic)
316 1.1 jruoho QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
317 1.1 jruoho 0x0000000000000000, // Address Space Granularity
318 1.1 jruoho 0x0000000000100000, // Address Range Minimum
319 1.1 jruoho 0x00000000FFDFFFFF, // Address Range Maximum
320 1.1 jruoho 0x0000000000000000, // Address Translation Offset
321 1.1 jruoho 0x00000000FFD00000,,,
322 1.1 jruoho , AddressRangeMemory, TypeStatic)
323 1.1 jruoho QWordSpace (0xC3, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
324 1.1 jruoho 0x0000000000000000, // Address Space Granularity
325 1.1 jruoho 0x0000000000000000, // Address Range Minimum
326 1.1 jruoho 0x0000000000000CF7, // Address Range Maximum
327 1.1 jruoho 0x0000000000000000, // Address Translation Offset
328 1.1 jruoho 0x0000000000000CF8,,,)
329 1.1 jruoho ExtendedIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
330 1.1 jruoho 0x0000000000000000, // Address Space Granularity
331 1.1 jruoho 0x0000000000000000, // Address Range Minimum
332 1.1 jruoho 0x0000000000000CF7, // Address Range Maximum
333 1.1 jruoho 0x0000000000000000, // Address Translation Offset
334 1.1 jruoho 0x0000000000000CF8, // Address Length
335 1.1 jruoho 0x0000000000000000, // Type Specific Attributes
336 1.1 jruoho , TypeStatic)
337 1.1 jruoho ExtendedMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
338 1.1 jruoho 0x0000000000000000, // Address Space Granularity
339 1.1 jruoho 0x0000000000100000, // Address Range Minimum
340 1.1 jruoho 0x00000000FFDFFFFF, // Address Range Maximum
341 1.1 jruoho 0x0000000000000000, // Address Translation Offset
342 1.1 jruoho 0x00000000FFD00000, // Address Length
343 1.1 jruoho 0x0000000000000000, // Type Specific Attributes
344 1.1 jruoho , AddressRangeMemory, TypeStatic)
345 1.1 jruoho ExtendedSpace (0xC3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0xA3,
346 1.1 jruoho 0x0000000000000000, // Address Space Granularity
347 1.1 jruoho 0x0000000000100000, // Address Range Minimum
348 1.1 jruoho 0x00000000FFDFFFFF, // Address Range Maximum
349 1.1 jruoho 0x0000000000000000, // Address Translation Offset
350 1.1 jruoho 0x00000000FFD00000, // Address Length
351 1.1 jruoho 0x0000000000000000) // Type Specific Attributes
352 1.1 jruoho IO (Decode16, 0x0010, 0x0020, 0x01, 0x10)
353 1.1 jruoho IO (Decode16, 0x0090, 0x00A0, 0x01, 0x10)
354 1.1 jruoho FixedIO (0x0061, 0x01)
355 1.1 jruoho IRQNoFlags () {2}
356 1.1 jruoho DMA (Compatibility, BusMaster, Transfer8_16) {4}
357 1.1 jruoho DMA (Compatibility, BusMaster, Transfer8) {2,5,7}
358 1.1 jruoho Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
359 1.1 jruoho Memory32Fixed (ReadOnly, 0xFFFE0000, 0x00020000)
360 1.1 jruoho Memory32 (ReadOnly, 0x00020000, 0xFFFE0000, 0x00000004, 0x00000200)
361 1.1 jruoho Memory24 (ReadOnly, 0x1111, 0x2222, 0x0004, 0x0200)
362 1.1 jruoho Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, 0xE, "\\_SB_.TEST")
363 1.1 jruoho {
364 1.1 jruoho 0x00000E01,
365 1.1 jruoho }
366 1.1 jruoho Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0x6, "xxxx")
367 1.1 jruoho {
368 1.1 jruoho 0x00000601,
369 1.1 jruoho 0x00000003,
370 1.1 jruoho 0x00000002,
371 1.1 jruoho 0x00000001,
372 1.1 jruoho }
373 1.1 jruoho Interrupt (ResourceProducer, Edge, ActiveHigh, Exclusive)
374 1.1 jruoho {
375 1.1 jruoho 0xFFFF0000,
376 1.1 jruoho 0x00000003,
377 1.1 jruoho 0x00000002,
378 1.1 jruoho 0x00000001,
379 1.1 jruoho 0x00000005,
380 1.1 jruoho 0x00000007,
381 1.1 jruoho 0x00000009,
382 1.1 jruoho }
383 1.1 jruoho VendorShort () {0x01, 0x02, 0x03}
384 1.1 jruoho VendorLong ()
385 1.1 jruoho {
386 1.1 jruoho 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
387 1.1 jruoho 0x09
388 1.1 jruoho }
389 1.1 jruoho Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
390 1.1 jruoho Register (SystemMemory, 0x08, 0x00, 0x00000000000000B2)
391 1.1 jruoho StartDependentFnNoPri ()
392 1.1 jruoho {
393 1.1 jruoho IRQNoFlags () {0,1,2}
394 1.1 jruoho IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,14,15}
395 1.1 jruoho }
396 1.1 jruoho EndDependentFn ()
397 1.1 jruoho })
398 1.1 jruoho CreateWordField (PRT0, 0x08, BMIN)
399 1.1 jruoho CreateByteField (PRT0, R000._ASZ, RSIZ)
400 1.1 jruoho Store (0x03, BMIN)
401 1.1 jruoho Return (PRT0)
402 1.1 jruoho }
403 1.1 jruoho
404 1.1.1.3 christos Method (_PRS, 0, Serialized)
405 1.1 jruoho {
406 1.1 jruoho Name (BUF0, ResourceTemplate ()
407 1.1 jruoho {
408 1.1 jruoho StartDependentFn (0x01, 0x02)
409 1.1 jruoho {
410 1.1 jruoho IO (Decode16, 0x03D8, 0x03F8, 0x01, 0x08)
411 1.1 jruoho IRQNoFlags () {4}
412 1.1 jruoho }
413 1.1 jruoho StartDependentFn (0x02, 0x01)
414 1.1 jruoho {
415 1.1 jruoho IO (Decode16, 0x03D8, 0x03E8, 0x01, 0x08)
416 1.1 jruoho IRQNoFlags () {4}
417 1.1 jruoho }
418 1.1 jruoho StartDependentFn (0x00, 0x02)
419 1.1 jruoho {
420 1.1 jruoho IO (Decode16, 0x02E8, 0x02F8, 0x01, 0x08)
421 1.1 jruoho IRQNoFlags () {3}
422 1.1 jruoho }
423 1.1 jruoho StartDependentFn (0x00, 0x02)
424 1.1 jruoho {
425 1.1 jruoho IO (Decode16, 0x02D8, 0x02E8, 0x01, 0x08)
426 1.1 jruoho IRQNoFlags () {3}
427 1.1 jruoho }
428 1.1 jruoho StartDependentFn (0x02, 0x00)
429 1.1 jruoho {
430 1.1 jruoho IO (Decode16, 0x0100, 0x03F8, 0x08, 0x08)
431 1.1 jruoho IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15}
432 1.1 jruoho }
433 1.1 jruoho EndDependentFn ()
434 1.1 jruoho })
435 1.1 jruoho Return (BUF0)
436 1.1 jruoho }
437 1.1 jruoho
438 1.1 jruoho Method (_SRS, 1, Serialized)
439 1.1 jruoho {
440 1.1 jruoho Return (Zero)
441 1.1 jruoho }
442 1.1 jruoho }
443 1.1 jruoho
444 1.1 jruoho
445 1.1 jruoho Name(\_S0,Package(0x04){
446 1.1 jruoho 0x00,
447 1.1 jruoho 0x00,
448 1.1 jruoho 0x00,
449 1.1 jruoho 0x00
450 1.1 jruoho })
451 1.1 jruoho Name(\_S3,Package(0x04){
452 1.1 jruoho 0x05,
453 1.1 jruoho 0x05,
454 1.1 jruoho 0x00,
455 1.1 jruoho 0x00
456 1.1 jruoho })
457 1.1 jruoho Name(\_S4,Package(0x04){
458 1.1 jruoho 0x06,
459 1.1 jruoho 0x06,
460 1.1 jruoho 0x00,
461 1.1 jruoho 0x00
462 1.1 jruoho })
463 1.1 jruoho Name(\_S5,Package(0x04){
464 1.1 jruoho 0x07,
465 1.1 jruoho 0x07,
466 1.1 jruoho 0x00,
467 1.1 jruoho 0x00
468 1.1 jruoho })
469 1.1 jruoho
470 1.1 jruoho /* Examine this table header (DSDT) */
471 1.1 jruoho
472 1.1 jruoho /*
473 1.1 jruoho DataTableRegion (HDR, "DSDT", "", "")
474 1.1 jruoho Field (HDR, AnyAcc, NoLock, Preserve)
475 1.1 jruoho {
476 1.1 jruoho SIG, 32,
477 1.1 jruoho LENG, 32,
478 1.1 jruoho REV, 8,
479 1.1 jruoho SUM, 8,
480 1.1 jruoho OID, 48,
481 1.1 jruoho OTID, 64,
482 1.1 jruoho OREV, 32,
483 1.1 jruoho CID, 32,
484 1.1 jruoho CREV, 32
485 1.1 jruoho }
486 1.1 jruoho
487 1.1 jruoho Method (SIZE)
488 1.1 jruoho {
489 1.1 jruoho If (LLess (REV, 2))
490 1.1 jruoho {
491 1.1 jruoho Store ("32-bit table", Debug)
492 1.1 jruoho }
493 1.1 jruoho else
494 1.1 jruoho {
495 1.1 jruoho Store ("64-bit table", Debug)
496 1.1 jruoho }
497 1.1 jruoho Return (0)
498 1.1 jruoho }
499 1.1 jruoho
500 1.1 jruoho */
501 1.1 jruoho Name (SIZE, 0)
502 1.1 jruoho
503 1.1 jruoho /* Custom operation region */
504 1.1 jruoho
505 1.1 jruoho OperationRegion(MYOP,0x80,0xFD60,0x6)
506 1.1 jruoho Field(MYOP,ByteAcc,NoLock,Preserve)
507 1.1 jruoho {
508 1.1 jruoho MFLD,8
509 1.1 jruoho }
510 1.1 jruoho
511 1.1.1.3 christos Method (TCOP,, Serialized)
512 1.1 jruoho {
513 1.1 jruoho Name (_STR, Unicode ("test"))
514 1.1 jruoho Store (4, MFLD)
515 1.1 jruoho Store (MFLD, Local0)
516 1.1 jruoho }
517 1.1 jruoho
518 1.1 jruoho Name (ERRS, 0x0)
519 1.1 jruoho
520 1.1 jruoho /* Warning should be issued for premature string termination */
521 1.1 jruoho
522 1.1 jruoho NAME (ESC1, "abcdefg\x00hijklmn")
523 1.1 jruoho NAME (ESC2, "abcdefg\000hijklmn")
524 1.1 jruoho Name (ESC3, "abc\a\bdef\f\n\r\t\v\x03ffff\432")
525 1.1 jruoho
526 1.1 jruoho
527 1.1 jruoho Name(CRSA,ResourceTemplate()
528 1.1 jruoho {
529 1.1 jruoho WORDBusNumber(ResourceProducer,MinFixed,MaxFixed,PosDecode,0x0000,0x0019,0x001D,0x0000,0x0005)
530 1.1 jruoho WORDIO(ResourceProducer,MinFixed,MaxFixed,PosDecode,NonISAOnlyRanges,0x0000,0xC000,0xCFFF,0x0000,0x1000)
531 1.1 jruoho DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,NonCacheable,ReadWrite,0x00000000,0xD8000000,0xDBFFFFFF,0x00000000,0x04000000)
532 1.1 jruoho
533 1.1 jruoho })
534 1.1 jruoho Name(CRSB,ResourceTemplate()
535 1.1 jruoho {
536 1.1 jruoho DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,NonCacheable,ReadWrite,0x00000000,0xD8000000,0xDBFFFFFF,0x00000000,0x04000000)
537 1.1 jruoho
538 1.1 jruoho })
539 1.1 jruoho
540 1.1 jruoho Name(CRSC,ResourceTemplate()
541 1.1 jruoho {
542 1.1 jruoho VendorShort () {0x1, 0x2, 0x3}
543 1.1 jruoho })
544 1.1 jruoho Name(CRSD,ResourceTemplate()
545 1.1 jruoho {
546 1.1 jruoho VendorLong (VNDL) {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9}
547 1.1 jruoho })
548 1.1 jruoho
549 1.1 jruoho Name(CRSE,ResourceTemplate()
550 1.1 jruoho {
551 1.1 jruoho IRQNoFlags(){3,4,10,11}
552 1.1 jruoho IRQNoFlags(xxxt){3,4,10,11}
553 1.1 jruoho })
554 1.1 jruoho Name(CRSR, Buffer (Add (SizeOf(CRSA),SizeOf(CRSB))){})
555 1.1 jruoho Method(_CRS,0,NotSerialized)
556 1.1 jruoho {
557 1.1 jruoho Return(CRSR)
558 1.1 jruoho }
559 1.1 jruoho
560 1.1 jruoho
561 1.1 jruoho //
562 1.1 jruoho // Unnamed scope
563 1.1 jruoho //
564 1.1 jruoho Scope (\)
565 1.1 jruoho {
566 1.1 jruoho Name(Bxxx,0xFFFFFFFF)
567 1.1 jruoho }
568 1.1 jruoho
569 1.1 jruoho Name (LANS, 0x0)
570 1.1 jruoho
571 1.1 jruoho PowerResource(LANP,1,0)
572 1.1 jruoho {
573 1.1 jruoho Method(_STA){
574 1.1 jruoho If(LEqual(And(LANS,0x30),0x30)){
575 1.1 jruoho Return(One)
576 1.1 jruoho } Else {
577 1.1 jruoho Return(Zero)
578 1.1 jruoho }
579 1.1 jruoho }
580 1.1 jruoho Method(_ON){
581 1.1 jruoho If(LNot(_STA())){
582 1.1 jruoho Store (0x30, LANS)
583 1.1 jruoho }
584 1.1 jruoho }
585 1.1 jruoho Method(_OFF){
586 1.1 jruoho If(_STA()){
587 1.1 jruoho Store (0, LANS)
588 1.1 jruoho }
589 1.1 jruoho }
590 1.1 jruoho }
591 1.1 jruoho
592 1.1 jruoho
593 1.1 jruoho /* Can a method define another method? */
594 1.1 jruoho
595 1.1 jruoho /**********************************
596 1.1 jruoho Method (TASK, 2, SERIALIZED)
597 1.1 jruoho {
598 1.1 jruoho Sleep (100)
599 1.1 jruoho
600 1.1 jruoho Method (TAS2)
601 1.1 jruoho {
602 1.1 jruoho Sleep (100)
603 1.1 jruoho }
604 1.1 jruoho
605 1.1 jruoho TAS2()
606 1.1 jruoho Return
607 1.1 jruoho
608 1.1 jruoho }
609 1.1 jruoho ************************************/
610 1.1 jruoho
611 1.1 jruoho /* A recursive method */
612 1.1 jruoho
613 1.1 jruoho Method (RCIV, 1)
614 1.1 jruoho {
615 1.1 jruoho Store (Arg0, Debug)
616 1.1 jruoho If (Lequal (Arg0, 0))
617 1.1 jruoho {
618 1.1 jruoho Return ()
619 1.1 jruoho }
620 1.1 jruoho RCIV (Subtract (Arg0, 1))
621 1.1 jruoho }
622 1.1 jruoho
623 1.1 jruoho Method (RTOP)
624 1.1 jruoho {
625 1.1 jruoho RCIV (100)
626 1.1 jruoho }
627 1.1 jruoho
628 1.1 jruoho
629 1.1 jruoho Scope(\_PR)
630 1.1 jruoho {
631 1.1 jruoho Processor(CPU0,0x0,0xFFFFFFFF,0x0) {}
632 1.1 jruoho }
633 1.1 jruoho
634 1.1 jruoho Name(B1TP,0xFFFFFFFF)
635 1.1 jruoho
636 1.1 jruoho Name(B2TP,0xFFFFFFFF)
637 1.1 jruoho Name(ADPS,0xFFFFFFFF)
638 1.1 jruoho Name(B1PS,0xFFFFFFFF)
639 1.1 jruoho Name(B1RS,0xFFFFFFFF)
640 1.1 jruoho Name(B1CS,0xFFFFFFFF)
641 1.1 jruoho Name(B2PS,0xFFFFFFFF)
642 1.1 jruoho Name(B2RS,0xFFFFFFFF)
643 1.1 jruoho Name(B2CS,0xFFFFFFFF)
644 1.1 jruoho Name(B1DC,3000)
645 1.1 jruoho Name(B2DC,2600)
646 1.1 jruoho Name(B1LF,3000)
647 1.1 jruoho Name(B2LF,2600)
648 1.1 jruoho Name(BPIF,0)
649 1.1 jruoho Name(PBLL,0)
650 1.1 jruoho
651 1.1 jruoho Name(RBIF,Package()
652 1.1 jruoho {
653 1.1 jruoho 0x1,
654 1.1 jruoho 2200,
655 1.1 jruoho 2200,
656 1.1 jruoho 0x1,
657 1.1 jruoho 10800,
658 1.1 jruoho 0,
659 1.1 jruoho 0,
660 1.1 jruoho 1,
661 1.1 jruoho 1,
662 1.1 jruoho "CA54200-5003/5",
663 1.1 jruoho "1",
664 1.1 jruoho "LION",
665 1.1 jruoho "Fujitsu"
666 1.1 jruoho })
667 1.1 jruoho
668 1.1 jruoho Method(SMWE, 4)
669 1.1 jruoho {
670 1.1 jruoho return(ONES)
671 1.1 jruoho }
672 1.1 jruoho
673 1.1 jruoho Method(SMRE, 4)
674 1.1 jruoho {
675 1.1 jruoho return(ONES)
676 1.1 jruoho }
677 1.1 jruoho
678 1.1 jruoho /*
679 1.1 jruoho Method(RDBT,0,Serialized){
680 1.1 jruoho If(LNot(SMWE(0x09,0x15,1,1))){
681 1.1 jruoho Store(0x18,Local2)
682 1.1 jruoho }
683 1.1 jruoho }
684 1.1 jruoho */
685 1.1 jruoho Scope(_SB)
686 1.1 jruoho {
687 1.1 jruoho
688 1.1 jruoho Name (SBUF, Buffer (128) {})
689 1.1 jruoho
690 1.1 jruoho CreateBitField (SBUF, 3, BITY)
691 1.1 jruoho CreateByteField (SBUF, 1, BYTY)
692 1.1 jruoho CreateWordField (SBUF, 2, WRDZ)
693 1.1 jruoho CreateDwordField (SBUF, 4, DWDZ)
694 1.1 jruoho CreateQwordField (SBUF, 8, QWDZ)
695 1.1 jruoho CreateField (SBUF, 128, 12, FLDZ)
696 1.1 jruoho CreateField (SBUF, 148, 96, FLDY)
697 1.1 jruoho CreateField (SBUF, 148, 96, \_SB_.FLDW)
698 1.1 jruoho
699 1.1 jruoho Method (_INI)
700 1.1 jruoho {
701 1.1 jruoho CreateField (\_SB_.SBUF, 148, 96, FLDV)
702 1.1 jruoho }
703 1.1 jruoho
704 1.1 jruoho
705 1.1 jruoho Device(PCI0)
706 1.1 jruoho {
707 1.1 jruoho Name(_HID,EISAID("PNP0A03"))
708 1.1 jruoho Name(_ADR,0x0)
709 1.1 jruoho
710 1.1.1.3 christos Method(_CRS,, Serialized)
711 1.1 jruoho {
712 1.1 jruoho Name(PRT0, ResourceTemplate() {
713 1.1 jruoho WORDBusNumber( // Bus number resource(0)
714 1.1 jruoho ResourceConsumer, // bit 0 of general flags is 1
715 1.1 jruoho MinFixed, // Range is notfixed
716 1.1 jruoho MaxFixed, // Range is not fixed
717 1.1 jruoho SubDecode, // SubDecode
718 1.1 jruoho 0x0000, // Granularity
719 1.1 jruoho 0xfff1, // Min
720 1.1 jruoho 0xfff2, // Max
721 1.1 jruoho 0x0032, // Translation
722 1.1 jruoho 0x0002,,, // Range Length
723 1.1 jruoho BUS0
724 1.1 jruoho ) } )// PRT0
725 1.1 jruoho
726 1.1 jruoho CreateWordField(PRT0, BUS0._MIN, BMIN) //Minimum bus number suported under this bridge.
727 1.1 jruoho
728 1.1 jruoho Store(3, BMIN)
729 1.1 jruoho Return(PRT0)
730 1.1 jruoho
731 1.1 jruoho } // _CRS
732 1.1 jruoho
733 1.1 jruoho Method(_SRS)
734 1.1 jruoho {
735 1.1 jruoho Return ()
736 1.1 jruoho }
737 1.1 jruoho
738 1.1 jruoho Device(EIO)
739 1.1 jruoho {
740 1.1 jruoho OperationRegion(FJIO,SystemIO,0xFD60,0x6)
741 1.1 jruoho Field(FJIO,ByteAcc,NoLock,Preserve)
742 1.1 jruoho {
743 1.1 jruoho GIDX,8,
744 1.1 jruoho
745 1.1 jruoho GDTA,8,
746 1.1 jruoho
747 1.1 jruoho PIDX,8,
748 1.1 jruoho
749 1.1 jruoho PDTA,8,
750 1.1 jruoho
751 1.1 jruoho SIDX,8,
752 1.1 jruoho
753 1.1 jruoho SDTA,8
754 1.1 jruoho }
755 1.1 jruoho IndexField(GIDX,GDTA,ByteAcc,NoLock,Preserve)
756 1.1 jruoho {
757 1.1 jruoho Offset(0x2),
758 1.1 jruoho ,5,
759 1.1 jruoho VGAS,2,
760 1.1 jruoho Offset(0x4),
761 1.1 jruoho ,4,
762 1.1 jruoho DCKE,1,
763 1.1 jruoho Offset(0x5),
764 1.1 jruoho ,6,
765 1.1 jruoho ACPW,1,
766 1.1 jruoho
767 1.1 jruoho Offset(0xA),
768 1.1 jruoho B1P,1,
769 1.1 jruoho
770 1.1 jruoho B2P,1,
771 1.1 jruoho
772 1.1 jruoho B1C,1,
773 1.1 jruoho
774 1.1 jruoho B2C,1,
775 1.1 jruoho
776 1.1 jruoho B1ER,1,
777 1.1 jruoho
778 1.1 jruoho B2ER,1,
779 1.1 jruoho
780 1.1 jruoho Offset(0xB),
781 1.1 jruoho B1CP,8,
782 1.1 jruoho
783 1.1 jruoho B2CP,8,
784 1.1 jruoho
785 1.1 jruoho BCP,8,
786 1.1 jruoho
787 1.1 jruoho B1VH,8,
788 1.1 jruoho
789 1.1 jruoho B1VL,8,
790 1.1 jruoho
791 1.1 jruoho B2VH,8,
792 1.1 jruoho
793 1.1 jruoho B2VL,8,
794 1.1 jruoho
795 1.1 jruoho B1TM,8,
796 1.1 jruoho
797 1.1 jruoho B2TM,8,
798 1.1 jruoho
799 1.1 jruoho B1CH,8,
800 1.1 jruoho
801 1.1 jruoho B1CL,8,
802 1.1 jruoho
803 1.1 jruoho B2CH,8,
804 1.1 jruoho
805 1.1 jruoho B2CL,8
806 1.1 jruoho }
807 1.1 jruoho }
808 1.1 jruoho }
809 1.1 jruoho }
810 1.1 jruoho
811 1.1 jruoho Method(RDBT,3,Serialized){
812 1.1 jruoho Store(0x1FFF,Local1)
813 1.1 jruoho If( Arg0 ){
814 1.1 jruoho Store(0x2FFF,Local1)
815 1.1 jruoho }
816 1.1 jruoho Store(0x18,Local2)
817 1.1 jruoho If( Arg1 ){
818 1.1 jruoho Store(0x10,Local2)
819 1.1 jruoho }
820 1.1 jruoho If(LNot(SMRE(0x09,0x15,1,RefOf(Local0)))){
821 1.1 jruoho If(LNot(SMWE(0x08,0x14,1,Local1))){
822 1.1 jruoho If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){
823 1.1 jruoho Store(Local1,Arg2)
824 1.1 jruoho }
825 1.1 jruoho }
826 1.1 jruoho Or(Local0,0xFFF,Local0)
827 1.1 jruoho SMWE(0x08,0x14,1,Local0)
828 1.1 jruoho }
829 1.1 jruoho }
830 1.1 jruoho Method(MKWD,2)
831 1.1 jruoho {
832 1.1 jruoho If(And(Arg1,0x80)) {
833 1.1 jruoho Or(0xFFFF0000,Arg0,Local0)
834 1.1 jruoho Or(Local0,ShiftLeft(Arg1,8),Local0)
835 1.1 jruoho Subtract(Zero,Local0,Local0)
836 1.1 jruoho } else {
837 1.1 jruoho Store(Arg0,Local0)
838 1.1 jruoho Or(Local0,ShiftLeft(Arg1,8),Local0)
839 1.1 jruoho }
840 1.1 jruoho Return(Local0)
841 1.1 jruoho }
842 1.1 jruoho
843 1.1 jruoho Device(CMB1)
844 1.1 jruoho {
845 1.1 jruoho Name(_HID,EISAID("PNP0C0A"))
846 1.1 jruoho Name(_UID,0x1)
847 1.1 jruoho Alias(\_SB.PCI0.EIO.B1P,\_SB_.PCI0.XXXX)
848 1.1 jruoho Alias(\_SB.PCI0.EIO.B1P,B1P)
849 1.1 jruoho Alias(\_SB.PCI0.EIO.B1C,B1C)
850 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CH,B1CH)
851 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CL,B1CL)
852 1.1 jruoho Alias(\_SB.PCI0.EIO.B1VH,B1VH)
853 1.1 jruoho Alias(\_SB.PCI0.EIO.B1VL,B1VL)
854 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CP,B1CP)
855 1.1 jruoho
856 1.1 jruoho Method(_INI)
857 1.1 jruoho {
858 1.1 jruoho Store(B1P, B1PS)
859 1.1 jruoho Store(B1CP,B1RS)
860 1.1 jruoho Store(B1C, B1CS)
861 1.1 jruoho }
862 1.1 jruoho
863 1.1 jruoho Method(_BIF){
864 1.1 jruoho RDBT(Zero,Zero,RefOf(B1DC))
865 1.1 jruoho RDBT(Zero,One,RefOf(B1LF))
866 1.1 jruoho Store(B1DC,Index(RBIF,1))
867 1.1 jruoho Store(B1LF,Index(RBIF,2))
868 1.1 jruoho Store("CA54200-5003/5",Index(RBIF,9))
869 1.1 jruoho Store("1",Index(RBIF,10))
870 1.1 jruoho Return(RBIF)
871 1.1 jruoho }
872 1.1 jruoho
873 1.1.1.3 christos Method(_BST,, Serialized) {
874 1.1 jruoho
875 1.1 jruoho _INI()
876 1.1 jruoho
877 1.1 jruoho Store(Zero,Local0)
878 1.1 jruoho
879 1.1 jruoho if (LAnd(B1P,LNot(B1C))){
880 1.1 jruoho Or(Local0,1,Local0)
881 1.1 jruoho }
882 1.1 jruoho
883 1.1 jruoho if (LAnd(B1P,B1C)) {
884 1.1 jruoho Or(Local0,2,Local0)
885 1.1 jruoho }
886 1.1 jruoho
887 1.1 jruoho if (LLessEqual(B1CP,1)) {
888 1.1 jruoho Or(Local0,4,Local0)
889 1.1 jruoho }
890 1.1 jruoho
891 1.1 jruoho Store(MKWD(B1CL,B1CH),Local1)
892 1.1 jruoho
893 1.1 jruoho Store(Divide(Add(Multiply(B1CP,B1LF),99),100),Local2)
894 1.1 jruoho
895 1.1 jruoho Store(MKWD(B1VL,B1VH),Local3)
896 1.1 jruoho
897 1.1 jruoho Name(STAT,Package(4){})
898 1.1 jruoho Store(Local0,Index(STAT,0))
899 1.1 jruoho Store(Local1,Index(STAT,1))
900 1.1 jruoho Store(Local2,Index(STAT,2))
901 1.1 jruoho Store(Local3,Index(STAT,3))
902 1.1 jruoho
903 1.1 jruoho If(LNot(BPIF)){
904 1.1 jruoho // \_SB.PCI0.EIO.EC0.IECT()
905 1.1 jruoho // \_SB.PCI0.EIO.EC0.SECT()
906 1.1 jruoho Store(One,BPIF)
907 1.1 jruoho }
908 1.1 jruoho return(STAT)
909 1.1 jruoho }
910 1.1 jruoho
911 1.1 jruoho }
912 1.1 jruoho
913 1.1 jruoho Device (DEV1)
914 1.1 jruoho {
915 1.1 jruoho }
916 1.1 jruoho
917 1.1 jruoho Scope(\_TZ)
918 1.1 jruoho {
919 1.1 jruoho ThermalZone(TZ1)
920 1.1 jruoho {
921 1.1 jruoho Name(_PSL,Package()
922 1.1 jruoho {
923 1.1 jruoho \_PR.CPU0
924 1.1 jruoho })
925 1.1 jruoho }
926 1.1 jruoho }
927 1.1 jruoho
928 1.1 jruoho Method (TZ2, 0, SERIALIZED)
929 1.1 jruoho {
930 1.1 jruoho Name(_PSL,Package()
931 1.1 jruoho {
932 1.1 jruoho \_PR.CPU0
933 1.1 jruoho })
934 1.1 jruoho
935 1.1 jruoho Return (_PSL)
936 1.1 jruoho }
937 1.1 jruoho
938 1.1 jruoho ThermalZone (THM1)
939 1.1 jruoho {
940 1.1 jruoho }
941 1.1 jruoho
942 1.1 jruoho Method (NOTI)
943 1.1 jruoho {
944 1.1 jruoho Notify (\DEV1, 0)
945 1.1 jruoho Notify (\THM1, 0)
946 1.1 jruoho Notify (\_PR.CPU0, 0)
947 1.1 jruoho }
948 1.1 jruoho
949 1.1.1.8 christos Method (_ERR, 3)
950 1.1 jruoho {
951 1.1 jruoho Increment (ERRS)
952 1.1 jruoho Store ("Run-time exception:", Debug)
953 1.1 jruoho Store (Arg0, Debug)
954 1.1 jruoho Store (Arg1, Debug)
955 1.1 jruoho
956 1.1 jruoho Return (0) // Map error to AE_OK
957 1.1 jruoho }
958 1.1 jruoho
959 1.1 jruoho Method (DIV0)
960 1.1 jruoho {
961 1.1 jruoho Store (1, Local0)
962 1.1 jruoho Store (0, Local1)
963 1.1 jruoho Divide (Local0, Local1, Local3)
964 1.1 jruoho
965 1.1 jruoho Store ("DIV0 - noabort", Debug)
966 1.1 jruoho }
967 1.1 jruoho
968 1.1.1.7 christos Method (ERR_, 2)
969 1.1 jruoho {
970 1.1.1.7 christos Local0 = ToDecimalString (Arg1)
971 1.1 jruoho if (LEqual (Arg0, 0))
972 1.1 jruoho {
973 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Results not equal!", Local0)
974 1.1 jruoho }
975 1.1 jruoho if (LEqual (Arg0, 1))
976 1.1 jruoho {
977 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Numeric result is incorrect!", Local0)
978 1.1 jruoho }
979 1.1 jruoho if (LEqual (Arg0, 2))
980 1.1 jruoho {
981 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Operand was clobbered!", Local0)
982 1.1 jruoho }
983 1.1 jruoho
984 1.1 jruoho Notify (DEV1, Arg0)
985 1.1 jruoho Increment (ERRS)
986 1.1 jruoho }
987 1.1 jruoho
988 1.1 jruoho Method (R226, 2)
989 1.1 jruoho {
990 1.1 jruoho }
991 1.1 jruoho Method (R225, 2)
992 1.1 jruoho {
993 1.1 jruoho R226 (Arg0, Arg1)
994 1.1 jruoho }
995 1.1 jruoho Method (R224, 2)
996 1.1 jruoho {
997 1.1 jruoho R225 (Arg1, Arg0)
998 1.1 jruoho }
999 1.1 jruoho Method (R223, 2)
1000 1.1 jruoho {
1001 1.1 jruoho R224 (Arg0, Arg1)
1002 1.1 jruoho }
1003 1.1 jruoho Method (R222, 2)
1004 1.1 jruoho {
1005 1.1 jruoho R223 (Arg1, Arg0)
1006 1.1 jruoho }
1007 1.1 jruoho Method (R111)
1008 1.1 jruoho {
1009 1.1 jruoho Store (0x01010101, Local0)
1010 1.1 jruoho R222 (0xABAB, Local0)
1011 1.1 jruoho Store (Local0, Local1)
1012 1.1 jruoho }
1013 1.1 jruoho
1014 1.1 jruoho Method (MAIN)
1015 1.1 jruoho {
1016 1.1 jruoho
1017 1.1 jruoho // SIZE()
1018 1.1 jruoho Store (NUM1(), Local0)
1019 1.1 jruoho \CMB1._BST()
1020 1.1 jruoho RDBT(1,2,3)
1021 1.1 jruoho OBJ1(1)
1022 1.1 jruoho OBJ2(2)
1023 1.1 jruoho CHEK()
1024 1.1 jruoho RETZ()
1025 1.1 jruoho BITZ()
1026 1.1 jruoho LOGS()
1027 1.1 jruoho REFS()
1028 1.1 jruoho COND()
1029 1.1 jruoho TZ2()
1030 1.1 jruoho
1031 1.1 jruoho //
1032 1.1 jruoho // iPCO tests added
1033 1.1 jruoho //
1034 1.1 jruoho Store (\IFEL.TEST(), Local0)
1035 1.1 jruoho if (LGreater (Local0, 0))
1036 1.1 jruoho {
1037 1.1.1.7 christos ERR_ (1, __LINE__)
1038 1.1 jruoho Return(Local0)
1039 1.1 jruoho }
1040 1.1 jruoho
1041 1.1 jruoho Store (\NOSV.TEST(), Local0)
1042 1.1 jruoho if (LGreater (Local0, 0))
1043 1.1 jruoho {
1044 1.1.1.7 christos ERR_ (1, __LINE__)
1045 1.1 jruoho Return(Local0)
1046 1.1 jruoho }
1047 1.1 jruoho
1048 1.1 jruoho Store (\IDXF.TEST(), Local0)
1049 1.1 jruoho if (LGreater (Local0, 0))
1050 1.1 jruoho {
1051 1.1.1.7 christos ERR_ (1, __LINE__)
1052 1.1 jruoho Return(Local0)
1053 1.1 jruoho }
1054 1.1 jruoho
1055 1.1 jruoho Store (\_SB_.NSTL.TEST(), Local0)
1056 1.1 jruoho if (LGreater (Local0, 0))
1057 1.1 jruoho {
1058 1.1.1.7 christos ERR_ (1, __LINE__)
1059 1.1 jruoho Return(Local0)
1060 1.1 jruoho }
1061 1.1 jruoho
1062 1.1 jruoho Store (\RTBF.TEST(), Local0)
1063 1.1 jruoho if (LGreater (Local0, 0))
1064 1.1 jruoho {
1065 1.1.1.7 christos ERR_ (1, __LINE__)
1066 1.1 jruoho Return(Local0)
1067 1.1 jruoho }
1068 1.1 jruoho
1069 1.1 jruoho Store (\_SB_.RTLV.TEST(), Local0)
1070 1.1 jruoho if (LGreater (Local0, 0))
1071 1.1 jruoho {
1072 1.1.1.7 christos ERR_ (1, __LINE__)
1073 1.1 jruoho Return(Local0)
1074 1.1 jruoho }
1075 1.1 jruoho
1076 1.1 jruoho Store (\_SB_.RETP.TEST(), Local0)
1077 1.1 jruoho if (LGreater (Local0, 0))
1078 1.1 jruoho {
1079 1.1.1.7 christos ERR_ (1, __LINE__)
1080 1.1 jruoho Return(Local0)
1081 1.1 jruoho }
1082 1.1 jruoho
1083 1.1 jruoho Store (\WHLR.TEST(), Local0)
1084 1.1 jruoho if (LGreater (Local0, 0))
1085 1.1 jruoho {
1086 1.1.1.7 christos ERR_ (1, __LINE__)
1087 1.1 jruoho Return(Local0)
1088 1.1 jruoho }
1089 1.1 jruoho
1090 1.1 jruoho Store (\ANDO.TEST(), Local0)
1091 1.1 jruoho if (LGreater (Local0, 0))
1092 1.1 jruoho {
1093 1.1.1.7 christos ERR_ (1, __LINE__)
1094 1.1 jruoho Return(Local0)
1095 1.1 jruoho }
1096 1.1 jruoho
1097 1.1 jruoho Store (\BRKP.TEST(), Local0)
1098 1.1 jruoho if (LGreater (Local0, 0))
1099 1.1 jruoho {
1100 1.1.1.7 christos ERR_ (1, __LINE__)
1101 1.1 jruoho Return(Local0)
1102 1.1 jruoho }
1103 1.1 jruoho
1104 1.1 jruoho Store (\ADSU.TEST(), Local0)
1105 1.1 jruoho if (LGreater (Local0, 0))
1106 1.1 jruoho {
1107 1.1.1.7 christos ERR_ (1, __LINE__)
1108 1.1 jruoho Return(Local0)
1109 1.1 jruoho }
1110 1.1 jruoho
1111 1.1 jruoho Store (\INDC.TEST(), Local0)
1112 1.1 jruoho if (LGreater (Local0, 0))
1113 1.1 jruoho {
1114 1.1.1.7 christos ERR_ (1, __LINE__)
1115 1.1 jruoho Return(Local0)
1116 1.1 jruoho }
1117 1.1 jruoho
1118 1.1 jruoho Store (\LOPS.TEST(), Local0)
1119 1.1 jruoho if (LGreater (Local0, 0))
1120 1.1 jruoho {
1121 1.1.1.7 christos ERR_ (1, __LINE__)
1122 1.1 jruoho Return(Local0)
1123 1.1 jruoho }
1124 1.1 jruoho
1125 1.1 jruoho Store (\FDSO.TEST(), Local0)
1126 1.1 jruoho if (LGreater (Local0, 0))
1127 1.1 jruoho {
1128 1.1.1.7 christos ERR_ (1, __LINE__)
1129 1.1 jruoho Return(Local0)
1130 1.1 jruoho }
1131 1.1 jruoho
1132 1.1 jruoho Store (\MLDV.TEST(), Local0)
1133 1.1 jruoho if (LGreater (Local0, 0))
1134 1.1 jruoho {
1135 1.1.1.7 christos ERR_ (1, __LINE__)
1136 1.1 jruoho Return(Local0)
1137 1.1 jruoho }
1138 1.1 jruoho
1139 1.1 jruoho Store (\NBIT.TEST(), Local0)
1140 1.1 jruoho if (LGreater (Local0, 0))
1141 1.1 jruoho {
1142 1.1.1.7 christos ERR_ (1, __LINE__)
1143 1.1 jruoho Return(Local0)
1144 1.1 jruoho }
1145 1.1 jruoho
1146 1.1 jruoho Store (\SHFT.TEST(), Local0)
1147 1.1 jruoho if (LGreater (Local0, 0))
1148 1.1 jruoho {
1149 1.1.1.7 christos ERR_ (1, __LINE__)
1150 1.1 jruoho Return(Local0)
1151 1.1 jruoho }
1152 1.1 jruoho
1153 1.1 jruoho Store (\XORD.TEST(), Local0)
1154 1.1 jruoho if (LGreater (Local0, 0))
1155 1.1 jruoho {
1156 1.1.1.7 christos ERR_ (1, __LINE__)
1157 1.1 jruoho Return(Local0)
1158 1.1 jruoho }
1159 1.1 jruoho
1160 1.1 jruoho Store (\CRBF.TEST(), Local0)
1161 1.1 jruoho if (LGreater (Local0, 0))
1162 1.1 jruoho {
1163 1.1.1.7 christos ERR_ (1, __LINE__)
1164 1.1 jruoho Return(Local0)
1165 1.1 jruoho }
1166 1.1 jruoho
1167 1.1 jruoho Store (\IDX4.TEST(), Local0)
1168 1.1 jruoho if (LGreater (Local0, 0))
1169 1.1 jruoho {
1170 1.1.1.7 christos ERR_ (1, __LINE__)
1171 1.1 jruoho Return(Local0)
1172 1.1 jruoho }
1173 1.1 jruoho
1174 1.1 jruoho Store (\EVNT.TEST(), Local0)
1175 1.1 jruoho if (LGreater (Local0, 0))
1176 1.1 jruoho {
1177 1.1.1.7 christos ERR_ (1, __LINE__)
1178 1.1 jruoho Return(Local0)
1179 1.1 jruoho }
1180 1.1 jruoho
1181 1.1 jruoho Store (\SZLV.TEST(), Local0)
1182 1.1 jruoho if (LGreater (Local0, 0))
1183 1.1 jruoho {
1184 1.1.1.7 christos ERR_ (1, __LINE__)
1185 1.1 jruoho Return(Local0)
1186 1.1 jruoho }
1187 1.1 jruoho
1188 1.1 jruoho Store (\_SB_.BYTF.TEST(), Local0)
1189 1.1 jruoho if (LGreater (Local0, 0))
1190 1.1 jruoho {
1191 1.1.1.7 christos ERR_ (1, __LINE__)
1192 1.1 jruoho Return(Local0)
1193 1.1 jruoho }
1194 1.1 jruoho
1195 1.1 jruoho Store (\DWDF.TEST(), Local0)
1196 1.1 jruoho if (LGreater (Local0, 0))
1197 1.1 jruoho {
1198 1.1.1.7 christos ERR_ (1, __LINE__)
1199 1.1 jruoho Return(Local0)
1200 1.1 jruoho }
1201 1.1 jruoho
1202 1.1 jruoho Store (\DVAX.TEST(), Local0)
1203 1.1 jruoho if (LGreater (Local0, 0))
1204 1.1 jruoho {
1205 1.1.1.7 christos ERR_ (1, __LINE__)
1206 1.1 jruoho Return(Local0)
1207 1.1 jruoho }
1208 1.1 jruoho
1209 1.1 jruoho Store (\IDX6.TEST(), Local0)
1210 1.1 jruoho if (LGreater (Local0, 0))
1211 1.1 jruoho {
1212 1.1.1.7 christos ERR_ (1, __LINE__)
1213 1.1 jruoho Return(Local0)
1214 1.1 jruoho }
1215 1.1 jruoho
1216 1.1 jruoho Store (\IDX5.TEST(), Local0)
1217 1.1 jruoho if (LGreater (Local0, 0))
1218 1.1 jruoho {
1219 1.1.1.7 christos ERR_ (1, __LINE__)
1220 1.1 jruoho Return(Local0)
1221 1.1 jruoho }
1222 1.1 jruoho
1223 1.1 jruoho Store (\_SB_.IDX0.TEST(), Local0)
1224 1.1 jruoho if (LGreater (Local0, 0))
1225 1.1 jruoho {
1226 1.1.1.7 christos ERR_ (1, __LINE__)
1227 1.1 jruoho Return(Local0)
1228 1.1 jruoho }
1229 1.1 jruoho
1230 1.1 jruoho Store (\_SB_.IDX3.TEST(), Local0)
1231 1.1 jruoho if (LGreater (Local0, 0))
1232 1.1 jruoho {
1233 1.1.1.7 christos ERR_ (1, __LINE__)
1234 1.1 jruoho Return(Local0)
1235 1.1 jruoho }
1236 1.1 jruoho
1237 1.1 jruoho Store (\IDX7.TEST(), Local0)
1238 1.1 jruoho if (LGreater (Local0, 0))
1239 1.1 jruoho {
1240 1.1.1.7 christos ERR_ (1, __LINE__)
1241 1.1 jruoho Return(Local0)
1242 1.1 jruoho }
1243 1.1 jruoho
1244 1.1 jruoho Store (\MTCH.TEST(), Local0)
1245 1.1 jruoho if (LGreater (Local0, 0))
1246 1.1 jruoho {
1247 1.1.1.7 christos ERR_ (1, __LINE__)
1248 1.1 jruoho Return(Local0)
1249 1.1 jruoho }
1250 1.1 jruoho
1251 1.1 jruoho Store (\WHLB.TEST(), Local0)
1252 1.1 jruoho if (LGreater (Local0, 0))
1253 1.1 jruoho {
1254 1.1.1.7 christos ERR_ (1, __LINE__)
1255 1.1 jruoho Return(Local0)
1256 1.1 jruoho }
1257 1.1 jruoho
1258 1.1 jruoho Store (\_SB_.IDX2.TEST(), Local0)
1259 1.1 jruoho if (LGreater (Local0, 0))
1260 1.1 jruoho {
1261 1.1.1.7 christos ERR_ (1, __LINE__)
1262 1.1 jruoho Return(Local0)
1263 1.1 jruoho }
1264 1.1 jruoho
1265 1.1 jruoho Store (\SIZO.TEST(), Local0)
1266 1.1 jruoho if (LGreater (Local0, 0))
1267 1.1 jruoho {
1268 1.1.1.7 christos ERR_ (1, __LINE__)
1269 1.1 jruoho Return(Local0)
1270 1.1 jruoho }
1271 1.1 jruoho
1272 1.1 jruoho Store (\_SB_.SMIS.TEST(), Local0)
1273 1.1 jruoho if (LGreater (Local0, 0))
1274 1.1 jruoho {
1275 1.1.1.7 christos ERR_ (1, __LINE__)
1276 1.1 jruoho Return(Local0)
1277 1.1 jruoho }
1278 1.1 jruoho
1279 1.1 jruoho if (LGreater (ERRS, 0))
1280 1.1 jruoho {
1281 1.1 jruoho Store ("****** There were errors during the execution of the test ******", Debug)
1282 1.1 jruoho }
1283 1.1 jruoho
1284 1.1.1.6 christos // Flush all notifies
1285 1.1.1.6 christos
1286 1.1.1.6 christos Sleep (250)
1287 1.1.1.6 christos
1288 1.1 jruoho //
1289 1.1 jruoho // Last Test
1290 1.1 jruoho //
1291 1.1 jruoho
1292 1.1 jruoho Return(0) // Success
1293 1.1 jruoho }
1294 1.1 jruoho
1295 1.1 jruoho
1296 1.1 jruoho Method (OBJ1, 1, SERIALIZED)
1297 1.1 jruoho {
1298 1.1 jruoho
1299 1.1 jruoho Store (3, Local0)
1300 1.1 jruoho Name(BUFR, Buffer (Local0) {})
1301 1.1 jruoho Name(BUF1, Buffer (4) {1,2,3,4})
1302 1.1 jruoho Name(BUF2, Buffer (4) {})
1303 1.1 jruoho
1304 1.1 jruoho Store (BUF1, BUF2)
1305 1.1 jruoho Mutex (MTX1, 4)
1306 1.1 jruoho
1307 1.1 jruoho Alias (MTX1, MTX2)
1308 1.1 jruoho }
1309 1.1 jruoho
1310 1.1 jruoho
1311 1.1 jruoho Mutex (MTXT, 0)
1312 1.1 jruoho Mutex (MTXX, 0)
1313 1.1 jruoho
1314 1.1 jruoho /*
1315 1.1 jruoho * Field Creation
1316 1.1 jruoho */
1317 1.1 jruoho
1318 1.1.1.3 christos Method (FLDS,, Serialized)
1319 1.1 jruoho {
1320 1.1 jruoho Store ("++++++++ Creating BufferFields", Debug)
1321 1.1 jruoho Name (BUF2, Buffer (128) {})
1322 1.1 jruoho
1323 1.1 jruoho CreateBitField (BUF2, 3, BIT2)
1324 1.1 jruoho CreateByteField (BUF2, 1, BYT2)
1325 1.1 jruoho CreateWordField (BUF2, 2, WRD2)
1326 1.1 jruoho CreateDwordField (BUF2, 4, DWD2)
1327 1.1 jruoho CreateQwordField (BUF2, 8, QWD2)
1328 1.1 jruoho CreateField (BUF2, 128, 12, FLD2)
1329 1.1 jruoho CreateField (BUF2, 148, 96, FLD3)
1330 1.1 jruoho
1331 1.1 jruoho Store (0x1, BIT2)
1332 1.1 jruoho Store (BIT2, Local0)
1333 1.1 jruoho if (LNotEqual (Local0, 0x1))
1334 1.1 jruoho {
1335 1.1.1.7 christos ERR_ (1, __LINE__)
1336 1.1 jruoho }
1337 1.1 jruoho else
1338 1.1 jruoho {
1339 1.1 jruoho Store (DerefOf (Index (BUF2, 0)), Local0)
1340 1.1 jruoho if (LNotEqual (Local0, 0x08))
1341 1.1 jruoho {
1342 1.1.1.7 christos ERR_ (1, __LINE__)
1343 1.1 jruoho }
1344 1.1 jruoho else
1345 1.1 jruoho {
1346 1.1 jruoho Store ("++++++++ Bit BufferField I/O PASS", Debug)
1347 1.1 jruoho }
1348 1.1 jruoho }
1349 1.1 jruoho
1350 1.1 jruoho Store (0x1A, BYT2)
1351 1.1 jruoho Store (BYT2, Local0)
1352 1.1 jruoho if (LNotEqual (Local0, 0x1A))
1353 1.1 jruoho {
1354 1.1.1.7 christos ERR_ (1, __LINE__)
1355 1.1 jruoho }
1356 1.1 jruoho else
1357 1.1 jruoho {
1358 1.1 jruoho Store ("++++++++ Byte BufferField I/O PASS", Debug)
1359 1.1 jruoho }
1360 1.1 jruoho
1361 1.1 jruoho Store (0x1234, WRD2)
1362 1.1 jruoho Store (WRD2, Local0)
1363 1.1 jruoho if (LNotEqual (Local0, 0x1234))
1364 1.1 jruoho {
1365 1.1.1.7 christos ERR_ (1, __LINE__)
1366 1.1 jruoho }
1367 1.1 jruoho else
1368 1.1 jruoho {
1369 1.1 jruoho Store ("++++++++ Word BufferField I/O PASS", Debug)
1370 1.1 jruoho }
1371 1.1 jruoho
1372 1.1 jruoho Store (0x123, FLD2)
1373 1.1 jruoho Store (FLD2, Local0)
1374 1.1 jruoho if (LNotEqual (Local0, 0x123))
1375 1.1 jruoho {
1376 1.1.1.7 christos ERR_ (1, __LINE__)
1377 1.1 jruoho }
1378 1.1 jruoho else
1379 1.1 jruoho {
1380 1.1 jruoho Store ("++++++++ 12-bit BufferField I/O PASS", Debug)
1381 1.1 jruoho }
1382 1.1 jruoho
1383 1.1 jruoho Store (0x12345678, DWD2)
1384 1.1 jruoho Store (DWD2, Local0)
1385 1.1 jruoho if (LNotEqual (Local0, 0x12345678))
1386 1.1 jruoho {
1387 1.1.1.7 christos ERR_ (1, __LINE__)
1388 1.1 jruoho }
1389 1.1 jruoho else
1390 1.1 jruoho {
1391 1.1 jruoho Store ("++++++++ Dword BufferField I/O PASS", Debug)
1392 1.1 jruoho }
1393 1.1 jruoho
1394 1.1 jruoho Store (0x1234567887654321, QWD2)
1395 1.1 jruoho Store (QWD2, Local0)
1396 1.1 jruoho if (LNotEqual (Local0, 0x1234567887654321))
1397 1.1 jruoho {
1398 1.1.1.7 christos ERR_ (1, __LINE__)
1399 1.1 jruoho }
1400 1.1 jruoho else
1401 1.1 jruoho {
1402 1.1 jruoho Store ("++++++++ Qword BufferField I/O PASS", Debug)
1403 1.1 jruoho }
1404 1.1 jruoho }
1405 1.1 jruoho
1406 1.1 jruoho
1407 1.1 jruoho /* Field execution */
1408 1.1 jruoho
1409 1.1.1.3 christos Method (FLDX,, Serialized)
1410 1.1 jruoho {
1411 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
1412 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements
1413 1.1 jruoho SMD0, 32, // 32-bits
1414 1.1 jruoho SMD1, 32, // 32-bits
1415 1.1 jruoho SMD2, 32, // 32-bits
1416 1.1 jruoho SMD3, 32 // 32-bits
1417 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements
1418 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
1419 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements
1420 1.1 jruoho SME0, 69, // larger than an integer (32 or 64)
1421 1.1 jruoho SME1, 97 // larger than an integer
1422 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements
1423 1.1 jruoho }
1424 1.1 jruoho
1425 1.1 jruoho
1426 1.1 jruoho Method (MTX_, )
1427 1.1 jruoho {
1428 1.1 jruoho /* Test "Force release" of mutex on method exit */
1429 1.1 jruoho
1430 1.1 jruoho Acquire (MTXT, 0xFFFF)
1431 1.1 jruoho Acquire (MTXX, 0xFFFF)
1432 1.1 jruoho
1433 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug)
1434 1.1 jruoho Acquire (_GL_, 0xFFFF)
1435 1.1 jruoho
1436 1.1 jruoho
1437 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug)
1438 1.1 jruoho Release (_GL_)
1439 1.1 jruoho }
1440 1.1 jruoho
1441 1.1 jruoho
1442 1.1.1.3 christos Method (OBJ2, 1, Serialized)
1443 1.1 jruoho {
1444 1.1 jruoho Store ("++++++++ Creating Buffer BUFO", Debug)
1445 1.1 jruoho Name (BUFO, Buffer (32) {})
1446 1.1 jruoho
1447 1.1 jruoho Store ("++++++++ Creating OpRegion OPR2", Debug)
1448 1.1 jruoho OperationRegion (OPR2, SystemMemory, Arg0, 256)
1449 1.1 jruoho
1450 1.1 jruoho Store ("++++++++ Creating Field(s) in OpRegion OPR2", Debug)
1451 1.1 jruoho Field (OPR2, ByteAcc, NoLock, Preserve)
1452 1.1 jruoho {
1453 1.1 jruoho IDX2, 8,
1454 1.1 jruoho DAT2, 8,
1455 1.1 jruoho BNK2, 4
1456 1.1 jruoho }
1457 1.1 jruoho
1458 1.1 jruoho Store ("++++++++ Creating BankField BNK2 in OpRegion OPR2", Debug)
1459 1.1 jruoho //
1460 1.1 jruoho // mcw 3/20/00 - changed FET0, 4, FET1, 3 to FET0, 1, FET1, 1
1461 1.1 jruoho //
1462 1.1 jruoho BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve)
1463 1.1 jruoho {
1464 1.1 jruoho FET0, 4,
1465 1.1 jruoho FET1, 3
1466 1.1 jruoho }
1467 1.1 jruoho
1468 1.1 jruoho Store ("++++++++ Creating IndexField", Debug)
1469 1.1 jruoho IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
1470 1.1 jruoho {
1471 1.1 jruoho FET2, 4,
1472 1.1 jruoho FET3, 3
1473 1.1 jruoho }
1474 1.1 jruoho
1475 1.1 jruoho Store ("++++++++ SizeOf (BUFO)", Debug)
1476 1.1 jruoho SizeOf (BUFO)
1477 1.1 jruoho
1478 1.1 jruoho Store ("++++++++ Store (SizeOf (BUFO), Local0)", Debug)
1479 1.1 jruoho Store (SizeOf (BUFO), Local0)
1480 1.1 jruoho
1481 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", \"def\", Local0)", Debug)
1482 1.1 jruoho Concatenate ("abd", "def", Local0)
1483 1.1 jruoho Store (Local0, Debug)
1484 1.1 jruoho
1485 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", 0x7B, Local0)", Debug)
1486 1.1 jruoho Concatenate ("abd", 0x7B, Local0)
1487 1.1 jruoho Store (Local0, Debug)
1488 1.1 jruoho
1489 1.1 jruoho Store ("++++++++ Creating Event EVT2", Debug)
1490 1.1 jruoho Event (EVT2)
1491 1.1 jruoho
1492 1.1 jruoho Store ("++++++++ Creating Mutex MTX2", Debug)
1493 1.1 jruoho Mutex (MTX2, 0)
1494 1.1 jruoho
1495 1.1 jruoho Store ("++++++++ Creating Alias MTXA to MTX2", Debug)
1496 1.1 jruoho Alias (MTX2, MTXA)
1497 1.1 jruoho
1498 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug)
1499 1.1 jruoho Acquire (MTX2, 0xFFFF)
1500 1.1 jruoho
1501 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2 (2nd acquire)", Debug)
1502 1.1 jruoho Acquire (MTX2, 1)
1503 1.1 jruoho
1504 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug)
1505 1.1 jruoho Release (MTX2)
1506 1.1 jruoho
1507 1.1 jruoho // Type 1 opcodes
1508 1.1 jruoho
1509 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug)
1510 1.1 jruoho Signal (EVT2)
1511 1.1 jruoho
1512 1.1 jruoho Store ("++++++++ Resetting Event EVT2", Debug)
1513 1.1 jruoho Reset (EVT2)
1514 1.1 jruoho
1515 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug)
1516 1.1 jruoho Signal (EVT2)
1517 1.1 jruoho
1518 1.1 jruoho Store ("++++++++ Waiting Event EVT2", Debug)
1519 1.1 jruoho Wait (EVT2, 0xFFFF)
1520 1.1 jruoho
1521 1.1 jruoho Store ("++++++++ Sleep", Debug)
1522 1.1 jruoho Sleep (100)
1523 1.1 jruoho
1524 1.1 jruoho Store ("++++++++ Stall", Debug)
1525 1.1 jruoho Stall (254)
1526 1.1 jruoho
1527 1.1 jruoho Store ("++++++++ NoOperation", Debug)
1528 1.1 jruoho Noop
1529 1.1 jruoho
1530 1.1 jruoho // Type 2 Opcodes
1531 1.1 jruoho
1532 1.1 jruoho Store ("++++++++ Return from Method OBJ2", Debug)
1533 1.1 jruoho return (4)
1534 1.1 jruoho }
1535 1.1 jruoho
1536 1.1 jruoho
1537 1.1 jruoho Method (NUM1, 0)
1538 1.1 jruoho {
1539 1.1 jruoho /* ADD */
1540 1.1 jruoho
1541 1.1 jruoho Store ("++++++++ Add (0x12345678, 0x11111111, Local0)", Debug)
1542 1.1 jruoho Add (0x12345678, 0x11111111, Local0)
1543 1.1 jruoho
1544 1.1 jruoho Store ("++++++++ Store (Add (0x12345678, 0x11111111), Local1)", Debug)
1545 1.1 jruoho Store (Add (0x12345678, 0x11111111), Local1)
1546 1.1 jruoho
1547 1.1 jruoho Store ("++++++++ Checking result from ADD", Debug)
1548 1.1 jruoho if (LNotEqual (Local0, Local1))
1549 1.1 jruoho {
1550 1.1.1.7 christos ERR_ (0, __LINE__)
1551 1.1 jruoho }
1552 1.1 jruoho
1553 1.1 jruoho
1554 1.1 jruoho /* SUBTRACT */
1555 1.1 jruoho
1556 1.1 jruoho Store ("++++++++ Subtract (0x87654321, 0x11111111, Local4)", Debug)
1557 1.1 jruoho Subtract (0x87654321, 0x11111111, Local4)
1558 1.1 jruoho
1559 1.1 jruoho Store ("++++++++ Store (Subtract (0x87654321, 0x11111111), Local5)", Debug)
1560 1.1 jruoho Store (Subtract (0x87654321, 0x11111111), Local5)
1561 1.1 jruoho
1562 1.1 jruoho Store ("++++++++ Checking result from SUBTRACT", Debug)
1563 1.1 jruoho if (LNotEqual (Local4, Local5))
1564 1.1 jruoho {
1565 1.1.1.7 christos ERR_ (0, __LINE__)
1566 1.1 jruoho }
1567 1.1 jruoho
1568 1.1 jruoho
1569 1.1 jruoho /* MULTIPLY */
1570 1.1 jruoho
1571 1.1 jruoho Store ("++++++++ Multiply (33, 10, Local6)", Debug)
1572 1.1 jruoho Multiply (33, 10, Local6)
1573 1.1 jruoho
1574 1.1 jruoho Store ("++++++++ Store (Multiply (33, 10), Local7)", Debug)
1575 1.1 jruoho Store (Multiply (33, 10), Local7)
1576 1.1 jruoho
1577 1.1 jruoho
1578 1.1 jruoho Store ("++++++++ Checking result from MULTIPLY", Debug)
1579 1.1 jruoho if (LNotEqual (Local6, Local7))
1580 1.1 jruoho {
1581 1.1.1.7 christos ERR_ (0, __LINE__)
1582 1.1 jruoho }
1583 1.1 jruoho
1584 1.1 jruoho
1585 1.1 jruoho /* DIVIDE */
1586 1.1 jruoho
1587 1.1 jruoho Store ("++++++++ Divide (100, 9, Local1, Local2)", Debug)
1588 1.1 jruoho Divide (100, 9, Local1, Local2)
1589 1.1 jruoho
1590 1.1 jruoho Store ("++++++++ Store (Divide (100, 9), Local3)", Debug)
1591 1.1 jruoho Store (Divide (100, 9), Local3)
1592 1.1 jruoho
1593 1.1 jruoho Store ("++++++++ Checking (quotient) result from DIVIDE", Debug)
1594 1.1 jruoho if (LNotEqual (Local2, Local3))
1595 1.1 jruoho {
1596 1.1.1.7 christos ERR_ (0, __LINE__)
1597 1.1 jruoho }
1598 1.1 jruoho
1599 1.1 jruoho
1600 1.1 jruoho /* INCREMENT */
1601 1.1 jruoho
1602 1.1 jruoho Store ("++++++++ Increment (Local0)", Debug)
1603 1.1 jruoho Store (1, Local0)
1604 1.1 jruoho Store (2, Local1)
1605 1.1 jruoho Increment (Local0)
1606 1.1 jruoho
1607 1.1 jruoho Store ("++++++++ Checking result from INCREMENT", Debug)
1608 1.1 jruoho if (LNotEqual (Local0, Local1))
1609 1.1 jruoho {
1610 1.1.1.7 christos ERR_ (0, __LINE__)
1611 1.1 jruoho }
1612 1.1 jruoho
1613 1.1 jruoho
1614 1.1 jruoho /* DECREMENT */
1615 1.1 jruoho
1616 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug)
1617 1.1 jruoho Store (2, Local0)
1618 1.1 jruoho Store (1, Local1)
1619 1.1 jruoho Decrement (Local0)
1620 1.1 jruoho
1621 1.1 jruoho Store ("++++++++ Checking result from DECREMENT", Debug)
1622 1.1 jruoho if (LNotEqual (Local0, Local1))
1623 1.1 jruoho {
1624 1.1.1.7 christos ERR_ (0, __LINE__)
1625 1.1 jruoho }
1626 1.1 jruoho
1627 1.1 jruoho
1628 1.1 jruoho /* TOBCD */
1629 1.1 jruoho /* FROMBCD */
1630 1.1 jruoho
1631 1.1 jruoho Store ("++++++++ ToBCD (0x1234, Local5)", Debug)
1632 1.1 jruoho ToBCD (0x1234, Local5)
1633 1.1 jruoho
1634 1.1 jruoho Store ("++++++++ FromBCD (Local5, Local6)", Debug)
1635 1.1 jruoho FromBCD (Local5, Local6)
1636 1.1 jruoho
1637 1.1 jruoho Store ("++++++++ Return (Local6)", Debug)
1638 1.1 jruoho Return (Local6)
1639 1.1 jruoho }
1640 1.1 jruoho
1641 1.1 jruoho
1642 1.1 jruoho Method (CHEK)
1643 1.1 jruoho {
1644 1.1 jruoho
1645 1.1 jruoho Store (3, Local0)
1646 1.1 jruoho Store (3, Debug)
1647 1.1 jruoho Store (Local0, Debug)
1648 1.1 jruoho Store (7, Local1)
1649 1.1 jruoho
1650 1.1 jruoho Add (Local0, Local1)
1651 1.1 jruoho if (LNotEqual (Local0, 3))
1652 1.1 jruoho {
1653 1.1.1.7 christos ERR_ (2, __LINE__)
1654 1.1 jruoho }
1655 1.1 jruoho if (LNotEqual (Local1, 7))
1656 1.1 jruoho {
1657 1.1.1.7 christos ERR_ (2, __LINE__)
1658 1.1 jruoho }
1659 1.1 jruoho
1660 1.1 jruoho
1661 1.1 jruoho Add (Local0, Local1, Local2)
1662 1.1 jruoho if (LNotEqual (Local0, 3))
1663 1.1 jruoho {
1664 1.1.1.7 christos ERR_ (2, __LINE__)
1665 1.1 jruoho }
1666 1.1 jruoho if (LNotEqual (Local1, 7))
1667 1.1 jruoho {
1668 1.1.1.7 christos ERR_ (2, __LINE__)
1669 1.1 jruoho }
1670 1.1 jruoho }
1671 1.1 jruoho
1672 1.1 jruoho
1673 1.1 jruoho Method (RET1)
1674 1.1 jruoho {
1675 1.1 jruoho Store (3, Local0)
1676 1.1 jruoho Return (Local0)
1677 1.1 jruoho }
1678 1.1 jruoho
1679 1.1 jruoho Method (RET2)
1680 1.1 jruoho {
1681 1.1 jruoho Return (RET1())
1682 1.1 jruoho }
1683 1.1 jruoho
1684 1.1 jruoho Method (RETZ)
1685 1.1 jruoho {
1686 1.1 jruoho RET2 ()
1687 1.1 jruoho }
1688 1.1 jruoho
1689 1.1 jruoho
1690 1.1 jruoho Method (BITZ)
1691 1.1 jruoho {
1692 1.1 jruoho Store ("++++++++ FindSetLeftBit (0x00100100, Local0)", Debug)
1693 1.1 jruoho FindSetLeftBit (0x00100100, Local0)
1694 1.1 jruoho if (LNotEqual (Local0, 21))
1695 1.1 jruoho {
1696 1.1.1.7 christos ERR_ (1, __LINE__)
1697 1.1 jruoho }
1698 1.1 jruoho
1699 1.1 jruoho Store ("++++++++ FindSetRightBit (0x00100100, Local1)", Debug)
1700 1.1 jruoho FindSetRightBit (0x00100100, Local1)
1701 1.1 jruoho if (LNotEqual (Local1, 9))
1702 1.1 jruoho {
1703 1.1.1.7 christos ERR_ (1, __LINE__)
1704 1.1 jruoho }
1705 1.1 jruoho
1706 1.1 jruoho Store ("++++++++ And (0xF0F0F0F0, 0x11111111, Local2)", Debug)
1707 1.1 jruoho And (0xF0F0F0F0, 0x11111111, Local2)
1708 1.1 jruoho if (LNotEqual (Local2, 0x10101010))
1709 1.1 jruoho {
1710 1.1.1.7 christos ERR_ (1, __LINE__)
1711 1.1 jruoho }
1712 1.1 jruoho
1713 1.1 jruoho Store ("++++++++ NAnd (0xF0F0F0F0, 0x11111111, Local3)", Debug)
1714 1.1 jruoho NAnd (0xF0F0F0F0, 0x11111111, Local3)
1715 1.1 jruoho if (LNotEqual (Local3, 0xEFEFEFEF))
1716 1.1 jruoho {
1717 1.1.1.7 christos ERR_ (1, __LINE__)
1718 1.1 jruoho }
1719 1.1 jruoho
1720 1.1 jruoho Store ("++++++++ Or (0x11111111, 0x22222222, Local4)", Debug)
1721 1.1 jruoho Or (0x11111111, 0x22222222, Local4)
1722 1.1 jruoho if (LNotEqual (Local4, 0x33333333))
1723 1.1 jruoho {
1724 1.1.1.7 christos ERR_ (1, __LINE__)
1725 1.1 jruoho }
1726 1.1 jruoho
1727 1.1 jruoho Store ("++++++++ NOr (0x11111111, 0x22222222, Local5)", Debug)
1728 1.1 jruoho NOr (0x11111111, 0x22222222, Local5)
1729 1.1 jruoho if (LNotEqual (Local5, 0xCCCCCCCC))
1730 1.1 jruoho {
1731 1.1.1.7 christos ERR_ (1, __LINE__)
1732 1.1 jruoho }
1733 1.1 jruoho
1734 1.1 jruoho Store ("++++++++ XOr (0x11113333, 0x22222222, Local6)", Debug)
1735 1.1 jruoho XOr (0x11113333, 0x22222222, Local6)
1736 1.1 jruoho if (LNotEqual (Local6, 0x33331111))
1737 1.1 jruoho {
1738 1.1.1.7 christos ERR_ (1, __LINE__)
1739 1.1 jruoho }
1740 1.1 jruoho
1741 1.1 jruoho Store ("++++++++ ShiftLeft (0x11112222, 2, Local7)", Debug)
1742 1.1 jruoho ShiftLeft (0x11112222, 2, Local7)
1743 1.1 jruoho if (LNotEqual (Local7, 0x44448888))
1744 1.1 jruoho {
1745 1.1.1.7 christos ERR_ (1, __LINE__)
1746 1.1 jruoho }
1747 1.1 jruoho
1748 1.1 jruoho Store ("++++++++ ShiftRight (Local7, 2, Local7)", Debug)
1749 1.1 jruoho ShiftRight (Local7, 2, Local7)
1750 1.1 jruoho if (LNotEqual (Local7, 0x11112222))
1751 1.1 jruoho {
1752 1.1.1.7 christos ERR_ (1, __LINE__)
1753 1.1 jruoho }
1754 1.1 jruoho
1755 1.1 jruoho
1756 1.1 jruoho Store ("++++++++ Not (Local0, Local1)", Debug)
1757 1.1 jruoho Store (0x22224444, Local0)
1758 1.1 jruoho Not (Local0, Local1)
1759 1.1 jruoho if (LNotEqual (Local0, 0x22224444))
1760 1.1 jruoho {
1761 1.1.1.7 christos ERR_ (2, __LINE__)
1762 1.1 jruoho }
1763 1.1 jruoho
1764 1.1 jruoho if (LNotEqual (Local1, 0xDDDDBBBB))
1765 1.1 jruoho {
1766 1.1.1.7 christos ERR_ (1, __LINE__)
1767 1.1 jruoho }
1768 1.1 jruoho
1769 1.1 jruoho Return (Local7)
1770 1.1 jruoho }
1771 1.1 jruoho
1772 1.1 jruoho
1773 1.1 jruoho Method (LOGS)
1774 1.1 jruoho {
1775 1.1 jruoho
1776 1.1 jruoho Store ("++++++++ Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)", Debug)
1777 1.1 jruoho Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)
1778 1.1 jruoho
1779 1.1 jruoho Store ("++++++++ Store (LEqual (0xFFFFFFFF, 0x11111111), Local)", Debug)
1780 1.1 jruoho Store (LEqual (0xFFFFFFFF, 0x11111111), Local1)
1781 1.1 jruoho
1782 1.1 jruoho Store ("++++++++ Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)", Debug)
1783 1.1 jruoho Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)
1784 1.1 jruoho
1785 1.1 jruoho Store ("++++++++ Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)", Debug)
1786 1.1 jruoho Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)
1787 1.1 jruoho
1788 1.1 jruoho Store ("++++++++ Store (LLess (0xFFFFFFFF, 0x11111111), Local4)", Debug)
1789 1.1 jruoho Store (LLess (0xFFFFFFFF, 0x11111111), Local4)
1790 1.1 jruoho
1791 1.1 jruoho Store ("++++++++ Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)", Debug)
1792 1.1 jruoho Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
1793 1.1 jruoho
1794 1.1 jruoho Store ("++++++++ Store (LNot (0x31313131), Local6)", Debug)
1795 1.1 jruoho Store (0x00001111, Local6)
1796 1.1 jruoho Store (LNot (Local6), Local7)
1797 1.1 jruoho if (LNotEqual (Local6, 0x00001111))
1798 1.1 jruoho {
1799 1.1.1.7 christos ERR_ (2, __LINE__)
1800 1.1 jruoho }
1801 1.1 jruoho
1802 1.1 jruoho if (LNotEqual (Local7, 0x0))
1803 1.1 jruoho {
1804 1.1.1.7 christos ERR_ (1, __LINE__)
1805 1.1 jruoho }
1806 1.1 jruoho
1807 1.1 jruoho
1808 1.1 jruoho Store ("++++++++ Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)", Debug)
1809 1.1 jruoho Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)
1810 1.1 jruoho
1811 1.1 jruoho Store ("++++++++ Lor (0x0, 0x1)", Debug)
1812 1.1 jruoho if (Lor (0x0, 0x1))
1813 1.1 jruoho {
1814 1.1 jruoho Store ("+_+_+_+_+ Lor (0x0, 0x1) returned TRUE", Debug)
1815 1.1 jruoho }
1816 1.1 jruoho
1817 1.1 jruoho return (Local7)
1818 1.1 jruoho }
1819 1.1 jruoho
1820 1.1 jruoho
1821 1.1 jruoho Method (COND)
1822 1.1 jruoho {
1823 1.1 jruoho Store ("++++++++ Store (0x4, Local0)", Debug)
1824 1.1 jruoho Store (0x4, Local0)
1825 1.1 jruoho
1826 1.1 jruoho Store ("++++++++ While (Local0)", Debug)
1827 1.1 jruoho While (Local0)
1828 1.1 jruoho {
1829 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug)
1830 1.1 jruoho Decrement (Local0)
1831 1.1 jruoho }
1832 1.1 jruoho
1833 1.1 jruoho
1834 1.1 jruoho Store ("++++++++ Store (0x3, Local6)", Debug)
1835 1.1 jruoho Store (0x3, Local6)
1836 1.1 jruoho
1837 1.1 jruoho Store ("++++++++ While (Subtract (Local6, 1))", Debug)
1838 1.1 jruoho While (Subtract (Local6, 1))
1839 1.1 jruoho {
1840 1.1 jruoho Store ("++++++++ Decrement (Local6)", Debug)
1841 1.1 jruoho Decrement (Local6)
1842 1.1 jruoho }
1843 1.1 jruoho
1844 1.1 jruoho
1845 1.1 jruoho Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
1846 1.1 jruoho If (LGreater (0x2, 0x1))
1847 1.1 jruoho {
1848 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
1849 1.1 jruoho If (LEqual (0x11111111, 0x22222222))
1850 1.1 jruoho {
1851 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
1852 1.1 jruoho }
1853 1.1 jruoho
1854 1.1 jruoho else
1855 1.1 jruoho {
1856 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
1857 1.1 jruoho If (LNot (0x0))
1858 1.1 jruoho {
1859 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
1860 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2))
1861 1.1 jruoho {
1862 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
1863 1.1 jruoho If (LLess (0x44444444, 0x3))
1864 1.1 jruoho {
1865 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
1866 1.1 jruoho }
1867 1.1 jruoho
1868 1.1 jruoho else
1869 1.1 jruoho {
1870 1.1 jruoho Store ("++++++++ Exiting from nested IF/ELSE statements", Debug)
1871 1.1 jruoho }
1872 1.1 jruoho }
1873 1.1 jruoho }
1874 1.1 jruoho }
1875 1.1 jruoho }
1876 1.1 jruoho
1877 1.1 jruoho
1878 1.1 jruoho Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
1879 1.1 jruoho If (LGreater (0x2, 0x1))
1880 1.1 jruoho {
1881 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
1882 1.1 jruoho If (LEqual (0x11111111, 0x22222222))
1883 1.1 jruoho {
1884 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
1885 1.1 jruoho }
1886 1.1 jruoho
1887 1.1 jruoho else
1888 1.1 jruoho {
1889 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
1890 1.1 jruoho If (LNot (0x0))
1891 1.1 jruoho {
1892 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
1893 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2))
1894 1.1 jruoho {
1895 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
1896 1.1 jruoho If (LLess (0x44444444, 0x3))
1897 1.1 jruoho {
1898 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
1899 1.1 jruoho }
1900 1.1 jruoho
1901 1.1 jruoho else
1902 1.1 jruoho {
1903 1.1 jruoho Store ("++++++++ Returning from nested IF/ELSE statements", Debug)
1904 1.1 jruoho Return (Local6)
1905 1.1 jruoho }
1906 1.1 jruoho }
1907 1.1 jruoho }
1908 1.1 jruoho }
1909 1.1 jruoho }
1910 1.1 jruoho
1911 1.1 jruoho }
1912 1.1 jruoho
1913 1.1 jruoho
1914 1.1.1.3 christos Method (REFS,, Serialized)
1915 1.1 jruoho {
1916 1.1 jruoho Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7})
1917 1.1 jruoho
1918 1.1 jruoho Name (NEST, Package ()
1919 1.1 jruoho {
1920 1.1 jruoho Package ()
1921 1.1 jruoho {
1922 1.1 jruoho 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
1923 1.1 jruoho },
1924 1.1 jruoho Package ()
1925 1.1 jruoho {
1926 1.1 jruoho 0x11, 0x12, 0x12, 0x14, 0x15, 0x16
1927 1.1 jruoho }
1928 1.1 jruoho })
1929 1.1 jruoho
1930 1.1 jruoho Store (RefOf (MAIN), Local5)
1931 1.1 jruoho
1932 1.1 jruoho // For this to work, ABCD must NOT exist.
1933 1.1 jruoho
1934 1.1 jruoho Store (CondRefOf (ABCD, Local0), Local1)
1935 1.1 jruoho if (LNotEqual (Local1, 0))
1936 1.1 jruoho {
1937 1.1.1.7 christos ERR_ (2, __LINE__)
1938 1.1 jruoho }
1939 1.1 jruoho
1940 1.1 jruoho Store (CondRefOf (BBUF, Local0), Local1)
1941 1.1 jruoho if (LNotEqual (Local1, Ones))
1942 1.1 jruoho {
1943 1.1.1.7 christos ERR_ (2, __LINE__)
1944 1.1 jruoho }
1945 1.1 jruoho
1946 1.1 jruoho Store (DeRefOf (Index (BBUF, 3)), Local6)
1947 1.1 jruoho if (LNotEqual (Local6, 0xB3))
1948 1.1 jruoho {
1949 1.1.1.7 christos ERR_ (2, __LINE__)
1950 1.1 jruoho }
1951 1.1 jruoho
1952 1.1 jruoho Store (DeRefOf (Index (DeRefOf (Index (NEST, 1)), 3)), Local0)
1953 1.1 jruoho if (LNotEqual (Local0, 0x14))
1954 1.1 jruoho {
1955 1.1.1.7 christos ERR_ (2, __LINE__)
1956 1.1 jruoho }
1957 1.1 jruoho
1958 1.1 jruoho
1959 1.1 jruoho Store (0x11223344, Local0)
1960 1.1 jruoho Store (RefOf (Local0), Local1)
1961 1.1 jruoho
1962 1.1 jruoho Store (DerefOf (Local1), Local2)
1963 1.1 jruoho If (LNotEqual (Local2, 0x11223344))
1964 1.1 jruoho {
1965 1.1.1.7 christos ERR_ (2, __LINE__)
1966 1.1 jruoho }
1967 1.1 jruoho
1968 1.1 jruoho
1969 1.1 jruoho /* Parser thinks this is a method invocation!! */
1970 1.1 jruoho
1971 1.1 jruoho // RefOf (MAIN)
1972 1.1 jruoho
1973 1.1 jruoho
1974 1.1 jruoho // RefOf (R___)
1975 1.1 jruoho // RefOf (BBUF)
1976 1.1 jruoho
1977 1.1 jruoho // Store (RefOf (Local0), Local1)
1978 1.1 jruoho
1979 1.1 jruoho // CondRefOf (BBUF, Local2)
1980 1.1 jruoho // CondRefOf (R___, Local3)
1981 1.1 jruoho
1982 1.1 jruoho // Store (DerefOf (Local1), Local4)
1983 1.1 jruoho
1984 1.1 jruoho // Return (Local4)
1985 1.1 jruoho }
1986 1.1 jruoho
1987 1.1 jruoho
1988 1.1.1.3 christos Method (INDX, 0, Serialized)
1989 1.1 jruoho {
1990 1.1 jruoho Name(STAT,Package(4){})
1991 1.1 jruoho Store(0x44443333,Index(STAT,0))
1992 1.1 jruoho }
1993 1.1 jruoho
1994 1.1 jruoho //=================================================================
1995 1.1 jruoho //=================================================================
1996 1.1 jruoho //===================== iPCO TESTS ================================
1997 1.1 jruoho //=================================================================
1998 1.1 jruoho //=================================================================
1999 1.1 jruoho //
2000 1.1 jruoho //
2001 1.1 jruoho // test IfElseOp.asl
2002 1.1 jruoho //
2003 1.1 jruoho // test for IfOp and ElseOp, including validation of object stack cleanup
2004 1.1 jruoho //
2005 1.1 jruoho Device (IFEL)
2006 1.1 jruoho {
2007 1.1 jruoho Name (DWRD, 1)
2008 1.1 jruoho Name (RSLT, 0)
2009 1.1 jruoho
2010 1.1 jruoho // IFNR control method executes IfOp branch with NO nested Return
2011 1.1 jruoho // and no Else branch
2012 1.1 jruoho Method (IFNR)
2013 1.1 jruoho {
2014 1.1 jruoho Store (DWRD, RSLT)
2015 1.1 jruoho If (LEqual (DWRD, 1))
2016 1.1 jruoho {
2017 1.1 jruoho Store (0, RSLT)
2018 1.1 jruoho }
2019 1.1 jruoho } // IFNR
2020 1.1 jruoho
2021 1.1 jruoho // NINR control method does not execute If branch and has no Else branch
2022 1.1 jruoho Method (NINR)
2023 1.1 jruoho {
2024 1.1 jruoho Store (0, RSLT)
2025 1.1 jruoho If (LNotEqual (DWRD, 1))
2026 1.1 jruoho {
2027 1.1 jruoho Store (DWRD, RSLT)
2028 1.1 jruoho }
2029 1.1 jruoho } // NINR
2030 1.1 jruoho
2031 1.1 jruoho // IENR control method executes IfOp branch with NO nested Return
2032 1.1 jruoho Method (IENR)
2033 1.1 jruoho {
2034 1.1 jruoho If (LEqual (DWRD, 1))
2035 1.1 jruoho {
2036 1.1 jruoho Store (0, RSLT)
2037 1.1 jruoho }
2038 1.1 jruoho Else
2039 1.1 jruoho {
2040 1.1 jruoho Store (DWRD, RSLT)
2041 1.1 jruoho }
2042 1.1 jruoho } // IENR
2043 1.1 jruoho
2044 1.1 jruoho // ELNR control method executes ElseOp branch with NO nested Return
2045 1.1 jruoho Method (ELNR)
2046 1.1 jruoho {
2047 1.1 jruoho If (LNotEqual (DWRD, 1))
2048 1.1 jruoho {
2049 1.1 jruoho Store (DWRD, RSLT)
2050 1.1 jruoho }
2051 1.1 jruoho Else
2052 1.1 jruoho {
2053 1.1 jruoho Store (0, RSLT)
2054 1.1 jruoho }
2055 1.1 jruoho } // ELNR
2056 1.1 jruoho
2057 1.1 jruoho // IFRT control method executes IfOp branch with nested Return with
2058 1.1 jruoho // no Else branch
2059 1.1 jruoho Method (IFRT)
2060 1.1 jruoho
2061 1.1 jruoho {
2062 1.1 jruoho If (LEqual (DWRD, 1))
2063 1.1 jruoho {
2064 1.1 jruoho Return (0)
2065 1.1 jruoho }
2066 1.1 jruoho Return (DWRD)
2067 1.1 jruoho } // IFRT
2068 1.1 jruoho
2069 1.1 jruoho // IERT control method executes IfOp branch with nested Return with
2070 1.1 jruoho // Else branch
2071 1.1 jruoho Method (IERT)
2072 1.1 jruoho {
2073 1.1 jruoho If (LEqual (DWRD, 1))
2074 1.1 jruoho {
2075 1.1 jruoho Return (0)
2076 1.1 jruoho }
2077 1.1 jruoho Else
2078 1.1 jruoho {
2079 1.1 jruoho Return (DWRD)
2080 1.1 jruoho }
2081 1.1 jruoho } // IERT
2082 1.1 jruoho
2083 1.1 jruoho // ELRT control method executes ElseOp branch with nested Return
2084 1.1 jruoho Method (ELRT)
2085 1.1 jruoho {
2086 1.1 jruoho If (LNotEqual (DWRD, 1))
2087 1.1 jruoho {
2088 1.1 jruoho Return (DWRD)
2089 1.1 jruoho }
2090 1.1 jruoho Else
2091 1.1 jruoho {
2092 1.1 jruoho Return (0)
2093 1.1 jruoho }
2094 1.1 jruoho } // ELRT
2095 1.1 jruoho
2096 1.1 jruoho Method (TEST)
2097 1.1 jruoho {
2098 1.1 jruoho Store ("++++++++ IfElseOp Test", Debug)
2099 1.1 jruoho
2100 1.1 jruoho // IfOp with NO return value
2101 1.1 jruoho IFNR()
2102 1.1 jruoho If (LNotEqual (RSLT, 0))
2103 1.1 jruoho {
2104 1.1 jruoho Return (RSLT)
2105 1.1 jruoho }
2106 1.1 jruoho
2107 1.1 jruoho // IfOp with NO return value
2108 1.1 jruoho NINR()
2109 1.1 jruoho If (LNotEqual (RSLT, 0))
2110 1.1 jruoho {
2111 1.1 jruoho Return (RSLT)
2112 1.1 jruoho }
2113 1.1 jruoho
2114 1.1 jruoho // IfOp with NO return value
2115 1.1 jruoho IENR()
2116 1.1 jruoho If (LNotEqual (RSLT, 0))
2117 1.1 jruoho {
2118 1.1 jruoho Return (RSLT)
2119 1.1 jruoho }
2120 1.1 jruoho
2121 1.1 jruoho // ElseOp with NO return value
2122 1.1 jruoho ELNR()
2123 1.1 jruoho If (LNotEqual (RSLT, 0))
2124 1.1 jruoho {
2125 1.1 jruoho Return (RSLT)
2126 1.1 jruoho }
2127 1.1 jruoho
2128 1.1 jruoho // IfOp with return value
2129 1.1 jruoho Store (IFRT, RSLT)
2130 1.1 jruoho If (LNotEqual (RSLT, 0))
2131 1.1 jruoho {
2132 1.1 jruoho Return (RSLT)
2133 1.1 jruoho }
2134 1.1 jruoho
2135 1.1 jruoho // IfOp with return value
2136 1.1 jruoho Store (IERT, RSLT)
2137 1.1 jruoho If (LNotEqual (RSLT, 0))
2138 1.1 jruoho {
2139 1.1 jruoho Return (RSLT)
2140 1.1 jruoho }
2141 1.1 jruoho
2142 1.1 jruoho // ElseOp with return value
2143 1.1 jruoho Store (ELRT, RSLT)
2144 1.1 jruoho If (LNotEqual (RSLT, 0))
2145 1.1 jruoho {
2146 1.1 jruoho Return (RSLT)
2147 1.1 jruoho }
2148 1.1 jruoho
2149 1.1 jruoho Return (0)
2150 1.1 jruoho } // TEST
2151 1.1 jruoho } // IFEL
2152 1.1 jruoho
2153 1.1 jruoho //
2154 1.1 jruoho // test NoSave.asl
2155 1.1 jruoho //
2156 1.1 jruoho //
2157 1.1 jruoho // Internal test cases to validate IfOp (Operator (,,)) where Operator
2158 1.1 jruoho // target is ZeroOp to throw away the results.
2159 1.1 jruoho // Includes internal test cases for logical operators with no destination
2160 1.1 jruoho // operands.
2161 1.1 jruoho //
2162 1.1 jruoho Device (NOSV)
2163 1.1 jruoho {
2164 1.1.1.3 christos Method (TEST,, Serialized)
2165 1.1 jruoho {
2166 1.1 jruoho Store ("++++++++ NoSave Test", Debug)
2167 1.1 jruoho
2168 1.1 jruoho Name (WRD, 0x1234)
2169 1.1 jruoho
2170 1.1 jruoho //
2171 1.1 jruoho // Begin test of nested operators without saving results
2172 1.1 jruoho //
2173 1.1 jruoho
2174 1.1 jruoho // Test If (And ()) with no save of And result
2175 1.1 jruoho If (And (3, 1, ))
2176 1.1 jruoho {
2177 1.1 jruoho Store (1, WRD) // pass -- just do something
2178 1.1 jruoho }
2179 1.1 jruoho else
2180 1.1 jruoho {
2181 1.1 jruoho Return (1) // fail
2182 1.1 jruoho }
2183 1.1 jruoho
2184 1.1 jruoho // Test If (And ()) with no save of And result
2185 1.1 jruoho If (And (4, 1, ))
2186 1.1 jruoho {
2187 1.1 jruoho Return (2) // fail
2188 1.1 jruoho }
2189 1.1 jruoho else
2190 1.1 jruoho {
2191 1.1 jruoho Store (2, WRD) // pass -- just do something
2192 1.1 jruoho }
2193 1.1 jruoho
2194 1.1 jruoho
2195 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result
2196 1.1 jruoho If (NAnd (3, 1, ))
2197 1.1 jruoho {
2198 1.1 jruoho Store (3, WRD) // pass -- just do something
2199 1.1 jruoho }
2200 1.1 jruoho else
2201 1.1 jruoho {
2202 1.1 jruoho Return (3) // fail
2203 1.1 jruoho }
2204 1.1 jruoho
2205 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result
2206 1.1 jruoho If (NAnd (0xFFFFFFFF, 0xFFFFFFFF, ))
2207 1.1 jruoho {
2208 1.1 jruoho Return (4) // fail
2209 1.1 jruoho }
2210 1.1 jruoho else
2211 1.1 jruoho {
2212 1.1 jruoho Store (4, WRD) // pass -- just do something
2213 1.1 jruoho }
2214 1.1 jruoho
2215 1.1 jruoho
2216 1.1 jruoho // Test If (NOr ()) with no save of NOr result
2217 1.1 jruoho If (NOr (0, 1, ))
2218 1.1 jruoho {
2219 1.1 jruoho Store (5, WRD) // pass -- just do something
2220 1.1 jruoho }
2221 1.1 jruoho else
2222 1.1 jruoho {
2223 1.1 jruoho Return (5) // fail
2224 1.1 jruoho }
2225 1.1 jruoho
2226 1.1 jruoho // Test If (NOr ()) with no save of NOr result
2227 1.1 jruoho If (NOr (0xFFFFFFFE, 1, ))
2228 1.1 jruoho {
2229 1.1 jruoho Return (6) // fail
2230 1.1 jruoho }
2231 1.1 jruoho else
2232 1.1 jruoho {
2233 1.1 jruoho Store (6, WRD) // pass -- just do something
2234 1.1 jruoho }
2235 1.1 jruoho
2236 1.1 jruoho
2237 1.1 jruoho // Test If (Not ()) with no save of Not result
2238 1.1 jruoho If (Not (1, ))
2239 1.1 jruoho {
2240 1.1 jruoho Store (7, WRD) // pass -- just do something
2241 1.1 jruoho }
2242 1.1 jruoho else
2243 1.1 jruoho {
2244 1.1 jruoho Return (7) // fail
2245 1.1 jruoho }
2246 1.1 jruoho
2247 1.1 jruoho // Test If (Not ()) with no save of Not result
2248 1.1 jruoho If (Not (0xFFFFFFFF, ))
2249 1.1 jruoho {
2250 1.1 jruoho Return (8) // fail
2251 1.1 jruoho }
2252 1.1 jruoho else
2253 1.1 jruoho {
2254 1.1 jruoho Store (8, WRD) // pass -- just do something
2255 1.1 jruoho }
2256 1.1 jruoho
2257 1.1 jruoho
2258 1.1 jruoho // Test If (Or ()) with no save of Or result
2259 1.1 jruoho If (Or (3, 1, ))
2260 1.1 jruoho {
2261 1.1 jruoho Store (9, WRD) // pass -- just do something
2262 1.1 jruoho }
2263 1.1 jruoho else
2264 1.1 jruoho {
2265 1.1 jruoho Return (9) // fail
2266 1.1 jruoho }
2267 1.1 jruoho
2268 1.1 jruoho // Test If (Or ()) with no save of Or result
2269 1.1 jruoho If (Or (0, 0, ))
2270 1.1 jruoho {
2271 1.1 jruoho Return (10) // fail
2272 1.1 jruoho }
2273 1.1 jruoho else
2274 1.1 jruoho {
2275 1.1 jruoho Store (10, WRD) // pass -- just do something
2276 1.1 jruoho }
2277 1.1 jruoho
2278 1.1 jruoho
2279 1.1 jruoho // Test If (XOr ()) with no save of XOr result
2280 1.1 jruoho If (XOr (3, 1, ))
2281 1.1 jruoho {
2282 1.1 jruoho Store (11, WRD) // pass -- just do something
2283 1.1 jruoho }
2284 1.1 jruoho else
2285 1.1 jruoho {
2286 1.1 jruoho Return (11) // fail
2287 1.1 jruoho }
2288 1.1 jruoho
2289 1.1 jruoho // Test If (XOr ()) with no save of XOr result
2290 1.1 jruoho If (XOr (3, 3, ))
2291 1.1 jruoho {
2292 1.1 jruoho Return (12) // fail
2293 1.1 jruoho }
2294 1.1 jruoho else
2295 1.1 jruoho {
2296 1.1 jruoho Store (12, WRD) // pass -- just do something
2297 1.1 jruoho }
2298 1.1 jruoho
2299 1.1 jruoho
2300 1.1 jruoho //
2301 1.1 jruoho // Begin test of logical operators with no destination operands
2302 1.1 jruoho //
2303 1.1 jruoho
2304 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2305 1.1 jruoho If (LAnd (3, 3))
2306 1.1 jruoho {
2307 1.1 jruoho Store (21, WRD) // pass -- just do something
2308 1.1 jruoho }
2309 1.1 jruoho else
2310 1.1 jruoho {
2311 1.1 jruoho Return (21) // fail
2312 1.1 jruoho }
2313 1.1 jruoho
2314 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2315 1.1 jruoho If (LAnd (3, 0))
2316 1.1 jruoho {
2317 1.1 jruoho Return (22) // fail
2318 1.1 jruoho }
2319 1.1 jruoho else
2320 1.1 jruoho {
2321 1.1 jruoho Store (22, WRD) // pass -- just do something
2322 1.1 jruoho }
2323 1.1 jruoho
2324 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2325 1.1 jruoho If (LAnd (0, 3))
2326 1.1 jruoho {
2327 1.1 jruoho Return (23) // fail
2328 1.1 jruoho }
2329 1.1 jruoho else
2330 1.1 jruoho {
2331 1.1 jruoho Store (23, WRD) // pass -- just do something
2332 1.1 jruoho }
2333 1.1 jruoho
2334 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2335 1.1 jruoho If (LAnd (0, 0))
2336 1.1 jruoho {
2337 1.1 jruoho Return (24) // fail
2338 1.1 jruoho }
2339 1.1 jruoho else
2340 1.1 jruoho {
2341 1.1 jruoho Store (24, WRD) // pass -- just do something
2342 1.1 jruoho }
2343 1.1 jruoho
2344 1.1 jruoho
2345 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result
2346 1.1 jruoho If (LEqual (3, 3))
2347 1.1 jruoho {
2348 1.1 jruoho Store (31, WRD) // pass -- just do something
2349 1.1 jruoho }
2350 1.1 jruoho else
2351 1.1 jruoho {
2352 1.1 jruoho Return (31) // fail
2353 1.1 jruoho }
2354 1.1 jruoho
2355 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result
2356 1.1 jruoho If (LEqual (1, 3))
2357 1.1 jruoho {
2358 1.1 jruoho Return (32) // fail
2359 1.1 jruoho }
2360 1.1 jruoho else
2361 1.1 jruoho {
2362 1.1 jruoho Store (32, WRD) // pass -- just do something
2363 1.1 jruoho }
2364 1.1 jruoho
2365 1.1 jruoho
2366 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2367 1.1 jruoho If (LGreater (3, 1))
2368 1.1 jruoho {
2369 1.1 jruoho Store (41, WRD) // pass -- just do something
2370 1.1 jruoho }
2371 1.1 jruoho else
2372 1.1 jruoho {
2373 1.1 jruoho Return (41) // fail
2374 1.1 jruoho }
2375 1.1 jruoho
2376 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2377 1.1 jruoho If (LGreater (4, 4))
2378 1.1 jruoho {
2379 1.1 jruoho Return (42) // fail
2380 1.1 jruoho }
2381 1.1 jruoho else
2382 1.1 jruoho {
2383 1.1 jruoho Store (42, WRD) // pass -- just do something
2384 1.1 jruoho }
2385 1.1 jruoho
2386 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2387 1.1 jruoho If (LGreater (1, 4))
2388 1.1 jruoho {
2389 1.1 jruoho Return (43) // fail
2390 1.1 jruoho }
2391 1.1 jruoho else
2392 1.1 jruoho {
2393 1.1 jruoho Store (43, WRD) // pass -- just do something
2394 1.1 jruoho }
2395 1.1 jruoho
2396 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2397 1.1 jruoho If (LGreaterEqual (3, 1))
2398 1.1 jruoho {
2399 1.1 jruoho Store (44, WRD) // pass -- just do something
2400 1.1 jruoho }
2401 1.1 jruoho else
2402 1.1 jruoho {
2403 1.1 jruoho Return (44) // fail
2404 1.1 jruoho }
2405 1.1 jruoho
2406 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2407 1.1 jruoho If (LGreaterEqual (3, 3))
2408 1.1 jruoho {
2409 1.1 jruoho Store (45, WRD) // pass -- just do something
2410 1.1 jruoho }
2411 1.1 jruoho else
2412 1.1 jruoho {
2413 1.1 jruoho Return (45) // fail
2414 1.1 jruoho }
2415 1.1 jruoho
2416 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2417 1.1 jruoho If (LGreaterEqual (3, 4))
2418 1.1 jruoho {
2419 1.1 jruoho Return (46) // fail
2420 1.1 jruoho }
2421 1.1 jruoho else
2422 1.1 jruoho {
2423 1.1 jruoho Store (46, WRD) // pass -- just do something
2424 1.1 jruoho }
2425 1.1 jruoho
2426 1.1 jruoho
2427 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2428 1.1 jruoho If (LLess (1, 3))
2429 1.1 jruoho {
2430 1.1 jruoho Store (51, WRD) // pass -- just do something
2431 1.1 jruoho }
2432 1.1 jruoho else
2433 1.1 jruoho {
2434 1.1 jruoho Return (51) // fail
2435 1.1 jruoho }
2436 1.1 jruoho
2437 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2438 1.1 jruoho If (LLess (2, 2))
2439 1.1 jruoho {
2440 1.1 jruoho Return (52) // fail
2441 1.1 jruoho }
2442 1.1 jruoho else
2443 1.1 jruoho {
2444 1.1 jruoho Store (52, WRD) // pass -- just do something
2445 1.1 jruoho }
2446 1.1 jruoho
2447 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2448 1.1 jruoho If (LLess (4, 2))
2449 1.1 jruoho {
2450 1.1 jruoho Return (53) // fail
2451 1.1 jruoho }
2452 1.1 jruoho else
2453 1.1 jruoho {
2454 1.1 jruoho Store (53, WRD) // pass -- just do something
2455 1.1 jruoho }
2456 1.1 jruoho
2457 1.1 jruoho
2458 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2459 1.1 jruoho If (LLessEqual (1, 3))
2460 1.1 jruoho {
2461 1.1 jruoho Store (54, WRD) // pass -- just do something
2462 1.1 jruoho }
2463 1.1 jruoho else
2464 1.1 jruoho {
2465 1.1 jruoho Return (54) // fail
2466 1.1 jruoho }
2467 1.1 jruoho
2468 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2469 1.1 jruoho If (LLessEqual (2, 2))
2470 1.1 jruoho {
2471 1.1 jruoho Store (55, WRD) // pass -- just do something
2472 1.1 jruoho }
2473 1.1 jruoho else
2474 1.1 jruoho {
2475 1.1 jruoho Return (55) // fail
2476 1.1 jruoho }
2477 1.1 jruoho
2478 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2479 1.1 jruoho If (LLessEqual (4, 2))
2480 1.1 jruoho {
2481 1.1 jruoho Return (56) // fail
2482 1.1 jruoho }
2483 1.1 jruoho else
2484 1.1 jruoho {
2485 1.1 jruoho Store (56, WRD) // pass -- just do something
2486 1.1 jruoho }
2487 1.1 jruoho
2488 1.1 jruoho
2489 1.1 jruoho // Test If (LNot ()) with no save of LNot result
2490 1.1 jruoho If (LNot (0))
2491 1.1 jruoho {
2492 1.1 jruoho Store (61, WRD) // pass -- just do something
2493 1.1 jruoho }
2494 1.1 jruoho else
2495 1.1 jruoho {
2496 1.1 jruoho Return (61) // fail
2497 1.1 jruoho }
2498 1.1 jruoho
2499 1.1 jruoho // Test If (LNot ()) with no save of LNot result
2500 1.1 jruoho If (LNot (1))
2501 1.1 jruoho {
2502 1.1 jruoho Return (62) // fail
2503 1.1 jruoho }
2504 1.1 jruoho else
2505 1.1 jruoho {
2506 1.1 jruoho Store (62, WRD) // pass -- just do something
2507 1.1 jruoho }
2508 1.1 jruoho
2509 1.1 jruoho
2510 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result
2511 1.1 jruoho If (LNotEqual (3, 3))
2512 1.1 jruoho {
2513 1.1 jruoho Return (63) // fail
2514 1.1 jruoho }
2515 1.1 jruoho else
2516 1.1 jruoho {
2517 1.1 jruoho Store (63, WRD) // pass -- just do something
2518 1.1 jruoho }
2519 1.1 jruoho
2520 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result
2521 1.1 jruoho If (LNotEqual (1, 3))
2522 1.1 jruoho {
2523 1.1 jruoho Store (64, WRD) // pass -- just do something
2524 1.1 jruoho }
2525 1.1 jruoho else
2526 1.1 jruoho {
2527 1.1 jruoho Return (64) // fail
2528 1.1 jruoho }
2529 1.1 jruoho
2530 1.1 jruoho
2531 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2532 1.1 jruoho If (LOr (3, 1))
2533 1.1 jruoho {
2534 1.1 jruoho Store (71, WRD) // pass -- just do something
2535 1.1 jruoho }
2536 1.1 jruoho else
2537 1.1 jruoho {
2538 1.1 jruoho Return (71) // fail
2539 1.1 jruoho }
2540 1.1 jruoho
2541 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2542 1.1 jruoho If (LOr (0, 1))
2543 1.1 jruoho {
2544 1.1 jruoho Store (72, WRD) // pass -- just do something
2545 1.1 jruoho }
2546 1.1 jruoho else
2547 1.1 jruoho {
2548 1.1 jruoho Return (72) // fail
2549 1.1 jruoho }
2550 1.1 jruoho
2551 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2552 1.1 jruoho If (LOr (3, 0))
2553 1.1 jruoho {
2554 1.1 jruoho Store (73, WRD) // pass -- just do something
2555 1.1 jruoho }
2556 1.1 jruoho else
2557 1.1 jruoho {
2558 1.1 jruoho Return (73) // fail
2559 1.1 jruoho }
2560 1.1 jruoho
2561 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2562 1.1 jruoho If (LOr (0, 0))
2563 1.1 jruoho {
2564 1.1 jruoho Return (74) // fail
2565 1.1 jruoho }
2566 1.1 jruoho else
2567 1.1 jruoho {
2568 1.1 jruoho Store (74, WRD) // pass -- just do something
2569 1.1 jruoho }
2570 1.1 jruoho
2571 1.1 jruoho Return (0)
2572 1.1 jruoho } // TEST
2573 1.1 jruoho } // NOSV
2574 1.1 jruoho
2575 1.1 jruoho
2576 1.1 jruoho //
2577 1.1 jruoho // test IndxFld.asl
2578 1.1 jruoho //
2579 1.1 jruoho // IndexFld test
2580 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
2581 1.1 jruoho // Tests index field element AccessAs macro.
2582 1.1 jruoho //
2583 1.1 jruoho Device (IDXF)
2584 1.1 jruoho { // Test device name
2585 1.1 jruoho
2586 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2)
2587 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve)
2588 1.1 jruoho {
2589 1.1 jruoho INDX, 8,
2590 1.1 jruoho DATA, 8
2591 1.1 jruoho }
2592 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
2593 1.1 jruoho {
2594 1.1 jruoho AccessAs (ByteAcc, 0),
2595 1.1 jruoho IFE0, 8,
2596 1.1 jruoho IFE1, 8,
2597 1.1 jruoho IFE2, 8,
2598 1.1 jruoho IFE3, 8,
2599 1.1 jruoho IFE4, 8,
2600 1.1 jruoho IFE5, 8,
2601 1.1 jruoho IFE6, 8,
2602 1.1 jruoho IFE7, 8,
2603 1.1 jruoho IFE8, 8,
2604 1.1 jruoho IFE9, 8,
2605 1.1 jruoho }
2606 1.1 jruoho
2607 1.1 jruoho Method (TEST)
2608 1.1 jruoho {
2609 1.1 jruoho Store ("++++++++ IndxFld Test", Debug)
2610 1.1 jruoho
2611 1.1 jruoho Store (IFE0, Local0)
2612 1.1 jruoho Store (IFE1, Local1)
2613 1.1 jruoho Store (IFE2, Local2)
2614 1.1 jruoho
2615 1.1 jruoho Return (0)
2616 1.1 jruoho } // TEST
2617 1.1 jruoho } // IDXF
2618 1.1 jruoho
2619 1.1 jruoho //
2620 1.1 jruoho // test NestdLor.asl
2621 1.1 jruoho //
2622 1.1 jruoho Scope (\_SB) // System Bus
2623 1.1 jruoho { // _SB system bus
2624 1.1 jruoho
2625 1.1 jruoho Name (ZER0, 0)
2626 1.1 jruoho Name (ZER1, 0)
2627 1.1 jruoho Name (ZER2, 0)
2628 1.1 jruoho Name (ONE0, 1)
2629 1.1 jruoho
2630 1.1 jruoho Device (NSTL)
2631 1.1 jruoho {
2632 1.1 jruoho Method (TEST)
2633 1.1 jruoho {
2634 1.1 jruoho Store ("++++++++ NestdLor Test", Debug)
2635 1.1 jruoho
2636 1.1 jruoho If (Lor (ZER0, Lor (ZER1, Lor (ZER2, ONE0))))
2637 1.1 jruoho { // Indicate Pass
2638 1.1 jruoho Store (0x00, Local0)
2639 1.1 jruoho }
2640 1.1 jruoho
2641 1.1 jruoho Else
2642 1.1 jruoho { // Indicate Fail
2643 1.1 jruoho Store (0x01, Local0)
2644 1.1 jruoho }
2645 1.1 jruoho
2646 1.1 jruoho Return (Local0)
2647 1.1 jruoho } // End Method TEST
2648 1.1 jruoho } // Device NSTL
2649 1.1 jruoho } // _SB system bus
2650 1.1 jruoho
2651 1.1 jruoho //
2652 1.1 jruoho // test RetBuf.asl
2653 1.1 jruoho //
2654 1.1 jruoho // Test ReturnOp(Buffer)
2655 1.1 jruoho // This is required to support Control Method Batteries on
2656 1.1 jruoho // Dell Latitude Laptops (e.g., CP1-A)
2657 1.1 jruoho //
2658 1.1 jruoho Device (RTBF)
2659 1.1 jruoho {
2660 1.1 jruoho Method (SUBR, 1)
2661 1.1 jruoho {
2662 1.1 jruoho Return (Arg0)
2663 1.1 jruoho }
2664 1.1 jruoho
2665 1.1.1.3 christos Method (RBUF,, Serialized)
2666 1.1 jruoho { // RBUF: Return Buffer from local variable
2667 1.1 jruoho Name (ABUF, Buffer() {"ARBITRARY_BUFFER"})
2668 1.1 jruoho
2669 1.1 jruoho // store local buffer ABUF into Local0
2670 1.1 jruoho Store (ABUF, Local0)
2671 1.1 jruoho
2672 1.1 jruoho // save Local0 object type value into Local1
2673 1.1 jruoho Store (ObjectType (Local0), Local1)
2674 1.1 jruoho
2675 1.1 jruoho // validate Local0 is a Buffer
2676 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2677 1.1 jruoho {
2678 1.1 jruoho Return (1) // failure
2679 1.1 jruoho }
2680 1.1 jruoho
2681 1.1 jruoho // store value returned by control method SUBR into Local0
2682 1.1 jruoho Store (SUBR (ABUF), Local0)
2683 1.1 jruoho
2684 1.1 jruoho // save Local0 object type value into Local1
2685 1.1 jruoho Store (ObjectType (Local0), Local1)
2686 1.1 jruoho
2687 1.1 jruoho // validate Local0 is a Buffer
2688 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2689 1.1 jruoho {
2690 1.1 jruoho Return (2) // failure
2691 1.1 jruoho }
2692 1.1 jruoho
2693 1.1 jruoho // allocate buffer using Local1 as buffer size (run-time evaluation)
2694 1.1 jruoho Store (5, Local1)
2695 1.1 jruoho Name (BUFR, Buffer(Local1) {})
2696 1.1 jruoho
2697 1.1 jruoho // store value returned by control method SUBR into Local0
2698 1.1 jruoho Store (SUBR (BUFR), Local0)
2699 1.1 jruoho
2700 1.1 jruoho // save Local0 object type value into Local1
2701 1.1 jruoho Store (ObjectType (Local0), Local1)
2702 1.1 jruoho
2703 1.1 jruoho // validate Local0 is a Buffer
2704 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2705 1.1 jruoho {
2706 1.1 jruoho Return (3) // failure
2707 1.1 jruoho }
2708 1.1 jruoho
2709 1.1 jruoho // store BUFR Buffer into Local0
2710 1.1 jruoho Store (BUFR, Local0)
2711 1.1 jruoho
2712 1.1 jruoho // save Local0 object type value into Local1
2713 1.1 jruoho Store (ObjectType (Local0), Local1)
2714 1.1 jruoho
2715 1.1 jruoho // validate Local0 is a Buffer
2716 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2717 1.1 jruoho {
2718 1.1 jruoho Return (4) // failure
2719 1.1 jruoho }
2720 1.1 jruoho
2721 1.1 jruoho
2722 1.1 jruoho // return Local0 Buffer
2723 1.1 jruoho Return (Local0)
2724 1.1 jruoho } // RBUF
2725 1.1 jruoho
2726 1.1 jruoho Method (TEST)
2727 1.1 jruoho {
2728 1.1 jruoho Store ("++++++++ RetBuf Test", Debug)
2729 1.1 jruoho
2730 1.1 jruoho // store RBUF Buffer return value into Local0
2731 1.1 jruoho Store (RBUF, Local0)
2732 1.1 jruoho
2733 1.1 jruoho // save Local0 object type value into Local1
2734 1.1 jruoho Store (ObjectType (Local0), Local1)
2735 1.1 jruoho
2736 1.1 jruoho // validate Local0 is a Buffer
2737 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2738 1.1 jruoho {
2739 1.1 jruoho Return (10) // failure
2740 1.1 jruoho }
2741 1.1 jruoho Else
2742 1.1 jruoho {
2743 1.1 jruoho Return (0) // success
2744 1.1 jruoho }
2745 1.1 jruoho } // TEST
2746 1.1 jruoho } // RTBF
2747 1.1 jruoho
2748 1.1 jruoho //
2749 1.1 jruoho // test RetLVal.asl
2750 1.1 jruoho //
2751 1.1 jruoho // Test ReturnOp(Lvalue)
2752 1.1 jruoho // This is required to support _PSR on IBM ThinkPad 560D and
2753 1.1 jruoho // _DCK on Toshiba Tecra 8000.
2754 1.1 jruoho //
2755 1.1 jruoho
2756 1.1 jruoho Device (GPE2)
2757 1.1 jruoho {
2758 1.1 jruoho Method (_L03)
2759 1.1 jruoho {
2760 1.1 jruoho Store ("Method GPE2._L03 invoked", Debug)
2761 1.1 jruoho Return ()
2762 1.1 jruoho }
2763 1.1 jruoho
2764 1.1 jruoho Method (_E05)
2765 1.1 jruoho {
2766 1.1 jruoho Store ("Method GPE2._E05 invoked", Debug)
2767 1.1 jruoho Return ()
2768 1.1 jruoho }
2769 1.1 jruoho }
2770 1.1 jruoho
2771 1.1 jruoho Device (PRW2)
2772 1.1 jruoho {
2773 1.1 jruoho Name (_PRW, Package(2) {Package(2){\GPE2, 0x05}, 3})
2774 1.1 jruoho }
2775 1.1 jruoho
2776 1.1 jruoho
2777 1.1 jruoho Scope (\_GPE)
2778 1.1 jruoho {
2779 1.1 jruoho Name (ACST, 0xFF)
2780 1.1 jruoho
2781 1.1 jruoho Method (_L08)
2782 1.1 jruoho {
2783 1.1 jruoho Store ("Method _GPE._L08 invoked", Debug)
2784 1.1 jruoho Return ()
2785 1.1 jruoho }
2786 1.1 jruoho
2787 1.1 jruoho Method (_E09)
2788 1.1 jruoho {
2789 1.1 jruoho Store ("Method _GPE._E09 invoked", Debug)
2790 1.1 jruoho Return ()
2791 1.1 jruoho }
2792 1.1 jruoho
2793 1.1 jruoho Method (_E11)
2794 1.1 jruoho {
2795 1.1 jruoho Store ("Method _GPE._E11 invoked", Debug)
2796 1.1 jruoho Notify (\PRW1, 2)
2797 1.1 jruoho }
2798 1.1 jruoho
2799 1.1 jruoho Method (_L22)
2800 1.1 jruoho {
2801 1.1 jruoho Store ("Method _GPE._L22 invoked", Debug)
2802 1.1 jruoho Return ()
2803 1.1 jruoho }
2804 1.1 jruoho
2805 1.1 jruoho Method (_L33)
2806 1.1 jruoho {
2807 1.1 jruoho Store ("Method _GPE._L33 invoked", Debug)
2808 1.1 jruoho Return ()
2809 1.1 jruoho }
2810 1.1 jruoho
2811 1.1 jruoho Method (_E64)
2812 1.1 jruoho {
2813 1.1 jruoho Store ("Method _GPE._E64 invoked", Debug)
2814 1.1 jruoho Return ()
2815 1.1 jruoho }
2816 1.1 jruoho
2817 1.1 jruoho } // _GPE
2818 1.1 jruoho
2819 1.1 jruoho Device (PRW1)
2820 1.1 jruoho {
2821 1.1 jruoho Name (_PRW, Package(2) {0x11, 3})
2822 1.1 jruoho }
2823 1.1 jruoho
2824 1.1 jruoho Device (PWRB)
2825 1.1 jruoho {
2826 1.1 jruoho Name (_HID, EISAID("PNP0C0C"))
2827 1.1 jruoho Name (_PRW, Package(2) {0x33, 3})
2828 1.1 jruoho }
2829 1.1 jruoho
2830 1.1 jruoho
2831 1.1 jruoho Scope (\_SB) // System Bus
2832 1.1 jruoho { // _SB system bus
2833 1.1 jruoho
2834 1.1 jruoho Device (ACAD)
2835 1.1 jruoho { // ACAD: AC adapter device
2836 1.1 jruoho Name (_HID, "ACPI0003") // AC adapter device
2837 1.1 jruoho
2838 1.1 jruoho Name (_PCL, Package () {\_SB})
2839 1.1 jruoho
2840 1.1 jruoho OperationRegion (AREG, SystemIO, 0x0372, 2)
2841 1.1 jruoho Field (AREG, ByteAcc, NoLock, Preserve)
2842 1.1 jruoho {
2843 1.1 jruoho AIDX, 8,
2844 1.1 jruoho ADAT, 8
2845 1.1 jruoho }
2846 1.1 jruoho IndexField (AIDX, ADAT, ByteAcc, NoLock, Preserve)
2847 1.1 jruoho {
2848 1.1 jruoho , 1, // skips
2849 1.1 jruoho ACIN, 1,
2850 1.1 jruoho , 2, // skips
2851 1.1 jruoho CHAG, 1,
2852 1.1 jruoho , 3, // skips
2853 1.1 jruoho , 7, // skips
2854 1.1 jruoho ABAT, 1,
2855 1.1 jruoho } // IndexField
2856 1.1 jruoho
2857 1.1 jruoho Method (_PSR)
2858 1.1 jruoho {
2859 1.1 jruoho Store (\_GPE.ACST, Local0)
2860 1.1 jruoho Store (ACIN, Local1)
2861 1.1 jruoho If (LNotEqual (\_GPE.ACST, Local1))
2862 1.1 jruoho {
2863 1.1 jruoho Store (Local1, \_GPE.ACST)
2864 1.1 jruoho // This Notify is commented because it causes a
2865 1.1 jruoho // method error when running on a system without the
2866 1.1 jruoho // specific device.
2867 1.1 jruoho // Notify (\_SB_.ACAD, 0)
2868 1.1 jruoho }
2869 1.1 jruoho Return (Local0)
2870 1.1 jruoho } // _PSR
2871 1.1 jruoho
2872 1.1 jruoho Method (_STA)
2873 1.1 jruoho {
2874 1.1 jruoho Return (0x0F)
2875 1.1 jruoho }
2876 1.1 jruoho
2877 1.1 jruoho Method (_INI)
2878 1.1 jruoho {
2879 1.1 jruoho Store (ACIN, \_GPE.ACST)
2880 1.1 jruoho }
2881 1.1 jruoho } // ACAD: AC adapter device
2882 1.1 jruoho
2883 1.1 jruoho // test implicit return from control method
2884 1.1 jruoho Method (DIS_, 1)
2885 1.1 jruoho {
2886 1.1 jruoho Store (Arg0, Local0)
2887 1.1 jruoho }
2888 1.1 jruoho
2889 1.1 jruoho Device (RTLV)
2890 1.1 jruoho {
2891 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue
2892 1.1 jruoho Method (_DCK, 1)
2893 1.1 jruoho // Arg0: 1 == dock, 0 == undock
2894 1.1 jruoho {
2895 1.1 jruoho If (Arg0)
2896 1.1 jruoho { // dock
2897 1.1 jruoho Store (0x87, Local0)
2898 1.1 jruoho
2899 1.1 jruoho If (Local0)
2900 1.1 jruoho {
2901 1.1 jruoho DIS_ (0x23)
2902 1.1 jruoho Return (1)
2903 1.1 jruoho }
2904 1.1 jruoho
2905 1.1 jruoho Return (0)
2906 1.1 jruoho } // dock
2907 1.1 jruoho Else
2908 1.1 jruoho { // undock
2909 1.1 jruoho Store (Arg0, Local0)
2910 1.1 jruoho
2911 1.1 jruoho If (Local0)
2912 1.1 jruoho {
2913 1.1 jruoho DIS_ (0x23)
2914 1.1 jruoho Return (1)
2915 1.1 jruoho }
2916 1.1 jruoho
2917 1.1 jruoho Return (0)
2918 1.1 jruoho } // undock
2919 1.1 jruoho } // _DCK control method
2920 1.1 jruoho
2921 1.1 jruoho Method (TEST)
2922 1.1 jruoho {
2923 1.1 jruoho Store ("++++++++ RetLVal Test", Debug)
2924 1.1 jruoho
2925 1.1 jruoho // store _PSR return value into Local0
2926 1.1 jruoho Store (\_SB_.ACAD._PSR, Local0)
2927 1.1 jruoho
2928 1.1 jruoho // save Local0 object type value into Local1
2929 1.1 jruoho Store (ObjectType (Local0), Local1)
2930 1.1 jruoho
2931 1.1 jruoho // validate Local0 is a Number
2932 1.1 jruoho If (LNotEqual (Local1, 1)) // Number/Integer type is 1
2933 1.1 jruoho {
2934 1.1 jruoho Return (1) // failure
2935 1.1 jruoho }
2936 1.1 jruoho
2937 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue
2938 1.1 jruoho Store (_DCK (1), Local2)
2939 1.1 jruoho
2940 1.1 jruoho // save Local2 object type value into Local3
2941 1.1 jruoho Store (ObjectType (Local2), Local3)
2942 1.1 jruoho
2943 1.1 jruoho // validate Local2 is a Number
2944 1.1 jruoho If (LNotEqual (Local3, 1)) // Number/Integer type is 1
2945 1.1 jruoho {
2946 1.1 jruoho Return (2) // failure
2947 1.1 jruoho }
2948 1.1 jruoho
2949 1.1 jruoho If (LNotEqual (Local2, 1))
2950 1.1 jruoho {
2951 1.1 jruoho Return (3) // failure
2952 1.1 jruoho }
2953 1.1 jruoho
2954 1.1 jruoho Return (0) // success
2955 1.1 jruoho } // TEST
2956 1.1 jruoho } // RTLV
2957 1.1 jruoho } // _SB system bus
2958 1.1 jruoho
2959 1.1 jruoho //
2960 1.1 jruoho // test RetPkg.asl
2961 1.1 jruoho //
2962 1.1 jruoho // Test ReturnOp(Package)
2963 1.1 jruoho // This is required to support _PRT on Dell Optiplex Workstations (e.g. GX1)
2964 1.1 jruoho //
2965 1.1 jruoho
2966 1.1 jruoho Scope (\_SB) // System Bus
2967 1.1 jruoho { // _SB system bus
2968 1.1 jruoho Device(LNKA)
2969 1.1 jruoho {
2970 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2971 1.1 jruoho Name (_UID, 1)
2972 1.1 jruoho }
2973 1.1 jruoho Device(LNKB)
2974 1.1 jruoho {
2975 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2976 1.1 jruoho Name (_UID, 2)
2977 1.1 jruoho }
2978 1.1 jruoho Device(LNKC)
2979 1.1 jruoho {
2980 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2981 1.1 jruoho Name (_UID, 3)
2982 1.1 jruoho }
2983 1.1 jruoho Device(LNKD)
2984 1.1 jruoho {
2985 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2986 1.1 jruoho Name (_UID, 4)
2987 1.1 jruoho }
2988 1.1 jruoho
2989 1.1 jruoho Device (PCI1)
2990 1.1 jruoho { // PCI1: Root PCI Bus
2991 1.1 jruoho Name (_HID, "PNP0A03") // Need _HID for root device (String format)
2992 1.1 jruoho Name (_ADR,0x00000000)
2993 1.1 jruoho Name (_CRS,0)
2994 1.1 jruoho
2995 1.1 jruoho Name (_PRT, Package ()
2996 1.1 jruoho {
2997 1.1 jruoho Package () {0x0004ffff, 0, LNKA, 0}, // Slot 1, INTA
2998 1.1 jruoho Package () {0x0004ffff, 1, LNKB, 0}, // Slot 1, INTB
2999 1.1 jruoho Package () {0x0004ffff, 2, LNKC, 0}, // Slot 1, INTC
3000 1.1 jruoho Package () {0x0004ffff, 3, LNKD, 0}, // Slot 1, INTD
3001 1.1 jruoho Package () {0x0005ffff, 0, \_SB_.LNKB, 0}, // Slot 2, INTA
3002 1.1 jruoho Package () {0x0005ffff, 1, \_SB_.LNKC, 0}, // Slot 2, INTB
3003 1.1 jruoho Package () {0x0005ffff, 2, \_SB_.LNKD, 0}, // Slot 2, INTC
3004 1.1 jruoho Package () {0x0006ffff, 3, \_SB_.LNKA, 0}, // Slot 2, INTD
3005 1.1 jruoho Package () {0x0006ffff, 0, LNKC, 0}, // Slot 3, INTA
3006 1.1 jruoho Package () {0x0006ffff, 1, LNKD, 0}, // Slot 3, INTB
3007 1.1 jruoho Package () {0x0006ffff, 2, LNKA, 0}, // Slot 3, INTC
3008 1.1 jruoho Package () {0x0006ffff, 3, LNKB, 0}, // Slot 3, INTD
3009 1.1 jruoho })
3010 1.1 jruoho
3011 1.1 jruoho Device (PX40)
3012 1.1 jruoho { // Map f0 space, Start PX40
3013 1.1 jruoho Name (_ADR,0x00070000) // Address+function.
3014 1.1 jruoho }
3015 1.1 jruoho } // PCI0: Root PCI Bus
3016 1.1 jruoho
3017 1.1 jruoho Device (RETP)
3018 1.1 jruoho {
3019 1.1 jruoho Method (RPKG)
3020 1.1 jruoho { // RPKG: Return Package from local variable
3021 1.1 jruoho
3022 1.1 jruoho // store _PRT package into Local0
3023 1.1 jruoho Store (\_SB_.PCI1._PRT, Local0)
3024 1.1 jruoho
3025 1.1 jruoho // return Local0 Package
3026 1.1 jruoho Return (Local0)
3027 1.1 jruoho } // RPKG
3028 1.1 jruoho
3029 1.1 jruoho Method (TEST)
3030 1.1 jruoho {
3031 1.1 jruoho Store ("++++++++ RetPkg Test", Debug)
3032 1.1 jruoho
3033 1.1 jruoho // store RPKG package return value into Local0
3034 1.1 jruoho Store (RPKG, Local0)
3035 1.1 jruoho
3036 1.1 jruoho // save Local0 object type value into Local1
3037 1.1 jruoho Store (ObjectType (Local0), Local1)
3038 1.1 jruoho
3039 1.1 jruoho // validate Local0 is a Package
3040 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
3041 1.1 jruoho { Return (1) } // failure
3042 1.1 jruoho Else
3043 1.1 jruoho { Return (0) } // success
3044 1.1 jruoho } // TEST
3045 1.1 jruoho } // RETP
3046 1.1 jruoho } // _SB_
3047 1.1 jruoho
3048 1.1 jruoho //
3049 1.1 jruoho // test WhileRet.asl
3050 1.1 jruoho //
3051 1.1 jruoho // WhileRet.asl tests a ReturnOp nested in a IfOp nested in a WhileOp.
3052 1.1 jruoho //
3053 1.1 jruoho Device (WHLR)
3054 1.1 jruoho {
3055 1.1 jruoho Name (LCNT, 0)
3056 1.1 jruoho Method (WIR)
3057 1.1 jruoho { // WIR: control method that returns inside of IfOp inside of WhileOp
3058 1.1 jruoho While (LLess (LCNT, 4))
3059 1.1 jruoho {
3060 1.1 jruoho If (LEqual (LCNT, 2))
3061 1.1 jruoho {
3062 1.1 jruoho Return (0)
3063 1.1 jruoho }
3064 1.1 jruoho
3065 1.1 jruoho Increment (LCNT)
3066 1.1 jruoho }
3067 1.1 jruoho
3068 1.1 jruoho Return (LCNT)
3069 1.1 jruoho } // WIR: control method that returns inside of IfOp inside of WhileOp
3070 1.1 jruoho
3071 1.1 jruoho Method (TEST)
3072 1.1 jruoho {
3073 1.1 jruoho Store ("++++++++ WhileRet Test", Debug)
3074 1.1 jruoho
3075 1.1 jruoho Store (WIR, Local0)
3076 1.1 jruoho
3077 1.1 jruoho Return (Local0)
3078 1.1 jruoho } // TEST
3079 1.1 jruoho } // WHLR
3080 1.1 jruoho
3081 1.1 jruoho //
3082 1.1 jruoho // test AndOrOp.asl
3083 1.1 jruoho //
3084 1.1 jruoho //This code tests the bitwise AndOp and OrOp Operator terms
3085 1.1 jruoho //
3086 1.1 jruoho //Syntax of Andop term
3087 1.1 jruoho //And - Bitwise And
3088 1.1 jruoho //AndTerm := And(
3089 1.1 jruoho // Source1, //TermArg=>Integer
3090 1.1 jruoho // Source2, //TermArg=>Integer
3091 1.1 jruoho // Result //Nothing | SuperName
3092 1.1 jruoho //) => Integer
3093 1.1 jruoho //Source1 and Source2 are evaluated as integer data types,
3094 1.1 jruoho // a bit-wise AND is performed, and the result is optionally
3095 1.1 jruoho //stored into Result.
3096 1.1 jruoho //
3097 1.1 jruoho //
3098 1.1 jruoho //Syntax of OrOp
3099 1.1 jruoho //Or - Bit-wise Or
3100 1.1 jruoho //OrTerm := Or(
3101 1.1 jruoho // Source1, //TermArg=>Integer
3102 1.1 jruoho // Source2 //TermArg=>Integer
3103 1.1 jruoho // Result //Nothing | SuperName
3104 1.1 jruoho //) => Integer
3105 1.1 jruoho //Source1 and Source2 are evaluated as integer data types,
3106 1.1 jruoho // a bit-wide OR is performed, and the result is optionally
3107 1.1 jruoho //stored in Result
3108 1.1 jruoho //
3109 1.1 jruoho Device (ANDO)
3110 1.1 jruoho {
3111 1.1 jruoho OperationRegion (TMEM, SystemMemory, 0xC4, 0x02)
3112 1.1 jruoho Field (TMEM, ByteAcc, NoLock, Preserve)
3113 1.1 jruoho {
3114 1.1 jruoho , 3,
3115 1.1 jruoho TOUD, 13
3116 1.1 jruoho }
3117 1.1 jruoho
3118 1.1 jruoho //Create System Memory Operation Region and field overlays
3119 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3120 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3121 1.1 jruoho {
3122 1.1 jruoho SMDW, 32, // 32-bit DWORD
3123 1.1 jruoho SMWD, 16, // 16-bit WORD
3124 1.1 jruoho SMBY, 8, // 8-bit BYTE
3125 1.1 jruoho }// Field(RAM)
3126 1.1 jruoho
3127 1.1 jruoho
3128 1.1 jruoho //And with Byte Data
3129 1.1 jruoho Name (BYT1, 0xff)
3130 1.1 jruoho Name (BYT2, 0xff)
3131 1.1 jruoho Name (BRSL, 0x00)
3132 1.1 jruoho
3133 1.1 jruoho //And with Word Data
3134 1.1 jruoho Name (WRD1, 0xffff)
3135 1.1 jruoho Name (WRD2, 0xffff)
3136 1.1 jruoho Name (WRSL, 0x0000)
3137 1.1 jruoho
3138 1.1 jruoho //And with DWord Data
3139 1.1 jruoho Name (DWD1, 0xffffffff)
3140 1.1 jruoho Name (DWD2, 0xffffffff)
3141 1.1 jruoho Name (DRSL, 0x00000000)
3142 1.1 jruoho
3143 1.1 jruoho Method (ANDP)
3144 1.1 jruoho {
3145 1.1 jruoho //Check with 1 And 1 on byte data
3146 1.1 jruoho And(BYT1, BYT2, BRSL)
3147 1.1 jruoho if(LNotEqual(BRSL,0xff))
3148 1.1 jruoho {Return(1)}
3149 1.1 jruoho
3150 1.1 jruoho //Check with 1 And 1 on Word data
3151 1.1 jruoho And(WRD1, WRD2, WRSL)
3152 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3153 1.1 jruoho {
3154 1.1 jruoho Return (1) // failure
3155 1.1 jruoho }
3156 1.1 jruoho
3157 1.1 jruoho //Check with 1 And 1 Dword
3158 1.1 jruoho And(DWD1, DWD2, DRSL)
3159 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3160 1.1 jruoho {
3161 1.1 jruoho Return (1) // failure
3162 1.1 jruoho }
3163 1.1 jruoho
3164 1.1 jruoho //Check with 0 And 0 on byte data
3165 1.1 jruoho Store(0x00,BYT1)
3166 1.1 jruoho Store(0x00,BYT2)
3167 1.1 jruoho Store(0x00,BRSL)
3168 1.1 jruoho And(BYT1, BYT2, BRSL)
3169 1.1 jruoho if(LNotEqual(BRSL,0x00))
3170 1.1 jruoho {
3171 1.1 jruoho Return (1) // failure
3172 1.1 jruoho }
3173 1.1 jruoho
3174 1.1 jruoho //Check with 0 And 0 on Word data
3175 1.1 jruoho Store (0x0000,WRD1)
3176 1.1 jruoho Store (0x0000,WRD2)
3177 1.1 jruoho Store (0x0000,WRSL)
3178 1.1 jruoho And(WRD1, WRD2, WRSL)
3179 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3180 1.1 jruoho {
3181 1.1 jruoho Return (1) // failure
3182 1.1 jruoho }
3183 1.1 jruoho
3184 1.1 jruoho //Check with 0 And 0 Dword
3185 1.1 jruoho Store (0x00000000,DWD1)
3186 1.1 jruoho Store (0x00000000,DWD2)
3187 1.1 jruoho Store (0x00000000,DRSL)
3188 1.1 jruoho And(DWD1, DWD2, DRSL)
3189 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3190 1.1 jruoho {
3191 1.1 jruoho Return (1) // failure
3192 1.1 jruoho }
3193 1.1 jruoho
3194 1.1 jruoho
3195 1.1 jruoho //Check with 1 And 0 on byte data
3196 1.1 jruoho Store(0x55,BYT1)
3197 1.1 jruoho Store(0xAA,BYT2)
3198 1.1 jruoho Store(0x00,BRSL)
3199 1.1 jruoho And(BYT1, BYT2, BRSL)
3200 1.1 jruoho if(LNotEqual(BRSL,0x00))
3201 1.1 jruoho {
3202 1.1 jruoho Return (1) // failure
3203 1.1 jruoho }
3204 1.1 jruoho
3205 1.1 jruoho //Check with 1 And 0 on Word data
3206 1.1 jruoho Store (0x5555,WRD1)
3207 1.1 jruoho Store (0xAAAA,WRD2)
3208 1.1 jruoho Store (0x0000,WRSL)
3209 1.1 jruoho And(WRD1, WRD2, WRSL)
3210 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3211 1.1 jruoho {
3212 1.1 jruoho Return (1) // failure
3213 1.1 jruoho }
3214 1.1 jruoho
3215 1.1 jruoho //Check with 1 And 0 on Dword
3216 1.1 jruoho Store (0x55555555,DWD1)
3217 1.1 jruoho Store (0xAAAAAAAA,DWD2)
3218 1.1 jruoho Store (0x00000000,DRSL)
3219 1.1 jruoho And(DWD1, DWD2, DRSL)
3220 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3221 1.1 jruoho {
3222 1.1 jruoho Return (1) // failure
3223 1.1 jruoho }
3224 1.1 jruoho
3225 1.1 jruoho Store (0x1FFF, TOUD)
3226 1.1 jruoho Store (TOUD, Local0)
3227 1.1 jruoho if(LNotEqual(Local0,0x1FFF))
3228 1.1 jruoho {
3229 1.1 jruoho Return (1) // failure
3230 1.1 jruoho }
3231 1.1 jruoho
3232 1.1 jruoho //TBD- Do We need to check for system memory data also for each test case ??
3233 1.1 jruoho
3234 1.1 jruoho Return(0)
3235 1.1 jruoho
3236 1.1 jruoho }//ANDP
3237 1.1 jruoho
3238 1.1 jruoho Method (OROP)
3239 1.1 jruoho {
3240 1.1 jruoho
3241 1.1 jruoho //Check with 1 Ored with 1 on byte data
3242 1.1 jruoho Store(0xff,BYT1)
3243 1.1 jruoho Store(0xff,BYT2)
3244 1.1 jruoho Store(0x00,BRSL)
3245 1.1 jruoho Or(BYT1, BYT2, BRSL)
3246 1.1 jruoho if(LNotEqual(BRSL,0xff))
3247 1.1 jruoho {
3248 1.1 jruoho Return (1) // failure
3249 1.1 jruoho }
3250 1.1 jruoho
3251 1.1 jruoho
3252 1.1 jruoho //Check with 1 Ored with 1 on Word data
3253 1.1 jruoho Store(0xffff,WRD1)
3254 1.1 jruoho Store(0xffff,WRD2)
3255 1.1 jruoho Store(0x0000,WRSL)
3256 1.1 jruoho Or(WRD1, WRD2, WRSL)
3257 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3258 1.1 jruoho {
3259 1.1 jruoho Return (1) // failure
3260 1.1 jruoho }
3261 1.1 jruoho
3262 1.1 jruoho //Check with 1 Ored with 1 on Dword data
3263 1.1 jruoho Store(0xffffffff,DWD1)
3264 1.1 jruoho Store(0xffffffff,DWD2)
3265 1.1 jruoho Store(0x00000000,DRSL)
3266 1.1 jruoho Or(DWD1, DWD2, DRSL)
3267 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3268 1.1 jruoho {
3269 1.1 jruoho Return (1) // failure
3270 1.1 jruoho }
3271 1.1 jruoho
3272 1.1 jruoho //Check with 0 Ored with 0 on byte data
3273 1.1 jruoho Store(0x00,BYT1)
3274 1.1 jruoho Store(0x00,BYT2)
3275 1.1 jruoho Store(0x00,BRSL)
3276 1.1 jruoho Or(BYT1, BYT2, BRSL)
3277 1.1 jruoho if(LNotEqual(BRSL,0x00))
3278 1.1 jruoho {
3279 1.1 jruoho Return (1) // failure
3280 1.1 jruoho }
3281 1.1 jruoho
3282 1.1 jruoho //Check with 0 Ored with 0 on Word data
3283 1.1 jruoho Store (0x0000,WRD1)
3284 1.1 jruoho Store (0x0000,WRD2)
3285 1.1 jruoho Store (0x0000,WRSL)
3286 1.1 jruoho Or(WRD1, WRD2, WRSL)
3287 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3288 1.1 jruoho {
3289 1.1 jruoho Return (1) // failure
3290 1.1 jruoho }
3291 1.1 jruoho
3292 1.1 jruoho //Check with 0 Ored with 0 Dword data
3293 1.1 jruoho Store (0x00000000,DWD1)
3294 1.1 jruoho Store (0x00000000,DWD2)
3295 1.1 jruoho Store (0x00000000,DRSL)
3296 1.1 jruoho Or(DWD1, DWD2, DRSL)
3297 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3298 1.1 jruoho {
3299 1.1 jruoho Return (1) // failure
3300 1.1 jruoho }
3301 1.1 jruoho
3302 1.1 jruoho
3303 1.1 jruoho //Check with 1 Ored with 0 on byte data
3304 1.1 jruoho Store(0x55,BYT1)
3305 1.1 jruoho Store(0xAA,BYT2)
3306 1.1 jruoho Store(0x00,BRSL)
3307 1.1 jruoho Or(BYT1, BYT2, BRSL)
3308 1.1 jruoho if(LNotEqual(BRSL,0xff))
3309 1.1 jruoho {
3310 1.1 jruoho Return (1) // failure
3311 1.1 jruoho }
3312 1.1 jruoho
3313 1.1 jruoho //Check with 1 Ored with 0 on Word data
3314 1.1 jruoho Store (0x5555,WRD1)
3315 1.1 jruoho Store (0xAAAA,WRD2)
3316 1.1 jruoho Store (0x0000,WRSL)
3317 1.1 jruoho Or(WRD1, WRD2, WRSL)
3318 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3319 1.1 jruoho {
3320 1.1 jruoho Return (1) // failure
3321 1.1 jruoho }
3322 1.1 jruoho
3323 1.1 jruoho //Check with 1 Ored with 0 on Dword data
3324 1.1 jruoho Store (0x55555555,DWD1)
3325 1.1 jruoho Store (0xAAAAAAAA,DWD2)
3326 1.1 jruoho Store (0x00000000,DRSL)
3327 1.1 jruoho Or(DWD1, DWD2, DRSL)
3328 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3329 1.1 jruoho {
3330 1.1 jruoho Return (1) // failure
3331 1.1 jruoho }
3332 1.1 jruoho
3333 1.1 jruoho //TBD - Do We need to check for system memory data also for each test case ??
3334 1.1 jruoho
3335 1.1 jruoho Return(0)
3336 1.1 jruoho
3337 1.1 jruoho }//OROP
3338 1.1 jruoho
3339 1.1.1.3 christos Method(TEST,, Serialized)
3340 1.1 jruoho {
3341 1.1 jruoho Store ("++++++++ AndOrOp Test", Debug)
3342 1.1 jruoho
3343 1.1 jruoho Name(RSLT,1)
3344 1.1 jruoho //Call Andop method
3345 1.1 jruoho Store(ANDP,RSLT)
3346 1.1 jruoho if(LEqual(RSLT,1))
3347 1.1 jruoho {
3348 1.1 jruoho Return (RSLT)
3349 1.1 jruoho }
3350 1.1 jruoho
3351 1.1 jruoho //Call OrOp Method
3352 1.1 jruoho Store(OROP,RSLT)
3353 1.1 jruoho if(LEqual(RSLT,1))
3354 1.1 jruoho {
3355 1.1 jruoho Return(RSLT)
3356 1.1 jruoho }
3357 1.1 jruoho
3358 1.1 jruoho //
3359 1.1 jruoho // Return original conditions to allow iterative execution
3360 1.1 jruoho //
3361 1.1 jruoho Store(0xff,BYT1)
3362 1.1 jruoho Store(0xff,BYT2)
3363 1.1 jruoho Store(0x00,BRSL)
3364 1.1 jruoho Store (0xffff,WRD1)
3365 1.1 jruoho Store (0xffff,WRD2)
3366 1.1 jruoho Store (0x0000,WRSL)
3367 1.1 jruoho Store (0xffffffff,DWD1)
3368 1.1 jruoho Store (0xffffffff,DWD2)
3369 1.1 jruoho Store (0x00000000,DRSL)
3370 1.1 jruoho
3371 1.1 jruoho Return(0)
3372 1.1 jruoho } //TEST
3373 1.1 jruoho } //ANDO
3374 1.1 jruoho
3375 1.1 jruoho //
3376 1.1 jruoho // test BreakPnt.asl
3377 1.1 jruoho //
3378 1.1 jruoho // This code tests the BreakPoint opcode term. The syntax of BreakPoint Term is
3379 1.1 jruoho // BreakPointTerm := BreakPoint
3380 1.1 jruoho // Used for debugging, the Breakpoint opcode stops the execution and enters the AML debugger.
3381 1.1 jruoho // In the non-debug version of the interpreter, BreakPoint is equivalent to Noop.
3382 1.1 jruoho //
3383 1.1 jruoho Device (BRKP)
3384 1.1 jruoho {
3385 1.1 jruoho Name(CNT0,0)
3386 1.1 jruoho
3387 1.1 jruoho Method (BK1)
3388 1.1 jruoho {
3389 1.1 jruoho BreakPoint
3390 1.1 jruoho Return(0)
3391 1.1 jruoho }
3392 1.1 jruoho
3393 1.1 jruoho Method (TEST)
3394 1.1 jruoho {
3395 1.1 jruoho Store ("++++++++ BreakPnt Test", Debug)
3396 1.1 jruoho
3397 1.1 jruoho Store(0,CNT0)
3398 1.1 jruoho
3399 1.1 jruoho //Check BreakPoint statement
3400 1.1 jruoho While(LLess(CNT0,10))
3401 1.1 jruoho {
3402 1.1 jruoho Increment(CNT0)
3403 1.1 jruoho }
3404 1.1 jruoho
3405 1.1 jruoho //Check the BreakPoint statement
3406 1.1 jruoho If(LEqual(CNT0,10))
3407 1.1 jruoho {
3408 1.1 jruoho // BreakPoint
3409 1.1 jruoho Return(0)
3410 1.1 jruoho }
3411 1.1 jruoho
3412 1.1 jruoho //failed
3413 1.1 jruoho Return(1)
3414 1.1 jruoho }
3415 1.1 jruoho }
3416 1.1 jruoho
3417 1.1 jruoho //
3418 1.1 jruoho // test AddSubOp.asl
3419 1.1 jruoho //
3420 1.1 jruoho Device (ADSU)
3421 1.1 jruoho {
3422 1.1 jruoho // create System Memory Operation Region and field overlays
3423 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3424 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3425 1.1 jruoho {
3426 1.1 jruoho SMDW, 32, // 32-bit DWORD
3427 1.1 jruoho SMWD, 16, // 16-bit WORD
3428 1.1 jruoho SMBY, 8, // 8-bit BYTE
3429 1.1 jruoho } // Field(RAM)
3430 1.1 jruoho
3431 1.1.1.3 christos Method (TEST,, Serialized)
3432 1.1 jruoho {
3433 1.1 jruoho Store ("++++++++ AddSubOp Test", Debug)
3434 1.1 jruoho
3435 1.1 jruoho Name (DWRD, 0x12345678)
3436 1.1 jruoho Name (WRD, 0x1234)
3437 1.1 jruoho Name (BYT, 0x12)
3438 1.1 jruoho
3439 1.1 jruoho // Test AddOp with DWORD data
3440 1.1 jruoho Store (0x12345678, DWRD)
3441 1.1 jruoho Add (DWRD, 7, DWRD)
3442 1.1 jruoho If (LNotEqual (DWRD, 0x1234567F))
3443 1.1 jruoho { Return (DWRD) }
3444 1.1 jruoho
3445 1.1 jruoho // Test AddOp with WORD data
3446 1.1 jruoho Add (WRD, 5, WRD)
3447 1.1 jruoho If (LNotEqual (WRD, 0x1239))
3448 1.1 jruoho { Return (WRD) }
3449 1.1 jruoho
3450 1.1 jruoho // Test AddOp with BYTE data
3451 1.1 jruoho Add (BYT, 3, BYT)
3452 1.1 jruoho If (LNotEqual (BYT, 0x15))
3453 1.1 jruoho { Return (BYT) }
3454 1.1 jruoho
3455 1.1 jruoho // Test SubtractOp with DWORD data
3456 1.1 jruoho Subtract (DWRD, 7, DWRD)
3457 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
3458 1.1 jruoho { Return (DWRD) }
3459 1.1 jruoho
3460 1.1 jruoho // Test SubtractOp with WORD data
3461 1.1 jruoho Subtract (WRD, 3, WRD)
3462 1.1 jruoho If (LNotEqual (WRD, 0x1236))
3463 1.1 jruoho { Return (WRD) }
3464 1.1 jruoho
3465 1.1 jruoho // Test SubtractOp with BYTE data
3466 1.1 jruoho Subtract (BYT, 3, BYT)
3467 1.1 jruoho If (LNotEqual (BYT, 0x12))
3468 1.1 jruoho { Return (BYT) }
3469 1.1 jruoho
3470 1.1 jruoho
3471 1.1 jruoho // test AddOp with DWORD SystemMemory OpRegion
3472 1.1 jruoho Store (0x01234567, SMDW)
3473 1.1 jruoho Add (SMDW, 8, SMDW)
3474 1.1 jruoho If (LNotEqual (SMDW, 0x0123456F))
3475 1.1 jruoho { Return (SMDW) }
3476 1.1 jruoho
3477 1.1 jruoho // test SubtractOp with DWORD SystemMemory OpRegion
3478 1.1 jruoho Subtract (SMDW, 7, SMDW)
3479 1.1 jruoho If (LNotEqual (SMDW, 0x01234568))
3480 1.1 jruoho { Return (SMDW) }
3481 1.1 jruoho
3482 1.1 jruoho
3483 1.1 jruoho // test AddOp with WORD SystemMemory OpRegion
3484 1.1 jruoho Store (0x0123, SMWD)
3485 1.1 jruoho Add (SMWD, 6, SMWD)
3486 1.1 jruoho If (LNotEqual (SMWD, 0x0129))
3487 1.1 jruoho { Return (SMWD) }
3488 1.1 jruoho
3489 1.1 jruoho // test SubtractOp with WORD SystemMemory OpRegion
3490 1.1 jruoho Subtract (SMWD, 5, SMWD)
3491 1.1 jruoho If (LNotEqual (SMWD, 0x0124))
3492 1.1 jruoho { Return (SMWD) }
3493 1.1 jruoho
3494 1.1 jruoho
3495 1.1 jruoho // test AddOp with BYTE SystemMemory OpRegion
3496 1.1 jruoho Store (0x01, SMBY)
3497 1.1 jruoho Add (SMBY, 4, SMBY)
3498 1.1 jruoho If (LNotEqual (SMBY, 0x05))
3499 1.1 jruoho { Return (SMBY) }
3500 1.1 jruoho
3501 1.1 jruoho // test SubtractOp with BYTE SystemMemory OpRegion
3502 1.1 jruoho Subtract (SMBY, 3, SMBY)
3503 1.1 jruoho If (LNotEqual (SMBY, 0x02))
3504 1.1 jruoho { Return (SMBY) }
3505 1.1 jruoho
3506 1.1 jruoho Return (0)
3507 1.1 jruoho } // TEST
3508 1.1 jruoho } // ADSU
3509 1.1 jruoho
3510 1.1 jruoho //
3511 1.1 jruoho // test IncDecOp.asl
3512 1.1 jruoho //
3513 1.1 jruoho Device (INDC)
3514 1.1 jruoho {
3515 1.1 jruoho // create System Memory Operation Region and field overlays
3516 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3517 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3518 1.1 jruoho {
3519 1.1 jruoho SMDW, 32, // 32-bit DWORD
3520 1.1 jruoho SMWD, 16, // 16-bit WORD
3521 1.1 jruoho SMBY, 8, // 8-bit BYTE
3522 1.1 jruoho } // Field(RAM)
3523 1.1 jruoho
3524 1.1.1.3 christos Method (TEST,, Serialized)
3525 1.1 jruoho {
3526 1.1 jruoho Store ("++++++++ IncDecOp Test", Debug)
3527 1.1 jruoho
3528 1.1 jruoho Name (DWRD, 0x12345678)
3529 1.1 jruoho Name (WRD, 0x1234)
3530 1.1 jruoho Name (BYT, 0x12)
3531 1.1 jruoho
3532 1.1 jruoho // Test IncrementOp with DWORD data
3533 1.1 jruoho Store (0x12345678, DWRD)
3534 1.1 jruoho Increment (DWRD)
3535 1.1 jruoho If (LNotEqual (DWRD, 0x12345679))
3536 1.1 jruoho { Return (DWRD) }
3537 1.1 jruoho
3538 1.1 jruoho // Test IncrementOp with WORD data
3539 1.1 jruoho Increment (WRD)
3540 1.1 jruoho If (LNotEqual (WRD, 0x1235))
3541 1.1 jruoho { Return (WRD) }
3542 1.1 jruoho
3543 1.1 jruoho // Test IncrementOp with BYTE data
3544 1.1 jruoho Increment (BYT)
3545 1.1 jruoho If (LNotEqual (BYT, 0x13))
3546 1.1 jruoho { Return (BYT) }
3547 1.1 jruoho
3548 1.1 jruoho // Test DecrementOp with DWORD data
3549 1.1 jruoho Decrement (DWRD)
3550 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
3551 1.1 jruoho { Return (DWRD) }
3552 1.1 jruoho
3553 1.1 jruoho // Test DecrementOp with WORD data
3554 1.1 jruoho Decrement (WRD)
3555 1.1 jruoho If (LNotEqual (WRD, 0x1234))
3556 1.1 jruoho { Return (WRD) }
3557 1.1 jruoho
3558 1.1 jruoho // Test DecrementOp with BYTE data
3559 1.1 jruoho Decrement (BYT)
3560 1.1 jruoho If (LNotEqual (BYT, 0x12))
3561 1.1 jruoho { Return (BYT) }
3562 1.1 jruoho
3563 1.1 jruoho
3564 1.1 jruoho // test IncrementOp with DWORD SystemMemory OpRegion
3565 1.1 jruoho Store (0x01234567, SMDW)
3566 1.1 jruoho Increment (SMDW)
3567 1.1 jruoho If (LNotEqual (SMDW, 0x01234568))
3568 1.1 jruoho { Return (SMDW) }
3569 1.1 jruoho
3570 1.1 jruoho // test DecrementOp with DWORD SystemMemory OpRegion
3571 1.1 jruoho Decrement (SMDW)
3572 1.1 jruoho If (LNotEqual (SMDW, 0x01234567))
3573 1.1 jruoho { Return (SMDW) }
3574 1.1 jruoho
3575 1.1 jruoho
3576 1.1 jruoho // test IncrementOp with WORD SystemMemory OpRegion
3577 1.1 jruoho Store (0x0123, SMWD)
3578 1.1 jruoho Increment (SMWD)
3579 1.1 jruoho If (LNotEqual (SMWD, 0x0124))
3580 1.1 jruoho { Return (SMWD) }
3581 1.1 jruoho
3582 1.1 jruoho // test DecrementOp with WORD SystemMemory OpRegion
3583 1.1 jruoho Decrement (SMWD)
3584 1.1 jruoho If (LNotEqual (SMWD, 0x0123))
3585 1.1 jruoho { Return (SMWD) }
3586 1.1 jruoho
3587 1.1 jruoho
3588 1.1 jruoho // test IncrementOp with BYTE SystemMemory OpRegion
3589 1.1 jruoho Store (0x01, SMBY)
3590 1.1 jruoho Increment (SMBY)
3591 1.1 jruoho If (LNotEqual (SMBY, 0x02))
3592 1.1 jruoho { Return (SMBY) }
3593 1.1 jruoho
3594 1.1 jruoho // test DecrementOp with BYTE SystemMemory OpRegion
3595 1.1 jruoho Decrement (SMBY)
3596 1.1 jruoho If (LNotEqual (SMBY, 0x01))
3597 1.1 jruoho { Return (SMBY) }
3598 1.1 jruoho
3599 1.1 jruoho Return (0)
3600 1.1 jruoho } // TEST
3601 1.1 jruoho } // INDC
3602 1.1 jruoho
3603 1.1 jruoho //
3604 1.1 jruoho // test LOps.asl
3605 1.1 jruoho //
3606 1.1 jruoho //This source tests all the logical operators. Logical operators in ASL are as follows.
3607 1.1 jruoho //LAnd, LEqual, LGreater, LLess, LNot, LNotEqual, LOr.
3608 1.1 jruoho // Success will return 0 and failure will return a non zero number. Check the source code for
3609 1.1 jruoho // non zero number to find where the test failed
3610 1.1 jruoho
3611 1.1 jruoho Device (LOPS)
3612 1.1 jruoho {
3613 1.1 jruoho //Create System Memory Operation Region and field overlays
3614 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3615 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3616 1.1 jruoho {
3617 1.1 jruoho SMDW, 32, // 32-bit DWORD
3618 1.1 jruoho SMWD, 16, // 16-bit WORD
3619 1.1 jruoho SMBY, 8, // 8-bit BYTE
3620 1.1 jruoho }// Field(RAM)
3621 1.1 jruoho
3622 1.1 jruoho //And with Byte Data
3623 1.1 jruoho Name (BYT1, 0xff)
3624 1.1 jruoho Name (BYT2, 0xff)
3625 1.1 jruoho Name (BRSL, 0x00)
3626 1.1 jruoho
3627 1.1 jruoho //And with Word Data
3628 1.1 jruoho Name (WRD1, 0xffff)
3629 1.1 jruoho Name (WRD2, 0xffff)
3630 1.1 jruoho Name (WRSL, 0x0000)
3631 1.1 jruoho
3632 1.1 jruoho //And with DWord Data
3633 1.1 jruoho Name (DWD1, 0xffffffff)
3634 1.1 jruoho Name (DWD2, 0xffffffff)
3635 1.1 jruoho Name (DRSL, 0x00000000)
3636 1.1 jruoho
3637 1.1 jruoho Name(RSLT,1)
3638 1.1 jruoho
3639 1.1 jruoho Method (ANDL,2) // Test Logical And
3640 1.1 jruoho {
3641 1.1 jruoho //test with the arguments passed
3642 1.1 jruoho if(LEqual(Arg0,Arg1))
3643 1.1 jruoho { Store(LAnd(Arg0,Arg1),RSLT)
3644 1.1 jruoho if(LNotEqual(Ones,RSLT))
3645 1.1 jruoho {Return(11)}
3646 1.1 jruoho }
3647 1.1 jruoho
3648 1.1 jruoho //test with he locals
3649 1.1 jruoho Store(Arg0,Local0)
3650 1.1 jruoho Store(Arg1,Local1)
3651 1.1 jruoho
3652 1.1 jruoho if(LEqual(Local0,Local1))
3653 1.1 jruoho {
3654 1.1 jruoho Store(LAnd(Local0,Local1),RSLT)
3655 1.1 jruoho if(LNotEqual(Ones,RSLT))
3656 1.1 jruoho {Return(12)}
3657 1.1 jruoho }
3658 1.1 jruoho
3659 1.1 jruoho //test with BYTE data
3660 1.1 jruoho if(LEqual(BYT1,BYT2))
3661 1.1 jruoho { Store(LAnd(BYT1,BYT2),BRSL)
3662 1.1 jruoho if(LNotEqual(Ones,BRSL))
3663 1.1 jruoho {Return(13)}
3664 1.1 jruoho }
3665 1.1 jruoho
3666 1.1 jruoho //test with WORD data
3667 1.1 jruoho if(LEqual(WRD1,WRD2))
3668 1.1 jruoho { Store(LAnd(WRD1,WRD2),WRSL)
3669 1.1 jruoho if(LNotEqual(Ones,WRSL))
3670 1.1 jruoho {Return(14)}
3671 1.1 jruoho }
3672 1.1 jruoho
3673 1.1 jruoho //test with DWORD data
3674 1.1 jruoho if(LEqual(DWD1,DWD2))
3675 1.1 jruoho { Store(LAnd(DWD1,DWD2),DRSL)
3676 1.1 jruoho if(LNotEqual(Ones,DRSL))
3677 1.1 jruoho {Return(15)}
3678 1.1 jruoho }
3679 1.1 jruoho
3680 1.1 jruoho //Test for system memory data for each test case.
3681 1.1 jruoho
3682 1.1 jruoho Store(0xff,BYT1)
3683 1.1 jruoho Store(0xff,SMBY)
3684 1.1 jruoho Store(0x00,BRSL)
3685 1.1 jruoho
3686 1.1 jruoho //test with BYTE system memory data
3687 1.1 jruoho if(LEqual(BYT1,SMBY))
3688 1.1 jruoho { Store(LAnd(BYT1,SMBY),BRSL)
3689 1.1 jruoho if(LNotEqual(Ones,BRSL))
3690 1.1 jruoho {Return(16)}
3691 1.1 jruoho }
3692 1.1 jruoho
3693 1.1 jruoho Store (0xffff,WRD1)
3694 1.1 jruoho Store(0xffff,SMWD)
3695 1.1 jruoho Store(0x0000,WRSL)
3696 1.1 jruoho //test with WORD system memory data
3697 1.1 jruoho if(LEqual(WRD1,SMWD))
3698 1.1 jruoho { Store(LAnd(WRD1,SMWD),WRSL)
3699 1.1 jruoho if(LNotEqual(Ones,WRSL))
3700 1.1 jruoho {Return(17)}
3701 1.1 jruoho }
3702 1.1 jruoho
3703 1.1 jruoho Store(0x000000,DRSL)
3704 1.1 jruoho Store (0xffffff,DWD1)
3705 1.1 jruoho Store(0xffffff,SMDW)
3706 1.1 jruoho
3707 1.1 jruoho //test with DWORD system memory data
3708 1.1 jruoho if(LEqual(DWD1,SMDW))
3709 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL)
3710 1.1 jruoho if(LNotEqual(Ones,DRSL))
3711 1.1 jruoho {Return(18)}
3712 1.1 jruoho }
3713 1.1 jruoho
3714 1.1 jruoho Return(0)
3715 1.1 jruoho
3716 1.1 jruoho }//ANDL
3717 1.1 jruoho
3718 1.1 jruoho //Test the LOr Operator
3719 1.1 jruoho
3720 1.1 jruoho Method (ORL_,2)
3721 1.1 jruoho {//ORL_
3722 1.1 jruoho
3723 1.1 jruoho //test with the arguments passed
3724 1.1 jruoho if(LEqual(Arg0,Arg1))
3725 1.1 jruoho {
3726 1.1 jruoho Store(LOr(Arg0,Arg1),RSLT)
3727 1.1 jruoho if(LNotEqual(Ones,RSLT))
3728 1.1 jruoho {
3729 1.1 jruoho Return(21)
3730 1.1 jruoho }
3731 1.1 jruoho }
3732 1.1 jruoho
3733 1.1 jruoho //test with he locals
3734 1.1 jruoho Store(Arg0,Local0)
3735 1.1 jruoho Store(Arg1,Local1)
3736 1.1 jruoho
3737 1.1 jruoho if(LEqual(Local0,Local1))
3738 1.1 jruoho {
3739 1.1 jruoho Store(LOr(Local0,Local1),RSLT)
3740 1.1 jruoho if(LNotEqual(Ones,RSLT))
3741 1.1 jruoho {Return(22)}
3742 1.1 jruoho }
3743 1.1 jruoho
3744 1.1 jruoho //Check with 1 LOred with 0 on byte data
3745 1.1 jruoho Store(0xff,BYT1)
3746 1.1 jruoho Store(0x00,BYT2)
3747 1.1 jruoho Store(0x00,BRSL)
3748 1.1 jruoho
3749 1.1 jruoho if(LNotEqual(BYT1, BYT2))
3750 1.1 jruoho {
3751 1.1 jruoho Store(LOr(BYT1, BYT2), BRSL)
3752 1.1 jruoho if(LNotEqual(Ones,BRSL))
3753 1.1 jruoho {Return(23)}
3754 1.1 jruoho }
3755 1.1 jruoho
3756 1.1 jruoho //Check with 1 LOred with 0 on WORD data
3757 1.1 jruoho Store(0xffff,WRD1)
3758 1.1 jruoho Store(0x0000,WRD2)
3759 1.1 jruoho Store(0x0000,WRSL)
3760 1.1 jruoho
3761 1.1 jruoho if(LNotEqual(WRD1, WRD2))
3762 1.1 jruoho {
3763 1.1 jruoho Store(LOr(WRD1, WRD2), WRSL)
3764 1.1 jruoho if(LNotEqual(Ones,WRSL))
3765 1.1 jruoho {Return(24)}
3766 1.1 jruoho }
3767 1.1 jruoho
3768 1.1 jruoho //Check with 1 LOred with 0 on DWORD data
3769 1.1 jruoho Store(0xffffffff,DWD1)
3770 1.1 jruoho Store(0x00000000,DWD2)
3771 1.1 jruoho Store(0x00000000,DRSL)
3772 1.1 jruoho
3773 1.1 jruoho if(LNotEqual(DWD1, DWD2))
3774 1.1 jruoho {
3775 1.1 jruoho Store(LOr(DWD1, DWD2), DRSL)
3776 1.1 jruoho if(LNotEqual(Ones,DRSL))
3777 1.1 jruoho {Return(25)}
3778 1.1 jruoho }
3779 1.1 jruoho
3780 1.1 jruoho Store(0x00,BYT1)
3781 1.1 jruoho Store(0xff,SMBY)
3782 1.1 jruoho Store(0x00,BRSL)
3783 1.1 jruoho
3784 1.1 jruoho //test with BYTE system memory data
3785 1.1 jruoho if(LEqual(BYT1,SMBY))
3786 1.1 jruoho { Store(LOr(BYT1,SMBY),BRSL)
3787 1.1 jruoho if(LNotEqual(Ones,BRSL))
3788 1.1 jruoho {Return(26)}
3789 1.1 jruoho }
3790 1.1 jruoho
3791 1.1 jruoho Store (0x0000,WRD1)
3792 1.1 jruoho Store(0xffff,SMWD)
3793 1.1 jruoho Store(0x0000,WRSL)
3794 1.1 jruoho
3795 1.1 jruoho //test with WORD system memory data
3796 1.1 jruoho if(LEqual(WRD1,SMWD))
3797 1.1 jruoho { Store(LOr(WRD1,SMWD),WRSL)
3798 1.1 jruoho if(LNotEqual(Ones,WRSL))
3799 1.1 jruoho {Return(27)}
3800 1.1 jruoho }
3801 1.1 jruoho
3802 1.1 jruoho
3803 1.1 jruoho Store(0x00000000,DWD1)
3804 1.1 jruoho Store(0xffffffff,SMDW)
3805 1.1 jruoho Store(0x00000000,DRSL)
3806 1.1 jruoho
3807 1.1 jruoho //test with DWORD system memory data
3808 1.1 jruoho if(LEqual(DWD1,SMDW))
3809 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL)
3810 1.1 jruoho if(LNotEqual(Ones,DRSL))
3811 1.1 jruoho {Return(28)}
3812 1.1 jruoho }
3813 1.1 jruoho Return(0)
3814 1.1 jruoho
3815 1.1 jruoho }//ORL_
3816 1.1 jruoho
3817 1.1 jruoho //This method tests LGreater and LNot operator
3818 1.1 jruoho Method(LSGR,2)
3819 1.1 jruoho {//LSGR
3820 1.1 jruoho
3821 1.1 jruoho //Test on arguements passed
3822 1.1 jruoho
3823 1.1 jruoho //in test data, Arg1 > Arg0
3824 1.1 jruoho if(LEqual(Ones,LNot(LGreater(Arg1,Arg0))))
3825 1.1 jruoho {Return(31)}
3826 1.1 jruoho
3827 1.1 jruoho //test LLessEqual
3828 1.1 jruoho if(LEqual(Ones,LNot(LGreaterEqual(Arg1,Arg0))))
3829 1.1 jruoho {Return(32)}
3830 1.1 jruoho
3831 1.1 jruoho if(LEqual(Ones,LLess(Arg1,Arg0)))
3832 1.1 jruoho {Return(33)}
3833 1.1 jruoho
3834 1.1 jruoho //test LLessEqual
3835 1.1 jruoho if(LEqual(Ones,LLessEqual(Arg1,Arg0)))
3836 1.1 jruoho {Return(34)}
3837 1.1 jruoho
3838 1.1 jruoho Store(Arg0,Local0)
3839 1.1 jruoho Store(Arg1,Local1)
3840 1.1 jruoho
3841 1.1 jruoho //test with the locals
3842 1.1 jruoho if(LNot(LGreater(Local1,Local0)))
3843 1.1 jruoho {Return(35)}
3844 1.1 jruoho
3845 1.1 jruoho //test on Byte data
3846 1.1 jruoho Store(0x12,BYT1)
3847 1.1 jruoho Store(0x21,BYT2)
3848 1.1 jruoho
3849 1.1 jruoho if(LNot(LGreater(BYT2,BYT1)))
3850 1.1 jruoho {Return(36)}
3851 1.1 jruoho
3852 1.1 jruoho if(LNot(LLess(BYT1,BYT2)))
3853 1.1 jruoho {Return(37)}
3854 1.1 jruoho
3855 1.1 jruoho //test LGreaterEqual with byte data
3856 1.1 jruoho if(LNot(LGreaterEqual(BYT2,BYT1)))
3857 1.1 jruoho {Return(38)}
3858 1.1 jruoho
3859 1.1 jruoho //test LLessEqual byte data
3860 1.1 jruoho if(LNot(LLessEqual(BYT1,BYT2)))
3861 1.1 jruoho {Return(39)}
3862 1.1 jruoho
3863 1.1 jruoho
3864 1.1 jruoho //test on Word data
3865 1.1 jruoho Store(0x1212,WRD1)
3866 1.1 jruoho Store(0x2121,WRD2)
3867 1.1 jruoho
3868 1.1 jruoho if(LNot(LGreater(WRD2,WRD1)))
3869 1.1 jruoho {Return(310)}
3870 1.1 jruoho
3871 1.1 jruoho if(LNot(LLess(WRD1,WRD2)))
3872 1.1 jruoho {Return(311)}
3873 1.1 jruoho
3874 1.1 jruoho //Test LGreaterEqual with Word Data
3875 1.1 jruoho if(LNot(LGreaterEqual(WRD2,WRD1)))
3876 1.1 jruoho {Return(312)}
3877 1.1 jruoho
3878 1.1 jruoho
3879 1.1 jruoho //Test LLessEqual with Word Data
3880 1.1 jruoho if(LNot(LLessEqual(WRD1,WRD2)))
3881 1.1 jruoho {Return(313)}
3882 1.1 jruoho
3883 1.1 jruoho //test on DWord data
3884 1.1 jruoho Store(0x12121212,DWD1)
3885 1.1 jruoho Store(0x21212121,DWD2)
3886 1.1 jruoho
3887 1.1 jruoho if(LNot(LGreater(DWD2,DWD1)))
3888 1.1 jruoho {Return(314)}
3889 1.1 jruoho
3890 1.1 jruoho if(LNot(LLess(DWD1,DWD2)))
3891 1.1 jruoho {Return(315)}
3892 1.1 jruoho
3893 1.1 jruoho
3894 1.1 jruoho //Test LGreaterEqual with Dword
3895 1.1 jruoho if(LNot(LGreaterEqual(DWD2,DWD1)))
3896 1.1 jruoho {Return(316)}
3897 1.1 jruoho
3898 1.1 jruoho //Test LLessEqual DWord
3899 1.1 jruoho if(LNot(LLessEqual(DWD1,DWD2)))
3900 1.1 jruoho {Return(317)}
3901 1.1 jruoho
3902 1.1 jruoho Return(0)
3903 1.1 jruoho }//LSGR
3904 1.1 jruoho
3905 1.1 jruoho //The test method
3906 1.1 jruoho Method(TEST)
3907 1.1 jruoho {
3908 1.1 jruoho Store ("++++++++ LOps Test", Debug)
3909 1.1 jruoho
3910 1.1 jruoho Store(0,RSLT)
3911 1.1 jruoho //Call LAndOp method
3912 1.1 jruoho Store(ANDL(2,2),RSLT)
3913 1.1 jruoho if(LNotEqual(RSLT,0))
3914 1.1 jruoho {Return(RSLT)}
3915 1.1 jruoho
3916 1.1 jruoho //Call LOrOp Method
3917 1.1 jruoho Store(ORL_(5,5),RSLT)
3918 1.1 jruoho if(LNotEqual(RSLT,0))
3919 1.1 jruoho {Return(RSLT)}
3920 1.1 jruoho
3921 1.1 jruoho //Call LSGR Method
3922 1.1 jruoho Store(LSGR(5,7),RSLT)
3923 1.1 jruoho if(LNotEqual(RSLT,0))
3924 1.1 jruoho {Return(RSLT)}
3925 1.1 jruoho
3926 1.1 jruoho Return(0)
3927 1.1 jruoho }//TEST
3928 1.1 jruoho }//LOPS
3929 1.1 jruoho
3930 1.1 jruoho //
3931 1.1 jruoho // test FdSetOps.asl
3932 1.1 jruoho //
3933 1.1 jruoho // FindSetLeftBit - Find Set Left Bit
3934 1.1 jruoho // FindSetLeftBitTerm := FindSetLeftBit
3935 1.1 jruoho // ( Source, //TermArg=>Integer
3936 1.1 jruoho // Result //Nothing | SuperName
3937 1.1 jruoho // ) => Integer
3938 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of
3939 1.1 jruoho // the first MSb (most significant set bit) is optionally stored into Result.
3940 1.1 jruoho // The result of 0 means no bit was set, 1 means the left-most bit set is the
3941 1.1 jruoho // first bit, 2 means the left-most bit set is the second bit, and so on.
3942 1.1 jruoho // FindSetRightBit - Find Set Right Bit
3943 1.1 jruoho
3944 1.1 jruoho // FindSetRightBitTerm := FindSetRightBit
3945 1.1 jruoho // ( Source, //TermArg=>Integer
3946 1.1 jruoho // Result //Nothing | SuperName
3947 1.1 jruoho // ) => Integer
3948 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of
3949 1.1 jruoho // the most LSb (least significant set bit) is optionally stored in Result.
3950 1.1 jruoho // The result of 0 means no bit was set, 32 means the first bit set is the
3951 1.1 jruoho // 32nd bit, 31 means the first bit set is the 31st bit, and so on.
3952 1.1 jruoho
3953 1.1 jruoho // If the Control method is success Zero is returned. Otherwise a non-zero
3954 1.1 jruoho // number is returned.
3955 1.1 jruoho //
3956 1.1 jruoho Device (FDSO)
3957 1.1 jruoho { // FDSO
3958 1.1 jruoho
3959 1.1 jruoho // Create System Memory Operation Region and field overlays
3960 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3961 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3962 1.1 jruoho {
3963 1.1 jruoho SMDW, 32, // 32-bit DWORD
3964 1.1 jruoho SMWD, 16, // 16-bit WORD
3965 1.1 jruoho SMBY, 8, // 8-bit BYTE
3966 1.1 jruoho } // Field(RAM)
3967 1.1 jruoho
3968 1.1 jruoho // Byte Data
3969 1.1 jruoho Name (BYT1, 1)
3970 1.1 jruoho Name (BRSL, 0x00)
3971 1.1 jruoho
3972 1.1 jruoho // Word Data
3973 1.1 jruoho Name (WRD1, 0x100)
3974 1.1 jruoho Name (WRSL, 0x0000)
3975 1.1 jruoho
3976 1.1 jruoho // DWord Data
3977 1.1 jruoho Name (DWD1, 0x10000)
3978 1.1 jruoho Name (DRSL, 0x00000000)
3979 1.1 jruoho Name (RSLT, 1)
3980 1.1 jruoho Name (CNTR, 1)
3981 1.1 jruoho
3982 1.1 jruoho Method (SHFT,2)
3983 1.1 jruoho // Arg0 is the actual data and Arg1 is the bit position
3984 1.1 jruoho { // SHFT
3985 1.1 jruoho Store (Arg0, Local0)
3986 1.1 jruoho Store (Arg1, Local1)
3987 1.1 jruoho
3988 1.1 jruoho FindSetLeftBit (Arg0, BRSL)
3989 1.1 jruoho If (LNotEqual (BRSL, Arg1))
3990 1.1 jruoho { Return (0x11) }
3991 1.1 jruoho If (LNotEqual (Arg0, Local0))
3992 1.1 jruoho { Return (0x12) }
3993 1.1 jruoho
3994 1.1 jruoho FindSetLeftBit (Local0, BRSL)
3995 1.1 jruoho If (LNotEqual (BRSL, Local1))
3996 1.1 jruoho { Return (0x13) }
3997 1.1 jruoho If (LNotEqual (Arg0, Local0))
3998 1.1 jruoho { Return (0x14) }
3999 1.1 jruoho
4000 1.1 jruoho // test the byte value for SetLeftBit
4001 1.1 jruoho Store (7, BYT1)
4002 1.1 jruoho FindSetLeftBit (BYT1, BRSL)
4003 1.1 jruoho If (LNotEqual (BRSL, 3))
4004 1.1 jruoho { Return (0x15) }
4005 1.1 jruoho If (LNotEqual (BYT1, 7))
4006 1.1 jruoho { Return (0x16) }
4007 1.1 jruoho
4008 1.1 jruoho Store (1, BYT1)
4009 1.1 jruoho Store (1, CNTR)
4010 1.1 jruoho While (LLessEqual (CNTR, 8))
4011 1.1 jruoho { // FindSetLeftBit check loop for byte data
4012 1.1 jruoho FindSetLeftBit (BYT1, BRSL)
4013 1.1 jruoho If (LNotEqual (BRSL, CNTR))
4014 1.1 jruoho { Return (0x17) }
4015 1.1 jruoho
4016 1.1 jruoho // Shift the bits to check the same
4017 1.1 jruoho ShiftLeft (BYT1, 1, BYT1)
4018 1.1 jruoho Increment (CNTR)
4019 1.1 jruoho } // FindSetLeftBit check loop for byte data
4020 1.1 jruoho
4021 1.1 jruoho
4022 1.1 jruoho // Check BYTE value for SetRightBit
4023 1.1 jruoho Store (7, BYT1)
4024 1.1 jruoho FindSetRightBit (BYT1, BRSL)
4025 1.1 jruoho If (LNotEqual (BRSL, 1))
4026 1.1 jruoho { Return (0x21) }
4027 1.1 jruoho If (LNotEqual (BYT1, 7))
4028 1.1 jruoho { Return (0x22) }
4029 1.1 jruoho
4030 1.1 jruoho Store (1, CNTR)
4031 1.1 jruoho Store (0xFF, BYT1)
4032 1.1 jruoho While (LLessEqual (CNTR, 8))
4033 1.1 jruoho { // FindSetRightBit check loop for byte data
4034 1.1 jruoho FindSetRightBit (BYT1, BRSL)
4035 1.1 jruoho If (LNotEqual (BRSL, CNTR))
4036 1.1 jruoho { Return (0x23) }
4037 1.1 jruoho
4038 1.1 jruoho ShiftLeft (BYT1, 1, BYT1)
4039 1.1 jruoho Increment (CNTR)
4040 1.1 jruoho } // FindSetRightBit check loop for byte data
4041 1.1 jruoho
4042 1.1 jruoho
4043 1.1 jruoho // Test Word value for SetLeftBit
4044 1.1 jruoho Store (9, CNTR)
4045 1.1 jruoho Store (0x100, WRD1)
4046 1.1 jruoho While (LLessEqual (CNTR, 16))
4047 1.1 jruoho {
4048 1.1 jruoho // FindSetLeftBit check loop for Word data
4049 1.1 jruoho FindSetLeftBit (WRD1, WRSL)
4050 1.1 jruoho If (LNotEqual (WRSL, CNTR))
4051 1.1 jruoho { Return (0x31) }
4052 1.1 jruoho
4053 1.1 jruoho // Shift the bits to check the same
4054 1.1 jruoho ShiftLeft (WRD1, 1, WRD1)
4055 1.1 jruoho Increment (CNTR)
4056 1.1 jruoho } // FindSetLeftBit check loop for Word data
4057 1.1 jruoho
4058 1.1 jruoho // Check Word value for SetRightBit
4059 1.1 jruoho Store (9, CNTR)
4060 1.1 jruoho Store (0xFF00, WRD1)
4061 1.1 jruoho While (LLessEqual (CNTR, 16))
4062 1.1 jruoho {
4063 1.1 jruoho // FindSetRightBit check loop for Word data
4064 1.1 jruoho FindSetRightBit (WRD1, WRSL)
4065 1.1 jruoho If (LNotEqual (WRSL, CNTR))
4066 1.1 jruoho { Return (0x32) }
4067 1.1 jruoho
4068 1.1 jruoho ShiftLeft (WRD1, 1, WRD1)
4069 1.1 jruoho Increment (CNTR)
4070 1.1 jruoho } // FindSetRightBit check loop for Word data
4071 1.1 jruoho
4072 1.1 jruoho // Test the DWord value for SetLeftBit
4073 1.1 jruoho Store (17, CNTR)
4074 1.1 jruoho Store (0x10000, DWD1)
4075 1.1 jruoho While (LLessEqual (CNTR, 32))
4076 1.1 jruoho {
4077 1.1 jruoho // FindSetLeftBit check loop for Dword
4078 1.1 jruoho FindSetLeftBit (DWD1, DRSL)
4079 1.1 jruoho If (LNotEqual (DRSL, CNTR))
4080 1.1 jruoho { Return (0x41) }
4081 1.1 jruoho
4082 1.1 jruoho // Shift the bits to check the same
4083 1.1 jruoho ShiftLeft (DWD1, 1, DWD1)
4084 1.1 jruoho Increment (CNTR)
4085 1.1 jruoho } // FindSetLeftBit check loop for Dword
4086 1.1 jruoho
4087 1.1 jruoho // Check DWord value for SetRightBit
4088 1.1 jruoho Store (17, CNTR)
4089 1.1 jruoho Store (0xFFFF0000, DWD1)
4090 1.1 jruoho While (LLessEqual (CNTR, 32))
4091 1.1 jruoho { // FindSetRightBit Check loop for DWORD
4092 1.1 jruoho FindSetRightBit (DWD1, DRSL)
4093 1.1 jruoho If (LNotEqual (DRSL, CNTR))
4094 1.1 jruoho { Return (0x42) }
4095 1.1 jruoho
4096 1.1 jruoho ShiftLeft (DWD1, 1, DWD1)
4097 1.1 jruoho Increment (CNTR)
4098 1.1 jruoho } // FindSetRightBit Check loop for DWORD
4099 1.1 jruoho
4100 1.1 jruoho Return (0)
4101 1.1 jruoho } // SHFT
4102 1.1 jruoho
4103 1.1 jruoho // Test method called from amlexec
4104 1.1 jruoho Method (TEST)
4105 1.1 jruoho { // TEST
4106 1.1 jruoho
4107 1.1 jruoho Store ("++++++++ FdSetOps Test", Debug)
4108 1.1 jruoho
4109 1.1 jruoho Store (SHFT (0x80, 8), RSLT)
4110 1.1 jruoho If (LNotEqual (RSLT, 0))
4111 1.1 jruoho { Return (RSLT) }
4112 1.1 jruoho
4113 1.1 jruoho Return (0) // pass
4114 1.1 jruoho } // TEST
4115 1.1 jruoho } // Device FDSO
4116 1.1 jruoho
4117 1.1 jruoho //
4118 1.1 jruoho // test MulDivOp.asl
4119 1.1 jruoho //
4120 1.1 jruoho Device (MLDV)
4121 1.1 jruoho {
4122 1.1 jruoho // create System Memory Operation Region and field overlays
4123 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4124 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4125 1.1 jruoho {
4126 1.1 jruoho SMDW, 32, // 32-bit DWORD
4127 1.1 jruoho SMWD, 16, // 16-bit WORD
4128 1.1 jruoho SMBY, 8, // 8-bit BYTE
4129 1.1 jruoho } // Field(RAM)
4130 1.1 jruoho
4131 1.1.1.3 christos Method (TEST,, Serialized)
4132 1.1 jruoho {
4133 1.1 jruoho Store ("++++++++ MulDivOp Test", Debug)
4134 1.1 jruoho
4135 1.1 jruoho Name (RMDR, 0)
4136 1.1 jruoho Name (DWRD, 0x12345678)
4137 1.1 jruoho Name (WRD, 0x1234)
4138 1.1 jruoho Name (BYT, 0x12)
4139 1.1 jruoho
4140 1.1 jruoho // Test MultiplyOp with DWORD data
4141 1.1 jruoho Store (0x12345678, DWRD)
4142 1.1 jruoho Multiply (DWRD, 3, DWRD)
4143 1.1 jruoho If (LNotEqual (DWRD, 0x369D0368))
4144 1.1 jruoho { Return (DWRD) }
4145 1.1 jruoho
4146 1.1 jruoho // Test MultiplyOp with WORD data
4147 1.1 jruoho Multiply (WRD, 4, WRD)
4148 1.1 jruoho If (LNotEqual (WRD, 0x48D0))
4149 1.1 jruoho { Return (WRD) }
4150 1.1 jruoho
4151 1.1 jruoho // Test MultiplyOp with BYTE data
4152 1.1 jruoho Multiply (BYT, 5, BYT)
4153 1.1 jruoho If (LNotEqual (BYT, 0x5A))
4154 1.1 jruoho { Return (BYT) }
4155 1.1 jruoho
4156 1.1 jruoho // Test DivideOp with DWORD data
4157 1.1 jruoho Divide (DWRD, 3, DWRD, RMDR)
4158 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
4159 1.1 jruoho { Return (DWRD) }
4160 1.1 jruoho If (LNotEqual (RMDR, 0))
4161 1.1 jruoho { Return (RMDR) }
4162 1.1 jruoho
4163 1.1 jruoho // Test DivideOp with WORD data
4164 1.1 jruoho Divide (WRD, 4, WRD, RMDR)
4165 1.1 jruoho If (LNotEqual (WRD, 0x1234))
4166 1.1 jruoho { Return (WRD) }
4167 1.1 jruoho If (LNotEqual (RMDR, 0))
4168 1.1 jruoho { Return (RMDR) }
4169 1.1 jruoho
4170 1.1 jruoho // Test DivideOp with BYTE data
4171 1.1 jruoho Divide (BYT, 5, BYT, RMDR)
4172 1.1 jruoho If (LNotEqual (BYT, 0x12))
4173 1.1 jruoho { Return (BYT) }
4174 1.1 jruoho If (LNotEqual (RMDR, 0))
4175 1.1 jruoho { Return (RMDR) }
4176 1.1 jruoho
4177 1.1 jruoho
4178 1.1 jruoho // test MultiplyOp with DWORD SystemMemory OpRegion
4179 1.1 jruoho Store (0x01234567, SMDW)
4180 1.1 jruoho Multiply (SMDW, 2, SMDW)
4181 1.1 jruoho If (LNotEqual (SMDW, 0x02468ACE))
4182 1.1 jruoho { Return (SMDW) }
4183 1.1 jruoho
4184 1.1 jruoho // test DivideOp with DWORD SystemMemory OpRegion
4185 1.1 jruoho Divide (SMDW, 3, SMDW, RMDR)
4186 1.1 jruoho If (LNotEqual (SMDW, 0x00C22E44))
4187 1.1 jruoho { Return (SMDW) }
4188 1.1 jruoho If (LNotEqual (RMDR, 2))
4189 1.1 jruoho { Return (RMDR) }
4190 1.1 jruoho
4191 1.1 jruoho
4192 1.1 jruoho // test MultiplyOp with WORD SystemMemory OpRegion
4193 1.1 jruoho Store (0x0123, SMWD)
4194 1.1 jruoho Multiply (SMWD, 3, SMWD)
4195 1.1 jruoho If (LNotEqual (SMWD, 0x369))
4196 1.1 jruoho { Return (SMWD) }
4197 1.1 jruoho
4198 1.1 jruoho // test DivideOp with WORD SystemMemory OpRegion
4199 1.1 jruoho Divide (SMWD, 2, SMWD, RMDR)
4200 1.1 jruoho If (LNotEqual (SMWD, 0x01B4))
4201 1.1 jruoho { Return (SMWD) }
4202 1.1 jruoho If (LNotEqual (RMDR, 1))
4203 1.1 jruoho { Return (RMDR) }
4204 1.1 jruoho
4205 1.1 jruoho
4206 1.1 jruoho // test MultiplyOp with BYTE SystemMemory OpRegion
4207 1.1 jruoho Store (0x01, SMBY)
4208 1.1 jruoho Multiply (SMBY, 7, SMBY)
4209 1.1 jruoho If (LNotEqual (SMBY, 0x07))
4210 1.1 jruoho { Return (SMBY) }
4211 1.1 jruoho
4212 1.1 jruoho // test DivideOp with BYTE SystemMemory OpRegion
4213 1.1 jruoho Divide (SMBY, 4, SMBY, RMDR)
4214 1.1 jruoho If (LNotEqual (SMBY, 0x01))
4215 1.1 jruoho { Return (SMBY) }
4216 1.1 jruoho If (LNotEqual (RMDR, 3))
4217 1.1 jruoho { Return (RMDR) }
4218 1.1 jruoho
4219 1.1 jruoho Return (0)
4220 1.1 jruoho } // TEST
4221 1.1 jruoho } // MLDV
4222 1.1 jruoho
4223 1.1 jruoho //
4224 1.1 jruoho // test NBitOps.asl
4225 1.1 jruoho //
4226 1.1 jruoho //NAnd - Bit-wise NAnd
4227 1.1 jruoho //NAndTerm := NAnd(
4228 1.1 jruoho // Source1, //TermArg=>Integer
4229 1.1 jruoho // Source2 //TermArg=>Integer
4230 1.1 jruoho // Result //Nothing | SuperName
4231 1.1 jruoho //) => Integer
4232 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NAND is performed, and the result is optionally
4233 1.1 jruoho //stored in Result.
4234 1.1 jruoho
4235 1.1 jruoho //NOr - Bitwise NOr
4236 1.1 jruoho //NOrTerm := NOr(
4237 1.1 jruoho // Source1, //TermArg=>Integer
4238 1.1 jruoho // Source2 //TermArg=>Integer
4239 1.1 jruoho // Result //Nothing | SuperName
4240 1.1 jruoho //) => Integer
4241 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NOR is performed, and the result is optionally
4242 1.1 jruoho //stored in Result.
4243 1.1 jruoho // Not - Not
4244 1.1 jruoho //NotTerm := Not(
4245 1.1 jruoho // Source, //TermArg=>Integer
4246 1.1 jruoho // Result //Nothing | SuperName
4247 1.1 jruoho //) => Integer
4248 1.1 jruoho //Source1 is evaluated as an integer data type, a bit-wise NOT is performed, and the result is optionally stored in
4249 1.1 jruoho //Result.
4250 1.1 jruoho
4251 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned
4252 1.1 jruoho
4253 1.1 jruoho Device (NBIT)
4254 1.1 jruoho {//NBIT
4255 1.1 jruoho
4256 1.1 jruoho //Create System Memory Operation Region and field overlays
4257 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4258 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4259 1.1 jruoho {
4260 1.1 jruoho SMDW, 32, // 32-bit DWORD
4261 1.1 jruoho SMWD, 16, // 16-bit WORD
4262 1.1 jruoho SMBY, 8, // 8-bit BYTE
4263 1.1 jruoho }// Field(RAM)
4264 1.1 jruoho
4265 1.1 jruoho
4266 1.1 jruoho //And with Byte Data
4267 1.1 jruoho Name (BYT1, 0xff)
4268 1.1 jruoho Name (BYT2, 0xff)
4269 1.1 jruoho Name (BRSL, 0x00)
4270 1.1 jruoho
4271 1.1 jruoho //And with Word Data
4272 1.1 jruoho Name (WRD1, 0xffff)
4273 1.1 jruoho Name (WRD2, 0xffff)
4274 1.1 jruoho Name (WRSL, 0x0000)
4275 1.1 jruoho
4276 1.1 jruoho //And with DWord Data
4277 1.1 jruoho Name (DWD1, 0xffffffff)
4278 1.1 jruoho Name (DWD2, 0xffffffff)
4279 1.1 jruoho Name (DRSL, 0x00000000)
4280 1.1 jruoho Name(RSLT,1)
4281 1.1 jruoho
4282 1.1 jruoho
4283 1.1 jruoho Name(ARSL,0x00)
4284 1.1 jruoho Name(LRSL,0x00)
4285 1.1 jruoho
4286 1.1 jruoho Method(NNDB,2)
4287 1.1 jruoho {//NNDB
4288 1.1 jruoho
4289 1.1 jruoho Store(0xffffffff,SMDW)
4290 1.1 jruoho Store(0xffff,SMWD)
4291 1.1 jruoho Store(0xff,SMBY)
4292 1.1 jruoho
4293 1.1 jruoho
4294 1.1 jruoho NAnd(Arg0,Arg1,ARSL)
4295 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4296 1.1 jruoho {Return(11)}
4297 1.1 jruoho
4298 1.1 jruoho Store(Arg0,local0)
4299 1.1 jruoho Store(Arg1,Local1)
4300 1.1 jruoho
4301 1.1 jruoho NAnd(Local0,Local1,LRSL)
4302 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4303 1.1 jruoho {Return(12)}
4304 1.1 jruoho
4305 1.1 jruoho
4306 1.1 jruoho //Byte data
4307 1.1 jruoho NAnd(BYT1,BYT2,BRSL)
4308 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4309 1.1 jruoho {Return(13)}
4310 1.1 jruoho
4311 1.1 jruoho //Word Data
4312 1.1 jruoho NAnd(WRD1,WRD2,WRSL)
4313 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4314 1.1 jruoho {Return(14)}
4315 1.1 jruoho
4316 1.1 jruoho //DWord Data
4317 1.1 jruoho NAnd(DWD1,DWD2,DRSL)
4318 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4319 1.1 jruoho {Return(15)}
4320 1.1 jruoho
4321 1.1 jruoho //Byte data
4322 1.1 jruoho NAnd(SMBY,0xff,BRSL)
4323 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4324 1.1 jruoho {Return(16)}
4325 1.1 jruoho
4326 1.1 jruoho //Word Data
4327 1.1 jruoho NAnd(SMWD,0xffff,WRSL)
4328 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4329 1.1 jruoho {Return(17)}
4330 1.1 jruoho
4331 1.1 jruoho //DWord Data
4332 1.1 jruoho NAnd(SMDW,0xffffffff,DRSL)
4333 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4334 1.1 jruoho {Return(18)}
4335 1.1 jruoho
4336 1.1 jruoho Return(0)
4337 1.1 jruoho
4338 1.1 jruoho }//NNDB
4339 1.1 jruoho
4340 1.1 jruoho Method(NNOR,2)
4341 1.1 jruoho {//NNOR
4342 1.1 jruoho
4343 1.1 jruoho NOr(Arg0,Arg1,ARSL)
4344 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4345 1.1 jruoho {Return(21)}
4346 1.1 jruoho
4347 1.1 jruoho Store(Arg0,local0)
4348 1.1 jruoho Store(Arg1,Local1)
4349 1.1 jruoho
4350 1.1 jruoho NOr(Local0,Local1,LRSL)
4351 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4352 1.1 jruoho {Return(22)}
4353 1.1 jruoho
4354 1.1 jruoho
4355 1.1 jruoho //Byte data
4356 1.1 jruoho NOr(BYT1,BYT2,BRSL)
4357 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4358 1.1 jruoho {Return(23)}
4359 1.1 jruoho
4360 1.1 jruoho //Word Data
4361 1.1 jruoho NOr(WRD1,WRD2,WRSL)
4362 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4363 1.1 jruoho {Return(24)}
4364 1.1 jruoho
4365 1.1 jruoho //DWord Data
4366 1.1 jruoho NOr(DWD1,DWD2,DRSL)
4367 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4368 1.1 jruoho {Return(25)}
4369 1.1 jruoho
4370 1.1 jruoho //System Memory Byte data
4371 1.1 jruoho NOr(SMBY,0xff,BRSL)
4372 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4373 1.1 jruoho {Return(26)}
4374 1.1 jruoho
4375 1.1 jruoho //System Memory Word Data
4376 1.1 jruoho NOr(SMWD,0xffff,WRSL)
4377 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4378 1.1 jruoho {Return(27)}
4379 1.1 jruoho
4380 1.1 jruoho //System Memory DWord Data
4381 1.1 jruoho NOr(SMDW,0xffffffff,DRSL)
4382 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4383 1.1 jruoho {Return(28)}
4384 1.1 jruoho
4385 1.1 jruoho Return(0)
4386 1.1 jruoho
4387 1.1 jruoho }//NNOR
4388 1.1 jruoho
4389 1.1 jruoho Method(NNOT,2)
4390 1.1 jruoho {//NNOT
4391 1.1 jruoho
4392 1.1 jruoho Or(Arg0,Arg1,ARSL)
4393 1.1 jruoho Not(ARSL,ARSL)
4394 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4395 1.1 jruoho {Return(31)}
4396 1.1 jruoho
4397 1.1 jruoho Store(Arg0,local0)
4398 1.1 jruoho Store(Arg1,Local1)
4399 1.1 jruoho
4400 1.1 jruoho Or(Local0,Local1,LRSL)
4401 1.1 jruoho Not(LRSL,LRSL)
4402 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4403 1.1 jruoho {Return(32)}
4404 1.1 jruoho
4405 1.1 jruoho
4406 1.1 jruoho //Byte data
4407 1.1 jruoho Or(BYT1,BYT2,BRSL)
4408 1.1 jruoho Not(BRSL,BRSL)
4409 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4410 1.1 jruoho {Return(33)}
4411 1.1 jruoho
4412 1.1 jruoho //Word Data
4413 1.1 jruoho Or(WRD1,WRD2,WRSL)
4414 1.1 jruoho Not(WRSL,WRSL)
4415 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4416 1.1 jruoho {Return(34)}
4417 1.1 jruoho
4418 1.1 jruoho //DWord Data
4419 1.1 jruoho Or(DWD1,DWD2,DRSL)
4420 1.1 jruoho Not(DRSL,DRSL)
4421 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4422 1.1 jruoho {Return(35)}
4423 1.1 jruoho
4424 1.1 jruoho //System Memory Byte data
4425 1.1 jruoho Or(SMBY,0xff,BRSL)
4426 1.1 jruoho Not(BRSL,BRSL)
4427 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4428 1.1 jruoho {Return(36)}
4429 1.1 jruoho
4430 1.1 jruoho //System Memory Word Data
4431 1.1 jruoho Or(SMWD,0xffff,WRSL)
4432 1.1 jruoho Not(WRSL,WRSL)
4433 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4434 1.1 jruoho {Return(37)}
4435 1.1 jruoho
4436 1.1 jruoho //System Memory DWord Data
4437 1.1 jruoho Or(SMDW,0xffffffff,DRSL)
4438 1.1 jruoho Not(DRSL,DRSL)
4439 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4440 1.1 jruoho {Return(38)}
4441 1.1 jruoho
4442 1.1 jruoho Return(0)
4443 1.1 jruoho }//NNOT
4444 1.1 jruoho
4445 1.1 jruoho
4446 1.1 jruoho Method(TEST)
4447 1.1 jruoho {
4448 1.1 jruoho
4449 1.1 jruoho Store ("++++++++ NBitOps Test", Debug)
4450 1.1 jruoho
4451 1.1 jruoho Store(NNDB(2,2),RSLT)
4452 1.1 jruoho if(LNotEqual(RSLT,0))
4453 1.1 jruoho {Return(RSLT)}
4454 1.1 jruoho
4455 1.1 jruoho Store(NNOR(2,2),RSLT)
4456 1.1 jruoho if(LNotEqual(RSLT,0))
4457 1.1 jruoho {Return(RSLT)}
4458 1.1 jruoho
4459 1.1 jruoho Store(NNOT(2,2),RSLT)
4460 1.1 jruoho if(LNotEqual(RSLT,0))
4461 1.1 jruoho {Return(RSLT)}
4462 1.1 jruoho
4463 1.1 jruoho
4464 1.1 jruoho Return(0)
4465 1.1 jruoho }
4466 1.1 jruoho
4467 1.1 jruoho }//Device NBIT
4468 1.1 jruoho
4469 1.1 jruoho //
4470 1.1 jruoho // test ShftOp.asl
4471 1.1 jruoho //
4472 1.1 jruoho //ShiftRightTerm := ShiftRight(
4473 1.1 jruoho // Source, //TermArg=>Integer
4474 1.1 jruoho // ShiftCount //TermArg=>Integer
4475 1.1 jruoho // Result //Nothing | SuperName
4476 1.1 jruoho //) => Integer
4477 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted right with the most significant bit
4478 1.1 jruoho //zeroed ShiftCount times. The result is optionally stored into Result.
4479 1.1 jruoho
4480 1.1 jruoho //ShiftLeft(
4481 1.1 jruoho // Source, //TermArg=>Integer
4482 1.1 jruoho // ShiftCount //TermArg=>Integer
4483 1.1 jruoho // Result //Nothing | SuperName
4484 1.1 jruoho //) => Integer
4485 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted left with the least significant
4486 1.1 jruoho //bit zeroed ShiftCount times. The result is optionally stored into Result.
4487 1.1 jruoho
4488 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned
4489 1.1 jruoho Device (SHFT)
4490 1.1 jruoho {//SHFT
4491 1.1 jruoho
4492 1.1 jruoho //Create System Memory Operation Region and field overlays
4493 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4494 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4495 1.1 jruoho {
4496 1.1 jruoho SMDW, 32, // 32-bit DWORD
4497 1.1 jruoho SMWD, 16, // 16-bit WORD
4498 1.1 jruoho SMBY, 8, // 8-bit BYTE
4499 1.1 jruoho }// Field(RAM)
4500 1.1 jruoho
4501 1.1 jruoho
4502 1.1 jruoho Name(SHFC,0x00)
4503 1.1 jruoho
4504 1.1 jruoho //And with Byte Data
4505 1.1 jruoho Name (BYT1, 0xff)
4506 1.1 jruoho Name (BRSL, 0x00)
4507 1.1 jruoho
4508 1.1 jruoho //And with Word Data
4509 1.1 jruoho Name (WRD1, 0xffff)
4510 1.1 jruoho Name (WRSL, 0x0000)
4511 1.1 jruoho
4512 1.1 jruoho //And with DWord Data
4513 1.1 jruoho Name (DWD1, 0xffffffff)
4514 1.1 jruoho Name (DRSL, 0x00000000)
4515 1.1 jruoho
4516 1.1 jruoho Name(RSLT,1)
4517 1.1 jruoho
4518 1.1 jruoho Name(ARSL,0x00)
4519 1.1 jruoho Name(LRSL,0x00)
4520 1.1 jruoho
4521 1.1 jruoho Method(SLFT,2)
4522 1.1 jruoho {//SLFT
4523 1.1 jruoho
4524 1.1 jruoho Store(0xffffffff,SMDW)
4525 1.1 jruoho Store(0xffff,SMWD)
4526 1.1 jruoho Store(0xff,SMBY)
4527 1.1 jruoho
4528 1.1 jruoho
4529 1.1 jruoho //Arg0-> 2 & Arg1->2
4530 1.1 jruoho ShiftLeft(Arg0,Arg1,ARSL)
4531 1.1 jruoho if(LNotEqual(ARSL,8))
4532 1.1 jruoho {Return(11)}
4533 1.1 jruoho
4534 1.1 jruoho Store(Arg0,local0)
4535 1.1 jruoho Store(Arg1,Local1)
4536 1.1 jruoho
4537 1.1 jruoho //Local0->8 and Local1->2
4538 1.1 jruoho ShiftLeft(Local0,Local1,LRSL)
4539 1.1 jruoho if(LNotEqual(LRSL,8))
4540 1.1 jruoho {Return(12)}
4541 1.1 jruoho
4542 1.1 jruoho Store(2,SHFC)
4543 1.1 jruoho //Byte data
4544 1.1 jruoho ShiftLeft(BYT1,SHFC,BRSL)
4545 1.1 jruoho if(LNotEqual(BRSL,0x3FC))
4546 1.1 jruoho {Return(13)}
4547 1.1 jruoho
4548 1.1 jruoho Store(4,SHFC)
4549 1.1 jruoho //Word Data
4550 1.1 jruoho ShiftLeft(WRD1,SHFC,WRSL)
4551 1.1 jruoho if(LNotEqual(WRSL,0xFFFF0))
4552 1.1 jruoho {Return(14)}
4553 1.1 jruoho
4554 1.1 jruoho Store(8,SHFC)
4555 1.1 jruoho //DWord Data
4556 1.1 jruoho ShiftLeft(DWD1,SHFC,DRSL)
4557 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00))
4558 1.1 jruoho {Return(15)}
4559 1.1 jruoho
4560 1.1 jruoho
4561 1.1 jruoho //System Memory Byte data
4562 1.1 jruoho Store(4,SHFC)
4563 1.1 jruoho ShiftLeft(SMBY,SHFC,BRSL)
4564 1.1 jruoho if(LNotEqual(BRSL,0xFF0))
4565 1.1 jruoho {Return(16)}
4566 1.1 jruoho
4567 1.1 jruoho //Word Data
4568 1.1 jruoho Store(4,SHFC)
4569 1.1 jruoho ShiftLeft(SMWD,SHFC,WRSL)
4570 1.1 jruoho if(LNotEqual(WRSL,0xffff0))
4571 1.1 jruoho {Return(17)}
4572 1.1 jruoho
4573 1.1 jruoho //DWord Data
4574 1.1 jruoho Store(8,SHFC)
4575 1.1 jruoho ShiftLeft(SMDW,SHFC,DRSL)
4576 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00))
4577 1.1 jruoho {Return(18)}
4578 1.1 jruoho
4579 1.1 jruoho Return(0)
4580 1.1 jruoho
4581 1.1 jruoho }//SLFT
4582 1.1 jruoho
4583 1.1 jruoho Method(SRGT,2)
4584 1.1 jruoho {//SRGT
4585 1.1 jruoho //And with Byte Data
4586 1.1 jruoho Store (0xff,BYT1)
4587 1.1 jruoho Store (0x00,BRSL)
4588 1.1 jruoho
4589 1.1 jruoho //And with Word Data
4590 1.1 jruoho Store (0xffff,WRD1)
4591 1.1 jruoho Store (0x0000,WRSL)
4592 1.1 jruoho
4593 1.1 jruoho //And with DWord Data
4594 1.1 jruoho Store(0xffffffff,DWD1)
4595 1.1 jruoho Store (0x00000000,DRSL)
4596 1.1 jruoho
4597 1.1 jruoho //Reinitialize the result objects
4598 1.1 jruoho Store(0x00,ARSL)
4599 1.1 jruoho Store(0x00,LRSL)
4600 1.1 jruoho
4601 1.1 jruoho Store(0xffffffff,SMDW)
4602 1.1 jruoho Store(0xffff,SMWD)
4603 1.1 jruoho Store(0xff,SMBY)
4604 1.1 jruoho
4605 1.1 jruoho //Arg0-> 2 & Arg1->2
4606 1.1 jruoho ShiftRight(Arg0,Arg1,ARSL)
4607 1.1 jruoho if(LNotEqual(ARSL,0))
4608 1.1 jruoho {Return(21)}
4609 1.1 jruoho
4610 1.1 jruoho Store(Arg0,local0)
4611 1.1 jruoho Store(Arg1,Local1)
4612 1.1 jruoho
4613 1.1 jruoho //Local0->8 and Local1->2
4614 1.1 jruoho ShiftRight(Local0,Local1,LRSL)
4615 1.1 jruoho if(LNotEqual(LRSL,0))
4616 1.1 jruoho {Return(22)}
4617 1.1 jruoho
4618 1.1 jruoho Store(2,SHFC)
4619 1.1 jruoho //Byte data
4620 1.1 jruoho ShiftRight(BYT1,SHFC,BRSL)
4621 1.1 jruoho if(LNotEqual(BRSL,0x3F))
4622 1.1 jruoho {Return(23)}
4623 1.1 jruoho
4624 1.1 jruoho Store(4,SHFC)
4625 1.1 jruoho //Word Data
4626 1.1 jruoho ShiftRight(WRD1,SHFC,WRSL)
4627 1.1 jruoho if(LNotEqual(WRSL,0xFFF))
4628 1.1 jruoho {Return(24)}
4629 1.1 jruoho
4630 1.1 jruoho Store(8,SHFC)
4631 1.1 jruoho //DWord Data
4632 1.1 jruoho ShiftRight(DWD1,SHFC,DRSL)
4633 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF))
4634 1.1 jruoho {Return(25)}
4635 1.1 jruoho
4636 1.1 jruoho //System Memory Byte data
4637 1.1 jruoho Store(4,SHFC)
4638 1.1 jruoho ShiftRight(SMBY,SHFC,BRSL)
4639 1.1 jruoho if(LNotEqual(BRSL,0xF))
4640 1.1 jruoho {Return(26)}
4641 1.1 jruoho
4642 1.1 jruoho //Word Data
4643 1.1 jruoho Store(4,SHFC)
4644 1.1 jruoho ShiftRight(SMWD,SHFC,WRSL)
4645 1.1 jruoho if(LNotEqual(WRSL,0xFFF))
4646 1.1 jruoho {Return(27)}
4647 1.1 jruoho
4648 1.1 jruoho //DWord Data
4649 1.1 jruoho Store(8,SHFC)
4650 1.1 jruoho ShiftRight(SMDW,SHFC,DRSL)
4651 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF))
4652 1.1 jruoho {Return(28)}
4653 1.1 jruoho
4654 1.1 jruoho Return(0)
4655 1.1 jruoho }//SRGT
4656 1.1 jruoho
4657 1.1 jruoho //Test method called from amlexec
4658 1.1 jruoho Method(TEST)
4659 1.1 jruoho {
4660 1.1 jruoho Store ("++++++++ ShftOp Test", Debug)
4661 1.1 jruoho
4662 1.1 jruoho Store(SLFT(2,2),RSLT)
4663 1.1 jruoho if(LNotEqual(RSLT,0))
4664 1.1 jruoho {Return(RSLT)}
4665 1.1 jruoho Store(SRGT(2,2),RSLT)
4666 1.1 jruoho if(LNotEqual(RSLT,0))
4667 1.1 jruoho {Return(RSLT)}
4668 1.1 jruoho Return(0)
4669 1.1 jruoho }
4670 1.1 jruoho
4671 1.1 jruoho }//Device SHFT
4672 1.1 jruoho
4673 1.1 jruoho //
4674 1.1 jruoho // test Xor.asl and slightly modified
4675 1.1 jruoho //
4676 1.1 jruoho //This code tests the XOR opcode term
4677 1.1 jruoho //Syntax of XOR term
4678 1.1 jruoho // XOr(
4679 1.1 jruoho // Source1 //TermArg=>BufferTerm
4680 1.1 jruoho // Source2 //TermArg=>Integer
4681 1.1 jruoho // Result //NameString
4682 1.1 jruoho // )
4683 1.1 jruoho //"Source1" and "Source2" are evaluated as integers, a bit-wise XOR is performed, and the result is optionally stored in
4684 1.1 jruoho // Result
4685 1.1 jruoho Device (XORD)
4686 1.1 jruoho {
4687 1.1 jruoho //This Method tests XOr operator for all the data types i.e. BYTE, WORD and DWORD
4688 1.1.1.3 christos Method (TEST,, Serialized)
4689 1.1 jruoho {
4690 1.1 jruoho Store ("++++++++ Xor Test", Debug)
4691 1.1 jruoho
4692 1.1 jruoho //Overlay in system memory
4693 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 256)
4694 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
4695 1.1 jruoho {
4696 1.1 jruoho RES1, 1, //Offset
4697 1.1 jruoho BYT1, 8, //First BYTE
4698 1.1 jruoho BYT2, 8, //Second BYTE
4699 1.1 jruoho RBYT, 8, //Result Byte
4700 1.1 jruoho RES2, 1, //Offset
4701 1.1 jruoho WRD1, 16, //First WORD field
4702 1.1 jruoho WRD2, 16, //Second WORD field
4703 1.1 jruoho RWRD, 16, //RSLT WORD field
4704 1.1 jruoho RES3, 1, //Offset
4705 1.1 jruoho DWD1, 32, //First Dword
4706 1.1 jruoho DWD2, 32, //Second Dword
4707 1.1 jruoho RDWD, 32, //Result Dword
4708 1.1 jruoho RES4, 1, //Offset
4709 1.1 jruoho }
4710 1.1 jruoho
4711 1.1 jruoho // Store bits in the single bit fields for checking
4712 1.1 jruoho // at the end
4713 1.1 jruoho Store(1, RES1)
4714 1.1 jruoho Store(1, RES2)
4715 1.1 jruoho Store(1, RES3)
4716 1.1 jruoho Store(1, RES4)
4717 1.1 jruoho
4718 1.1 jruoho // Check the stored single bits
4719 1.1 jruoho if(LNotEqual(RES1, 1))
4720 1.1 jruoho {
4721 1.1 jruoho Return(1)
4722 1.1 jruoho }
4723 1.1 jruoho
4724 1.1 jruoho if(LNotEqual(RES2, 1))
4725 1.1 jruoho {
4726 1.1 jruoho Return(1)
4727 1.1 jruoho }
4728 1.1 jruoho
4729 1.1 jruoho if(LNotEqual(RES3, 1))
4730 1.1 jruoho {
4731 1.1 jruoho Return(1)
4732 1.1 jruoho }
4733 1.1 jruoho
4734 1.1 jruoho if(LNotEqual(RES4, 1))
4735 1.1 jruoho {
4736 1.1 jruoho Return(1)
4737 1.1 jruoho }
4738 1.1 jruoho
4739 1.1 jruoho //************************************************
4740 1.1 jruoho // (BYT1) Bit1 ->0 and (BYT2)Bit2 -> 0 condition
4741 1.1 jruoho Store(0x00,BYT1)
4742 1.1 jruoho Store(0x00,BYT2)
4743 1.1 jruoho XOr(BYT1,BYT2,Local0)
4744 1.1 jruoho Store (Local0, RBYT)
4745 1.1 jruoho if(LNotEqual(RBYT,0))
4746 1.1 jruoho { Return(1)}
4747 1.1 jruoho
4748 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT2)Bit2 -> 1 condition
4749 1.1 jruoho Store(0xff,BYT1)
4750 1.1 jruoho Store(0xff,BYT2)
4751 1.1 jruoho XOr(BYT1,BYT2,Local0)
4752 1.1 jruoho Store (Local0, RBYT)
4753 1.1 jruoho if(LNotEqual(RBYT,0))
4754 1.1 jruoho { Return(1)}
4755 1.1 jruoho
4756 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT)Bit2 -> 0 condition
4757 1.1 jruoho Store(0x55,BYT1)
4758 1.1 jruoho Store(0xAA,BYT2)
4759 1.1 jruoho XOr(BYT1,BYT2,Local0)
4760 1.1 jruoho Store (Local0, RBYT)
4761 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4762 1.1 jruoho { Return(1)}
4763 1.1 jruoho
4764 1.1 jruoho //(BYT1) Bit1 ->0 and (BYT2)Bit2 -> 1 condition
4765 1.1 jruoho Store(0xAA,BYT1)
4766 1.1 jruoho Store(0x55,BYT2)
4767 1.1 jruoho XOr(BYT1,BYT2,Local0)
4768 1.1 jruoho Store (Local0, RBYT)
4769 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4770 1.1 jruoho { Return(1)}
4771 1.1 jruoho
4772 1.1 jruoho Store(0x12,BYT1)
4773 1.1 jruoho Store(0xED,BYT2)
4774 1.1 jruoho
4775 1.1 jruoho XOr(BYT1,BYT2,Local0)
4776 1.1 jruoho Store (Local0, RBYT)
4777 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4778 1.1 jruoho {
4779 1.1 jruoho Return(1)
4780 1.1 jruoho }
4781 1.1 jruoho
4782 1.1 jruoho // Store known values for checking later
4783 1.1 jruoho Store(0x12, BYT1)
4784 1.1 jruoho if(LNotEqual(BYT1, 0x12))
4785 1.1 jruoho {
4786 1.1 jruoho Return(1)
4787 1.1 jruoho }
4788 1.1 jruoho
4789 1.1 jruoho Store(0xFE, BYT2)
4790 1.1 jruoho if(LNotEqual(BYT2, 0xFE))
4791 1.1 jruoho {
4792 1.1 jruoho Return(1)
4793 1.1 jruoho }
4794 1.1 jruoho
4795 1.1 jruoho Store(0xAB, RBYT)
4796 1.1 jruoho if(LNotEqual(RBYT, 0xAB))
4797 1.1 jruoho {
4798 1.1 jruoho Return(1)
4799 1.1 jruoho }
4800 1.1 jruoho
4801 1.1 jruoho //***********************************************
4802 1.1 jruoho // (WRD1) Bit1 ->0 and (WRD2)Bit2 -> 0 condition
4803 1.1 jruoho Store(0x0000,WRD1)
4804 1.1 jruoho Store(0x0000,WRD2)
4805 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4806 1.1 jruoho if(LNotEqual(RWRD,0))
4807 1.1 jruoho { Return(1)}
4808 1.1 jruoho
4809 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 1 condition
4810 1.1 jruoho Store(0xffff,WRD1)
4811 1.1 jruoho Store(0xffff,WRD2)
4812 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4813 1.1 jruoho if(LNotEqual(RWRD,0))
4814 1.1 jruoho { Return(1)}
4815 1.1 jruoho
4816 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 0 condition
4817 1.1 jruoho Store(0x5555,WRD1)
4818 1.1 jruoho Store(0xAAAA,WRD2)
4819 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4820 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4821 1.1 jruoho { Return(1)}
4822 1.1 jruoho
4823 1.1 jruoho //(WRD1) Bit1 ->0 and (WRD2)Bit2 -> 1 condition
4824 1.1 jruoho Store(0xAAAA,WRD1)
4825 1.1 jruoho Store(0x5555,WRD2)
4826 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4827 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4828 1.1 jruoho { Return(1)}
4829 1.1 jruoho
4830 1.1 jruoho Store(0x1234,WRD1)
4831 1.1 jruoho Store(0xEDCB,WRD2)
4832 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4833 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4834 1.1 jruoho { Return(1)}
4835 1.1 jruoho
4836 1.1 jruoho // Store known values for checking later
4837 1.1 jruoho Store(0x1234, WRD1)
4838 1.1 jruoho if(LNotEqual(WRD1, 0x1234))
4839 1.1 jruoho {
4840 1.1 jruoho Return(1)
4841 1.1 jruoho }
4842 1.1 jruoho
4843 1.1 jruoho Store(0xFEDC, WRD2)
4844 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC))
4845 1.1 jruoho {
4846 1.1 jruoho Return(1)
4847 1.1 jruoho }
4848 1.1 jruoho
4849 1.1 jruoho Store(0x87AB, RWRD)
4850 1.1 jruoho if(LNotEqual(RWRD, 0x87AB))
4851 1.1 jruoho {
4852 1.1 jruoho Return(1)
4853 1.1 jruoho }
4854 1.1 jruoho
4855 1.1 jruoho
4856 1.1 jruoho //**************************************************
4857 1.1 jruoho // (DWD1) Bit1 ->0 and (DWD2)Bit2 -> 0 condition
4858 1.1 jruoho Store(0x00000000,DWD1)
4859 1.1 jruoho Store(0x00000000,DWD2)
4860 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4861 1.1 jruoho if(LNotEqual(RDWD,0))
4862 1.1 jruoho { Return(1)}
4863 1.1 jruoho
4864 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 1 condition
4865 1.1 jruoho Store(0xffffffff,DWD1)
4866 1.1 jruoho Store(0xffffffff,DWD2)
4867 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4868 1.1 jruoho if(LNotEqual(RDWD,0))
4869 1.1 jruoho { Return(1)}
4870 1.1 jruoho
4871 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition
4872 1.1 jruoho Store(0x55555555,DWD1)
4873 1.1 jruoho Store(0xAAAAAAAA,DWD2)
4874 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4875 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4876 1.1 jruoho { Return(1)}
4877 1.1 jruoho
4878 1.1 jruoho //(DWD1) Bit1 ->0 and (DWD2)Bit2 -> 1 condition
4879 1.1 jruoho Store(0xAAAAAAAA,DWD1)
4880 1.1 jruoho Store(0x55555555,DWD2)
4881 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4882 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4883 1.1 jruoho { Return(1)}
4884 1.1 jruoho
4885 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition
4886 1.1 jruoho Store(0x12345678,DWD1)
4887 1.1 jruoho Store(0xEDCBA987,DWD2)
4888 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4889 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4890 1.1 jruoho { Return(1)}
4891 1.1 jruoho
4892 1.1 jruoho Store(0x12345678,DWD1)
4893 1.1 jruoho if(LNotEqual(DWD1,0x12345678))
4894 1.1 jruoho {
4895 1.1 jruoho Return(1)
4896 1.1 jruoho }
4897 1.1 jruoho
4898 1.1 jruoho Store(0xFEDCBA98,DWD2)
4899 1.1 jruoho if(LNotEqual(DWD2,0xFEDCBA98))
4900 1.1 jruoho {
4901 1.1 jruoho Return(1)
4902 1.1 jruoho }
4903 1.1 jruoho
4904 1.1 jruoho Store(0x91827364,RDWD)
4905 1.1 jruoho if(LNotEqual(RDWD,0x91827364))
4906 1.1 jruoho {
4907 1.1 jruoho Return(1)
4908 1.1 jruoho }
4909 1.1 jruoho
4910 1.1 jruoho //****************************************************
4911 1.1 jruoho // Check the stored single bits
4912 1.1 jruoho if(LNotEqual(RES1, 1))
4913 1.1 jruoho {
4914 1.1 jruoho Return(1)
4915 1.1 jruoho }
4916 1.1 jruoho
4917 1.1 jruoho if(LNotEqual(RES2, 1))
4918 1.1 jruoho {
4919 1.1 jruoho Return(1)
4920 1.1 jruoho }
4921 1.1 jruoho
4922 1.1 jruoho if(LNotEqual(RES3, 1))
4923 1.1 jruoho {
4924 1.1 jruoho Return(1)
4925 1.1 jruoho }
4926 1.1 jruoho
4927 1.1 jruoho if(LNotEqual(RES4, 1))
4928 1.1 jruoho {
4929 1.1 jruoho Return(1)
4930 1.1 jruoho }
4931 1.1 jruoho
4932 1.1 jruoho // Change all of the single bit fields to zero
4933 1.1 jruoho Store(0, RES1)
4934 1.1 jruoho Store(0, RES2)
4935 1.1 jruoho Store(0, RES3)
4936 1.1 jruoho Store(0, RES4)
4937 1.1 jruoho
4938 1.1 jruoho // Now, check all of the fields
4939 1.1 jruoho
4940 1.1 jruoho // Byte
4941 1.1 jruoho if(LNotEqual(BYT1, 0x12))
4942 1.1 jruoho {
4943 1.1 jruoho Return(1)
4944 1.1 jruoho }
4945 1.1 jruoho
4946 1.1 jruoho if(LNotEqual(BYT2, 0xFE))
4947 1.1 jruoho {
4948 1.1 jruoho Return(1)
4949 1.1 jruoho }
4950 1.1 jruoho
4951 1.1 jruoho if(LNotEqual(RBYT, 0xAB))
4952 1.1 jruoho {
4953 1.1 jruoho Return(1)
4954 1.1 jruoho }
4955 1.1 jruoho
4956 1.1 jruoho // Word
4957 1.1 jruoho if(LNotEqual(WRD1, 0x1234))
4958 1.1 jruoho {
4959 1.1 jruoho Return(1)
4960 1.1 jruoho }
4961 1.1 jruoho
4962 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC))
4963 1.1 jruoho {
4964 1.1 jruoho Return(1)
4965 1.1 jruoho }
4966 1.1 jruoho
4967 1.1 jruoho if(LNotEqual(RWRD, 0x87AB))
4968 1.1 jruoho {
4969 1.1 jruoho Return(1)
4970 1.1 jruoho }
4971 1.1 jruoho
4972 1.1 jruoho // Dword
4973 1.1 jruoho if(LNotEqual(DWD1, 0x12345678))
4974 1.1 jruoho {
4975 1.1 jruoho Return(1)
4976 1.1 jruoho }
4977 1.1 jruoho
4978 1.1 jruoho if(LNotEqual(DWD2, 0xFEDCBA98))
4979 1.1 jruoho {
4980 1.1 jruoho Return(1)
4981 1.1 jruoho }
4982 1.1 jruoho
4983 1.1 jruoho if(LNotEqual(RDWD, 0x91827364))
4984 1.1 jruoho {
4985 1.1 jruoho Return(1)
4986 1.1 jruoho }
4987 1.1 jruoho
4988 1.1 jruoho // Bits
4989 1.1 jruoho if(LNotEqual(RES1, 0))
4990 1.1 jruoho {
4991 1.1 jruoho Return(1)
4992 1.1 jruoho }
4993 1.1 jruoho
4994 1.1 jruoho if(LNotEqual(RES2, 0))
4995 1.1 jruoho {
4996 1.1 jruoho Return(1)
4997 1.1 jruoho }
4998 1.1 jruoho
4999 1.1 jruoho if(LNotEqual(RES3, 0))
5000 1.1 jruoho {
5001 1.1 jruoho Return(1)
5002 1.1 jruoho }
5003 1.1 jruoho
5004 1.1 jruoho if(LNotEqual(RES4, 0))
5005 1.1 jruoho {
5006 1.1 jruoho Return(1)
5007 1.1 jruoho }
5008 1.1 jruoho
5009 1.1 jruoho
5010 1.1 jruoho Return(0)
5011 1.1 jruoho } // TEST
5012 1.1 jruoho } // XORD
5013 1.1 jruoho
5014 1.1 jruoho //
5015 1.1 jruoho // test CrBytFld.asl
5016 1.1 jruoho //
5017 1.1 jruoho // CrBytFld test
5018 1.1 jruoho // Test for CreateByteField.
5019 1.1 jruoho // Tests creating byte field overlay of buffer stored in Local0.
5020 1.1 jruoho // Tests need to be added for Arg0 and Name buffers.
5021 1.1 jruoho //
5022 1.1 jruoho Device (CRBF)
5023 1.1 jruoho { // Test device name
5024 1.1 jruoho Method (TEST)
5025 1.1 jruoho {
5026 1.1 jruoho Store ("++++++++ CrBytFld Test", Debug)
5027 1.1 jruoho
5028 1.1 jruoho // Local0 is unitialized buffer with 4 elements
5029 1.1 jruoho Store (Buffer (4) {}, Local0)
5030 1.1 jruoho
5031 1.1 jruoho // create Byte Field named BF0 based on Local0 element 0
5032 1.1 jruoho CreateByteField (Local0, 0, BF0)
5033 1.1 jruoho
5034 1.1 jruoho // validate CreateByteField did not alter Local0
5035 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5036 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5037 1.1 jruoho { Return (2) }
5038 1.1 jruoho
5039 1.1 jruoho // store something into BF0
5040 1.1 jruoho Store (1, BF0)
5041 1.1 jruoho
5042 1.1 jruoho // validate Store did not alter Local0 object type
5043 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5044 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5045 1.1 jruoho { Return (3) }
5046 1.1 jruoho
5047 1.1 jruoho // verify that the Store into BF0 was successful
5048 1.1 jruoho If (LNotEqual (BF0, 1))
5049 1.1 jruoho { Return (4) }
5050 1.1 jruoho
5051 1.1 jruoho
5052 1.1 jruoho // create Byte Field named BF1 based on Local0 element 1
5053 1.1 jruoho CreateByteField (Local0, 1, BF1)
5054 1.1 jruoho
5055 1.1 jruoho // validate CreateByteField did not alter Local0
5056 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5057 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5058 1.1 jruoho { Return (10) }
5059 1.1 jruoho
5060 1.1 jruoho // store something into BF1
5061 1.1 jruoho Store (5, BF1)
5062 1.1 jruoho
5063 1.1 jruoho // validate Store did not alter Local0 object type
5064 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5065 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5066 1.1 jruoho { Return (11) }
5067 1.1 jruoho
5068 1.1 jruoho // verify that the Store into BF1 was successful
5069 1.1 jruoho If (LNotEqual (BF1, 5))
5070 1.1 jruoho { Return (12) }
5071 1.1 jruoho
5072 1.1 jruoho // verify that the Store into BF1 did not alter BF0
5073 1.1 jruoho If (LNotEqual (BF0, 1))
5074 1.1 jruoho { Return (13) }
5075 1.1 jruoho
5076 1.1 jruoho
5077 1.1 jruoho // store something into BF0
5078 1.1 jruoho Store (0xFFFF, BF0)
5079 1.1 jruoho
5080 1.1 jruoho // verify that the Store into BF0 was successful
5081 1.1 jruoho If (LNotEqual (BF0, 0xFF))
5082 1.1 jruoho { Return (20) }
5083 1.1 jruoho
5084 1.1 jruoho // verify that the Store into BF0 did not alter BF1
5085 1.1 jruoho If (LNotEqual (BF1, 5))
5086 1.1 jruoho { Return (21) }
5087 1.1 jruoho
5088 1.1 jruoho
5089 1.1 jruoho Return (0)
5090 1.1 jruoho } // TEST
5091 1.1 jruoho } // CRBF
5092 1.1 jruoho
5093 1.1 jruoho //
5094 1.1 jruoho // test IndexOp4.asl
5095 1.1 jruoho //
5096 1.1 jruoho // IndexOp4 test
5097 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
5098 1.1 jruoho // Tests access of index fields smaller than 8 bits.
5099 1.1 jruoho //
5100 1.1 jruoho Device (IDX4)
5101 1.1 jruoho { // Test device name
5102 1.1 jruoho
5103 1.1 jruoho // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5104 1.1 jruoho // Tests OperationRegion memory access using misaligned BYTE,
5105 1.1 jruoho // WORD, and DWORD field element accesses. Validation is performed
5106 1.1 jruoho // using both misaligned field entries and aligned field entries.
5107 1.1 jruoho //
5108 1.1 jruoho // MADM returns 0 if all test cases pass or non-zero identifying
5109 1.1 jruoho // the failing test case for debug purposes. This non-zero numbers
5110 1.1 jruoho // are not guaranteed to be in perfect sequence (i.e., test case
5111 1.1 jruoho // index), but are guaranteed to be unique so the failing test
5112 1.1 jruoho // case can be uniquely identified.
5113 1.1 jruoho //
5114 1.1.1.3 christos Method (MADM, 1, Serialized) // Misaligned Dynamic RAM SystemMemory OperationRegion
5115 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address
5116 1.1 jruoho { // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5117 1.1 jruoho OperationRegion (RAM, SystemMemory, Arg0, 0x100)
5118 1.1 jruoho Field (RAM, DwordAcc, NoLock, Preserve)
5119 1.1 jruoho { // aligned field definition (for verification)
5120 1.1 jruoho DWD0, 32, // aligned DWORD field
5121 1.1 jruoho DWD1, 32 // aligned DWORD field
5122 1.1 jruoho }
5123 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
5124 1.1 jruoho { // bit access field definition
5125 1.1 jruoho BIT0, 1, // single bit field entry
5126 1.1 jruoho BIT1, 1, // single bit field entry
5127 1.1 jruoho BIT2, 1, // single bit field entry
5128 1.1 jruoho BIT3, 1, // single bit field entry
5129 1.1 jruoho BIT4, 1, // single bit field entry
5130 1.1 jruoho BIT5, 1, // single bit field entry
5131 1.1 jruoho BIT6, 1, // single bit field entry
5132 1.1 jruoho BIT7, 1, // single bit field entry
5133 1.1 jruoho BIT8, 1, // single bit field entry
5134 1.1 jruoho BIT9, 1, // single bit field entry
5135 1.1 jruoho BITA, 1, // single bit field entry
5136 1.1 jruoho BITB, 1, // single bit field entry
5137 1.1 jruoho BITC, 1, // single bit field entry
5138 1.1 jruoho BITD, 1, // single bit field entry
5139 1.1 jruoho BITE, 1, // single bit field entry
5140 1.1 jruoho BITF, 1, // single bit field entry
5141 1.1 jruoho BI10, 1, // single bit field entry
5142 1.1 jruoho BI11, 1, // single bit field entry
5143 1.1 jruoho BI12, 1, // single bit field entry
5144 1.1 jruoho BI13, 1, // single bit field entry
5145 1.1 jruoho BI14, 1, // single bit field entry
5146 1.1 jruoho BI15, 1, // single bit field entry
5147 1.1 jruoho BI16, 1, // single bit field entry
5148 1.1 jruoho BI17, 1, // single bit field entry
5149 1.1 jruoho BI18, 1, // single bit field entry
5150 1.1 jruoho BI19, 1, // single bit field entry
5151 1.1 jruoho BI1A, 1, // single bit field entry
5152 1.1 jruoho BI1B, 1, // single bit field entry
5153 1.1 jruoho BI1C, 1, // single bit field entry
5154 1.1 jruoho BI1D, 1, // single bit field entry
5155 1.1 jruoho BI1E, 1, // single bit field entry
5156 1.1 jruoho BI1F, 1 // single bit field entry
5157 1.1 jruoho } // bit access field definition
5158 1.1 jruoho
5159 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
5160 1.1 jruoho { // two-bit access field definition
5161 1.1 jruoho B2_0, 2, // single bit field entry
5162 1.1 jruoho B2_1, 2, // single bit field entry
5163 1.1 jruoho B2_2, 2, // single bit field entry
5164 1.1 jruoho B2_3, 2, // single bit field entry
5165 1.1 jruoho B2_4, 2, // single bit field entry
5166 1.1 jruoho B2_5, 2, // single bit field entry
5167 1.1 jruoho B2_6, 2, // single bit field entry
5168 1.1 jruoho B2_7, 2, // single bit field entry
5169 1.1 jruoho B2_8, 2, // single bit field entry
5170 1.1 jruoho B2_9, 2, // single bit field entry
5171 1.1 jruoho B2_A, 2, // single bit field entry
5172 1.1 jruoho B2_B, 2, // single bit field entry
5173 1.1 jruoho B2_C, 2, // single bit field entry
5174 1.1 jruoho B2_D, 2, // single bit field entry
5175 1.1 jruoho B2_E, 2, // single bit field entry
5176 1.1 jruoho B2_F, 2 // single bit field entry
5177 1.1 jruoho } // bit access field definition
5178 1.1 jruoho
5179 1.1 jruoho // initialize memory contents using aligned field entries
5180 1.1 jruoho Store (0x5AA55AA5, DWD0)
5181 1.1 jruoho Store (0x5AA55AA5, DWD1)
5182 1.1 jruoho
5183 1.1 jruoho // set memory contents to known values using misaligned field entries
5184 1.1 jruoho Store (0, BIT0)
5185 1.1 jruoho // verify memory contents using misaligned field entries
5186 1.1 jruoho If (LNotEqual (BIT0, 0))
5187 1.1 jruoho { Return (1) }
5188 1.1 jruoho // verify memory contents using aligned field entries
5189 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA4))
5190 1.1 jruoho { Return (2) }
5191 1.1 jruoho
5192 1.1 jruoho // set memory contents to known values using misaligned field entries
5193 1.1 jruoho Store (1, BIT1)
5194 1.1 jruoho // verify memory contents using misaligned field entries
5195 1.1 jruoho If (LNotEqual (BIT1, 1))
5196 1.1 jruoho { Return (3) }
5197 1.1 jruoho // verify memory contents using aligned field entries
5198 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA6))
5199 1.1 jruoho { Return (4) }
5200 1.1 jruoho
5201 1.1 jruoho // set memory contents to known values using misaligned field entries
5202 1.1 jruoho Store (0, BIT2)
5203 1.1 jruoho // verify memory contents using misaligned field entries
5204 1.1 jruoho If (LNotEqual (BIT2, 0))
5205 1.1 jruoho { Return (5) }
5206 1.1 jruoho // verify memory contents using aligned field entries
5207 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA2))
5208 1.1 jruoho { Return (6) }
5209 1.1 jruoho
5210 1.1 jruoho // set memory contents to known values using misaligned field entries
5211 1.1 jruoho Store (1, BIT3)
5212 1.1 jruoho // verify memory contents using misaligned field entries
5213 1.1 jruoho If (LNotEqual (BIT3, 1))
5214 1.1 jruoho { Return (7) }
5215 1.1 jruoho // verify memory contents using aligned field entries
5216 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AAA))
5217 1.1 jruoho { Return (8) }
5218 1.1 jruoho
5219 1.1 jruoho // set memory contents to known values using misaligned field entries
5220 1.1 jruoho Store (1, BIT4)
5221 1.1 jruoho // verify memory contents using misaligned field entries
5222 1.1 jruoho If (LNotEqual (BIT4, 1))
5223 1.1 jruoho { Return (9) }
5224 1.1 jruoho // verify memory contents using aligned field entries
5225 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ABA))
5226 1.1 jruoho { Return (10) }
5227 1.1 jruoho
5228 1.1 jruoho // set memory contents to known values using misaligned field entries
5229 1.1 jruoho Store (0, BIT5)
5230 1.1 jruoho // verify memory contents using misaligned field entries
5231 1.1 jruoho If (LNotEqual (BIT5, 0))
5232 1.1 jruoho { Return (11) }
5233 1.1 jruoho // verify memory contents using aligned field entries
5234 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A9A))
5235 1.1 jruoho { Return (12) }
5236 1.1 jruoho
5237 1.1 jruoho // set memory contents to known values using misaligned field entries
5238 1.1 jruoho Store (1, BIT6)
5239 1.1 jruoho // verify memory contents using misaligned field entries
5240 1.1 jruoho If (LNotEqual (BIT6, 1))
5241 1.1 jruoho { Return (13) }
5242 1.1 jruoho // verify memory contents using aligned field entries
5243 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ADA))
5244 1.1 jruoho { Return (14) }
5245 1.1 jruoho
5246 1.1 jruoho // set memory contents to known values using misaligned field entries
5247 1.1 jruoho Store (0, BIT7)
5248 1.1 jruoho // verify memory contents using misaligned field entries
5249 1.1 jruoho If (LNotEqual (BIT7, 0))
5250 1.1 jruoho { Return (15) }
5251 1.1 jruoho // verify memory contents using aligned field entries
5252 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A5A))
5253 1.1 jruoho { Return (16) }
5254 1.1 jruoho
5255 1.1 jruoho // set memory contents to known values using misaligned field entries
5256 1.1 jruoho Store (1, BIT8)
5257 1.1 jruoho // verify memory contents using misaligned field entries
5258 1.1 jruoho If (LNotEqual (BIT8, 1))
5259 1.1 jruoho { Return (17) }
5260 1.1 jruoho // verify memory contents using aligned field entries
5261 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55B5A))
5262 1.1 jruoho { Return (18) }
5263 1.1 jruoho
5264 1.1 jruoho // set memory contents to known values using misaligned field entries
5265 1.1 jruoho Store (0, BIT9)
5266 1.1 jruoho // verify memory contents using misaligned field entries
5267 1.1 jruoho If (LNotEqual (BIT9, 0))
5268 1.1 jruoho { Return (19) }
5269 1.1 jruoho // verify memory contents using aligned field entries
5270 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5595A))
5271 1.1 jruoho { Return (20) }
5272 1.1 jruoho
5273 1.1 jruoho // set memory contents to known values using misaligned field entries
5274 1.1 jruoho Store (1, BITA)
5275 1.1 jruoho // verify memory contents using misaligned field entries
5276 1.1 jruoho If (LNotEqual (BITA, 1))
5277 1.1 jruoho { Return (21) }
5278 1.1 jruoho // verify memory contents using aligned field entries
5279 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55D5A))
5280 1.1 jruoho { Return (22) }
5281 1.1 jruoho
5282 1.1 jruoho // set memory contents to known values using misaligned field entries
5283 1.1 jruoho Store (0, BITB)
5284 1.1 jruoho // verify memory contents using misaligned field entries
5285 1.1 jruoho If (LNotEqual (BITB, 0))
5286 1.1 jruoho { Return (23) }
5287 1.1 jruoho // verify memory contents using aligned field entries
5288 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5555A))
5289 1.1 jruoho { Return (24) }
5290 1.1 jruoho
5291 1.1 jruoho // set memory contents to known values using misaligned field entries
5292 1.1 jruoho Store (0, BITC)
5293 1.1 jruoho // verify memory contents using misaligned field entries
5294 1.1 jruoho If (LNotEqual (BITC, 0))
5295 1.1 jruoho { Return (25) }
5296 1.1 jruoho // verify memory contents using aligned field entries
5297 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5455A))
5298 1.1 jruoho { Return (26) }
5299 1.1 jruoho
5300 1.1 jruoho // set memory contents to known values using misaligned field entries
5301 1.1 jruoho Store (1, BITD)
5302 1.1 jruoho // verify memory contents using misaligned field entries
5303 1.1 jruoho If (LNotEqual (BITD, 1))
5304 1.1 jruoho { Return (27) }
5305 1.1 jruoho // verify memory contents using aligned field entries
5306 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5655A))
5307 1.1 jruoho { Return (28) }
5308 1.1 jruoho
5309 1.1 jruoho // set memory contents to known values using misaligned field entries
5310 1.1 jruoho Store (0, BITE)
5311 1.1 jruoho // verify memory contents using misaligned field entries
5312 1.1 jruoho If (LNotEqual (BITE, 0))
5313 1.1 jruoho { Return (29) }
5314 1.1 jruoho // verify memory contents using aligned field entries
5315 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5255A))
5316 1.1 jruoho { Return (30) }
5317 1.1 jruoho
5318 1.1 jruoho // set memory contents to known values using misaligned field entries
5319 1.1 jruoho Store (1, BITF)
5320 1.1 jruoho // verify memory contents using misaligned field entries
5321 1.1 jruoho If (LNotEqual (BITF, 1))
5322 1.1 jruoho { Return (31) }
5323 1.1 jruoho // verify memory contents using aligned field entries
5324 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5A55A))
5325 1.1 jruoho { Return (32) }
5326 1.1 jruoho
5327 1.1 jruoho // set memory contents to known values using misaligned field entries
5328 1.1 jruoho Store (0, BI10)
5329 1.1 jruoho // verify memory contents using misaligned field entries
5330 1.1 jruoho If (LNotEqual (BI10, 0))
5331 1.1 jruoho { Return (33) }
5332 1.1 jruoho // verify memory contents using aligned field entries
5333 1.1 jruoho If (LNotEqual (DWD0, 0x5AA4A55A))
5334 1.1 jruoho { Return (34) }
5335 1.1 jruoho
5336 1.1 jruoho // set memory contents to known values using misaligned field entries
5337 1.1 jruoho Store (1, BI11)
5338 1.1 jruoho // verify memory contents using misaligned field entries
5339 1.1 jruoho If (LNotEqual (BI11, 1))
5340 1.1 jruoho { Return (35) }
5341 1.1 jruoho // verify memory contents using aligned field entries
5342 1.1 jruoho If (LNotEqual (DWD0, 0x5AA6A55A))
5343 1.1 jruoho { Return (36) }
5344 1.1 jruoho
5345 1.1 jruoho // set memory contents to known values using misaligned field entries
5346 1.1 jruoho Store (0, BI12)
5347 1.1 jruoho // verify memory contents using misaligned field entries
5348 1.1 jruoho If (LNotEqual (BI12, 0))
5349 1.1 jruoho { Return (37) }
5350 1.1 jruoho // verify memory contents using aligned field entries
5351 1.1 jruoho If (LNotEqual (DWD0, 0x5AA2A55A))
5352 1.1 jruoho { Return (38) }
5353 1.1 jruoho
5354 1.1 jruoho // set memory contents to known values using misaligned field entries
5355 1.1 jruoho Store (1, BI13)
5356 1.1 jruoho // verify memory contents using misaligned field entries
5357 1.1 jruoho If (LNotEqual (BI13, 1))
5358 1.1 jruoho { Return (39) }
5359 1.1 jruoho // verify memory contents using aligned field entries
5360 1.1 jruoho If (LNotEqual (DWD0, 0x5AAAA55A))
5361 1.1 jruoho { Return (40) }
5362 1.1 jruoho
5363 1.1 jruoho // set memory contents to known values using misaligned field entries
5364 1.1 jruoho Store (1, BI14)
5365 1.1 jruoho // verify memory contents using misaligned field entries
5366 1.1 jruoho If (LNotEqual (BI14, 1))
5367 1.1 jruoho { Return (41) }
5368 1.1 jruoho // verify memory contents using aligned field entries
5369 1.1 jruoho If (LNotEqual (DWD0, 0x5ABAA55A))
5370 1.1 jruoho { Return (42) }
5371 1.1 jruoho
5372 1.1 jruoho // set memory contents to known values using misaligned field entries
5373 1.1 jruoho Store (0, BI15)
5374 1.1 jruoho // verify memory contents using misaligned field entries
5375 1.1 jruoho If (LNotEqual (BI15, 0))
5376 1.1 jruoho { Return (43) }
5377 1.1 jruoho // verify memory contents using aligned field entries
5378 1.1 jruoho If (LNotEqual (DWD0, 0x5A9AA55A))
5379 1.1 jruoho { Return (44) }
5380 1.1 jruoho
5381 1.1 jruoho // set memory contents to known values using misaligned field entries
5382 1.1 jruoho Store (1, BI16)
5383 1.1 jruoho // verify memory contents using misaligned field entries
5384 1.1 jruoho If (LNotEqual (BI16, 1))
5385 1.1 jruoho { Return (45) }
5386 1.1 jruoho // verify memory contents using aligned field entries
5387 1.1 jruoho If (LNotEqual (DWD0, 0x5ADAA55A))
5388 1.1 jruoho { Return (46) }
5389 1.1 jruoho
5390 1.1 jruoho // set memory contents to known values using misaligned field entries
5391 1.1 jruoho Store (0, BI17)
5392 1.1 jruoho // verify memory contents using misaligned field entries
5393 1.1 jruoho If (LNotEqual (BI17, 0))
5394 1.1 jruoho { Return (47) }
5395 1.1 jruoho // verify memory contents using aligned field entries
5396 1.1 jruoho If (LNotEqual (DWD0, 0x5A5AA55A))
5397 1.1 jruoho { Return (48) }
5398 1.1 jruoho
5399 1.1 jruoho // set memory contents to known values using misaligned field entries
5400 1.1 jruoho Store (1, BI18)
5401 1.1 jruoho // verify memory contents using misaligned field entries
5402 1.1 jruoho If (LNotEqual (BI18, 1))
5403 1.1 jruoho { Return (49) }
5404 1.1 jruoho // verify memory contents using aligned field entries
5405 1.1 jruoho If (LNotEqual (DWD0, 0x5B5AA55A))
5406 1.1 jruoho { Return (50) }
5407 1.1 jruoho
5408 1.1 jruoho // set memory contents to known values using misaligned field entries
5409 1.1 jruoho Store (0, BI19)
5410 1.1 jruoho // verify memory contents using misaligned field entries
5411 1.1 jruoho If (LNotEqual (BI19, 0))
5412 1.1 jruoho { Return (51) }
5413 1.1 jruoho // verify memory contents using aligned field entries
5414 1.1 jruoho If (LNotEqual (DWD0, 0x595AA55A))
5415 1.1 jruoho { Return (52) }
5416 1.1 jruoho
5417 1.1 jruoho // set memory contents to known values using misaligned field entries
5418 1.1 jruoho Store (1, BI1A)
5419 1.1 jruoho // verify memory contents using misaligned field entries
5420 1.1 jruoho If (LNotEqual (BI1A, 1))
5421 1.1 jruoho { Return (53) }
5422 1.1 jruoho // verify memory contents using aligned field entries
5423 1.1 jruoho If (LNotEqual (DWD0, 0x5D5AA55A))
5424 1.1 jruoho { Return (54) }
5425 1.1 jruoho
5426 1.1 jruoho // set memory contents to known values using misaligned field entries
5427 1.1 jruoho Store (0, BI1B)
5428 1.1 jruoho // verify memory contents using misaligned field entries
5429 1.1 jruoho If (LNotEqual (BI1B, 0))
5430 1.1 jruoho { Return (55) }
5431 1.1 jruoho // verify memory contents using aligned field entries
5432 1.1 jruoho If (LNotEqual (DWD0, 0x555AA55A))
5433 1.1 jruoho { Return (56) }
5434 1.1 jruoho
5435 1.1 jruoho // set memory contents to known values using misaligned field entries
5436 1.1 jruoho Store (0, BI1C)
5437 1.1 jruoho // verify memory contents using misaligned field entries
5438 1.1 jruoho If (LNotEqual (BI1C, 0))
5439 1.1 jruoho { Return (57) }
5440 1.1 jruoho // verify memory contents using aligned field entries
5441 1.1 jruoho If (LNotEqual (DWD0, 0x455AA55A))
5442 1.1 jruoho { Return (58) }
5443 1.1 jruoho
5444 1.1 jruoho // set memory contents to known values using misaligned field entries
5445 1.1 jruoho Store (1, BI1D)
5446 1.1 jruoho // verify memory contents using misaligned field entries
5447 1.1 jruoho If (LNotEqual (BI1D, 1))
5448 1.1 jruoho { Return (59) }
5449 1.1 jruoho // verify memory contents using aligned field entries
5450 1.1 jruoho If (LNotEqual (DWD0, 0x655AA55A))
5451 1.1 jruoho { Return (60) }
5452 1.1 jruoho
5453 1.1 jruoho // set memory contents to known values using misaligned field entries
5454 1.1 jruoho Store (0, BI1E)
5455 1.1 jruoho // verify memory contents using misaligned field entries
5456 1.1 jruoho If (LNotEqual (BI1E, 0))
5457 1.1 jruoho { Return (61) }
5458 1.1 jruoho // verify memory contents using aligned field entries
5459 1.1 jruoho If (LNotEqual (DWD0, 0x255AA55A))
5460 1.1 jruoho { Return (62) }
5461 1.1 jruoho
5462 1.1 jruoho // set memory contents to known values using misaligned field entries
5463 1.1 jruoho Store (1, BI1F)
5464 1.1 jruoho // verify memory contents using misaligned field entries
5465 1.1 jruoho If (LNotEqual (BI1F, 1))
5466 1.1 jruoho { Return (63) }
5467 1.1 jruoho // verify memory contents using aligned field entries
5468 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55A))
5469 1.1 jruoho { Return (64) }
5470 1.1 jruoho
5471 1.1 jruoho
5472 1.1 jruoho // set memory contents to known values using misaligned field entries
5473 1.1 jruoho Store (3, B2_0)
5474 1.1 jruoho // verify memory contents using misaligned field entries
5475 1.1 jruoho If (LNotEqual (B2_0, 3))
5476 1.1 jruoho { Return (65) }
5477 1.1 jruoho // verify memory contents using aligned field entries
5478 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55B))
5479 1.1 jruoho { Return (66) }
5480 1.1 jruoho
5481 1.1 jruoho // set memory contents to known values using misaligned field entries
5482 1.1 jruoho Store (1, B2_1)
5483 1.1 jruoho // verify memory contents using misaligned field entries
5484 1.1 jruoho If (LNotEqual (B2_1, 1))
5485 1.1 jruoho { Return (67) }
5486 1.1 jruoho // verify memory contents using aligned field entries
5487 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA557))
5488 1.1 jruoho { Return (68) }
5489 1.1 jruoho
5490 1.1 jruoho // set memory contents to known values using misaligned field entries
5491 1.1 jruoho Store (0, B2_2)
5492 1.1 jruoho // verify memory contents using misaligned field entries
5493 1.1 jruoho If (LNotEqual (B2_2, 0))
5494 1.1 jruoho { Return (69) }
5495 1.1 jruoho // verify memory contents using aligned field entries
5496 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA547))
5497 1.1 jruoho { Return (70) }
5498 1.1 jruoho
5499 1.1 jruoho // set memory contents to known values using misaligned field entries
5500 1.1 jruoho Store (3, B2_3)
5501 1.1 jruoho // verify memory contents using misaligned field entries
5502 1.1 jruoho If (LNotEqual (B2_3, 3))
5503 1.1 jruoho { Return (71) }
5504 1.1 jruoho // verify memory contents using aligned field entries
5505 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA5C7))
5506 1.1 jruoho { Return (72) }
5507 1.1 jruoho
5508 1.1 jruoho // set memory contents to known values using misaligned field entries
5509 1.1 jruoho Store (3, B2_4)
5510 1.1 jruoho // verify memory contents using misaligned field entries
5511 1.1 jruoho If (LNotEqual (B2_4, 3))
5512 1.1 jruoho { Return (73) }
5513 1.1 jruoho // verify memory contents using aligned field entries
5514 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA7C7))
5515 1.1 jruoho { Return (74) }
5516 1.1 jruoho
5517 1.1 jruoho // set memory contents to known values using misaligned field entries
5518 1.1 jruoho Store (0, B2_5)
5519 1.1 jruoho // verify memory contents using misaligned field entries
5520 1.1 jruoho If (LNotEqual (B2_5, 0))
5521 1.1 jruoho { Return (75) }
5522 1.1 jruoho // verify memory contents using aligned field entries
5523 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA3C7))
5524 1.1 jruoho { Return (76) }
5525 1.1 jruoho
5526 1.1 jruoho // set memory contents to known values using misaligned field entries
5527 1.1 jruoho Store (1, B2_6)
5528 1.1 jruoho // verify memory contents using misaligned field entries
5529 1.1 jruoho If (LNotEqual (B2_6, 1))
5530 1.1 jruoho { Return (77) }
5531 1.1 jruoho // verify memory contents using aligned field entries
5532 1.1 jruoho If (LNotEqual (DWD0, 0xA55A93C7))
5533 1.1 jruoho { Return (78) }
5534 1.1 jruoho
5535 1.1 jruoho // set memory contents to known values using misaligned field entries
5536 1.1 jruoho Store (1, B2_7)
5537 1.1 jruoho // verify memory contents using misaligned field entries
5538 1.1 jruoho If (LNotEqual (B2_7, 1))
5539 1.1 jruoho { Return (79) }
5540 1.1 jruoho // verify memory contents using aligned field entries
5541 1.1 jruoho If (LNotEqual (DWD0, 0xA55A53C7))
5542 1.1 jruoho { Return (80) }
5543 1.1 jruoho
5544 1.1 jruoho // set memory contents to known values using misaligned field entries
5545 1.1 jruoho Store (0, B2_8)
5546 1.1 jruoho // verify memory contents using misaligned field entries
5547 1.1 jruoho If (LNotEqual (B2_8, 0))
5548 1.1 jruoho { Return (81) }
5549 1.1 jruoho // verify memory contents using aligned field entries
5550 1.1 jruoho If (LNotEqual (DWD0, 0xA55853C7))
5551 1.1 jruoho { Return (82) }
5552 1.1 jruoho
5553 1.1 jruoho // set memory contents to known values using misaligned field entries
5554 1.1 jruoho Store (1, B2_9)
5555 1.1 jruoho // verify memory contents using misaligned field entries
5556 1.1 jruoho If (LNotEqual (B2_9, 1))
5557 1.1 jruoho { Return (83) }
5558 1.1 jruoho // verify memory contents using aligned field entries
5559 1.1 jruoho If (LNotEqual (DWD0, 0xA55453C7))
5560 1.1 jruoho { Return (84) }
5561 1.1 jruoho
5562 1.1 jruoho // set memory contents to known values using misaligned field entries
5563 1.1 jruoho Store (2, B2_A)
5564 1.1 jruoho // verify memory contents using misaligned field entries
5565 1.1 jruoho If (LNotEqual (B2_A, 2))
5566 1.1 jruoho { Return (85) }
5567 1.1 jruoho // verify memory contents using aligned field entries
5568 1.1 jruoho If (LNotEqual (DWD0, 0xA56453C7))
5569 1.1 jruoho { Return (86) }
5570 1.1 jruoho
5571 1.1 jruoho // set memory contents to known values using misaligned field entries
5572 1.1 jruoho Store (2, B2_B)
5573 1.1 jruoho // verify memory contents using misaligned field entries
5574 1.1 jruoho If (LNotEqual (B2_B, 2))
5575 1.1 jruoho { Return (87) }
5576 1.1 jruoho // verify memory contents using aligned field entries
5577 1.1 jruoho If (LNotEqual (DWD0, 0xA5A453C7))
5578 1.1 jruoho { Return (88) }
5579 1.1 jruoho
5580 1.1 jruoho // set memory contents to known values using misaligned field entries
5581 1.1 jruoho Store (3, B2_C)
5582 1.1 jruoho // verify memory contents using misaligned field entries
5583 1.1 jruoho If (LNotEqual (B2_C, 3))
5584 1.1 jruoho { Return (89) }
5585 1.1 jruoho // verify memory contents using aligned field entries
5586 1.1 jruoho If (LNotEqual (DWD0, 0xA7A453C7))
5587 1.1 jruoho { Return (90) }
5588 1.1 jruoho
5589 1.1 jruoho // set memory contents to known values using misaligned field entries
5590 1.1 jruoho Store (3, B2_D)
5591 1.1 jruoho // verify memory contents using misaligned field entries
5592 1.1 jruoho If (LNotEqual (B2_D, 3))
5593 1.1 jruoho { Return (91) }
5594 1.1 jruoho // verify memory contents using aligned field entries
5595 1.1 jruoho If (LNotEqual (DWD0, 0xAFA453C7))
5596 1.1 jruoho { Return (92) }
5597 1.1 jruoho
5598 1.1 jruoho // set memory contents to known values using misaligned field entries
5599 1.1 jruoho Store (1, B2_E)
5600 1.1 jruoho // verify memory contents using misaligned field entries
5601 1.1 jruoho If (LNotEqual (B2_E, 1))
5602 1.1 jruoho { Return (93) }
5603 1.1 jruoho // verify memory contents using aligned field entries
5604 1.1 jruoho If (LNotEqual (DWD0, 0x9FA453C7))
5605 1.1 jruoho { Return (94) }
5606 1.1 jruoho
5607 1.1 jruoho // set memory contents to known values using misaligned field entries
5608 1.1 jruoho Store (0, B2_F)
5609 1.1 jruoho // verify memory contents using misaligned field entries
5610 1.1 jruoho If (LNotEqual (B2_F, 0))
5611 1.1 jruoho { Return (95) }
5612 1.1 jruoho // verify memory contents using aligned field entries
5613 1.1 jruoho If (LNotEqual (DWD0, 0x1FA453C7))
5614 1.1 jruoho { Return (96) }
5615 1.1 jruoho
5616 1.1 jruoho
5617 1.1 jruoho Return (0) // pass
5618 1.1 jruoho } // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5619 1.1 jruoho
5620 1.1 jruoho Method (TEST)
5621 1.1 jruoho {
5622 1.1 jruoho Store ("++++++++ IndexOp4 Test", Debug)
5623 1.1 jruoho
5624 1.1 jruoho // MADM (Misaligned Dynamic RAM SystemMemory OperationRegion) arguments:
5625 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address
5626 1.1 jruoho Store (MADM (0x800000), Local0)
5627 1.1 jruoho If (LNotEqual (Local0, 0)) // MADM returns zero if successful
5628 1.1 jruoho { Return (Local0) } // failure: return MADM error code
5629 1.1 jruoho
5630 1.1 jruoho Return (Local0)
5631 1.1 jruoho } // TEST
5632 1.1 jruoho } // IDX4
5633 1.1 jruoho
5634 1.1 jruoho //
5635 1.1 jruoho // test Event.asl
5636 1.1 jruoho //
5637 1.1 jruoho // EventOp, ResetOp, SignalOp, and WaitOp test cases.
5638 1.1 jruoho //
5639 1.1 jruoho Device (EVNT)
5640 1.1 jruoho {
5641 1.1 jruoho Event (EVNT) // event synchronization object
5642 1.1 jruoho
5643 1.1 jruoho Method (TEVN, 1)
5644 1.1 jruoho // Arg0: time to Wait for event in milliseconds
5645 1.1 jruoho { // TEVN control method to test ResetOp, SignalOp, and WaitOp
5646 1.1 jruoho // reset EVNT to initialization (zero) state
5647 1.1 jruoho Reset (EVNT)
5648 1.1 jruoho
5649 1.1 jruoho // prime EVNT with two outstanding signals
5650 1.1 jruoho Signal (EVNT)
5651 1.1 jruoho Signal (EVNT)
5652 1.1 jruoho
5653 1.1 jruoho
5654 1.1 jruoho // acquire existing signal
5655 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5656 1.1 jruoho
5657 1.1 jruoho // validate Local0 is a Number
5658 1.1 jruoho Store (ObjectType (Local0), Local1)
5659 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5660 1.1 jruoho { Return (0x21) } // Local1 indicates Local0 is not a Number
5661 1.1 jruoho
5662 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5663 1.1 jruoho { Return (0x22) } // timeout occurred without acquiring signal
5664 1.1 jruoho
5665 1.1 jruoho Store ("Acquire 1st existing signal PASS", Debug)
5666 1.1 jruoho
5667 1.1 jruoho
5668 1.1 jruoho // acquire existing signal
5669 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5670 1.1 jruoho
5671 1.1 jruoho // validate Local0 is a Number
5672 1.1 jruoho Store (ObjectType (Local0), Local1)
5673 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5674 1.1 jruoho { Return (0x31) } // Local1 indicates Local0 is not a Number
5675 1.1 jruoho
5676 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5677 1.1 jruoho { Return (0x32) } // timeout occurred without acquiring signal
5678 1.1 jruoho
5679 1.1 jruoho Store ("Acquire 2nd existing signal PASS", Debug)
5680 1.1 jruoho
5681 1.1 jruoho
5682 1.1 jruoho // ensure WaitOp timeout test cases do not hang
5683 1.1 jruoho if (LEqual (Arg0, 0xFFFF))
5684 1.1 jruoho { Store (0xFFFE, Arg0) }
5685 1.1 jruoho
5686 1.1 jruoho // acquire non-existing signal
5687 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5688 1.1 jruoho
5689 1.1 jruoho // validate Local0 is a Number
5690 1.1 jruoho Store (ObjectType (Local0), Local1)
5691 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5692 1.1 jruoho { Return (0x41) } // Local1 indicates Local0 is not a Number
5693 1.1 jruoho
5694 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5695 1.1 jruoho { Return (0x42) } // non-existant signal was acquired
5696 1.1 jruoho
5697 1.1 jruoho Store ("Acquire signal timeout PASS", Debug)
5698 1.1 jruoho
5699 1.1 jruoho
5700 1.1 jruoho // prime EVNT with two outstanding signals
5701 1.1 jruoho Signal (EVNT)
5702 1.1 jruoho Signal (EVNT)
5703 1.1 jruoho
5704 1.1 jruoho // reset EVNT to initialization (zero) state
5705 1.1 jruoho Reset (EVNT)
5706 1.1 jruoho
5707 1.1 jruoho // acquire non-existing signal
5708 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5709 1.1 jruoho
5710 1.1 jruoho // validate Local0 is a Number
5711 1.1 jruoho Store (ObjectType (Local0), Local1)
5712 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5713 1.1 jruoho { Return (0x51) } // Local1 indicates Local0 is not a Number
5714 1.1 jruoho
5715 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5716 1.1 jruoho { Return (0x52) } // non-existant signal was acquired
5717 1.1 jruoho
5718 1.1 jruoho Store ("Reset signal PASS", Debug)
5719 1.1 jruoho
5720 1.1 jruoho
5721 1.1 jruoho // acquire non-existing signal using Lvalue timeout
5722 1.1 jruoho Store (Wait (EVNT, Zero), Local0)
5723 1.1 jruoho
5724 1.1 jruoho // validate Local0 is a Number
5725 1.1 jruoho Store (ObjectType (Local0), Local1)
5726 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5727 1.1 jruoho { Return (0x61) } // Local1 indicates Local0 is not a Number
5728 1.1 jruoho
5729 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5730 1.1 jruoho { Return (0x62) } // non-existant signal was acquired
5731 1.1 jruoho
5732 1.1 jruoho Store ("Zero Lvalue PASS", Debug)
5733 1.1 jruoho
5734 1.1 jruoho
5735 1.1 jruoho // acquire non-existing signal using Lvalue timeout
5736 1.1 jruoho Store (Wait (EVNT, One), Local0)
5737 1.1 jruoho
5738 1.1 jruoho // validate Local0 is a Number
5739 1.1 jruoho Store (ObjectType (Local0), Local1)
5740 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5741 1.1 jruoho { Return (0x71) } // Local1 indicates Local0 is not a Number
5742 1.1 jruoho
5743 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5744 1.1 jruoho { Return (0x72) } // non-existant signal was acquired
5745 1.1 jruoho
5746 1.1 jruoho Store ("One Lvalue PASS", Debug)
5747 1.1 jruoho
5748 1.1 jruoho // Lvalue Event test cases
5749 1.1 jruoho // ILLEGAL SOURCE OPERAND Store (EVNT, Local2)
5750 1.1 jruoho
5751 1.1 jruoho // validate Local2 is an Event
5752 1.1 jruoho Store (ObjectType (EVNT), Local1)
5753 1.1 jruoho If (LNotEqual (Local1, 7)) // Event is type 7
5754 1.1 jruoho { Return (0x81) } // Local1 indicates Local0 is not a Number
5755 1.1 jruoho
5756 1.1 jruoho // reset EVNT to initialization (zero) state
5757 1.1 jruoho Reset (EVNT)
5758 1.1 jruoho
5759 1.1 jruoho // prime EVNT with two outstanding signals
5760 1.1 jruoho Signal (EVNT)
5761 1.1 jruoho
5762 1.1 jruoho // acquire existing signal
5763 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5764 1.1 jruoho
5765 1.1 jruoho // validate Local0 is a Number
5766 1.1 jruoho Store (ObjectType (Local0), Local1)
5767 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5768 1.1 jruoho { Return (0x82) } // Local1 indicates Local0 is not a Number
5769 1.1 jruoho
5770 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5771 1.1 jruoho { Return (0x83) } // timeout occurred without acquiring signal
5772 1.1 jruoho
5773 1.1 jruoho Store ("Acquire Lvalue existing signal PASS", Debug)
5774 1.1 jruoho
5775 1.1 jruoho
5776 1.1 jruoho // acquire non-existing signal
5777 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5778 1.1 jruoho
5779 1.1 jruoho // validate Local0 is a Number
5780 1.1 jruoho Store (ObjectType (Local0), Local1)
5781 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5782 1.1 jruoho { Return (0x84) } // Local1 indicates Local0 is not a Number
5783 1.1 jruoho
5784 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5785 1.1 jruoho { Return (0x85) } // non-existant signal was acquired
5786 1.1 jruoho
5787 1.1 jruoho Store ("Acquire Lvalue signal timeout PASS", Debug)
5788 1.1 jruoho
5789 1.1 jruoho
5790 1.1 jruoho Return (0) // success
5791 1.1 jruoho } // TEVN control method to test ResetOp, SignalOp, and WaitOp
5792 1.1 jruoho
5793 1.1 jruoho Method (TEST)
5794 1.1 jruoho {
5795 1.1 jruoho Store ("++++++++ Event Test", Debug)
5796 1.1 jruoho
5797 1.1 jruoho Store (TEVN (100), Local0)
5798 1.1 jruoho
5799 1.1 jruoho Return (Local0)
5800 1.1 jruoho } // TEST
5801 1.1 jruoho } // EVNT
5802 1.1 jruoho
5803 1.1 jruoho //
5804 1.1 jruoho // test SizeOfLv.asl
5805 1.1 jruoho //
5806 1.1 jruoho // Test for SizeOf (Lvalue)
5807 1.1 jruoho //
5808 1.1 jruoho // This next section will contain the packages that the SizeOfOp will be
5809 1.1 jruoho // exercised on. The first one, PKG0, is a regular package of 3 elements.
5810 1.1 jruoho // The 2nd one, PKG1, is a nested package with 3 packages inside it, each
5811 1.1 jruoho // with 3 elements. It is expected that SizeOf operator will return the
5812 1.1 jruoho // same value for these two packages since they both have 3 elements. The
5813 1.1 jruoho // final package, PKG2, has 4 elements and the SizeOf operator is expected
5814 1.1 jruoho // to return different results for this package.
5815 1.1 jruoho
5816 1.1 jruoho Name (PKG0,
5817 1.1 jruoho Package (3)
5818 1.1 jruoho {0x0123, 0x4567, 0x89AB}
5819 1.1 jruoho ) // PKG0
5820 1.1 jruoho
5821 1.1 jruoho Name (PKG1,
5822 1.1 jruoho Package (3)
5823 1.1 jruoho {
5824 1.1 jruoho Package (3) {0x0123, 0x4567, 0x89AB},
5825 1.1 jruoho Package (3) {0xCDEF, 0xFEDC, 0xBA98},
5826 1.1 jruoho Package (3) {0x7654, 0x3210, 0x1234}
5827 1.1 jruoho }
5828 1.1 jruoho ) // PKG1
5829 1.1 jruoho
5830 1.1 jruoho Name (PKG2,
5831 1.1 jruoho Package (4)
5832 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888}
5833 1.1 jruoho ) // PKG2
5834 1.1 jruoho
5835 1.1 jruoho Name (PKG3,
5836 1.1 jruoho Package (5)
5837 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888, 0x7777}
5838 1.1 jruoho ) // PKG3
5839 1.1 jruoho
5840 1.1 jruoho // End Packages **********************************************************
5841 1.1 jruoho
5842 1.1 jruoho // The following section will declare the data strings that will be used to
5843 1.1 jruoho // exercise the SizeOf operator. STR0 and STR1 are expected to be equal,
5844 1.1 jruoho // STR2 is expected to have a different SizeOf value than STR0 and STR1.
5845 1.1 jruoho
5846 1.1 jruoho Name (STR0, "ACPI permits very flexible methods of expressing a system")
5847 1.1 jruoho
5848 1.1 jruoho Name (STR1, "MIKE permits very flexible methods of expressing a system")
5849 1.1 jruoho
5850 1.1 jruoho Name (STR2, "Needless to say, Mike and ACPI are frequently at odds")
5851 1.1 jruoho
5852 1.1 jruoho // This string is being made in case we want to do a SizeOf comparison
5853 1.1 jruoho // between strings and packages or buffers
5854 1.1 jruoho Name (STR3, "12345")
5855 1.1 jruoho
5856 1.1 jruoho // End Strings **********************************************************
5857 1.1 jruoho
5858 1.1 jruoho // The following section will declare the buffers that will be used to exercise
5859 1.1 jruoho // the SizeOf operator.
5860 1.1 jruoho
5861 1.1 jruoho Name (BUF0, Buffer (10) {})
5862 1.1 jruoho Name (BUF1, Buffer (10) {})
5863 1.1 jruoho Name (BUF2, Buffer (8) {})
5864 1.1 jruoho Name (BUF3, Buffer (5) {})
5865 1.1 jruoho
5866 1.1 jruoho // End Buffers **********************************************************
5867 1.1 jruoho Device (SZLV)
5868 1.1 jruoho {
5869 1.1 jruoho
5870 1.1 jruoho Method (CMPR, 2)
5871 1.1 jruoho {
5872 1.1 jruoho // CMPR is passed two arguments. If unequal, return 1 to indicate
5873 1.1 jruoho // that, otherwise return 0 to indicate SizeOf each is equal.
5874 1.1 jruoho
5875 1.1 jruoho Store (0x01, Local0)
5876 1.1 jruoho
5877 1.1 jruoho if (LEqual (SizeOf(Arg0), SizeOf(Arg1)))
5878 1.1 jruoho {
5879 1.1 jruoho Store (0x00, Local0)
5880 1.1 jruoho }
5881 1.1 jruoho
5882 1.1 jruoho return (Local0)
5883 1.1 jruoho } // CMPR
5884 1.1 jruoho
5885 1.1 jruoho
5886 1.1 jruoho Method (TEST)
5887 1.1 jruoho {
5888 1.1 jruoho
5889 1.1 jruoho Store ("++++++++ SizeOfLv Test", Debug)
5890 1.1 jruoho
5891 1.1 jruoho // TBD: SizeOf ("string")
5892 1.1 jruoho // SizeOf (Buffer)
5893 1.1 jruoho // SizeOf (Package)
5894 1.1 jruoho // SizeOf (String)
5895 1.1 jruoho // SizeOf (STR0) -- where Name (STR0,...) -- lot's of cases
5896 1.1 jruoho // buffer, string, package,
5897 1.1 jruoho // SizeOf (METH) -- where METH control method returns
5898 1.1 jruoho // buffer, string, package,
5899 1.1 jruoho
5900 1.1 jruoho // TBD: SLOC [SizeOf (Local0)] -- dup SARG
5901 1.1 jruoho
5902 1.1 jruoho // Compare the elements that we expect to be the same. Exit out with an error
5903 1.1 jruoho // code on the first failure.
5904 1.1 jruoho if (LNotEqual (0x00, CMPR (STR0, STR1)))
5905 1.1 jruoho {
5906 1.1 jruoho Return (0x01)
5907 1.1 jruoho }
5908 1.1 jruoho
5909 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, BUF3)))
5910 1.1 jruoho {
5911 1.1 jruoho Return (0x02)
5912 1.1 jruoho }
5913 1.1 jruoho
5914 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, PKG3)))
5915 1.1 jruoho {
5916 1.1 jruoho Return (0x03)
5917 1.1 jruoho }
5918 1.1 jruoho
5919 1.1 jruoho // In the following section, this test will cover the SizeOf
5920 1.1 jruoho // operator for Local values.
5921 1.1 jruoho // In this case, both Local0 and Local1 should have the same Size
5922 1.1 jruoho Store (STR0, Local0)
5923 1.1 jruoho Store (STR1, Local1)
5924 1.1 jruoho
5925 1.1 jruoho if (LNotEqual (SizeOf (Local0), SizeOf (Local1)))
5926 1.1 jruoho {
5927 1.1 jruoho Return (0x04)
5928 1.1 jruoho }
5929 1.1 jruoho
5930 1.1 jruoho // Now create a case where Local0 and Local1 are different
5931 1.1 jruoho Store (STR2, Local1)
5932 1.1 jruoho
5933 1.1 jruoho if (LEqual (SizeOf (Local0), SizeOf (Local1)))
5934 1.1 jruoho {
5935 1.1 jruoho Return (0x05)
5936 1.1 jruoho }
5937 1.1 jruoho
5938 1.1 jruoho // Finally, check for the return of SizeOf for a known Buffer. Just
5939 1.1 jruoho // in case we magically pass above cases due to all Buffers being Zero
5940 1.1 jruoho // bytes in size, or Infinity, etc.
5941 1.1 jruoho if (LNotEqual (0x05, SizeOf (BUF3)))
5942 1.1 jruoho {
5943 1.1 jruoho Return (0x06)
5944 1.1 jruoho }
5945 1.1 jruoho
5946 1.1 jruoho Return (0)
5947 1.1 jruoho } // TEST
5948 1.1 jruoho } // SZLV
5949 1.1 jruoho
5950 1.1 jruoho
5951 1.1 jruoho //
5952 1.1 jruoho // test BytField.asl
5953 1.1 jruoho //
5954 1.1 jruoho // BytField test
5955 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
5956 1.1 jruoho // Tests access of TBD.
5957 1.1 jruoho //
5958 1.1 jruoho Scope (\_SB) // System Bus
5959 1.1 jruoho { // _SB system bus
5960 1.1 jruoho Device (BYTF)
5961 1.1 jruoho { // Test device name
5962 1.1 jruoho Method (TEST)
5963 1.1 jruoho {
5964 1.1 jruoho Store ("++++++++ BytField Test", Debug)
5965 1.1 jruoho
5966 1.1 jruoho Return (\_TZ.C19B.RSLT)
5967 1.1 jruoho } // TEST
5968 1.1 jruoho } // BYTF
5969 1.1 jruoho
5970 1.1 jruoho Device (C005)
5971 1.1 jruoho { // Device C005
5972 1.1 jruoho Device (C013)
5973 1.1 jruoho { // Device C013
5974 1.1 jruoho } // Device C013
5975 1.1 jruoho } // Device C005
5976 1.1 jruoho
5977 1.1 jruoho Method (C115)
5978 1.1 jruoho { // C115 control method
5979 1.1 jruoho Acquire (\_GL, 0xFFFF)
5980 1.1 jruoho Store (\_SB.C005.C013.C058.C07E, Local0)
5981 1.1 jruoho Release (\_GL)
5982 1.1 jruoho And (Local0, 16, Local0)
5983 1.1 jruoho Store (ShiftRight (Local0, 4, ), Local1)
5984 1.1 jruoho If (LEqual (Local1, 0))
5985 1.1 jruoho { Return (1) }
5986 1.1 jruoho Else
5987 1.1 jruoho { Return (0) }
5988 1.1 jruoho } // C115 control method
5989 1.1 jruoho } // _SB system bus
5990 1.1 jruoho
5991 1.1 jruoho OperationRegion (C018, SystemIO, 0x5028, 4)
5992 1.1 jruoho Field (C018, AnyAcc, NoLock, Preserve)
5993 1.1 jruoho { // Field overlaying C018
5994 1.1 jruoho C019, 32
5995 1.1 jruoho } // Field overlaying C018
5996 1.1 jruoho
5997 1.1 jruoho OperationRegion (C01A, SystemIO, 0x5030, 4)
5998 1.1 jruoho Field (C01A, ByteAcc, NoLock, Preserve)
5999 1.1 jruoho { // Field overlaying C01A
6000 1.1 jruoho C01B, 8,
6001 1.1 jruoho C01C, 8,
6002 1.1 jruoho C01D, 8,
6003 1.1 jruoho C01E, 8
6004 1.1 jruoho } // Field overlaying C01A
6005 1.1 jruoho
6006 1.1 jruoho Mutex (\C01F, 0)
6007 1.1 jruoho Name (\C020, 0)
6008 1.1 jruoho Name (\C021, 0)
6009 1.1 jruoho
6010 1.1 jruoho Method (\C022, 0)
6011 1.1 jruoho { // \C022 control method
6012 1.1 jruoho Acquire (\C01F, 0xFFFF)
6013 1.1 jruoho If (LEqual (\C021, 0))
6014 1.1 jruoho {
6015 1.1 jruoho Store (C019, Local0)
6016 1.1 jruoho And (Local0, 0xFFFEFFFE, Local0)
6017 1.1 jruoho Store (Local0, C019)
6018 1.1 jruoho Increment (\C021)
6019 1.1 jruoho }
6020 1.1 jruoho Release (\C01F)
6021 1.1 jruoho } // \C022 control method
6022 1.1 jruoho
6023 1.1 jruoho Scope (\_SB.C005.C013)
6024 1.1 jruoho { // Scope \_SB.C005.C013
6025 1.1 jruoho Device (C058)
6026 1.1 jruoho { // Device C058
6027 1.1 jruoho Name (_HID, "*PNP0A06")
6028 1.1 jruoho
6029 1.1 jruoho OperationRegion (C059, SystemIO, 0xE0, 2)
6030 1.1 jruoho Field (C059, ByteAcc, NoLock, Preserve)
6031 1.1 jruoho { // Field overlaying C059
6032 1.1 jruoho C05A, 8,
6033 1.1 jruoho C05B, 8
6034 1.1 jruoho } // Field overlaying C059
6035 1.1 jruoho
6036 1.1 jruoho OperationRegion (C05C, SystemIO, 0xE2, 2)
6037 1.1 jruoho Field (C05C, ByteAcc, NoLock, Preserve)
6038 1.1 jruoho { // Field overlaying C05C
6039 1.1 jruoho C05D, 8,
6040 1.1 jruoho C05E, 8
6041 1.1 jruoho } // Field overlaying C05C
6042 1.1 jruoho IndexField (C05D, C05E, ByteAcc, NoLock, Preserve)
6043 1.1 jruoho { // IndexField overlaying C05D/C05E
6044 1.1 jruoho , 0x410, // skip
6045 1.1 jruoho C05F, 8,
6046 1.1 jruoho C060, 8,
6047 1.1 jruoho C061, 8,
6048 1.1 jruoho C062, 8,
6049 1.1 jruoho C063, 8,
6050 1.1 jruoho C064, 8,
6051 1.1 jruoho C065, 8,
6052 1.1 jruoho C066, 8,
6053 1.1 jruoho C067, 8,
6054 1.1 jruoho C068, 8,
6055 1.1 jruoho C069, 8,
6056 1.1 jruoho C06A, 8,
6057 1.1 jruoho C06B, 8,
6058 1.1 jruoho C06C, 8,
6059 1.1 jruoho C06D, 8,
6060 1.1 jruoho C06E, 8,
6061 1.1 jruoho , 0x70, // skip
6062 1.1 jruoho C06F, 8,
6063 1.1 jruoho C070, 8,
6064 1.1 jruoho C071, 8,
6065 1.1 jruoho C072, 8,
6066 1.1 jruoho C073, 8,
6067 1.1 jruoho C074, 8,
6068 1.1 jruoho C075, 8,
6069 1.1 jruoho C076, 8,
6070 1.1 jruoho C077, 8,
6071 1.1 jruoho C078, 8,
6072 1.1 jruoho C079, 8,
6073 1.1 jruoho C07A, 8,
6074 1.1 jruoho C07B, 8,
6075 1.1 jruoho C07C, 8,
6076 1.1 jruoho C07D, 8,
6077 1.1 jruoho C07E, 8
6078 1.1 jruoho } // IndexField overlaying C05D/C05E
6079 1.1 jruoho
6080 1.1 jruoho OperationRegion (C07F, SystemIO, 0xE4, 2)
6081 1.1 jruoho Field (C07F, ByteAcc, NoLock, Preserve)
6082 1.1 jruoho { // Field overlaying C07F
6083 1.1 jruoho C080, 8,
6084 1.1 jruoho C081, 8
6085 1.1 jruoho } // Field overlaying C07F
6086 1.1 jruoho
6087 1.1 jruoho OperationRegion (C082, SystemIO, 0xE0, 1)
6088 1.1 jruoho Field (C082, ByteAcc, NoLock, Preserve)
6089 1.1 jruoho { // Field overlaying C082
6090 1.1 jruoho C083, 8
6091 1.1 jruoho } // Field overlaying C082
6092 1.1 jruoho
6093 1.1 jruoho OperationRegion (C084, SystemIO, 0xFF, 1)
6094 1.1 jruoho Field (C084, ByteAcc, NoLock, Preserve)
6095 1.1 jruoho { // Field overlaying C084
6096 1.1 jruoho C085, 8
6097 1.1 jruoho } // Field overlaying C084
6098 1.1 jruoho
6099 1.1 jruoho OperationRegion (C086, SystemIO, 0xFD, 1)
6100 1.1 jruoho Field (C086, ByteAcc, NoLock, Preserve)
6101 1.1 jruoho { // Field overlaying C086
6102 1.1 jruoho C087, 8
6103 1.1 jruoho } // Field overlaying C086
6104 1.1 jruoho
6105 1.1 jruoho Mutex (C088, 0)
6106 1.1 jruoho Mutex (C089, 0)
6107 1.1 jruoho Mutex (C08A, 0)
6108 1.1 jruoho Mutex (C08B, 0)
6109 1.1 jruoho Mutex (C08C, 0)
6110 1.1 jruoho Mutex (C08D, 0)
6111 1.1 jruoho
6112 1.1 jruoho Name (C08E, 0xFFFFFFFD)
6113 1.1 jruoho Name (C08F, 0)
6114 1.1 jruoho
6115 1.1 jruoho Method (C0AA, 4)
6116 1.1 jruoho { // C0AA control method
6117 1.1 jruoho Store (Buffer (4) {}, Local7)
6118 1.1 jruoho CreateByteField (Local7, 0, C0AB)
6119 1.1 jruoho CreateByteField (Local7, 1, C0AC)
6120 1.1 jruoho CreateByteField (Local7, 2, C0AD)
6121 1.1 jruoho CreateByteField (Local7, 3, C0AE)
6122 1.1 jruoho Acquire (^C08B, 0xFFFF)
6123 1.1 jruoho Acquire (\_GL, 0xFFFF)
6124 1.1 jruoho \C022 ()
6125 1.1 jruoho Store (1, \_SB.C005.C013.C058.C06B)
6126 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B)))
6127 1.1 jruoho { Stall (100) }
6128 1.1 jruoho Store (Arg3, \_SB.C005.C013.C058.C06E)
6129 1.1 jruoho Store (Arg2, \_SB.C005.C013.C058.C06D)
6130 1.1 jruoho Store (Arg1, \_SB.C005.C013.C058.C06C)
6131 1.1 jruoho Store (Arg0, \_SB.C005.C013.C058.C06B)
6132 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B)))
6133 1.1 jruoho { Stall (100) }
6134 1.1 jruoho Store (\_SB.C005.C013.C058.C06E, C0AB)
6135 1.1 jruoho Store (\_SB.C005.C013.C058.C06D, C0AC)
6136 1.1 jruoho Store (\_SB.C005.C013.C058.C06C, C0AD)
6137 1.1 jruoho Store (\_SB.C005.C013.C058.C06B, C0AE)
6138 1.1 jruoho If (LNot (LEqual (Arg0, 23)))
6139 1.1 jruoho {
6140 1.1 jruoho Store (2, \_SB.C005.C013.C058.C06B)
6141 1.1 jruoho Stall (100)
6142 1.1 jruoho }
6143 1.1 jruoho Release (\_GL)
6144 1.1 jruoho Release (^C08B)
6145 1.1 jruoho Return (Local7)
6146 1.1 jruoho } // C0AA control method
6147 1.1 jruoho } // Device C058
6148 1.1 jruoho } // Scope \_SB.C005.C013
6149 1.1 jruoho
6150 1.1 jruoho Scope (\_TZ)
6151 1.1 jruoho { // \_TZ thermal zone scope
6152 1.1 jruoho Name (C18B, Package (2)
6153 1.1 jruoho {
6154 1.1 jruoho Package (2)
6155 1.1 jruoho {
6156 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E},
6157 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2}
6158 1.1 jruoho },
6159 1.1 jruoho Package (2)
6160 1.1 jruoho {
6161 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E},
6162 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2}
6163 1.1 jruoho }
6164 1.1 jruoho }) // C18B
6165 1.1 jruoho
6166 1.1 jruoho Name (C18C, Package (2)
6167 1.1 jruoho {
6168 1.1 jruoho Package (2)
6169 1.1 jruoho {
6170 1.1 jruoho Package (3) {0x64, 0x4B, 0x32},
6171 1.1 jruoho Package (3) {0x64, 0x4B, 0x32}
6172 1.1 jruoho }
6173 1.1 jruoho }) // C81C
6174 1.1 jruoho
6175 1.1 jruoho Name (C18D, 0)
6176 1.1 jruoho Name (C18E, 0)
6177 1.1 jruoho Name (C18F, 0)
6178 1.1 jruoho Name (C190, 0)
6179 1.1 jruoho Name (C191, 3)
6180 1.1 jruoho Name (C192, 0)
6181 1.1 jruoho Name (C193, 1)
6182 1.1 jruoho Name (C194, 2)
6183 1.1 jruoho Mutex (C195, 0)
6184 1.1 jruoho Name (C196, 1)
6185 1.1 jruoho Name (C197, 0x0B9C)
6186 1.1 jruoho Name (C198, 0x0B9C)
6187 1.1 jruoho Name (C199, 0xFFFFFFFD)
6188 1.1 jruoho Name (C19A, 0)
6189 1.1 jruoho
6190 1.1 jruoho Device (C19B)
6191 1.1 jruoho { // Device C19B
6192 1.1 jruoho Name (RSLT, 0) // default to zero
6193 1.1 jruoho
6194 1.1 jruoho Method (XINI)
6195 1.1 jruoho { // _INI control method (Uses Global Lock -- can't run under AcpiExec)
6196 1.1 jruoho Store (\_SB.C115, C19A)
6197 1.1 jruoho \_TZ.C19C._SCP (0)
6198 1.1 jruoho Subtract (0x0EB2, 0x0AAC, Local1) // Local1 = AACh - EB2h
6199 1.1 jruoho Divide (Local1, 10, Local0, Local2) // Local0 = Local1 / 10
6200 1.1 jruoho // Local2 = Local1 % 10
6201 1.1 jruoho \_SB.C005.C013.C058.C0AA (14, Local2, 0, 0)
6202 1.1 jruoho Store
6203 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 0, )), C18D)
6204 1.1 jruoho Store
6205 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 1, )), C18E)
6206 1.1 jruoho Store
6207 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 2, )), C18F)
6208 1.1 jruoho
6209 1.1 jruoho Store (1, RSLT) // set RSLT to 1 if _INI control method completes
6210 1.1 jruoho } // _INI control method
6211 1.1 jruoho
6212 1.1 jruoho // PowerResource (C19D) {...}
6213 1.1 jruoho } // Device C19B
6214 1.1 jruoho
6215 1.1 jruoho ThermalZone (C19C)
6216 1.1 jruoho {
6217 1.1 jruoho Method (_SCP, 1)
6218 1.1 jruoho { // _SCP control method
6219 1.1 jruoho Store (Arg0, Local0)
6220 1.1 jruoho If (LEqual (Local0, 0))
6221 1.1 jruoho {
6222 1.1 jruoho Store (0, \_TZ.C192)
6223 1.1 jruoho Store (1, \_TZ.C193)
6224 1.1 jruoho Store (2, \_TZ.C194)
6225 1.1 jruoho Store (3, \_TZ.C191)
6226 1.1 jruoho }
6227 1.1 jruoho Else
6228 1.1 jruoho {
6229 1.1 jruoho Store (0, \_TZ.C191)
6230 1.1 jruoho Store (1, \_TZ.C192)
6231 1.1 jruoho Store (2, \_TZ.C193)
6232 1.1 jruoho Store (3, \_TZ.C194)
6233 1.1 jruoho }
6234 1.1 jruoho } // _SCP control method
6235 1.1 jruoho } // ThermalZone C19C
6236 1.1 jruoho } // \_TZ thermal zone scope
6237 1.1 jruoho
6238 1.1 jruoho
6239 1.1 jruoho //
6240 1.1 jruoho // test DwrdFld.asl
6241 1.1 jruoho //
6242 1.1 jruoho Name (BUFR, buffer(10) {0,0,0,0,0,0,0,0,0,0} )
6243 1.1 jruoho
6244 1.1 jruoho Device (DWDF)
6245 1.1 jruoho {
6246 1.1 jruoho Method (TEST)
6247 1.1 jruoho {
6248 1.1 jruoho Store ("++++++++ DwrdFld Test", Debug)
6249 1.1 jruoho
6250 1.1 jruoho CreateByteField (BUFR, 0, BYTE)
6251 1.1 jruoho Store (0xAA, BYTE)
6252 1.1 jruoho
6253 1.1 jruoho CreateWordField (BUFR, 1, WORD)
6254 1.1 jruoho Store (0xBBCC, WORD)
6255 1.1 jruoho
6256 1.1 jruoho CreateDWordField (BUFR, 3, DWRD)
6257 1.1 jruoho Store (0xDDEEFF00, DWRD)
6258 1.1 jruoho
6259 1.1 jruoho CreateByteField (BUFR, 7, BYT2)
6260 1.1 jruoho Store (0x11, BYT2)
6261 1.1 jruoho
6262 1.1 jruoho CreateWordField (BUFR, 8, WRD2)
6263 1.1 jruoho Store (0x2233, WRD2)
6264 1.1 jruoho
6265 1.1 jruoho Return (0)
6266 1.1 jruoho
6267 1.1 jruoho } // End Method TEST
6268 1.1 jruoho } // Device DWDF
6269 1.1 jruoho
6270 1.1 jruoho //
6271 1.1 jruoho // test DivAddx.asl
6272 1.1 jruoho //
6273 1.1 jruoho Name (B1LO, 0xAA)
6274 1.1 jruoho Name (B1HI, 0xBB)
6275 1.1 jruoho
6276 1.1 jruoho Method (MKW_, 2)
6277 1.1 jruoho { // This control method will take two bytes and make them into a WORD
6278 1.1 jruoho
6279 1.1 jruoho Multiply (B1HI, 256, Local0) // Make high byte.....high
6280 1.1 jruoho Or (Local0, B1LO, Local0) // OR in the low byte
6281 1.1 jruoho Return (Local0) // Return the WORD
6282 1.1 jruoho
6283 1.1 jruoho } // MKW_
6284 1.1 jruoho
6285 1.1 jruoho Device (DVAX)
6286 1.1 jruoho {
6287 1.1 jruoho Method (TEST)
6288 1.1 jruoho {
6289 1.1 jruoho
6290 1.1 jruoho Store ("++++++++ DivAddx Test", Debug)
6291 1.1 jruoho
6292 1.1 jruoho Store (25, B1LO)
6293 1.1 jruoho Store (0, B1HI)
6294 1.1 jruoho
6295 1.1 jruoho // We'll multiply 25 * 3 to get 75, add 99 to it then divide
6296 1.1 jruoho // by 100. We expect to get 74 for the remainder and 1 for
6297 1.1 jruoho // the quotient.
6298 1.1 jruoho Divide(
6299 1.1 jruoho Add (Multiply (3, MKW_ (B1LO, B1HI)), 0x63),
6300 1.1 jruoho // Dividend,
6301 1.1 jruoho 100, // Divisor
6302 1.1 jruoho Local4, // Remainder
6303 1.1 jruoho Local2) // Quotient
6304 1.1 jruoho
6305 1.1 jruoho If (LAnd (LEqual (74, Local4), LEqual (1, Local2)))
6306 1.1 jruoho { // Indicate Pass
6307 1.1 jruoho Store (0x00, Local0)
6308 1.1 jruoho }
6309 1.1 jruoho
6310 1.1 jruoho Else
6311 1.1 jruoho { // Indicate Fail
6312 1.1 jruoho Store (0x01, Local0)
6313 1.1 jruoho }
6314 1.1 jruoho
6315 1.1 jruoho Return (Local0)
6316 1.1 jruoho } // End Method TEST
6317 1.1 jruoho } // Device DVAX
6318 1.1 jruoho
6319 1.1 jruoho //
6320 1.1 jruoho // test IndexFld.asl (IndexOp6.asl)
6321 1.1 jruoho //
6322 1.1 jruoho // IndexFld test
6323 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
6324 1.1 jruoho // Tests index field element AccessAs macro.
6325 1.1 jruoho // Also tests name resolution of index field elements with same names
6326 1.1 jruoho // but different namespace scopes.
6327 1.1 jruoho //
6328 1.1 jruoho Device (IDX6)
6329 1.1 jruoho { // Test device name
6330 1.1 jruoho
6331 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2)
6332 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve)
6333 1.1 jruoho {
6334 1.1 jruoho INDX, 8,
6335 1.1 jruoho DATA, 8
6336 1.1 jruoho }
6337 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
6338 1.1 jruoho {
6339 1.1 jruoho AccessAs (ByteAcc, 0),
6340 1.1 jruoho IFE0, 8,
6341 1.1 jruoho IFE1, 8,
6342 1.1 jruoho IFE2, 8,
6343 1.1 jruoho IFE3, 8,
6344 1.1 jruoho IFE4, 8,
6345 1.1 jruoho IFE5, 8,
6346 1.1 jruoho IFE6, 8,
6347 1.1 jruoho IFE7, 8,
6348 1.1 jruoho IFE8, 8,
6349 1.1 jruoho IFE9, 8,
6350 1.1 jruoho }
6351 1.1 jruoho
6352 1.1 jruoho Device (TST_)
6353 1.1 jruoho { // TST_: provides a different namespace scope for IFE0 and IFE1
6354 1.1 jruoho OperationRegion (SIO2, SystemIO, 0x100, 2)
6355 1.1 jruoho Field (SIO2, ByteAcc, NoLock, Preserve)
6356 1.1 jruoho {
6357 1.1 jruoho IND2, 8,
6358 1.1 jruoho DAT2, 8
6359 1.1 jruoho }
6360 1.1 jruoho IndexField (IND2, DAT2, AnyAcc, NoLock, WriteAsOnes)
6361 1.1 jruoho {
6362 1.1 jruoho IFE0, 8, // duplicate IndexField name with different scope
6363 1.1 jruoho IFE1, 8
6364 1.1 jruoho }
6365 1.1 jruoho } // TST_: provides a different namespace scope for IFE0 and IFE1
6366 1.1 jruoho
6367 1.1 jruoho Method (TEST)
6368 1.1 jruoho {
6369 1.1 jruoho Store ("++++++++ IndexOp6 Test", Debug)
6370 1.1 jruoho
6371 1.1 jruoho Store (IFE0, Local0)
6372 1.1 jruoho Store (IFE1, Local1)
6373 1.1 jruoho Store (IFE2, Local2)
6374 1.1 jruoho
6375 1.1 jruoho // validate name resolution of IndexFields with different scopes
6376 1.1 jruoho Store (\IDX6.IFE0, Local3)
6377 1.1 jruoho Store (\IDX6.IFE1, Local4)
6378 1.1 jruoho // verioading of namespace can resolve following names
6379 1.1 jruoho Store (\IDX6.TST_.IFE0, Local5)
6380 1.1 jruoho Store (\IDX6.TST_.IFE1, Local6)
6381 1.1 jruoho
6382 1.1 jruoho Return (0)
6383 1.1 jruoho } // TEST
6384 1.1 jruoho } // IDX6
6385 1.1 jruoho
6386 1.1 jruoho //
6387 1.1 jruoho // test IndexOp5.asl
6388 1.1 jruoho //
6389 1.1 jruoho // IndexOp5 test
6390 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
6391 1.1 jruoho // Tests copying string into buffer then performing IndexOp on result.
6392 1.1 jruoho //
6393 1.1 jruoho Device (IDX5)
6394 1.1 jruoho { // Test device name
6395 1.1 jruoho
6396 1.1 jruoho Name (OSFL, 0) // 0 == Windows 98, 1 == Windows NT
6397 1.1 jruoho
6398 1.1 jruoho // MCTH is a control method to compare two strings. It returns
6399 1.1 jruoho // zero if the strings mismatch, or 1 if the strings match.
6400 1.1 jruoho // This exercises the test case of copying a string into a buffer
6401 1.1 jruoho // and performing an IndexOp on the resulting buffer.
6402 1.1.1.3 christos Method (MCTH, 2, Serialized) // Control Method to compare two strings
6403 1.1 jruoho { // MCTH: Control Method to compare two strings
6404 1.1 jruoho // Arg0: first string to compare
6405 1.1 jruoho // Arg1: second string to compare
6406 1.1 jruoho // Return: zero if strings mismatch, 1 if strings match
6407 1.1 jruoho
6408 1.1 jruoho // check if first string's length is less than second string's length
6409 1.1 jruoho If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
6410 1.1 jruoho { Return (0) }
6411 1.1 jruoho
6412 1.1 jruoho // increment length to include NULL termination character
6413 1.1 jruoho Add (SizeOf (Arg0), 1, Local0) // Local0 = strlen(Arg0) + 1
6414 1.1 jruoho
6415 1.1 jruoho // create two buffers of size Local0 [strlen(Arg0)+1]
6416 1.1 jruoho Name (BUF0, Buffer (Local0) {})
6417 1.1 jruoho Name (BUF1, Buffer (Local0) {})
6418 1.1 jruoho
6419 1.1 jruoho // copy strings into buffers
6420 1.1 jruoho Store (Arg0, BUF0)
6421 1.1 jruoho Store (Arg1, BUF1)
6422 1.1 jruoho
6423 1.1 jruoho // validate BUF0 and BUF1 are still buffers
6424 1.1 jruoho Store (ObjectType (BUF0), Local1)
6425 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3
6426 1.1 jruoho { Return (20) }
6427 1.1 jruoho Store (ObjectType (BUF1), Local1)
6428 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3
6429 1.1 jruoho { Return (21) }
6430 1.1 jruoho
6431 1.1 jruoho // Decrement because the Index base below is zero based
6432 1.1 jruoho // while Local0 length is one based.
6433 1.1 jruoho Decrement (Local0)
6434 1.1 jruoho
6435 1.1 jruoho While (Local0)
6436 1.1 jruoho { // loop through all BUF0 buffer elements
6437 1.1 jruoho Decrement (Local0)
6438 1.1 jruoho
6439 1.1 jruoho // check if BUF0[n] == BUF1[n]
6440 1.1 jruoho If (LEqual (DerefOf (Index (BUF0, Local0, )),
6441 1.1 jruoho DerefOf (Index (BUF1, Local0, ))))
6442 1.1 jruoho { } // this is how the code was really implemented
6443 1.1 jruoho Else
6444 1.1 jruoho { Return (Zero) }
6445 1.1 jruoho } // loop through all BUF0 buffer elements
6446 1.1 jruoho
6447 1.1 jruoho Return (One) // strings / buffers match
6448 1.1 jruoho } // MCTH: Control Method to compare two strings
6449 1.1 jruoho
6450 1.1 jruoho
6451 1.1 jruoho Method (TEST)
6452 1.1 jruoho {
6453 1.1 jruoho Store ("++++++++ IndexOp5 Test", Debug)
6454 1.1 jruoho
6455 1.1 jruoho If (MCTH (\_OS, "Microsoft Windows NT"))
6456 1.1 jruoho { Store (1, OSFL) }
6457 1.1 jruoho
6458 1.1 jruoho If (LNotEqual (OSFL, 1))
6459 1.1 jruoho { Return (11) }
6460 1.1 jruoho
6461 1.1 jruoho Return (0)
6462 1.1 jruoho } // TEST
6463 1.1 jruoho } // IDX5
6464 1.1 jruoho
6465 1.1 jruoho //
6466 1.1 jruoho // test IndexOp.asl
6467 1.1 jruoho //
6468 1.1 jruoho Scope (\_SB) // System Bus
6469 1.1 jruoho { // _SB system bus
6470 1.1 jruoho
6471 1.1 jruoho Method (C097)
6472 1.1 jruoho { Return (1) }
6473 1.1 jruoho
6474 1.1 jruoho Device (PCI2)
6475 1.1 jruoho { // Root PCI Bus
6476 1.1 jruoho Name (_HID, EISAID("PNP0A03"))
6477 1.1 jruoho Name (_ADR, 0x00000000)
6478 1.1 jruoho Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
6479 1.1 jruoho Method (_STA) {Return (0x0F)}
6480 1.1 jruoho
6481 1.1 jruoho Device (ISA)
6482 1.1 jruoho { // ISA bridge
6483 1.1 jruoho Name (_ADR, 0x00030000) // ISA bus ID
6484 1.1 jruoho
6485 1.1 jruoho Device (EC0)
6486 1.1 jruoho { // Embedded Controller
6487 1.1 jruoho Name (_GPE, 0) // EC use GPE0
6488 1.1 jruoho Name (_ADR, 0x0030000) // PCI address
6489 1.1 jruoho
6490 1.1 jruoho Method (_STA,0) // EC Status
6491 1.1 jruoho { Return(0xF) } // EC is functioning
6492 1.1 jruoho
6493 1.1 jruoho Name (_CRS, ResourceTemplate()
6494 1.1 jruoho {
6495 1.1 jruoho IO (Decode16, 0x62, 0x62, 1, 1)
6496 1.1 jruoho IO (Decode16, 0x66, 0x66, 1, 1)
6497 1.1 jruoho }
6498 1.1 jruoho )
6499 1.1 jruoho
6500 1.1 jruoho // create EC's region and field
6501 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
6502 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6503 1.1 jruoho {
6504 1.1 jruoho // AC information
6505 1.1 jruoho ADP, 1, // AC Adapter 1:On-line, 0:Off-line
6506 1.1 jruoho AFLT, 1, // AC Adapter Fault 1:Fault 0:Normal
6507 1.1 jruoho BAT0, 1, // BAT0 1:present, 0:not present
6508 1.1 jruoho , 1, // reserved
6509 1.1 jruoho , 28, // filler to force DWORD alignment
6510 1.1 jruoho
6511 1.1 jruoho // CMBatt information
6512 1.1 jruoho BPU0, 32, // Power Unit
6513 1.1 jruoho BDC0, 32, // Designed Capacity
6514 1.1 jruoho BFC0, 32, // Last Full Charge Capacity
6515 1.1 jruoho BTC0, 32, // Battery Technology
6516 1.1 jruoho BDV0, 32, // Design Voltage
6517 1.1 jruoho BST0, 32, // Battery State
6518 1.1 jruoho BPR0, 32, // Battery Present Rate
6519 1.1 jruoho // (Designed Capacity)x(%)/{(h)x100}
6520 1.1 jruoho BRC0, 32, // Battery Remaining Capacity
6521 1.1 jruoho // (Designed Capacity)(%)^100
6522 1.1 jruoho BPV0, 32, // Battery Present Voltage
6523 1.1 jruoho BTP0, 32, // Trip Point
6524 1.1 jruoho BCW0, 32, // Design capacity of Warning
6525 1.1 jruoho BCL0, 32, // Design capacity of Low
6526 1.1 jruoho BCG0, 32, // capacity granularity 1
6527 1.1 jruoho BG20, 32, // capacity granularity 2
6528 1.1 jruoho BMO0, 32, // Battery model number field
6529 1.1 jruoho BIF0, 32, // OEM Information(00h)
6530 1.1 jruoho BSN0, 32, // Battery Serial Number
6531 1.1 jruoho BTY0, 32, // Battery Type (e.g., "Li-Ion")
6532 1.1 jruoho BTY1, 32 // Battery Type (e.g., "Li-Ion")
6533 1.1 jruoho } // Field
6534 1.1 jruoho } // EC0: Embedded Controller
6535 1.1 jruoho } // ISA bridge
6536 1.1 jruoho } // PCI2 Root PCI Bus
6537 1.1 jruoho
6538 1.1 jruoho Device (IDX0)
6539 1.1 jruoho { // Test device name
6540 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID
6541 1.1 jruoho Name (_PCL, Package() {\_SB})
6542 1.1 jruoho Method (_STA)
6543 1.1 jruoho {
6544 1.1 jruoho // _STA bits 0-3 indicate existence of battery slot
6545 1.1 jruoho // _STA bit 4 indicates battery (not) present
6546 1.1 jruoho If (\_SB.PCI2.ISA.EC0.BAT0)
6547 1.1 jruoho { Return (0x1F) } // Battery present
6548 1.1 jruoho else
6549 1.1 jruoho { Return (0x0F) } // Battery not present
6550 1.1 jruoho } // _STA
6551 1.1 jruoho
6552 1.1.1.3 christos Method (_BIF,, Serialized)
6553 1.1 jruoho {
6554 1.1 jruoho Name (BUFR, Package(13) {})
6555 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BPU0, Index (BUFR,0)) // Power Unit
6556 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDC0, Index (BUFR,1)) // Designed Capacity
6557 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BFC0, Index (BUFR,2)) // Last Full Charge Capa.
6558 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BTC0, Index (BUFR,3)) // Battery Technology
6559 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDV0, Index (BUFR,4)) // Designed Voltage
6560 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCW0, Index (BUFR,5)) // Designed warning level
6561 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCL0, Index (BUFR,6)) // Designed Low level
6562 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCG0, Index (BUFR,7)) // Capacity granularity 1
6563 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BG20, Index (BUFR,8)) // Capacity granularity 2
6564 1.1 jruoho
6565 1.1 jruoho Store ("", Index (BUFR,9)) // Model Number
6566 1.1 jruoho
6567 1.1 jruoho Store ("", Index (BUFR,10)) // Serial Number
6568 1.1 jruoho
6569 1.1 jruoho Store ("LiOn", Index (BUFR,11)) // Battery Type
6570 1.1 jruoho
6571 1.1 jruoho Store ("Chicony", Index (BUFR,12)) // OEM Information
6572 1.1 jruoho
6573 1.1 jruoho Return (BUFR)
6574 1.1 jruoho } // _BIF
6575 1.1 jruoho
6576 1.1.1.3 christos Method (_BST,, Serialized)
6577 1.1 jruoho {
6578 1.1 jruoho Name (BUFR, Package(4) {1, 0x100, 0x76543210, 0x180})
6579 1.1 jruoho Return (BUFR)
6580 1.1 jruoho } // _BST
6581 1.1 jruoho
6582 1.1 jruoho Method (_BTP,1)
6583 1.1 jruoho {
6584 1.1 jruoho Store (arg0, \_SB.PCI2.ISA.EC0.BTP0) // Set Battery Trip point
6585 1.1 jruoho }
6586 1.1 jruoho
6587 1.1.1.3 christos Method (TEST,, Serialized)
6588 1.1 jruoho {
6589 1.1 jruoho
6590 1.1 jruoho Store ("++++++++ IndexOp Test", Debug)
6591 1.1 jruoho
6592 1.1 jruoho // test storing into uninitialized package elements
6593 1.1 jruoho Name (PBUF, Package(4) {}) // leave unitialized
6594 1.1 jruoho Store (0x01234567, Index (PBUF,0))
6595 1.1 jruoho Store (0x89ABCDEF, Index (PBUF,1))
6596 1.1 jruoho Store (0xFEDCBA98, Index (PBUF,2))
6597 1.1 jruoho Store (0x76543210, Index (PBUF,3))
6598 1.1 jruoho
6599 1.1 jruoho // verify values stored into uninitialized package elements
6600 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,0)), 0x01234567))
6601 1.1 jruoho { Return (0x10) }
6602 1.1 jruoho
6603 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,1)), 0x89ABCDEF))
6604 1.1 jruoho { Return (0x11) }
6605 1.1 jruoho
6606 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,2)), 0xFEDCBA98))
6607 1.1 jruoho { Return (0x12) }
6608 1.1 jruoho
6609 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,3)), 0x76543210))
6610 1.1 jruoho { Return (0x13) }
6611 1.1 jruoho
6612 1.1 jruoho
6613 1.1 jruoho // store _BIF package return value into Local0
6614 1.1 jruoho Store (_BIF, Local0)
6615 1.1 jruoho
6616 1.1 jruoho // save Local0 object type value into Local1
6617 1.1 jruoho Store (ObjectType (Local0), Local1)
6618 1.1 jruoho
6619 1.1 jruoho // validate Local0 is a Package
6620 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
6621 1.1 jruoho { Return (0x21) } // failure
6622 1.1 jruoho
6623 1.1 jruoho
6624 1.1 jruoho // test storing into buffer field elements
6625 1.1 jruoho Name (BUFR, Buffer(16)
6626 1.1 jruoho { // initial values
6627 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00,
6628 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00,
6629 1.1 jruoho }
6630 1.1 jruoho ) // BUFR
6631 1.1 jruoho // test storing into buffer field elements
6632 1.1 jruoho Store (0x01234567, Index (BUFR,0)) // should only store 0x67
6633 1.1 jruoho Store (0x89ABCDEF, Index (BUFR,4)) // should only store 0xEF
6634 1.1 jruoho Store (0xFEDCBA98, Index (BUFR,8)) // should only store 0x98
6635 1.1 jruoho Store (0x76543210, Index (BUFR,12)) // should only store 0x10
6636 1.1 jruoho
6637 1.1 jruoho // verify storing into buffer field elements
6638 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,0)), 0x67))
6639 1.1 jruoho { Return (0x30) }
6640 1.1 jruoho
6641 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,1)), 0))
6642 1.1 jruoho { Return (0x31) }
6643 1.1 jruoho
6644 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,4)), 0xEF))
6645 1.1 jruoho { Return (0x34) }
6646 1.1 jruoho
6647 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,8)), 0x98))
6648 1.1 jruoho { Return (0x38) }
6649 1.1 jruoho
6650 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,12)), 0x10))
6651 1.1 jruoho { Return (0x3C) }
6652 1.1 jruoho
6653 1.1 jruoho
6654 1.1 jruoho Return (0) // pass
6655 1.1 jruoho } // TEST
6656 1.1 jruoho } // IDX0
6657 1.1 jruoho } // _SB system bus
6658 1.1 jruoho
6659 1.1 jruoho //
6660 1.1 jruoho // test BitIndex.asl
6661 1.1 jruoho //
6662 1.1 jruoho // BitIndex test
6663 1.1 jruoho // This is a test case for accessing fields defined as single bits in
6664 1.1 jruoho // memory. This is done by creating two index fields that overlay the
6665 1.1 jruoho // same DWORD in memory. One field accesses the DWORD as a DWORD, the
6666 1.1 jruoho // other accesses individual bits of the same DWORD field in memory.
6667 1.1 jruoho //
6668 1.1 jruoho Scope (\_SB) // System Bus
6669 1.1 jruoho { // _SB system bus
6670 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 0x100)
6671 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6672 1.1 jruoho { // Any access
6673 1.1 jruoho TREE, 3,
6674 1.1 jruoho WRD0, 16,
6675 1.1 jruoho WRD1, 16,
6676 1.1 jruoho WRD2, 16,
6677 1.1 jruoho WRD3, 16,
6678 1.1 jruoho WRD4, 16,
6679 1.1 jruoho DWRD, 32, // DWORD field
6680 1.1 jruoho }
6681 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6682 1.1 jruoho { // Any access
6683 1.1 jruoho THRE, 3,
6684 1.1 jruoho WD00, 16,
6685 1.1 jruoho WD01, 16,
6686 1.1 jruoho WD02, 16,
6687 1.1 jruoho WD03, 16,
6688 1.1 jruoho WD04, 16,
6689 1.1 jruoho BYT0, 8, // Start off with a BYTE
6690 1.1 jruoho BIT0, 1, // single-bit field
6691 1.1 jruoho BIT1, 1, // single-bit field
6692 1.1 jruoho BIT2, 1, // single-bit field
6693 1.1 jruoho BIT3, 1, // single-bit field
6694 1.1 jruoho BIT4, 1, // single-bit field
6695 1.1 jruoho BIT5, 1, // single-bit field
6696 1.1 jruoho BIT6, 1, // single-bit field
6697 1.1 jruoho BIT7, 1, // single-bit field
6698 1.1 jruoho BIT8, 1, // single-bit field
6699 1.1 jruoho BIT9, 1, // single-bit field
6700 1.1 jruoho BITA, 1, // single-bit field
6701 1.1 jruoho BITB, 1, // single-bit field
6702 1.1 jruoho BITC, 1, // single-bit field
6703 1.1 jruoho BITD, 1, // single-bit field
6704 1.1 jruoho BITE, 1, // single-bit field
6705 1.1 jruoho BITF, 1, // single-bit field
6706 1.1 jruoho BYTZ, 8, // End with a BYTE for a total of 32 bits
6707 1.1 jruoho }
6708 1.1 jruoho
6709 1.1 jruoho Device (BITI)
6710 1.1 jruoho { // Test device name
6711 1.1 jruoho
6712 1.1 jruoho Method (MBIT) // Test single bit memory accesses
6713 1.1 jruoho {
6714 1.1 jruoho
6715 1.1 jruoho If (LNotEqual (DWRD, 0x00))
6716 1.1 jruoho {
6717 1.1 jruoho Store (0xFF00, Local0)
6718 1.1 jruoho }
6719 1.1 jruoho Else
6720 1.1 jruoho {
6721 1.1 jruoho // Prime Local0 with 0...assume passing condition
6722 1.1 jruoho Store (0, Local0)
6723 1.1 jruoho
6724 1.1 jruoho // set memory contents to known values using DWORD field
6725 1.1 jruoho Store (0x5A5A5A5A, DWRD)
6726 1.1 jruoho
6727 1.1 jruoho // Given the value programmed into DWRD, only the odd bits
6728 1.1 jruoho // of the lower nibble should be set. BIT1, BIT3 should be set.
6729 1.1 jruoho // BIT0 and BIT2 should be clear
6730 1.1 jruoho
6731 1.1 jruoho If (BIT0)
6732 1.1 jruoho {
6733 1.1 jruoho Or (Local0, 0x01, Local0)
6734 1.1 jruoho }
6735 1.1 jruoho
6736 1.1 jruoho If (LNot (BIT1))
6737 1.1 jruoho {
6738 1.1 jruoho Or (Local0, 0x02, Local0)
6739 1.1 jruoho }
6740 1.1 jruoho
6741 1.1 jruoho If (BIT2)
6742 1.1 jruoho {
6743 1.1 jruoho Or (Local0, 0x04, Local0)
6744 1.1 jruoho }
6745 1.1 jruoho
6746 1.1 jruoho If (LNot (BIT3))
6747 1.1 jruoho {
6748 1.1 jruoho Or (Local0, 0x08, Local0)
6749 1.1 jruoho }
6750 1.1 jruoho
6751 1.1 jruoho // Now check the upper nibble. Only the "even" bits should
6752 1.1 jruoho // be set. BIT4, BIT6. BIT5 and BIT7 should be clear.
6753 1.1 jruoho If (LNot (BIT4))
6754 1.1 jruoho {
6755 1.1 jruoho Or (Local0, 0x10, Local0)
6756 1.1 jruoho }
6757 1.1 jruoho
6758 1.1 jruoho If (BIT5)
6759 1.1 jruoho {
6760 1.1 jruoho Or (Local0, 0x20, Local0)
6761 1.1 jruoho }
6762 1.1 jruoho
6763 1.1 jruoho If (LNot (BIT6))
6764 1.1 jruoho {
6765 1.1 jruoho Or (Local0, 0x40, Local0)
6766 1.1 jruoho }
6767 1.1 jruoho
6768 1.1 jruoho If (BIT7)
6769 1.1 jruoho {
6770 1.1 jruoho Or (Local0, 0x80, Local0)
6771 1.1 jruoho }
6772 1.1 jruoho } // End Else DWRD zeroed out
6773 1.1 jruoho
6774 1.1 jruoho Return (Local0)
6775 1.1 jruoho } // MBIT: Test single bit memory accesses
6776 1.1 jruoho
6777 1.1 jruoho Method (TEST)
6778 1.1 jruoho {
6779 1.1 jruoho
6780 1.1 jruoho Store ("++++++++ BitIndex Test", Debug)
6781 1.1 jruoho
6782 1.1 jruoho // Zero out DWRD
6783 1.1 jruoho Store (0x00000000, DWRD)
6784 1.1 jruoho
6785 1.1 jruoho // MBIT returns zero if successful
6786 1.1 jruoho // This may be causing problems -- Return (MBIT)
6787 1.1 jruoho Store (MBIT, Local0)
6788 1.1 jruoho
6789 1.1 jruoho Return (Local0)
6790 1.1 jruoho } // TEST
6791 1.1 jruoho } // BITI
6792 1.1 jruoho } // _SB system bus
6793 1.1 jruoho
6794 1.1 jruoho //
6795 1.1 jruoho // test IndexOp3.asl
6796 1.1 jruoho //
6797 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery
6798 1.1 jruoho // test) on Compaq laptops. Test cases include storing a package into
6799 1.1 jruoho // an IndexOp target and validating that changing source and destination
6800 1.1 jruoho // package contents are independent of each other.
6801 1.1 jruoho //
6802 1.1 jruoho Scope (\_SB) // System Bus
6803 1.1 jruoho { // _SB system bus
6804 1.1 jruoho
6805 1.1 jruoho Name (C174, 13)
6806 1.1 jruoho Name (C175, 8)
6807 1.1 jruoho
6808 1.1 jruoho Device (C158)
6809 1.1 jruoho { // C158: AC Adapter device
6810 1.1 jruoho Name (_HID, "ACPI0003") // AC Adapter device
6811 1.1 jruoho Name (_PCL, Package (1) {\_SB})
6812 1.1 jruoho
6813 1.1 jruoho Method (_PSR)
6814 1.1 jruoho {
6815 1.1 jruoho Acquire (\_GL, 0xFFFF)
6816 1.1 jruoho Release (\_GL)
6817 1.1 jruoho And (Local0, 1, Local0) // Local0 &= 1
6818 1.1 jruoho Return (Local0)
6819 1.1 jruoho } // _PSR
6820 1.1 jruoho } // C158: AC Adapter device
6821 1.1 jruoho
6822 1.1 jruoho Name (C176, Package (4) {"Primary", "MultiBay", "DockRight", "DockLeft"})
6823 1.1 jruoho
6824 1.1 jruoho Name (C177, Package (4) {0x99F5, 0x99F5, 0x995F, 0x995F})
6825 1.1 jruoho
6826 1.1 jruoho Name (C178, Package (4)
6827 1.1 jruoho {
6828 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190},
6829 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190},
6830 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190},
6831 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190}
6832 1.1 jruoho }) // C178
6833 1.1 jruoho
6834 1.1 jruoho Name (C179, Package (4) {0, 0, 0x966B, 0x4190})
6835 1.1 jruoho
6836 1.1 jruoho Name (C17A, Package (4)
6837 1.1 jruoho {
6838 1.1 jruoho Package (3) {0, 0, 0},
6839 1.1 jruoho Package (3) {0, 0, 0},
6840 1.1 jruoho Package (3) {0, 0, 0},
6841 1.1 jruoho Package (3) {0, 0, 0}
6842 1.1 jruoho }) // C17A
6843 1.1 jruoho
6844 1.1.1.3 christos Method (C17B, 1, Serialized)
6845 1.1 jruoho { // C17B: _BIF implementation
6846 1.1 jruoho Name (C17C, Package (13)
6847 1.1 jruoho { // C17C: _BIF control method return package
6848 1.1 jruoho 0, // Power Unit (0 ==> mWh and mW)
6849 1.1 jruoho 0x99F5, // Design Capacity
6850 1.1 jruoho 0x99F5, // Last Full Charge Capacity
6851 1.1 jruoho 1, // Battery Technology (1 ==> rechargeable)
6852 1.1 jruoho 0x3840, // Design Voltage
6853 1.1 jruoho 0x1280, // Design Capacity of Warning
6854 1.1 jruoho 0x0AC7, // Design Capacity of Low
6855 1.1 jruoho 1, // Battery Capacity Granularity 1 (Low -- Warning)
6856 1.1 jruoho 1, // Battery Capacity Granularity 2 (Warning -- Full)
6857 1.1 jruoho "2891", // Model Number (ASCIIZ)
6858 1.1 jruoho "(-Unknown-)", // Serial Number (ASCIIZ)
6859 1.1 jruoho "LIon", // Battery Type (ASCIIZ)
6860 1.1 jruoho 0 // OEM Information (ASCIIZ)
6861 1.1 jruoho }) // C17C: _BIF control method return package
6862 1.1 jruoho
6863 1.1 jruoho And (Arg0, 7, Local0) // Local0 = Arg0 & 7
6864 1.1 jruoho
6865 1.1 jruoho ShiftRight (Local0, 1, Local4) // Local4 = Local0 >> 1
6866 1.1 jruoho
6867 1.1 jruoho Store (C179, Index (C178, Local4, )) // C178->Local4 = C179
6868 1.1 jruoho
6869 1.1 jruoho // verify source and destination packages can be altered independent
6870 1.1 jruoho // of each other (i.e., changing one's contents does NOT change other's
6871 1.1 jruoho // contents)
6872 1.1 jruoho Store (0x1234, Index (C179, 2, )) // C179[2] = 0x1234
6873 1.1 jruoho Store (DerefOf (Index (C179, 2, )), Local2) // Local2 = C179[2]
6874 1.1 jruoho if (LNotEqual (Local2, 0x1234))
6875 1.1 jruoho { Return (0x1234) }
6876 1.1 jruoho // Local2 = C178[0,2]
6877 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 2, )), Local2)
6878 1.1 jruoho if (LNotEqual (Local2, 0x966B))
6879 1.1 jruoho { Return (0x1234) }
6880 1.1 jruoho
6881 1.1 jruoho // Restore data to allow iterative execution
6882 1.1 jruoho Store (0x966B, Index (C179, 2, )) // C179[2] = 0x966B
6883 1.1 jruoho
6884 1.1 jruoho // C178[0,3] = 0x5678
6885 1.1 jruoho Store (0x5678, Index (DerefOf (Index (C178, 0, )), 3, ))
6886 1.1 jruoho // Local2 = C178[0,3]
6887 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 3, )), Local2)
6888 1.1 jruoho if (LNotEqual (Local2, 0x5678))
6889 1.1 jruoho { Return (0x5678) }
6890 1.1 jruoho
6891 1.1 jruoho Store (DerefOf (Index (C179, 3, )), Local2) // Local2 = C179[3]
6892 1.1 jruoho if (LNotEqual (Local2, 0x4190))
6893 1.1 jruoho { Return (0x5678) }
6894 1.1 jruoho
6895 1.1 jruoho // Restore data to allow iterative execution
6896 1.1 jruoho Store (0x4190, Index (DerefOf (Index (C178, 0, )), 3, )) // C179[2] = 0x4190
6897 1.1 jruoho
6898 1.1 jruoho Return (C17C)
6899 1.1 jruoho } // C17B: _BIF implementation
6900 1.1 jruoho
6901 1.1 jruoho Device (C154)
6902 1.1 jruoho { // C154: Battery 0
6903 1.1 jruoho Name (_HID, "*PNP0C0A") // Control Method Battey ID
6904 1.1 jruoho Name (_UID, 0) // first instance
6905 1.1 jruoho
6906 1.1 jruoho Method (_BIF)
6907 1.1 jruoho { // _BIF
6908 1.1 jruoho Return (C17B (48))
6909 1.1 jruoho } // _BIF
6910 1.1 jruoho } // C154: Battery 0
6911 1.1 jruoho
6912 1.1 jruoho Device (IDX3)
6913 1.1 jruoho {
6914 1.1.1.3 christos Method (LCLB,, Serialized)
6915 1.1 jruoho { // LCLB control method: test Index(Local#) where Local# is buffer
6916 1.1 jruoho // Local0 is index counter
6917 1.1 jruoho // Local1 is buffer
6918 1.1 jruoho // Local2 receives BUFR[Local0] via Deref(Index(Local1...))
6919 1.1 jruoho // Local3 is Local1 or Local2 object type
6920 1.1 jruoho // Local4 is return error code
6921 1.1 jruoho
6922 1.1 jruoho Name (BUFR, Buffer () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
6923 1.1 jruoho
6924 1.1 jruoho // save PKG into Local1
6925 1.1 jruoho Store (BUFR, Local1)
6926 1.1 jruoho
6927 1.1 jruoho // save Local2 object type value into Local3
6928 1.1 jruoho Store (ObjectType (Local1), Local3)
6929 1.1 jruoho
6930 1.1 jruoho // validate Local1 is a Buffer
6931 1.1 jruoho If (LNotEqual (Local3, 3)) // Buffer type is 3
6932 1.1 jruoho { Return (0x9F) }
6933 1.1 jruoho
6934 1.1 jruoho
6935 1.1 jruoho Store (0, Local0)
6936 1.1 jruoho While (LLess (Local0, 5))
6937 1.1 jruoho { // While (Local0 < 5)
6938 1.1 jruoho // Local2 = Local1[Local0]
6939 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2)
6940 1.1 jruoho
6941 1.1 jruoho // save Local2 object type value into Local3
6942 1.1 jruoho Store (ObjectType (Local2), Local3)
6943 1.1 jruoho
6944 1.1 jruoho // validate Local2 is a Number
6945 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
6946 1.1 jruoho { Return (0x9E) }
6947 1.1 jruoho
6948 1.1 jruoho // validate Local1[Local0] value == Local0
6949 1.1 jruoho If (LNotEqual (Local0, Local2))
6950 1.1 jruoho { // Local0 != Local2 == PKG[Local0]
6951 1.1 jruoho // Local4 = 0x90 + loop index (Local0)
6952 1.1 jruoho Add (0x90, Local0, Local4)
6953 1.1 jruoho
6954 1.1 jruoho // return 0x90 + loop index
6955 1.1 jruoho Return (Local4)
6956 1.1 jruoho }
6957 1.1 jruoho
6958 1.1 jruoho Increment (Local0)
6959 1.1 jruoho } // While (Local0 < 5)
6960 1.1 jruoho
6961 1.1 jruoho Store ("DerefOf(Index(LocalBuffer,,)) PASS", Debug)
6962 1.1 jruoho
6963 1.1 jruoho Return (0) // Pass
6964 1.1 jruoho } // LCLB control method: test Index(Local#) where Local# is buffer
6965 1.1 jruoho
6966 1.1.1.3 christos Method (LCLP,, Serialized)
6967 1.1 jruoho { // LCLP control method: test Index(Local#) where Local# is package
6968 1.1 jruoho // Local0 is index counter
6969 1.1 jruoho // Local1 is package
6970 1.1 jruoho // Local2 receives PKG[Local0] via Deref(Index(Local1...))
6971 1.1 jruoho // Local3 is Local1 or Local2 object type
6972 1.1 jruoho // Local4 is return error code
6973 1.1 jruoho
6974 1.1 jruoho Name (PKG, Package () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
6975 1.1 jruoho
6976 1.1 jruoho // save PKG into Local1
6977 1.1 jruoho Store (PKG, Local1)
6978 1.1 jruoho
6979 1.1 jruoho // save Local2 object type value into Local3
6980 1.1 jruoho Store (ObjectType (Local1), Local3)
6981 1.1 jruoho
6982 1.1 jruoho // validate Local1 is a Package
6983 1.1 jruoho If (LNotEqual (Local3, 4)) // Package type is 4
6984 1.1 jruoho { Return (0x8F) }
6985 1.1 jruoho
6986 1.1 jruoho
6987 1.1 jruoho Store (0, Local0)
6988 1.1 jruoho While (LLess (Local0, 5))
6989 1.1 jruoho { // While (Local0 < 5)
6990 1.1 jruoho // Local2 = Local1[Local0]
6991 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2)
6992 1.1 jruoho
6993 1.1 jruoho // save Local2 object type value into Local3
6994 1.1 jruoho Store (ObjectType (Local2), Local3)
6995 1.1 jruoho
6996 1.1 jruoho // validate Local2 is a Number
6997 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
6998 1.1 jruoho { Return (0x8E) }
6999 1.1 jruoho
7000 1.1 jruoho // validate Local1[Local0] value == Local0
7001 1.1 jruoho If (LNotEqual (Local0, Local2))
7002 1.1 jruoho { // Local0 != Local2 == PKG[Local0]
7003 1.1 jruoho // Local4 = 0x80 + loop index (Local0)
7004 1.1 jruoho Add (0x80, Local0, Local4)
7005 1.1 jruoho
7006 1.1 jruoho // return 0x80 + loop index
7007 1.1 jruoho Return (Local4)
7008 1.1 jruoho }
7009 1.1 jruoho
7010 1.1 jruoho Increment (Local0)
7011 1.1 jruoho } // While (Local0 < 5)
7012 1.1 jruoho
7013 1.1 jruoho Store ("DerefOf(Index(LocalPackage,,)) PASS", Debug)
7014 1.1 jruoho
7015 1.1 jruoho Return (0) // Pass
7016 1.1 jruoho } // LCLP control method: test Index(Local#) where Local# is package
7017 1.1 jruoho
7018 1.1 jruoho Method (TEST)
7019 1.1 jruoho {
7020 1.1 jruoho
7021 1.1 jruoho Store ("++++++++ IndexOp3 Test", Debug)
7022 1.1 jruoho
7023 1.1 jruoho // store _BIF package return value into Local0
7024 1.1 jruoho Store (\_SB.C154._BIF, Local0)
7025 1.1 jruoho
7026 1.1 jruoho // save Local0 object type value into Local1
7027 1.1 jruoho Store (ObjectType (Local0), Local1)
7028 1.1 jruoho
7029 1.1 jruoho // validate Local0 is a Package
7030 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
7031 1.1 jruoho { // failure: did not return a Package (type 4)
7032 1.1 jruoho // if Local0 is a Number, it contains an error code
7033 1.1 jruoho If (LEqual (Local1, 1)) // Number type is 1
7034 1.1 jruoho { Return (Local0) } // return Local0 error code
7035 1.1 jruoho Else // Local0 is not a Number
7036 1.1 jruoho { Return (1) } // return default error code
7037 1.1 jruoho } // failure: did not return a Package (type 4)
7038 1.1 jruoho
7039 1.1 jruoho // save LCLB control method return value into Local2
7040 1.1 jruoho Store (LCLB, Local2)
7041 1.1 jruoho If (LNotEqual (Local2, 0))
7042 1.1 jruoho { Return (Local2) } // return failure code
7043 1.1 jruoho
7044 1.1 jruoho // save LCLP control method return value into Local2
7045 1.1 jruoho Store (LCLP, Local2)
7046 1.1 jruoho If (LNotEqual (Local2, 0))
7047 1.1 jruoho { Return (Local2) } // return failure code
7048 1.1 jruoho
7049 1.1 jruoho Return (0) // Pass
7050 1.1 jruoho } // TEST
7051 1.1 jruoho } // IDX3: Test device name
7052 1.1 jruoho } // _SB system bus
7053 1.1 jruoho
7054 1.1 jruoho //
7055 1.1 jruoho // MTL developed test to exercise Indexes into buffers
7056 1.1 jruoho //
7057 1.1 jruoho Device(IDX7)
7058 1.1 jruoho {
7059 1.1 jruoho
7060 1.1 jruoho Name (PKG4, Package() {
7061 1.1 jruoho 0x2,
7062 1.1 jruoho "A short string",
7063 1.1 jruoho Buffer() {0xA, 0xB, 0xC, 0xD},
7064 1.1 jruoho 0x1234,
7065 1.1 jruoho Package() {IDX7, 0x3}
7066 1.1 jruoho })
7067 1.1 jruoho
7068 1.1 jruoho //
7069 1.1 jruoho // Generic Test method
7070 1.1 jruoho //
7071 1.1 jruoho // This test returns 0xE (14) - ObjectType = Buffer Field
7072 1.1.1.3 christos Method(TST1,, Serialized)
7073 1.1 jruoho {
7074 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7075 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7076 1.1 jruoho
7077 1.1 jruoho // verify object type returned by Index(Buffer,Element,)
7078 1.1 jruoho Store (Index (DEST, 2, ), Local1)
7079 1.1 jruoho Store (ObjectType (Local1), Local2)
7080 1.1 jruoho If (LEqual(Local2, 14))
7081 1.1 jruoho {
7082 1.1 jruoho Return(0)
7083 1.1 jruoho }
7084 1.1 jruoho Else
7085 1.1 jruoho {
7086 1.1 jruoho Return(0x1)
7087 1.1 jruoho }
7088 1.1 jruoho
7089 1.1 jruoho }
7090 1.1 jruoho
7091 1.1.1.3 christos Method(TST2,, Serialized)
7092 1.1 jruoho {
7093 1.1 jruoho Name (BUF0, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
7094 1.1 jruoho Store(0x55, Index(BUF0, 2))
7095 1.1 jruoho Store(DerefOf(Index(BUF0, 2)), Local0)
7096 1.1 jruoho If (LEqual(Local0, 0x55))
7097 1.1 jruoho {
7098 1.1 jruoho Return(0)
7099 1.1 jruoho }
7100 1.1 jruoho Else
7101 1.1 jruoho {
7102 1.1 jruoho Return(0x2)
7103 1.1 jruoho }
7104 1.1 jruoho
7105 1.1 jruoho
7106 1.1 jruoho }
7107 1.1 jruoho
7108 1.1.1.3 christos Method(TST3,, Serialized)
7109 1.1 jruoho {
7110 1.1 jruoho Name (BUF1, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
7111 1.1 jruoho Store(Index(BUF1, 1), Local0)
7112 1.1 jruoho Store(DerefOf(Local0), Local1)
7113 1.1 jruoho If (LEqual(Local1, 0x2))
7114 1.1 jruoho {
7115 1.1 jruoho Return(0)
7116 1.1 jruoho }
7117 1.1 jruoho Else
7118 1.1 jruoho {
7119 1.1 jruoho Return(0x3)
7120 1.1 jruoho }
7121 1.1 jruoho
7122 1.1 jruoho }
7123 1.1 jruoho
7124 1.1 jruoho Method(TST4)
7125 1.1 jruoho {
7126 1.1 jruoho // Index (PKG4, 0) is a Number
7127 1.1 jruoho Store (Index (PKG4, 0), Local0)
7128 1.1 jruoho Store (ObjectType(Local0), Local1)
7129 1.1 jruoho If (LEqual(Local1, 0x1))
7130 1.1 jruoho {
7131 1.1 jruoho Return(0)
7132 1.1 jruoho }
7133 1.1 jruoho Else
7134 1.1 jruoho {
7135 1.1 jruoho Return(0x4)
7136 1.1 jruoho }
7137 1.1 jruoho
7138 1.1 jruoho }
7139 1.1 jruoho
7140 1.1 jruoho Method(TST5)
7141 1.1 jruoho {
7142 1.1 jruoho // Index (PKG4, 1) is a String
7143 1.1 jruoho Store (Index (PKG4, 1), Local0)
7144 1.1 jruoho Store (ObjectType(Local0), Local1)
7145 1.1 jruoho If (LEqual(Local1, 0x2))
7146 1.1 jruoho {
7147 1.1 jruoho Return(0)
7148 1.1 jruoho }
7149 1.1 jruoho Else
7150 1.1 jruoho {
7151 1.1 jruoho Return(0x5)
7152 1.1 jruoho }
7153 1.1 jruoho
7154 1.1 jruoho }
7155 1.1 jruoho
7156 1.1 jruoho Method(TST6)
7157 1.1 jruoho {
7158 1.1 jruoho // Index (PKG4, 2) is a Buffer
7159 1.1 jruoho Store (Index (PKG4, 2), Local0)
7160 1.1 jruoho Store (ObjectType(Local0), Local1)
7161 1.1 jruoho If (LEqual(Local1, 0x3))
7162 1.1 jruoho {
7163 1.1 jruoho Return(0)
7164 1.1 jruoho }
7165 1.1 jruoho Else
7166 1.1 jruoho {
7167 1.1 jruoho Return(0x6)
7168 1.1 jruoho }
7169 1.1 jruoho
7170 1.1 jruoho }
7171 1.1 jruoho
7172 1.1 jruoho Method(TST7)
7173 1.1 jruoho {
7174 1.1 jruoho // Index (PKG4, 3) is a Number
7175 1.1 jruoho Store (Index (PKG4, 3), Local0)
7176 1.1 jruoho Store (ObjectType(Local0), Local1)
7177 1.1 jruoho If (LEqual(Local1, 0x1))
7178 1.1 jruoho {
7179 1.1 jruoho Return(0)
7180 1.1 jruoho }
7181 1.1 jruoho Else
7182 1.1 jruoho {
7183 1.1 jruoho Return(0x7)
7184 1.1 jruoho }
7185 1.1 jruoho
7186 1.1 jruoho }
7187 1.1 jruoho
7188 1.1 jruoho Method(TST8)
7189 1.1 jruoho {
7190 1.1 jruoho // Index (PKG4, 4) is a Package
7191 1.1 jruoho Store (Index (PKG4, 4), Local0)
7192 1.1 jruoho Store (ObjectType(Local0), Local1)
7193 1.1 jruoho If (LEqual(Local1, 0x4))
7194 1.1 jruoho {
7195 1.1 jruoho Return(0)
7196 1.1 jruoho }
7197 1.1 jruoho Else
7198 1.1 jruoho {
7199 1.1 jruoho Return(0x8)
7200 1.1 jruoho }
7201 1.1 jruoho
7202 1.1 jruoho }
7203 1.1 jruoho
7204 1.1 jruoho Method(TST9)
7205 1.1 jruoho {
7206 1.1 jruoho // DerefOf (Index (PKG4, 0)) is a Number
7207 1.1 jruoho Store (DerefOf (Index (PKG4, 0)), Local0)
7208 1.1 jruoho If (LEqual(Local0, 0x2))
7209 1.1 jruoho {
7210 1.1 jruoho Return(0)
7211 1.1 jruoho }
7212 1.1 jruoho Else
7213 1.1 jruoho {
7214 1.1 jruoho Return(0x9)
7215 1.1 jruoho }
7216 1.1 jruoho
7217 1.1 jruoho }
7218 1.1 jruoho
7219 1.1 jruoho Method(TSTA)
7220 1.1 jruoho {
7221 1.1 jruoho // DerefOf (Index (PKG4, 1)) is a String
7222 1.1 jruoho Store (DerefOf (Index (PKG4, 1)), Local0)
7223 1.1 jruoho Store (SizeOf(Local0), Local1)
7224 1.1 jruoho If (LEqual(Local1, 0xE))
7225 1.1 jruoho {
7226 1.1 jruoho Return(0)
7227 1.1 jruoho }
7228 1.1 jruoho Else
7229 1.1 jruoho {
7230 1.1 jruoho Return(0xA)
7231 1.1 jruoho }
7232 1.1 jruoho
7233 1.1 jruoho }
7234 1.1 jruoho
7235 1.1 jruoho Method(TSTB)
7236 1.1 jruoho {
7237 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer
7238 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0)
7239 1.1 jruoho Store (SizeOf(Local0), Local1)
7240 1.1 jruoho If (LEqual(Local1, 0x4))
7241 1.1 jruoho {
7242 1.1 jruoho Return(0)
7243 1.1 jruoho }
7244 1.1 jruoho Else
7245 1.1 jruoho {
7246 1.1 jruoho Return(0xB)
7247 1.1 jruoho }
7248 1.1 jruoho
7249 1.1 jruoho }
7250 1.1 jruoho
7251 1.1 jruoho Method(TSTC)
7252 1.1 jruoho {
7253 1.1 jruoho // DerefOf (Index (PKG4, 3)) is a Number
7254 1.1 jruoho Store (DerefOf (Index (PKG4, 3)), Local0)
7255 1.1 jruoho If (LEqual(Local0, 0x1234))
7256 1.1 jruoho {
7257 1.1 jruoho Return(0)
7258 1.1 jruoho }
7259 1.1 jruoho Else
7260 1.1 jruoho {
7261 1.1 jruoho Return(0xC)
7262 1.1 jruoho }
7263 1.1 jruoho
7264 1.1 jruoho }
7265 1.1 jruoho
7266 1.1 jruoho Method(TSTD)
7267 1.1 jruoho {
7268 1.1 jruoho // DerefOf (Index (PKG4, 4)) is a Package
7269 1.1 jruoho Store (DerefOf (Index (PKG4, 4)), Local0)
7270 1.1 jruoho Store (SizeOf(Local0), Local1)
7271 1.1 jruoho If (LEqual(Local1, 0x2))
7272 1.1 jruoho {
7273 1.1 jruoho Return(0)
7274 1.1 jruoho }
7275 1.1 jruoho Else
7276 1.1 jruoho {
7277 1.1 jruoho Return(0xD)
7278 1.1 jruoho }
7279 1.1 jruoho
7280 1.1 jruoho }
7281 1.1 jruoho
7282 1.1 jruoho Method(TSTE)
7283 1.1 jruoho {
7284 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer
7285 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0)
7286 1.1 jruoho // DerefOf (Index (Local0, 1)) is a Number
7287 1.1 jruoho Store (DerefOf (Index (Local0, 1)), Local1)
7288 1.1 jruoho If (LEqual(Local1, 0xB))
7289 1.1 jruoho {
7290 1.1 jruoho Return(0)
7291 1.1 jruoho }
7292 1.1 jruoho Else
7293 1.1 jruoho {
7294 1.1 jruoho Return(0xE)
7295 1.1 jruoho }
7296 1.1 jruoho
7297 1.1 jruoho }
7298 1.1 jruoho
7299 1.1.1.3 christos Method (TSTF,, Serialized)
7300 1.1 jruoho {
7301 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters
7302 1.1 jruoho Store ("Short Buffer", SRCB)
7303 1.1 jruoho
7304 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7305 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7306 1.1 jruoho
7307 1.1 jruoho // overwrite DEST contents, starting at buffer position 2
7308 1.1 jruoho Store (SRCB, Index (DEST, 2))
7309 1.1 jruoho
7310 1.1 jruoho //
7311 1.1 jruoho // The DEST buffer element should be replaced with the last element of
7312 1.1 jruoho // the SRCB element (i.e. 's'->'r')
7313 1.1 jruoho Store (DerefOf (Index (DEST, 2)), Local0)
7314 1.1 jruoho
7315 1.1 jruoho If (LNotEqual (Local0, 0x72)) // 'r'
7316 1.1 jruoho {
7317 1.1 jruoho // DEST element does not match the value from SRCB
7318 1.1 jruoho Return(Or(Local0, 0x1000))
7319 1.1 jruoho }
7320 1.1 jruoho
7321 1.1 jruoho Return(0)
7322 1.1 jruoho }
7323 1.1 jruoho
7324 1.1.1.3 christos Method (TSTG,, Serialized)
7325 1.1 jruoho {
7326 1.1 jruoho
7327 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters
7328 1.1 jruoho Store ("Short Buffer", SRCB)
7329 1.1 jruoho
7330 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7331 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7332 1.1 jruoho
7333 1.1 jruoho // overwrite DEST contents, starting at buffer position 2
7334 1.1 jruoho Store (SRCB, Index (DEST, 2))
7335 1.1 jruoho
7336 1.1 jruoho //
7337 1.1 jruoho // The next element of DEST should be unchanged
7338 1.1 jruoho //
7339 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0)
7340 1.1 jruoho
7341 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
7342 1.1 jruoho {
7343 1.1 jruoho // DEST has been changed
7344 1.1 jruoho Return(Or(Local0, 0x2000))
7345 1.1 jruoho }
7346 1.1 jruoho
7347 1.1 jruoho //
7348 1.1 jruoho // The next element of DEST should be unchanged
7349 1.1 jruoho //
7350 1.1 jruoho Store (DerefOf (Index (DEST, 4)), Local0)
7351 1.1 jruoho
7352 1.1 jruoho If (LNotEqual (Local0, 0x69)) // 'i'
7353 1.1 jruoho {
7354 1.1 jruoho // DEST has been changed
7355 1.1 jruoho Return(Or(Local0, 0x2100))
7356 1.1 jruoho }
7357 1.1 jruoho
7358 1.1 jruoho //
7359 1.1 jruoho // The next element of DEST should be unchanged
7360 1.1 jruoho //
7361 1.1 jruoho Store (DerefOf (Index (DEST, 5)), Local0)
7362 1.1 jruoho
7363 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n'
7364 1.1 jruoho {
7365 1.1 jruoho // DEST has been changed
7366 1.1 jruoho Return(Or(Local0, 0x2200))
7367 1.1 jruoho }
7368 1.1 jruoho
7369 1.1 jruoho //
7370 1.1 jruoho // The next element of DEST should be unchanged
7371 1.1 jruoho //
7372 1.1 jruoho Store (DerefOf (Index (DEST, 6)), Local0)
7373 1.1 jruoho
7374 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a'
7375 1.1 jruoho {
7376 1.1 jruoho // DEST has been changed
7377 1.1 jruoho Return(Or(Local0, 0x2300))
7378 1.1 jruoho }
7379 1.1 jruoho
7380 1.1 jruoho //
7381 1.1 jruoho // The next element of DEST should be unchanged
7382 1.1 jruoho //
7383 1.1 jruoho Store (DerefOf (Index (DEST, 7)), Local0)
7384 1.1 jruoho
7385 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
7386 1.1 jruoho {
7387 1.1 jruoho // DEST has been changed
7388 1.1 jruoho Return(Or(Local0, 0x2400))
7389 1.1 jruoho }
7390 1.1 jruoho
7391 1.1 jruoho //
7392 1.1 jruoho // Verify DEST elements beyond end of SRCB buffer copy
7393 1.1 jruoho // have not been changed
7394 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0)
7395 1.1 jruoho
7396 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7397 1.1 jruoho {
7398 1.1 jruoho // DEST has been changed
7399 1.1 jruoho Return(Or(Local0, 0x2400))
7400 1.1 jruoho }
7401 1.1 jruoho
7402 1.1 jruoho Return(0)
7403 1.1 jruoho }
7404 1.1 jruoho
7405 1.1 jruoho //
7406 1.1 jruoho // This test shows that MS ACPI.SYS stores only the lower 8-bits of a 32-bit
7407 1.1 jruoho // number into the index'ed buffer
7408 1.1 jruoho //
7409 1.1.1.3 christos Method (TSTH,, Serialized)
7410 1.1 jruoho {
7411 1.1 jruoho // Create a Destination Buffer
7412 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7413 1.1 jruoho
7414 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7415 1.1 jruoho Store (0x12345678, Index(DBUF, 2))
7416 1.1 jruoho
7417 1.1 jruoho // Check the results
7418 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7419 1.1 jruoho If (LNotEqual (Local0, 0x78)) // 0x78
7420 1.1 jruoho {
7421 1.1 jruoho Return(Or(Local0, 0x3000))
7422 1.1 jruoho }
7423 1.1 jruoho
7424 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7425 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7426 1.1 jruoho {
7427 1.1 jruoho Return(Or(Local0, 0x3100))
7428 1.1 jruoho }
7429 1.1 jruoho
7430 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7431 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7432 1.1 jruoho {
7433 1.1 jruoho Return(Or(Local0, 0x3200))
7434 1.1 jruoho }
7435 1.1 jruoho
7436 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7437 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7438 1.1 jruoho {
7439 1.1 jruoho Return(Or(Local0, 0x3300))
7440 1.1 jruoho }
7441 1.1 jruoho
7442 1.1 jruoho Return(0)
7443 1.1 jruoho }
7444 1.1 jruoho
7445 1.1.1.3 christos Method (TSTI,, Serialized)
7446 1.1 jruoho {
7447 1.1 jruoho // Create a Destination Buffer
7448 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7449 1.1 jruoho
7450 1.1 jruoho // Store a String into an index of the buffer
7451 1.1 jruoho Store ("ABCDEFGH", Index(DBUF, 2))
7452 1.1 jruoho
7453 1.1 jruoho // Check the results
7454 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7455 1.1 jruoho If (LNotEqual (Local0, 0x48)) // 'H'
7456 1.1 jruoho {
7457 1.1 jruoho Return(Or(Local0, 0x4000))
7458 1.1 jruoho }
7459 1.1 jruoho
7460 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7461 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7462 1.1 jruoho {
7463 1.1 jruoho Return(Or(Local0, 0x4100))
7464 1.1 jruoho }
7465 1.1 jruoho
7466 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7467 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7468 1.1 jruoho {
7469 1.1 jruoho Return(Or(Local0, 0x4200))
7470 1.1 jruoho }
7471 1.1 jruoho
7472 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7473 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7474 1.1 jruoho {
7475 1.1 jruoho Return(Or(Local0, 0x4300))
7476 1.1 jruoho }
7477 1.1 jruoho
7478 1.1 jruoho Return(0)
7479 1.1 jruoho }
7480 1.1 jruoho
7481 1.1.1.3 christos Method(TSTJ,, Serialized)
7482 1.1 jruoho {
7483 1.1 jruoho // Create a Destination Buffer
7484 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7485 1.1 jruoho
7486 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7487 1.1 jruoho Store (0x1234, Index(DBUF, 2))
7488 1.1 jruoho
7489 1.1 jruoho // Check the results
7490 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7491 1.1 jruoho If (LNotEqual (Local0, 0x34)) // 0x34
7492 1.1 jruoho {
7493 1.1 jruoho Return(Or(Local0, 0x3000))
7494 1.1 jruoho }
7495 1.1 jruoho
7496 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7497 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7498 1.1 jruoho {
7499 1.1 jruoho Return(Or(Local0, 0x3100))
7500 1.1 jruoho }
7501 1.1 jruoho
7502 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7503 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7504 1.1 jruoho {
7505 1.1 jruoho Return(Or(Local0, 0x3200))
7506 1.1 jruoho }
7507 1.1 jruoho
7508 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7509 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7510 1.1 jruoho {
7511 1.1 jruoho Return(Or(Local0, 0x3300))
7512 1.1 jruoho }
7513 1.1 jruoho
7514 1.1 jruoho Return(0)
7515 1.1 jruoho }
7516 1.1 jruoho
7517 1.1.1.3 christos Method(TSTK,, Serialized)
7518 1.1 jruoho {
7519 1.1 jruoho // Create a Destination Buffer
7520 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7521 1.1 jruoho
7522 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7523 1.1 jruoho Store (0x123456, Index(DBUF, 2))
7524 1.1 jruoho
7525 1.1 jruoho // Check the results
7526 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7527 1.1 jruoho If (LNotEqual (Local0, 0x56)) // 0x56
7528 1.1 jruoho {
7529 1.1 jruoho Return(Or(Local0, 0x3000))
7530 1.1 jruoho }
7531 1.1 jruoho
7532 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7533 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7534 1.1 jruoho {
7535 1.1 jruoho Return(Or(Local0, 0x3100))
7536 1.1 jruoho }
7537 1.1 jruoho
7538 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7539 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7540 1.1 jruoho {
7541 1.1 jruoho Return(Or(Local0, 0x3200))
7542 1.1 jruoho }
7543 1.1 jruoho
7544 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7545 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7546 1.1 jruoho {
7547 1.1 jruoho Return(Or(Local0, 0x3300))
7548 1.1 jruoho }
7549 1.1 jruoho
7550 1.1 jruoho Return(0)
7551 1.1 jruoho }
7552 1.1 jruoho
7553 1.1.1.3 christos Method(TSTL,, Serialized)
7554 1.1 jruoho {
7555 1.1 jruoho // Create a Destination Buffer
7556 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7557 1.1 jruoho
7558 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7559 1.1 jruoho Store (0x12, Index(DBUF, 2))
7560 1.1 jruoho
7561 1.1 jruoho // Check the results
7562 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7563 1.1 jruoho If (LNotEqual (Local0, 0x12)) // 0x12
7564 1.1 jruoho {
7565 1.1 jruoho Return(Or(Local0, 0x3000))
7566 1.1 jruoho }
7567 1.1 jruoho
7568 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7569 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7570 1.1 jruoho {
7571 1.1 jruoho Return(Or(Local0, 0x3100))
7572 1.1 jruoho }
7573 1.1 jruoho
7574 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7575 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7576 1.1 jruoho {
7577 1.1 jruoho Return(Or(Local0, 0x3200))
7578 1.1 jruoho }
7579 1.1 jruoho
7580 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7581 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7582 1.1 jruoho {
7583 1.1 jruoho Return(Or(Local0, 0x3300))
7584 1.1 jruoho }
7585 1.1 jruoho
7586 1.1 jruoho Return(0)
7587 1.1 jruoho }
7588 1.1 jruoho
7589 1.1 jruoho Method(TEST)
7590 1.1 jruoho {
7591 1.1 jruoho Store ("++++++++ IndexOp7 Test", Debug)
7592 1.1 jruoho
7593 1.1 jruoho Store(TST1(), Local0)
7594 1.1 jruoho if (LGreater (Local0, 0))
7595 1.1 jruoho {
7596 1.1 jruoho Return(Local0)
7597 1.1 jruoho }
7598 1.1 jruoho
7599 1.1 jruoho Store(TST2(), Local0)
7600 1.1 jruoho if (LGreater (Local0, 0))
7601 1.1 jruoho {
7602 1.1 jruoho Return(Local0)
7603 1.1 jruoho }
7604 1.1 jruoho
7605 1.1 jruoho Store(TST3(), Local0)
7606 1.1 jruoho if (LGreater (Local0, 0))
7607 1.1 jruoho {
7608 1.1 jruoho Return(Local0)
7609 1.1 jruoho }
7610 1.1 jruoho
7611 1.1 jruoho Store(TST4(), Local0)
7612 1.1 jruoho if (LGreater (Local0, 0))
7613 1.1 jruoho {
7614 1.1 jruoho Return(Local0)
7615 1.1 jruoho }
7616 1.1 jruoho
7617 1.1 jruoho Store(TST5(), Local0)
7618 1.1 jruoho if (LGreater (Local0, 0))
7619 1.1 jruoho {
7620 1.1 jruoho Return(Local0)
7621 1.1 jruoho }
7622 1.1 jruoho
7623 1.1 jruoho Store(TST6(), Local0)
7624 1.1 jruoho if (LGreater (Local0, 0))
7625 1.1 jruoho {
7626 1.1 jruoho Return(Local0)
7627 1.1 jruoho }
7628 1.1 jruoho
7629 1.1 jruoho Store(TST7(), Local0)
7630 1.1 jruoho if (LGreater (Local0, 0))
7631 1.1 jruoho {
7632 1.1 jruoho Return(Local0)
7633 1.1 jruoho }
7634 1.1 jruoho
7635 1.1 jruoho Store(TST8(), Local0)
7636 1.1 jruoho if (LGreater (Local0, 0))
7637 1.1 jruoho {
7638 1.1 jruoho Return(Local0)
7639 1.1 jruoho }
7640 1.1 jruoho
7641 1.1 jruoho Store(TST9(), Local0)
7642 1.1 jruoho if (LGreater (Local0, 0))
7643 1.1 jruoho {
7644 1.1 jruoho Return(Local0)
7645 1.1 jruoho }
7646 1.1 jruoho
7647 1.1 jruoho Store(TSTA(), Local0)
7648 1.1 jruoho if (LGreater (Local0, 0))
7649 1.1 jruoho {
7650 1.1 jruoho Return(Local0)
7651 1.1 jruoho }
7652 1.1 jruoho
7653 1.1 jruoho Store(TSTB(), Local0)
7654 1.1 jruoho if (LGreater (Local0, 0))
7655 1.1 jruoho {
7656 1.1 jruoho Return(Local0)
7657 1.1 jruoho }
7658 1.1 jruoho
7659 1.1 jruoho Store(TSTC(), Local0)
7660 1.1 jruoho if (LGreater (Local0, 0))
7661 1.1 jruoho {
7662 1.1 jruoho Return(Local0)
7663 1.1 jruoho }
7664 1.1 jruoho
7665 1.1 jruoho Store(TSTD(), Local0)
7666 1.1 jruoho if (LGreater (Local0, 0))
7667 1.1 jruoho {
7668 1.1 jruoho Return(Local0)
7669 1.1 jruoho }
7670 1.1 jruoho
7671 1.1 jruoho Store(TSTE(), Local0)
7672 1.1 jruoho if (LGreater (Local0, 0))
7673 1.1 jruoho {
7674 1.1 jruoho Return(Local0)
7675 1.1 jruoho }
7676 1.1 jruoho
7677 1.1 jruoho /* No longer ACPI compliant */
7678 1.1 jruoho /*
7679 1.1 jruoho Store(TSTF(), Local0)
7680 1.1 jruoho if (LGreater (Local0, 0))
7681 1.1 jruoho {
7682 1.1 jruoho Return(Local0)
7683 1.1 jruoho }
7684 1.1 jruoho */
7685 1.1 jruoho
7686 1.1 jruoho Store(TSTG(), Local0)
7687 1.1 jruoho if (LGreater (Local0, 0))
7688 1.1 jruoho {
7689 1.1 jruoho Return(Local0)
7690 1.1 jruoho }
7691 1.1 jruoho
7692 1.1 jruoho Store(TSTH(), Local0)
7693 1.1 jruoho if (LGreater (Local0, 0))
7694 1.1 jruoho {
7695 1.1 jruoho Return(Local0)
7696 1.1 jruoho }
7697 1.1 jruoho
7698 1.1 jruoho /* No longer ACPI compliant */
7699 1.1 jruoho /*
7700 1.1 jruoho Store(TSTI(), Local0)
7701 1.1 jruoho if (LGreater (Local0, 0))
7702 1.1 jruoho {
7703 1.1 jruoho Return(Local0)
7704 1.1 jruoho }
7705 1.1 jruoho */
7706 1.1 jruoho Store(TSTJ(), Local0)
7707 1.1 jruoho if (LGreater (Local0, 0))
7708 1.1 jruoho {
7709 1.1 jruoho Return(Local0)
7710 1.1 jruoho }
7711 1.1 jruoho
7712 1.1 jruoho Store(TSTK(), Local0)
7713 1.1 jruoho if (LGreater (Local0, 0))
7714 1.1 jruoho {
7715 1.1 jruoho Return(Local0)
7716 1.1 jruoho }
7717 1.1 jruoho
7718 1.1 jruoho Store(TSTL(), Local0)
7719 1.1 jruoho if (LGreater (Local0, 0))
7720 1.1 jruoho {
7721 1.1 jruoho Return(Local0)
7722 1.1 jruoho }
7723 1.1 jruoho
7724 1.1 jruoho Return(Local0)
7725 1.1 jruoho
7726 1.1 jruoho }
7727 1.1 jruoho
7728 1.1 jruoho } // Device(IDX7)
7729 1.1 jruoho
7730 1.1 jruoho //
7731 1.1 jruoho // test MatchOp.asl
7732 1.1 jruoho //
7733 1.1 jruoho // MatchOp test cases that utilize nested DerefOf(Index(...)) to validate
7734 1.1 jruoho // MatchOp, DerefOfOp, and IndexOp of nested packages.
7735 1.1 jruoho //
7736 1.1 jruoho Device (MTCH)
7737 1.1 jruoho {
7738 1.1 jruoho
7739 1.1.1.3 christos Method (TEST,, Serialized)
7740 1.1 jruoho {
7741 1.1 jruoho Store ("++++++++ MatchOp Test", Debug)
7742 1.1 jruoho
7743 1.1 jruoho Name (TIM0, Package ()
7744 1.1 jruoho {
7745 1.1 jruoho Package () {0x78, 0xB4, 0xF0, 0x0384},
7746 1.1 jruoho Package () {0x23, 0x21, 0x10, 0},
7747 1.1 jruoho Package () {0x0B, 9, 4, 0},
7748 1.1 jruoho Package () {0x70, 0x49, 0x36, 0x27, 0x19},
7749 1.1 jruoho Package () {0, 1, 2, 1, 2},
7750 1.1 jruoho Package () {0, 0, 0, 1, 1},
7751 1.1 jruoho Package () {4, 3, 2, 0},
7752 1.1 jruoho Package () {2, 1, 0, 0}
7753 1.1 jruoho }) // TIM0
7754 1.1 jruoho
7755 1.1 jruoho Name (TMD0, Buffer (20) {0xFF, 0xFF, 0xFF, 0xFF })
7756 1.1 jruoho CreateDWordField (TMD0, 0, PIO0) // 0xFFFFFFFF
7757 1.1 jruoho CreateDWordField (TMD0, 4, DMA0)
7758 1.1 jruoho CreateDWordField (TMD0, 8, PIO1)
7759 1.1 jruoho CreateDWordField (TMD0, 12, DMA1)
7760 1.1 jruoho CreateDWordField (TMD0, 16, CHNF)
7761 1.1 jruoho
7762 1.1 jruoho
7763 1.1 jruoho // validate PIO0 value
7764 1.1 jruoho Store (PIO0, Local3)
7765 1.1 jruoho
7766 1.1 jruoho // save Local3 object type value into Local2
7767 1.1 jruoho Store (ObjectType (Local3), Local2)
7768 1.1 jruoho
7769 1.1 jruoho // validate Local3 is a Number
7770 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7771 1.1 jruoho { Return (2) } // failure
7772 1.1 jruoho
7773 1.1 jruoho // validate Local3 Number value
7774 1.1 jruoho If (LNotEqual (Local3, 0xFFFFFFFF)) // Number value 0xFFFFFFFF
7775 1.1 jruoho { Return (3) } // failure
7776 1.1 jruoho
7777 1.1 jruoho Store ("DWordField PASS", Debug)
7778 1.1 jruoho
7779 1.1 jruoho
7780 1.1 jruoho Store (0, Local5)
7781 1.1 jruoho Store (Match (DerefOf (Index (TIM0, 1, )), MLE, Local5, MTR, 0, 0), Local6)
7782 1.1 jruoho
7783 1.1 jruoho // save Local6 object type value into Local2
7784 1.1 jruoho Store (ObjectType (Local6), Local2)
7785 1.1 jruoho
7786 1.1 jruoho // validate Local6 is a Number
7787 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7788 1.1 jruoho { Return (4) } // failure
7789 1.1 jruoho
7790 1.1 jruoho Store ("Match(DerefOf(Index(TIM0,1)),... PASS", Debug)
7791 1.1 jruoho
7792 1.1 jruoho
7793 1.1 jruoho // validate following produces a nested package to validate
7794 1.1 jruoho // that MatchOp did not corrupt SearchPackage (TIM0)
7795 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7796 1.1 jruoho
7797 1.1 jruoho // save Local4 object type value into Local2
7798 1.1 jruoho Store (ObjectType (Local4), Local2)
7799 1.1 jruoho
7800 1.1 jruoho // validate Local4 is a Package
7801 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7802 1.1 jruoho { Return (5) } // failure
7803 1.1 jruoho
7804 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS", Debug)
7805 1.1 jruoho
7806 1.1 jruoho
7807 1.1 jruoho And (Match (DerefOf (Index (TIM0, 0, )), MGE, PIO0, MTR, 0, 0), 3, Local0)
7808 1.1 jruoho
7809 1.1 jruoho // save Local0 object type value into Local2
7810 1.1 jruoho Store (ObjectType (Local0), Local2)
7811 1.1 jruoho
7812 1.1 jruoho // validate Local0 is a Number
7813 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7814 1.1 jruoho { Return (6) } // failure
7815 1.1 jruoho
7816 1.1 jruoho // validate Local0 Number value
7817 1.1 jruoho If (LNotEqual (Local0, 3)) // Number value 3
7818 1.1 jruoho { Return (7) } // failure
7819 1.1 jruoho
7820 1.1 jruoho Store ("And(Match(DerefOf(Index(TIM0,0)),... PASS", Debug)
7821 1.1 jruoho
7822 1.1 jruoho
7823 1.1 jruoho // again, validate following produces a nested package
7824 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7825 1.1 jruoho
7826 1.1 jruoho // save Local4 object type value into Local2
7827 1.1 jruoho Store (ObjectType (Local4), Local2)
7828 1.1 jruoho
7829 1.1 jruoho // validate Local4 is a Package
7830 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7831 1.1 jruoho { Return (8) } // failure
7832 1.1 jruoho
7833 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7834 1.1 jruoho
7835 1.1 jruoho
7836 1.1 jruoho // again, validate following produces a nested package
7837 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7838 1.1 jruoho
7839 1.1 jruoho // save Local4 object type value into Local2
7840 1.1 jruoho Store (ObjectType (Local4), Local2)
7841 1.1 jruoho
7842 1.1 jruoho // validate Local4 is a Package
7843 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7844 1.1 jruoho { Return (9) } // failure
7845 1.1 jruoho
7846 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7847 1.1 jruoho
7848 1.1 jruoho
7849 1.1 jruoho // test nested DerefOf(Index) operators
7850 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1)
7851 1.1 jruoho
7852 1.1 jruoho // save Local1 object type value into Local2
7853 1.1 jruoho Store (ObjectType (Local1), Local2)
7854 1.1 jruoho
7855 1.1 jruoho // validate Local1 is a Number
7856 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7857 1.1 jruoho { Return (10) } // failure
7858 1.1 jruoho
7859 1.1 jruoho // zero indicates pass, non-zero is an error code
7860 1.1 jruoho If (LNotEqual (Local1, 0))
7861 1.1 jruoho { Return (11) } // failure
7862 1.1 jruoho
7863 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS", Debug)
7864 1.1 jruoho
7865 1.1 jruoho
7866 1.1 jruoho // again, validate following produces a nested package
7867 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7868 1.1 jruoho
7869 1.1 jruoho // save Local4 object type value into Local2
7870 1.1 jruoho Store (ObjectType (Local4), Local2)
7871 1.1 jruoho
7872 1.1 jruoho // validate Local4 is a Package
7873 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7874 1.1 jruoho { Return (12) } // failure
7875 1.1 jruoho
7876 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7877 1.1 jruoho
7878 1.1 jruoho
7879 1.1 jruoho // retest nested DerefOf(Index) operators
7880 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1)
7881 1.1 jruoho
7882 1.1 jruoho // save Local1 object type value into Local2
7883 1.1 jruoho Store (ObjectType (Local1), Local2)
7884 1.1 jruoho
7885 1.1 jruoho // validate Local1 is a Number
7886 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7887 1.1 jruoho { Return (13) } // failure
7888 1.1 jruoho
7889 1.1 jruoho // zero indicates pass, non-zero is an error code
7890 1.1 jruoho If (LNotEqual (Local1, 0))
7891 1.1 jruoho { Return (14) } // failure
7892 1.1 jruoho
7893 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS again", Debug)
7894 1.1 jruoho
7895 1.1 jruoho
7896 1.1 jruoho // again, validate following produces a nested package
7897 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7898 1.1 jruoho
7899 1.1 jruoho // save Local4 object type value into Local2
7900 1.1 jruoho Store (ObjectType (Local4), Local2)
7901 1.1 jruoho
7902 1.1 jruoho // validate Local4 is a Package
7903 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7904 1.1 jruoho { Return (15) } // failure
7905 1.1 jruoho
7906 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7907 1.1 jruoho
7908 1.1 jruoho
7909 1.1 jruoho Return (0) // pass
7910 1.1 jruoho } // TEST
7911 1.1 jruoho } // MTCH
7912 1.1 jruoho
7913 1.1 jruoho //
7914 1.1 jruoho // test WhileBrk.asl
7915 1.1 jruoho //
7916 1.1 jruoho // This code tests the Break term and While term
7917 1.1 jruoho //
7918 1.1 jruoho // Syntax of Break term
7919 1.1 jruoho // BreakTerm := Break
7920 1.1 jruoho // The break operation causes the current package execution to complete.
7921 1.1 jruoho //
7922 1.1 jruoho // Syntax of While Term
7923 1.1 jruoho // WhileTerm := While(
7924 1.1 jruoho // Predicate //TermArg=>Integer
7925 1.1 jruoho // ) {TermList}
7926 1.1 jruoho // Predicate is evaluated as an integer.
7927 1.1 jruoho // If the integer is non-zero, the list of terms in TermList is executed.
7928 1.1 jruoho // The operation repeats until the Predicate evaluates to zero.
7929 1.1 jruoho //
7930 1.1 jruoho // MTL NOTE: This test has been modified to reflect ACPI 2.0 break
7931 1.1 jruoho // NOTE: This test, when run under the MS ACPI.SYS grinds the system to
7932 1.1 jruoho // a halt.
7933 1.1 jruoho //
7934 1.1 jruoho Device (WHLB)
7935 1.1 jruoho {
7936 1.1 jruoho Name (CNT0, 0)
7937 1.1 jruoho Name (CNT1, 0)
7938 1.1 jruoho
7939 1.1 jruoho Method (TEST)
7940 1.1 jruoho {
7941 1.1 jruoho // Check Break statement nested in If nested in While nested in
7942 1.1 jruoho // While only exits inner-most While loop
7943 1.1 jruoho Store (0, CNT0)
7944 1.1 jruoho
7945 1.1 jruoho While (LLess (CNT0, 4))
7946 1.1 jruoho {
7947 1.1 jruoho Store (0, CNT1)
7948 1.1 jruoho While (LLess (CNT1, 10))
7949 1.1 jruoho {
7950 1.1 jruoho if (LEqual (CNT1, 1))
7951 1.1 jruoho {
7952 1.1 jruoho Break // exit encompassing loop
7953 1.1 jruoho }
7954 1.1 jruoho
7955 1.1 jruoho Increment (CNT1)
7956 1.1 jruoho }
7957 1.1 jruoho
7958 1.1 jruoho If (LNotEqual (CNT1, 1))
7959 1.1 jruoho {
7960 1.1 jruoho // failure
7961 1.1 jruoho Return (7)
7962 1.1 jruoho }
7963 1.1 jruoho
7964 1.1 jruoho Increment (CNT0)
7965 1.1 jruoho }
7966 1.1 jruoho
7967 1.1 jruoho // Verify Break only exited inner-most While loop
7968 1.1 jruoho
7969 1.1 jruoho If (LNotEqual (CNT0, 4))
7970 1.1 jruoho {
7971 1.1 jruoho // failure
7972 1.1 jruoho Return (8)
7973 1.1 jruoho }
7974 1.1 jruoho
7975 1.1 jruoho Store ("While/While/If/Break PASS", Debug)
7976 1.1 jruoho
7977 1.1 jruoho Store ("++++++++ WhileBrk Test", Debug)
7978 1.1 jruoho
7979 1.1 jruoho // Check Break statement nested in While
7980 1.1 jruoho Store (0, CNT0)
7981 1.1 jruoho
7982 1.1 jruoho While (LLess (CNT0, 10))
7983 1.1 jruoho {
7984 1.1 jruoho Break // exit encompassing package
7985 1.1 jruoho Increment (CNT0)
7986 1.1 jruoho }
7987 1.1 jruoho
7988 1.1 jruoho If (LNotEqual (CNT0, 0)) // instruction after Break executed
7989 1.1 jruoho {
7990 1.1 jruoho Return (4)
7991 1.1 jruoho }
7992 1.1 jruoho
7993 1.1 jruoho
7994 1.1 jruoho Store (0, CNT0)
7995 1.1 jruoho
7996 1.1 jruoho // Test While Term
7997 1.1 jruoho While (LLess (CNT0, 10))
7998 1.1 jruoho {
7999 1.1 jruoho Increment (CNT0)
8000 1.1 jruoho }
8001 1.1 jruoho
8002 1.1 jruoho // Check if the while loop was executed until the condition is satisfied.
8003 1.1 jruoho If (LNotEqual (CNT0, 10))
8004 1.1 jruoho {
8005 1.1 jruoho Return (1)
8006 1.1 jruoho }
8007 1.1 jruoho
8008 1.1 jruoho
8009 1.1 jruoho // While loop in a reverse order
8010 1.1 jruoho While (LGreater (CNT0, 0))
8011 1.1 jruoho {
8012 1.1 jruoho Decrement (CNT0)
8013 1.1 jruoho }
8014 1.1 jruoho
8015 1.1 jruoho // Check if the while loop was executed until the condition is satisfied.
8016 1.1 jruoho If (LNotEqual (CNT0, 0))
8017 1.1 jruoho {
8018 1.1 jruoho Return (2)
8019 1.1 jruoho }
8020 1.1 jruoho
8021 1.1 jruoho
8022 1.1 jruoho Store ("While/Break PASS", Debug)
8023 1.1 jruoho
8024 1.1 jruoho
8025 1.1 jruoho // Check Break statement nested in If nested in While
8026 1.1 jruoho Store (0, CNT0)
8027 1.1 jruoho
8028 1.1 jruoho While (LLess (CNT0, 10))
8029 1.1 jruoho {
8030 1.1 jruoho if (LEqual (CNT0, 5))
8031 1.1 jruoho {
8032 1.1 jruoho Break // exit encompassing Package (If)
8033 1.1 jruoho
8034 1.1 jruoho // if we execute the next instruction,
8035 1.1 jruoho // Break did not exit the loop
8036 1.1 jruoho Store (20, CNT0) // exit While loop with value larger
8037 1.1 jruoho // than above
8038 1.1 jruoho }
8039 1.1 jruoho
8040 1.1 jruoho Increment (CNT0) // check if Break exited both If and While
8041 1.1 jruoho } // While
8042 1.1 jruoho
8043 1.1 jruoho If (LGreater (CNT0, 19))
8044 1.1 jruoho { // instruction after Break inside IfOp executed
8045 1.1 jruoho Return (5)
8046 1.1 jruoho }
8047 1.1 jruoho
8048 1.1 jruoho //
8049 1.1 jruoho // Break will exit out of the while loop, therefore
8050 1.1 jruoho // the CNT0 counter should still Increment until 5
8051 1.1 jruoho //
8052 1.1 jruoho If (LNotEqual (CNT0, 5))
8053 1.1 jruoho { // instruction after Break inside WhileOp executed
8054 1.1 jruoho Return (6)
8055 1.1 jruoho }
8056 1.1 jruoho Store ("While/If/Break PASS", Debug)
8057 1.1 jruoho
8058 1.1 jruoho
8059 1.1 jruoho // All the conditions passed
8060 1.1 jruoho Return (0)
8061 1.1 jruoho } // TEST
8062 1.1 jruoho } // WHLB
8063 1.1 jruoho
8064 1.1 jruoho
8065 1.1 jruoho //
8066 1.1 jruoho // test IndexOp2.asl
8067 1.1 jruoho //
8068 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery
8069 1.1 jruoho // test) on Toshiba Portege 7020CT. Test cases include appropriate bit
8070 1.1 jruoho // shifting of Field elements and reading Field elements greater than 64 bits.
8071 1.1 jruoho //
8072 1.1 jruoho // MTL NOTE: This test has been modified slightly from the original test
8073 1.1 jruoho // to take into account ACPI specification limitations.
8074 1.1 jruoho //
8075 1.1 jruoho Scope (\_SB) // System Bus
8076 1.1 jruoho { // _SB system bus
8077 1.1 jruoho
8078 1.1 jruoho Device (MEM)
8079 1.1 jruoho { // MEM
8080 1.1 jruoho Name (_HID, 0x010CD041)
8081 1.1 jruoho Name (_STA, 0x0F)
8082 1.1 jruoho
8083 1.1 jruoho OperationRegion (SMEM, SystemMemory, 0x800000, 0x100)
8084 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve)
8085 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements
8086 1.1 jruoho SMD0, 32, // 32-bits
8087 1.1 jruoho SMD1, 32, // 32-bits
8088 1.1 jruoho SMD2, 32, // 32-bits
8089 1.1 jruoho SMD3, 32 // 32-bits
8090 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements
8091 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve)
8092 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements
8093 1.1 jruoho SME0, 69, // larger than an integer (32 or 64)
8094 1.1 jruoho SME1, 97 // larger than an integer
8095 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements
8096 1.1 jruoho
8097 1.1 jruoho OperationRegion (SRAM, SystemMemory, 0x100B0000, 0xF000)
8098 1.1 jruoho Field (SRAM, AnyAcc, NoLock, Preserve)
8099 1.1 jruoho { // Field: SRAM overlay
8100 1.1 jruoho , 0x34000, // skip
8101 1.1 jruoho IEAX, 0x20,
8102 1.1 jruoho IEBX, 0x20,
8103 1.1 jruoho IECX, 0x20,
8104 1.1 jruoho IEDX, 0x20,
8105 1.1 jruoho IESI, 0x20,
8106 1.1 jruoho IEDI, 0x20,
8107 1.1 jruoho IEBP, 0x20,
8108 1.1 jruoho , 0x20,
8109 1.1 jruoho OEAX, 0x20,
8110 1.1 jruoho OEBX, 0x20,
8111 1.1 jruoho OECX, 0x20,
8112 1.1 jruoho OEDX, 0x20,
8113 1.1 jruoho OESI, 0x20,
8114 1.1 jruoho OEDI, 0x20,
8115 1.1 jruoho OEBP, 0x20,
8116 1.1 jruoho , 0x618, // skip
8117 1.1 jruoho ACST, 1,
8118 1.1 jruoho BES1, 1,
8119 1.1 jruoho BES2, 1,
8120 1.1 jruoho , 5, // skip
8121 1.1 jruoho BMN1, 0x68,
8122 1.1 jruoho BSN1, 0x58,
8123 1.1 jruoho BTP1, 0x48,
8124 1.1 jruoho BPU1, 0x20,
8125 1.1 jruoho BDC1, 0x20,
8126 1.1 jruoho BLF1, 0x20,
8127 1.1 jruoho BTC1, 0x20,
8128 1.1 jruoho BDV1, 0x20,
8129 1.1 jruoho BST1, 0x20,
8130 1.1 jruoho BPR1, 0x20,
8131 1.1 jruoho BRC1, 0x20,
8132 1.1 jruoho BPV1, 0x20,
8133 1.1 jruoho , 0x20,
8134 1.1 jruoho BCW1, 0x20,
8135 1.1 jruoho BCL1, 0x20,
8136 1.1 jruoho BG11, 0x20,
8137 1.1 jruoho BG21, 0x20,
8138 1.1 jruoho BOI1, 0x20,
8139 1.1 jruoho , 0x530, // skip
8140 1.1 jruoho BMN2, 0x68,
8141 1.1 jruoho BSN2, 0x58,
8142 1.1 jruoho BTP2, 0x48,
8143 1.1 jruoho BPU2, 0x20,
8144 1.1 jruoho BDC2, 0x20,
8145 1.1 jruoho BLF2, 0x20,
8146 1.1 jruoho BTC2, 0x20,
8147 1.1 jruoho BDV2, 0x20,
8148 1.1 jruoho BST2, 0x20,
8149 1.1 jruoho BPR2, 0x20,
8150 1.1 jruoho BRC2, 0x20,
8151 1.1 jruoho BPV2, 0x20,
8152 1.1 jruoho , 0x20,
8153 1.1 jruoho BCW2, 0x20,
8154 1.1 jruoho BCL2, 0x20,
8155 1.1 jruoho BG12, 0x20,
8156 1.1 jruoho BG22, 0x20,
8157 1.1 jruoho BOI2, 0x20,
8158 1.1 jruoho , 0x518, // skip
8159 1.1 jruoho AC01, 0x10,
8160 1.1 jruoho AC11, 0x10,
8161 1.1 jruoho PSV1, 0x10,
8162 1.1 jruoho CRT1, 0x10,
8163 1.1 jruoho TMP1, 0x10,
8164 1.1 jruoho AST1, 0x10,
8165 1.1 jruoho AC21, 0x10,
8166 1.1 jruoho AC31, 0x10,
8167 1.1 jruoho AC02, 0x10,
8168 1.1 jruoho AC12, 0x10,
8169 1.1 jruoho PSV2, 0x10,
8170 1.1 jruoho CRT2, 0x10,
8171 1.1 jruoho TMP2, 0x10,
8172 1.1 jruoho AST2, 0x10,
8173 1.1 jruoho AC22, 0x10,
8174 1.1 jruoho AC32, 0x10,
8175 1.1 jruoho AC03, 0x10,
8176 1.1 jruoho AC13, 0x10,
8177 1.1 jruoho PSV3, 0x10,
8178 1.1 jruoho CRT3, 0x10,
8179 1.1 jruoho TMP3, 0x10,
8180 1.1 jruoho AST3, 0x10,
8181 1.1 jruoho AC23, 0x10,
8182 1.1 jruoho AC33, 0x10,
8183 1.1 jruoho , 0x80, // skip
8184 1.1 jruoho TMPF, 0x10,
8185 1.1 jruoho , 0x570, // skip
8186 1.1 jruoho FANH, 1,
8187 1.1 jruoho FANL, 7,
8188 1.1 jruoho TF11, 1,
8189 1.1 jruoho TF21, 1,
8190 1.1 jruoho TF31, 1,
8191 1.1 jruoho , 1,
8192 1.1 jruoho TF10, 1,
8193 1.1 jruoho TF20, 1,
8194 1.1 jruoho TF30, 1,
8195 1.1 jruoho , 1,
8196 1.1 jruoho TP11, 1,
8197 1.1 jruoho TP21, 1,
8198 1.1 jruoho TP31, 1,
8199 1.1 jruoho , 0x6D, // 109
8200 1.1 jruoho GP50, 1,
8201 1.1 jruoho GP51, 1,
8202 1.1 jruoho GP52, 1,
8203 1.1 jruoho GP53, 1,
8204 1.1 jruoho , 4,
8205 1.1 jruoho GP60, 1,
8206 1.1 jruoho GP61, 1,
8207 1.1 jruoho GP62, 1,
8208 1.1 jruoho GP63, 1,
8209 1.1 jruoho GP64, 1,
8210 1.1 jruoho GP65, 1,
8211 1.1 jruoho GP66, 1,
8212 1.1 jruoho , 1,
8213 1.1 jruoho GP70, 1,
8214 1.1 jruoho GP71, 1,
8215 1.1 jruoho GP72, 1,
8216 1.1 jruoho GP73, 1,
8217 1.1 jruoho GP74, 1,
8218 1.1 jruoho GP75, 1,
8219 1.1 jruoho GP76, 1,
8220 1.1 jruoho , 1,
8221 1.1 jruoho WED0, 1,
8222 1.1 jruoho WED1, 1,
8223 1.1 jruoho WED2, 1,
8224 1.1 jruoho WED3, 1,
8225 1.1 jruoho WED4, 1,
8226 1.1 jruoho , 3,
8227 1.1 jruoho SBL0, 1,
8228 1.1 jruoho SBL1, 1,
8229 1.1 jruoho SBL2, 1,
8230 1.1 jruoho SBL3, 1,
8231 1.1 jruoho , 4,
8232 1.1 jruoho LIDS, 1,
8233 1.1 jruoho VALF, 1,
8234 1.1 jruoho , 2,
8235 1.1 jruoho DCKI, 1,
8236 1.1 jruoho DCKF, 1,
8237 1.1 jruoho BT1F, 1,
8238 1.1 jruoho BT2F, 1,
8239 1.1 jruoho , 0x7D0, // skip
8240 1.1 jruoho HKCD, 8,
8241 1.1 jruoho , 8,
8242 1.1 jruoho DLID, 0x20,
8243 1.1 jruoho DSRN, 0x20,
8244 1.1 jruoho , 0x20,
8245 1.1 jruoho BDID, 0x20,
8246 1.1 jruoho DSPW, 1,
8247 1.1 jruoho VGAF, 1,
8248 1.1 jruoho VWE0, 1,
8249 1.1 jruoho VWE1, 1,
8250 1.1 jruoho PPSC, 1,
8251 1.1 jruoho SPSC, 1,
8252 1.1 jruoho EWLD, 1,
8253 1.1 jruoho EWPS, 1,
8254 1.1 jruoho , 0x1768, // skip
8255 1.1 jruoho PRES, 0x8000
8256 1.1 jruoho } // Field: SRAM overlay
8257 1.1 jruoho } // MEM
8258 1.1 jruoho
8259 1.1 jruoho Device (BAT1)
8260 1.1 jruoho { // BAT1
8261 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID
8262 1.1 jruoho Name (_UID, 1)
8263 1.1 jruoho Name (_PCL, Package (1) {\_SB})
8264 1.1 jruoho
8265 1.1 jruoho Method (_STA)
8266 1.1 jruoho { // _STA
8267 1.1 jruoho If (\_SB.MEM.BES1)
8268 1.1 jruoho { Return (0x1F) } // battery present
8269 1.1 jruoho Else
8270 1.1 jruoho { Return (0x0F) } // battery not present
8271 1.1 jruoho } // _STA
8272 1.1 jruoho
8273 1.1.1.3 christos Method (_BIF,, Serialized)
8274 1.1 jruoho { // _BIF
8275 1.1 jruoho Name (BUFR, Package (13) {})
8276 1.1 jruoho
8277 1.1 jruoho Store (\_SB.MEM.BPU1, Index (BUFR, 0))
8278 1.1 jruoho Store (\_SB.MEM.BDC1, Index (BUFR, 1))
8279 1.1 jruoho Store (\_SB.MEM.BLF1, Index (BUFR, 2))
8280 1.1 jruoho Store (\_SB.MEM.BTC1, Index (BUFR, 3))
8281 1.1 jruoho Store (\_SB.MEM.BDV1, Index (BUFR, 4))
8282 1.1 jruoho Store (\_SB.MEM.BCW1, Index (BUFR, 5))
8283 1.1 jruoho Store (\_SB.MEM.BCL1, Index (BUFR, 6))
8284 1.1 jruoho Store (\_SB.MEM.BG11, Index (BUFR, 7))
8285 1.1 jruoho Store (\_SB.MEM.BG21, Index (BUFR, 8))
8286 1.1 jruoho Store (\_SB.MEM.BMN1, Index (BUFR, 9))
8287 1.1 jruoho Store (\_SB.MEM.BSN1, Index (BUFR, 10))
8288 1.1 jruoho Store (\_SB.MEM.BTP1, Index (BUFR, 11))
8289 1.1 jruoho Store (\_SB.MEM.BOI1, Index (BUFR, 12))
8290 1.1 jruoho
8291 1.1 jruoho Return (BUFR)
8292 1.1 jruoho } // _BIF
8293 1.1 jruoho } // BAT1
8294 1.1 jruoho
8295 1.1 jruoho Device (IDX2)
8296 1.1 jruoho {
8297 1.1.1.3 christos Method (B2IB,, Serialized)
8298 1.1 jruoho { // B2IB: store from Buffer into Index'ed Buffer
8299 1.1 jruoho
8300 1.1 jruoho Name (SRCB, Buffer () {"Short Buffer"}) // 12 characters plus NULL
8301 1.1 jruoho
8302 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
8303 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
8304 1.1 jruoho
8305 1.1 jruoho
8306 1.1 jruoho // verify object type returned by Index(Buffer,Element,)
8307 1.1 jruoho
8308 1.1 jruoho Store (Index (DEST, 2, ), Local1)
8309 1.1 jruoho Store (ObjectType (Local1), Local2)
8310 1.1 jruoho
8311 1.1 jruoho If (LNotEqual (Local2, 14)) // Buffer Field is type 14
8312 1.1 jruoho {
8313 1.1 jruoho // Local2 indicates Local1 is not a Buffer Field
8314 1.1 jruoho
8315 1.1 jruoho Return (0x61)
8316 1.1 jruoho }
8317 1.1 jruoho
8318 1.1 jruoho // verify object type and value returned by DerefOf(Index(Buffer,Element,))
8319 1.1 jruoho // should return Number containing element value
8320 1.1 jruoho
8321 1.1 jruoho Store (DerefOf (Local1), Local3)
8322 1.1 jruoho Store (ObjectType (Local3), Local4)
8323 1.1 jruoho
8324 1.1 jruoho If (LNotEqual (Local4, 1)) // Number is type 1
8325 1.1 jruoho {
8326 1.1 jruoho // Local2 indicates Local1 is not a Number
8327 1.1 jruoho Return (0x62)
8328 1.1 jruoho }
8329 1.1 jruoho Else
8330 1.1 jruoho {
8331 1.1 jruoho If (LNotEqual (Local3, 0x73)) // expect 's' element from DEST
8332 1.1 jruoho {
8333 1.1 jruoho Return (0x63)
8334 1.1 jruoho }
8335 1.1 jruoho }
8336 1.1 jruoho
8337 1.1 jruoho Store ("DerefOf(Index(Buffer,,)) PASS", Debug)
8338 1.1 jruoho
8339 1.1 jruoho
8340 1.1 jruoho //
8341 1.1 jruoho // The following sections have been rewritten because storing into
8342 1.1 jruoho // an Indexed buffer only changes one byte - the FIRST byte of the
8343 1.1 jruoho // buffer is written to the source index. This is the ONLY byte
8344 1.1 jruoho // written -- as per ACPI 2.0
8345 1.1 jruoho //
8346 1.1 jruoho // Overwrite DEST contents, at buffer position 2 [only]
8347 1.1 jruoho
8348 1.1 jruoho Store (SRCB, Index (DEST, 2, ))
8349 1.1 jruoho
8350 1.1 jruoho //
8351 1.1 jruoho // Check that the next byte is not changed
8352 1.1 jruoho //
8353 1.1 jruoho Store (DerefOf (Index (DEST, 3, )), Local0)
8354 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
8355 1.1 jruoho {
8356 1.1 jruoho // DEST element is not matching original value
8357 1.1 jruoho If (LEqual (Local0, 0x68))
8358 1.1 jruoho {
8359 1.1 jruoho // DEST element was altered to 'h'
8360 1.1 jruoho Return (0x68)
8361 1.1 jruoho }
8362 1.1 jruoho Else
8363 1.1 jruoho {
8364 1.1 jruoho // DEST element is an unknown value
8365 1.1 jruoho Return (0x69)
8366 1.1 jruoho }
8367 1.1 jruoho }
8368 1.1 jruoho
8369 1.1 jruoho //
8370 1.1 jruoho // Check that the elements beyond the SRCB buffer copy
8371 1.1 jruoho // have not been altered.
8372 1.1 jruoho //
8373 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0)
8374 1.1 jruoho
8375 1.1 jruoho //
8376 1.1 jruoho // This should be an 'f'.
8377 1.1 jruoho //
8378 1.1 jruoho If (LNotEqual (Local0, 0x66))
8379 1.1 jruoho {
8380 1.1 jruoho // DEST element was zero'd by buffer copy
8381 1.1 jruoho If (LEqual (Local0, 0))
8382 1.1 jruoho {
8383 1.1 jruoho // DEST element is zero
8384 1.1 jruoho Return (0x6A)
8385 1.1 jruoho }
8386 1.1 jruoho Else
8387 1.1 jruoho {
8388 1.1 jruoho // DEST element is unknown value
8389 1.1 jruoho Return (0x6B)
8390 1.1 jruoho }
8391 1.1 jruoho }
8392 1.1 jruoho
8393 1.1 jruoho Store ("Store(SRCB,Index(Buffer,,)) PASS", Debug)
8394 1.1 jruoho
8395 1.1 jruoho //
8396 1.1 jruoho // verify altering SRCB does NOT alter DEST
8397 1.1 jruoho //
8398 1.1 jruoho Store (0x6A, Index (SRCB, 1)) // SRCB = "Sjort Buffer"
8399 1.1 jruoho
8400 1.1 jruoho Store (DerefOf (Index (SRCB, 1)), Local0)
8401 1.1 jruoho
8402 1.1 jruoho If (LNotEqual (Local0, 0x6A)) // 'j'
8403 1.1 jruoho {
8404 1.1 jruoho // SRCB element is unaltered
8405 1.1 jruoho Return (0x71)
8406 1.1 jruoho }
8407 1.1 jruoho
8408 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0) // DEST = "Destination buffer that...
8409 1.1 jruoho
8410 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
8411 1.1 jruoho {
8412 1.1 jruoho // DEST element is altered
8413 1.1 jruoho If (LEqual (Local0, 0x6A)) // 'j'
8414 1.1 jruoho {
8415 1.1 jruoho // SRCB change altered DEST element
8416 1.1 jruoho Return (0x72)
8417 1.1 jruoho }
8418 1.1 jruoho Else
8419 1.1 jruoho {
8420 1.1 jruoho // DEST element is unknown value
8421 1.1 jruoho Return (0x73)
8422 1.1 jruoho }
8423 1.1 jruoho }
8424 1.1 jruoho
8425 1.1 jruoho // verify altering DEST does NOT alter SRCB
8426 1.1 jruoho
8427 1.1 jruoho Store (0x6B, Index (DEST, 4, )) // DEST = "DeSkination buffer..."
8428 1.1 jruoho
8429 1.1 jruoho Store (DerefOf (Index (DEST, 4, )), Local0)
8430 1.1 jruoho
8431 1.1 jruoho If (LNotEqual (Local0, 0x6B)) // 'k'
8432 1.1 jruoho {
8433 1.1 jruoho // DEST element is unaltered
8434 1.1 jruoho Return (0x74)
8435 1.1 jruoho }
8436 1.1 jruoho
8437 1.1 jruoho Store (DerefOf (Index (SRCB, 2, )), Local0)
8438 1.1 jruoho
8439 1.1 jruoho If (LNotEqual (Local0, 0x6F)) // 'o'
8440 1.1 jruoho { // SRC element is altered
8441 1.1 jruoho If (LEqual (Local0, 0x6B)) // 'k'
8442 1.1 jruoho {
8443 1.1 jruoho // DEST change altered SRCB element
8444 1.1 jruoho Return (0x75)
8445 1.1 jruoho }
8446 1.1 jruoho Else
8447 1.1 jruoho {
8448 1.1 jruoho // SRCB element is unknown value
8449 1.1 jruoho Return (0x76)
8450 1.1 jruoho }
8451 1.1 jruoho }
8452 1.1 jruoho
8453 1.1 jruoho Store ("SRCB and DEST independent PASS", Debug)
8454 1.1 jruoho
8455 1.1 jruoho
8456 1.1 jruoho // verify string can be written to Index target/destination
8457 1.1 jruoho // Only FIRST byte is written
8458 1.1 jruoho
8459 1.1 jruoho Store ("New Buff", Index (DEST, 2, )) // DEST = "DeNkination buffer..."
8460 1.1 jruoho
8461 1.1 jruoho Store (DerefOf (Index (DEST, 2, )), Local0)
8462 1.1 jruoho
8463 1.1 jruoho If (LNotEqual (Local0, 0x4E)) // 'N'
8464 1.1 jruoho {
8465 1.1 jruoho // DEST element is unaltered
8466 1.1 jruoho Return (0x81)
8467 1.1 jruoho }
8468 1.1 jruoho
8469 1.1 jruoho Store (DerefOf (Index (DEST, 6, )), Local0)
8470 1.1 jruoho
8471 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a'
8472 1.1 jruoho {
8473 1.1 jruoho // DEST element is unaltered
8474 1.1 jruoho Return (0x82)
8475 1.1 jruoho }
8476 1.1 jruoho
8477 1.1 jruoho Store (DerefOf (Index (DEST, 10, )), Local0)
8478 1.1 jruoho
8479 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n'
8480 1.1 jruoho {
8481 1.1 jruoho // DEST element is unaltered
8482 1.1 jruoho Return (0x83)
8483 1.1 jruoho }
8484 1.1 jruoho
8485 1.1 jruoho Store ("Store(String,Index) PASS", Debug)
8486 1.1 jruoho
8487 1.1 jruoho
8488 1.1 jruoho Return (0) // pass
8489 1.1 jruoho } // B2IB: store from Buffer into Index'ed Buffer
8490 1.1 jruoho
8491 1.1.1.3 christos Method (FB2P,, Serialized)
8492 1.1 jruoho { // FB2P: store from Field Buffer into Index'ed Package
8493 1.1 jruoho Name (DEST, Package (2) {})
8494 1.1 jruoho
8495 1.1 jruoho // initialize memory using 32-bit field elements
8496 1.1 jruoho Store (0x01234567, \_SB.MEM.SMD0)
8497 1.1 jruoho Store (0x89ABCDEF, \_SB.MEM.SMD1)
8498 1.1 jruoho Store (0xFEDCBA98, \_SB.MEM.SMD2)
8499 1.1 jruoho Store (0x76543210, \_SB.MEM.SMD3)
8500 1.1 jruoho
8501 1.1 jruoho // move greater than 64-bit buffers into DEST package
8502 1.1 jruoho Store (\_SB.MEM.SME0, Index (DEST, 0))
8503 1.1 jruoho Store (\_SB.MEM.SME1, Index (DEST, 1))
8504 1.1 jruoho
8505 1.1 jruoho // validate DEST contents
8506 1.1 jruoho Store (DerefOf (Index (DEST, 0, )), Local0)
8507 1.1 jruoho Store (DerefOf (Index (DEST, 1, )), Local1)
8508 1.1 jruoho
8509 1.1 jruoho // verify Local0 and Local1 are Buffers
8510 1.1 jruoho Store (ObjectType (Local0), Local2)
8511 1.1 jruoho if (LNotEqual (Local2, 3)) // Buffer type is 3
8512 1.1 jruoho {
8513 1.1 jruoho Return (0x11)
8514 1.1 jruoho }
8515 1.1 jruoho
8516 1.1 jruoho Store (ObjectType (Local1), Local3)
8517 1.1 jruoho if (LNotEqual (Local3, 3)) // Buffer type is 3
8518 1.1 jruoho {
8519 1.1 jruoho Return (0x12)
8520 1.1 jruoho }
8521 1.1 jruoho
8522 1.1 jruoho // validate DEST buffer contents
8523 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 0)), Local4)
8524 1.1 jruoho If (LNotEqual (Local4, 0x67))
8525 1.1 jruoho {
8526 1.1 jruoho Return (0x13)
8527 1.1 jruoho }
8528 1.1 jruoho
8529 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 1)), Local4)
8530 1.1 jruoho If (LNotEqual (Local4, 0x45))
8531 1.1 jruoho {
8532 1.1 jruoho Return (0x14)
8533 1.1 jruoho }
8534 1.1 jruoho
8535 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 4)), Local4)
8536 1.1 jruoho If (LNotEqual (Local4, 0xEF))
8537 1.1 jruoho {
8538 1.1 jruoho Return (0x15)
8539 1.1 jruoho }
8540 1.1 jruoho
8541 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 5, )), Local4)
8542 1.1 jruoho If (LNotEqual (Local4, 0xCD))
8543 1.1 jruoho {
8544 1.1 jruoho Return (0x16)
8545 1.1 jruoho }
8546 1.1 jruoho
8547 1.1 jruoho Store ("Store(Mem,PkgElement) PASS", Debug)
8548 1.1 jruoho
8549 1.1 jruoho
8550 1.1 jruoho // validate changing source \_SB.MEM.SMD* does not impact DEST
8551 1.1 jruoho Store (0x12345678, \_SB.MEM.SMD0)
8552 1.1 jruoho
8553 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 0, )), Local5)
8554 1.1 jruoho If (LNotEqual (Local5, 0x67))
8555 1.1 jruoho {
8556 1.1 jruoho Return (0x21)
8557 1.1 jruoho }
8558 1.1 jruoho
8559 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 1, )), Local5)
8560 1.1 jruoho If (LNotEqual (Local5, 0x45))
8561 1.1 jruoho {
8562 1.1 jruoho Return (0x22)
8563 1.1 jruoho }
8564 1.1 jruoho
8565 1.1 jruoho // validate changing DEST does not impact source \_SB.MEM.SMD*
8566 1.1 jruoho Store (0x30, Index (DerefOf (Index (DEST, 0)), 0))
8567 1.1 jruoho
8568 1.1 jruoho Store (DerefOf(Index (DerefOf (Index (DEST, 0)), 0)), Local5)
8569 1.1 jruoho If (LNotEqual (Local5, 0x30))
8570 1.1 jruoho {
8571 1.1 jruoho Return (0x23)
8572 1.1 jruoho }
8573 1.1 jruoho
8574 1.1 jruoho //
8575 1.1 jruoho // This section was modified from the original iPCO code because
8576 1.1 jruoho // it attempted to compare two buffers. This is not allowed until
8577 1.1 jruoho // ACPI v2.0, so the test has been modified to just check the
8578 1.1 jruoho // changed \_SB.MEM.SMD0
8579 1.1 jruoho //
8580 1.1 jruoho Store (\_SB.MEM.SMD0, Local5)
8581 1.1 jruoho
8582 1.1 jruoho If(LNotEqual(Local5, 0x12345678))
8583 1.1 jruoho {
8584 1.1 jruoho Return (0x24)
8585 1.1 jruoho }
8586 1.1 jruoho
8587 1.1 jruoho Store ("Mem and Pkg independent PASS", Debug)
8588 1.1 jruoho
8589 1.1 jruoho
8590 1.1 jruoho Return (0)
8591 1.1 jruoho } // FB2P: store from Field Buffer into Index'ed Package
8592 1.1 jruoho
8593 1.1 jruoho Method (TEST)
8594 1.1 jruoho {
8595 1.1 jruoho Store ("++++++++ IndexOp2 Test", Debug)
8596 1.1 jruoho
8597 1.1 jruoho // store _BIF package return value into Local0
8598 1.1 jruoho
8599 1.1 jruoho Store (\_SB.BAT1._BIF, Local0)
8600 1.1 jruoho
8601 1.1 jruoho // save Local0 object type value into Local1
8602 1.1 jruoho Store (ObjectType (Local0), Local1)
8603 1.1 jruoho
8604 1.1 jruoho // validate Local0 is a Package
8605 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
8606 1.1 jruoho {
8607 1.1 jruoho // failure
8608 1.1 jruoho Return (2)
8609 1.1 jruoho }
8610 1.1 jruoho
8611 1.1 jruoho // validate source and destination buffers are independent of each
8612 1.1 jruoho // of each other (i.e., changing one's contents does not change
8613 1.1 jruoho // other's contents) using B2IB (store from Buffer into Index'ed
8614 1.1 jruoho // Buffer) and FB2P (store from Field Buffer into Index'ed Package)
8615 1.1 jruoho
8616 1.1 jruoho // call B2IB (store from Buffer into Index'ed Buffer)
8617 1.1 jruoho Store (B2IB, Local2) // Local2 is B2IB return value
8618 1.1 jruoho
8619 1.1 jruoho // save Local2 object type value into Local3
8620 1.1 jruoho Store (ObjectType (Local2), Local3)
8621 1.1 jruoho
8622 1.1 jruoho // validate Local2 is a Number
8623 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
8624 1.1 jruoho {
8625 1.1 jruoho // failure
8626 1.1 jruoho Return (4)
8627 1.1 jruoho }
8628 1.1 jruoho
8629 1.1 jruoho // zero indicates pass, non-zero is an error code
8630 1.1 jruoho If (LNotEqual (Local2, 0))
8631 1.1 jruoho {
8632 1.1 jruoho // return B2IB error code
8633 1.1 jruoho Return (Local2)
8634 1.1 jruoho }
8635 1.1 jruoho
8636 1.1 jruoho // call FB2P (store from Field Buffer into Index'ed Package)
8637 1.1 jruoho Store (FB2P, Local2) // Local2 is FB2P return value
8638 1.1 jruoho
8639 1.1 jruoho // save Local2 object type value into Local3
8640 1.1 jruoho Store (ObjectType (Local2), Local3)
8641 1.1 jruoho
8642 1.1 jruoho // validate Local2 is a Number
8643 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
8644 1.1 jruoho {
8645 1.1 jruoho // failure
8646 1.1 jruoho Return (5)
8647 1.1 jruoho }
8648 1.1 jruoho
8649 1.1 jruoho // zero indicates pass, non-zero is an error code
8650 1.1 jruoho If (LNotEqual (Local2, 0))
8651 1.1 jruoho {
8652 1.1 jruoho // return FB2P error code
8653 1.1 jruoho Return (Local2)
8654 1.1 jruoho }
8655 1.1 jruoho
8656 1.1 jruoho
8657 1.1 jruoho Return (0)
8658 1.1 jruoho } // TEST
8659 1.1 jruoho } // IDX2: Test device name
8660 1.1 jruoho } // _SB system bus
8661 1.1 jruoho
8662 1.1 jruoho //
8663 1.1 jruoho // test SizeOf.asl
8664 1.1 jruoho //
8665 1.1 jruoho // Test for SizeOf
8666 1.1 jruoho // test cases include following SizeOf arguments:
8667 1.1 jruoho // buffer, buffer field;
8668 1.1 jruoho // control method argument, control method local variable;
8669 1.1 jruoho // control method return values;
8670 1.1 jruoho // direct string, string;
8671 1.1 jruoho // package;
8672 1.1 jruoho // buffer, package, and string package elements
8673 1.1 jruoho //
8674 1.1 jruoho // MTL NOTE: This test has been modified to remove any SizeOf(Index(Buff,...
8675 1.1 jruoho // calls because it is not legal to perform a SizeOf operation on a Buffer Field.
8676 1.1 jruoho // This test has also been extended to test additional Package element sizes.
8677 1.1 jruoho //
8678 1.1 jruoho Device (SIZO)
8679 1.1 jruoho {
8680 1.1 jruoho // SAR0 control method validates SizeOf(Arg)
8681 1.1 jruoho // SAR0 should only be called by SARG
8682 1.1 jruoho Method (SAR0, 2)
8683 1.1 jruoho // Arg0 object to determine size of
8684 1.1 jruoho // Arg1 expected Arg length
8685 1.1 jruoho { // SAR0: SizeOf(Arg) test control method
8686 1.1 jruoho // Local0 Arg0 length
8687 1.1 jruoho // Local1 Local0 object type
8688 1.1 jruoho
8689 1.1 jruoho // Store first string size (Arg0) into Local7
8690 1.1 jruoho Store (SizeOf (Arg0), Local0)
8691 1.1 jruoho
8692 1.1 jruoho // save Local0 object type value into Local1
8693 1.1 jruoho Store (ObjectType (Local0), Local1)
8694 1.1 jruoho
8695 1.1 jruoho // validate Local0 is a Number
8696 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8697 1.1 jruoho { Return (0x21) }
8698 1.1 jruoho
8699 1.1 jruoho // If strings are not of equal size, return error code
8700 1.1 jruoho If (LNotEqual (Local0, Arg1))
8701 1.1 jruoho { Return (0x22) }
8702 1.1 jruoho
8703 1.1 jruoho Return (0)
8704 1.1 jruoho } // SAR0: SizeOf(Arg) test control method
8705 1.1 jruoho
8706 1.1.1.3 christos Method (SARG,, Serialized)
8707 1.1 jruoho { // SARG: SizeOf(Arg) test control method
8708 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer
8709 1.1 jruoho Name (BUF1, Buffer() {0x01, 0x02, 0x03, 0x04, 0x05})
8710 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package
8711 1.1 jruoho Name (STR0, "String")
8712 1.1 jruoho Name (PKG1, Package (4)
8713 1.1 jruoho {
8714 1.1 jruoho BUFR,
8715 1.1 jruoho "String2",
8716 1.1 jruoho STR0,
8717 1.1 jruoho PKG0
8718 1.1 jruoho }) // PKG1
8719 1.1 jruoho
8720 1.1 jruoho Name (PKG2, Package (4)
8721 1.1 jruoho {
8722 1.1 jruoho Buffer (15) {},
8723 1.1 jruoho "String 1",
8724 1.1 jruoho Package (2) {}
8725 1.1 jruoho }) // PKG2
8726 1.1 jruoho
8727 1.1 jruoho // Namespace entry buffer reference
8728 1.1 jruoho Store (SAR0 (BUFR, 12), Local0)
8729 1.1 jruoho
8730 1.1 jruoho // save Local0 object type value into Local1
8731 1.1 jruoho Store (ObjectType (Local0), Local1)
8732 1.1 jruoho
8733 1.1 jruoho // validate Local0 is a Number
8734 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8735 1.1 jruoho {
8736 1.1 jruoho Return (0x23)
8737 1.1 jruoho }
8738 1.1 jruoho
8739 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8740 1.1 jruoho {
8741 1.1 jruoho Return (Local0)
8742 1.1 jruoho }
8743 1.1 jruoho
8744 1.1 jruoho Store ("SizeOf(Arg=BUFR) PASS", Debug)
8745 1.1 jruoho
8746 1.1 jruoho
8747 1.1 jruoho // Namespace entry package reference
8748 1.1 jruoho Store (SAR0 (PKG0, 4), Local0)
8749 1.1 jruoho
8750 1.1 jruoho // save Local0 object type value into Local1
8751 1.1 jruoho Store (ObjectType (Local0), Local1)
8752 1.1 jruoho
8753 1.1 jruoho // validate Local0 is a Number
8754 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8755 1.1 jruoho {
8756 1.1 jruoho Return (0x24)
8757 1.1 jruoho }
8758 1.1 jruoho
8759 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8760 1.1 jruoho {
8761 1.1 jruoho Return (Local0)
8762 1.1 jruoho }
8763 1.1 jruoho
8764 1.1 jruoho Store ("SizeOf(Arg=PKG0) PASS", Debug)
8765 1.1 jruoho
8766 1.1 jruoho
8767 1.1 jruoho // Namespace entry string reference
8768 1.1 jruoho Store (SAR0 (STR0, 6), Local0)
8769 1.1 jruoho
8770 1.1 jruoho // save Local0 object type value into Local1
8771 1.1 jruoho Store (ObjectType (Local0), Local1)
8772 1.1 jruoho
8773 1.1 jruoho // validate Local0 is a Number
8774 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8775 1.1 jruoho {
8776 1.1 jruoho Return (0x25)
8777 1.1 jruoho }
8778 1.1 jruoho
8779 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8780 1.1 jruoho {
8781 1.1 jruoho Return (Local0)
8782 1.1 jruoho }
8783 1.1 jruoho
8784 1.1 jruoho Store ("SizeOf(Arg=STR0) PASS", Debug)
8785 1.1 jruoho
8786 1.1 jruoho
8787 1.1 jruoho // direct string reference
8788 1.1 jruoho Store (SAR0 ("String", 6), Local0)
8789 1.1 jruoho
8790 1.1 jruoho // save Local0 object type value into Local1
8791 1.1 jruoho Store (ObjectType (Local0), Local1)
8792 1.1 jruoho
8793 1.1 jruoho // validate Local0 is a Number
8794 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8795 1.1 jruoho {
8796 1.1 jruoho Return (0x26)
8797 1.1 jruoho }
8798 1.1 jruoho
8799 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8800 1.1 jruoho {
8801 1.1 jruoho Return (Local0)
8802 1.1 jruoho }
8803 1.1 jruoho
8804 1.1 jruoho Store ("SizeOf(Arg=String) PASS", Debug)
8805 1.1 jruoho
8806 1.1 jruoho Store (0x55, Index (BUF1, 2))
8807 1.1 jruoho
8808 1.1 jruoho /****************************************************
8809 1.1 jruoho //
8810 1.1 jruoho // This section is commented because it is illegal to
8811 1.1 jruoho // perform a SizeOf operation on a Buffer Field
8812 1.1 jruoho //
8813 1.1 jruoho // Namespace BufferField reference
8814 1.1 jruoho Store (SAR0 (Index (BUFR, 2, ), 10), Local0)
8815 1.1 jruoho
8816 1.1 jruoho // save Local0 object type value into Local1
8817 1.1 jruoho Store (ObjectType (Local0), Local1)
8818 1.1 jruoho
8819 1.1 jruoho // validate Local0 is a Number
8820 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8821 1.1 jruoho { Return (0x27) }
8822 1.1 jruoho
8823 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8824 1.1 jruoho { Return (Local0) }
8825 1.1 jruoho
8826 1.1 jruoho Store ("SizeOf(Arg=BufferField) PASS", Debug)
8827 1.1 jruoho ****************************************************/
8828 1.1 jruoho
8829 1.1 jruoho // Namespace BufferPackageElement reference
8830 1.1 jruoho //
8831 1.1 jruoho Store (SAR0 (Index(PKG1, 0), 12), Local0)
8832 1.1 jruoho
8833 1.1 jruoho // save Local0 object type value into Local1
8834 1.1 jruoho Store (ObjectType (Local0), Local1)
8835 1.1 jruoho
8836 1.1 jruoho // validate Local0 is a Number
8837 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8838 1.1 jruoho {
8839 1.1 jruoho Return (0x28)
8840 1.1 jruoho }
8841 1.1 jruoho
8842 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8843 1.1 jruoho {
8844 1.1 jruoho Return (Local0)
8845 1.1 jruoho }
8846 1.1 jruoho
8847 1.1 jruoho Store ("SizeOf(Arg=PackageBuffer NTE Reference Element) PASS", Debug)
8848 1.1 jruoho
8849 1.1 jruoho
8850 1.1 jruoho // Namespace StringPackageElement reference
8851 1.1 jruoho Store (SAR0 (Index (PKG1, 1, ), 7), Local0)
8852 1.1 jruoho
8853 1.1 jruoho // save Local0 object type value into Local1
8854 1.1 jruoho Store (ObjectType (Local0), Local1)
8855 1.1 jruoho
8856 1.1 jruoho // validate Local0 is a Number
8857 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8858 1.1 jruoho {
8859 1.1 jruoho Return (0x29)
8860 1.1 jruoho }
8861 1.1 jruoho
8862 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8863 1.1 jruoho {
8864 1.1 jruoho Return (Local0)
8865 1.1 jruoho }
8866 1.1 jruoho
8867 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug)
8868 1.1 jruoho
8869 1.1 jruoho
8870 1.1 jruoho // Namespace StringPackageElement reference
8871 1.1 jruoho Store (SAR0 (Index (PKG1, 2, ), 6), Local0)
8872 1.1 jruoho
8873 1.1 jruoho // save Local0 object type value into Local1
8874 1.1 jruoho Store (ObjectType (Local0), Local1)
8875 1.1 jruoho
8876 1.1 jruoho // validate Local0 is a Number
8877 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8878 1.1 jruoho {
8879 1.1 jruoho Return (0x2A)
8880 1.1 jruoho }
8881 1.1 jruoho
8882 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8883 1.1 jruoho {
8884 1.1 jruoho Return (Local0)
8885 1.1 jruoho }
8886 1.1 jruoho
8887 1.1 jruoho Store ("SizeOf(Arg=Package String NTE Reference Element) PASS", Debug)
8888 1.1 jruoho
8889 1.1 jruoho
8890 1.1 jruoho // Namespace PackagePackageElement reference
8891 1.1 jruoho Store (SAR0 (Index (PKG1, 3, ), 4), Local0)
8892 1.1 jruoho
8893 1.1 jruoho // save Local0 object type value into Local1
8894 1.1 jruoho Store (ObjectType (Local0), Local1)
8895 1.1 jruoho
8896 1.1 jruoho // validate Local0 is a Number
8897 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8898 1.1 jruoho {
8899 1.1 jruoho Return (0x2B)
8900 1.1 jruoho }
8901 1.1 jruoho
8902 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8903 1.1 jruoho {
8904 1.1 jruoho Return (Local0)
8905 1.1 jruoho }
8906 1.1 jruoho
8907 1.1 jruoho Store ("SizeOf(Arg=Package Package NTE Reference Element) PASS", Debug)
8908 1.1 jruoho
8909 1.1 jruoho // Package Buffer Element
8910 1.1 jruoho Store (SAR0 (Index (PKG2, 0), 15), Local0)
8911 1.1 jruoho
8912 1.1 jruoho // save Local0 object type value into Local1
8913 1.1 jruoho Store (ObjectType (Local0), Local1)
8914 1.1 jruoho
8915 1.1 jruoho // validate Local0 is a Number
8916 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8917 1.1 jruoho {
8918 1.1 jruoho Return (0x2B)
8919 1.1 jruoho }
8920 1.1 jruoho
8921 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8922 1.1 jruoho {
8923 1.1 jruoho Return (Local0)
8924 1.1 jruoho }
8925 1.1 jruoho
8926 1.1 jruoho Store ("SizeOf(Arg=Package Buffer Element) PASS", Debug)
8927 1.1 jruoho
8928 1.1 jruoho // Package String Element
8929 1.1 jruoho Store (SAR0 (Index (PKG2, 1), 8), Local0)
8930 1.1 jruoho
8931 1.1 jruoho // save Local0 object type value into Local1
8932 1.1 jruoho Store (ObjectType (Local0), Local1)
8933 1.1 jruoho
8934 1.1 jruoho // validate Local0 is a Number
8935 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8936 1.1 jruoho {
8937 1.1 jruoho Return (0x2B)
8938 1.1 jruoho }
8939 1.1 jruoho
8940 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8941 1.1 jruoho {
8942 1.1 jruoho Return (Local0)
8943 1.1 jruoho }
8944 1.1 jruoho
8945 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug)
8946 1.1 jruoho
8947 1.1 jruoho // Package Package Element
8948 1.1 jruoho Store (SAR0 (Index (PKG2, 2), 2), Local0)
8949 1.1 jruoho
8950 1.1 jruoho // save Local0 object type value into Local1
8951 1.1 jruoho Store (ObjectType (Local0), Local1)
8952 1.1 jruoho
8953 1.1 jruoho // validate Local0 is a Number
8954 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8955 1.1 jruoho {
8956 1.1 jruoho Return (0x2B)
8957 1.1 jruoho }
8958 1.1 jruoho
8959 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8960 1.1 jruoho {
8961 1.1 jruoho Return (Local0)
8962 1.1 jruoho }
8963 1.1 jruoho
8964 1.1 jruoho Store ("SizeOf(Arg=Package Package Element) PASS", Debug)
8965 1.1 jruoho
8966 1.1 jruoho Store ("SizeOf(Arg) PASS", Debug)
8967 1.1 jruoho
8968 1.1 jruoho Return (0)
8969 1.1 jruoho } // SARG: SizeOf(Arg) test control method
8970 1.1 jruoho
8971 1.1.1.3 christos Method (SBUF,, Serialized)
8972 1.1 jruoho { // SBUF: SizeOf(Buffer) test control method
8973 1.1 jruoho Name (BUFR, Buffer (12) {})
8974 1.1 jruoho
8975 1.1 jruoho // store size of BUFR buffer into Local0
8976 1.1 jruoho Store (SizeOf (BUFR), Local0)
8977 1.1 jruoho
8978 1.1 jruoho // save Local0 object type value into Local1
8979 1.1 jruoho Store (ObjectType (Local0), Local1)
8980 1.1 jruoho
8981 1.1 jruoho // validate Local0 is a Number
8982 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8983 1.1 jruoho {
8984 1.1 jruoho Return (0x31)
8985 1.1 jruoho }
8986 1.1 jruoho
8987 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12
8988 1.1 jruoho {
8989 1.1 jruoho Return (0x32)
8990 1.1 jruoho }
8991 1.1 jruoho
8992 1.1 jruoho Store ("SizeOf(BUFR) PASS", Debug)
8993 1.1 jruoho
8994 1.1 jruoho Return (0)
8995 1.1 jruoho } // SBUF: SizeOf(Buffer) test control method
8996 1.1 jruoho
8997 1.1 jruoho
8998 1.1 jruoho /****************************************************
8999 1.1 jruoho //
9000 1.1 jruoho // This section is commented because it is illegal to
9001 1.1 jruoho // perform a SizeOf operation on a Buffer Field
9002 1.1 jruoho //
9003 1.1 jruoho Method (SIND)
9004 1.1 jruoho { // SIND: SizeOf(Index(,,)) test control method
9005 1.1 jruoho Name (BUFR, Buffer (12) {})
9006 1.1 jruoho
9007 1.1 jruoho // store size of Index(BUFR,2,) buffer into Local0
9008 1.1 jruoho Store (SizeOf (Index (BUFR, 2, )), Local0)
9009 1.1 jruoho
9010 1.1 jruoho // save Local0 object type value into Local1
9011 1.1 jruoho Store (ObjectType (Local0), Local1)
9012 1.1 jruoho
9013 1.1 jruoho // validate Local0 is a Number
9014 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9015 1.1 jruoho {
9016 1.1 jruoho Return (0x41)
9017 1.1 jruoho }
9018 1.1 jruoho
9019 1.1 jruoho If (LNotEqual (Local0, 10)) // 12 - 2 = 10
9020 1.1 jruoho {
9021 1.1 jruoho Return (0x42)
9022 1.1 jruoho }
9023 1.1 jruoho
9024 1.1 jruoho Store ("SizeOf(Index(BUFR,,)) PASS", Debug)
9025 1.1 jruoho
9026 1.1 jruoho // TBD: strings and packages
9027 1.1 jruoho
9028 1.1 jruoho Return (0)
9029 1.1 jruoho } // SIND: SizeOf(Index(,,)) test control method
9030 1.1 jruoho ****************************************************/
9031 1.1 jruoho
9032 1.1.1.3 christos Method (SLOC,, Serialized)
9033 1.1 jruoho { // SLOC: SizeOf(Local) test control method
9034 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer
9035 1.1 jruoho Name (STR0, "String")
9036 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package
9037 1.1 jruoho
9038 1.1 jruoho
9039 1.1 jruoho // store BUFR Buffer into Local2
9040 1.1 jruoho Store (BUFR, Local2)
9041 1.1 jruoho
9042 1.1 jruoho // store size of BUFR buffer into Local0
9043 1.1 jruoho Store (SizeOf (Local2), Local0)
9044 1.1 jruoho
9045 1.1 jruoho // save Local0 object type value into Local1
9046 1.1 jruoho Store (ObjectType (Local0), Local1)
9047 1.1 jruoho
9048 1.1 jruoho // validate Local0 is a Number
9049 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9050 1.1 jruoho {
9051 1.1 jruoho Return (0x51)
9052 1.1 jruoho }
9053 1.1 jruoho
9054 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12
9055 1.1 jruoho {
9056 1.1 jruoho Return (0x52)
9057 1.1 jruoho }
9058 1.1 jruoho
9059 1.1 jruoho Store ("SizeOf(Local2=Buffer) PASS", Debug)
9060 1.1 jruoho
9061 1.1 jruoho
9062 1.1 jruoho // store STR0 string into Local2
9063 1.1 jruoho Store (STR0, Local2)
9064 1.1 jruoho
9065 1.1 jruoho // store size of STR0 buffer into Local0
9066 1.1 jruoho Store (SizeOf (Local2), Local0)
9067 1.1 jruoho
9068 1.1 jruoho // save Local0 object type value into Local1
9069 1.1 jruoho Store (ObjectType (Local0), Local1)
9070 1.1 jruoho
9071 1.1 jruoho // validate Local0 is a Number
9072 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9073 1.1 jruoho {
9074 1.1 jruoho Return (0x53)
9075 1.1 jruoho }
9076 1.1 jruoho
9077 1.1 jruoho If (LNotEqual (Local0, 6)) // STR0 size is 6
9078 1.1 jruoho {
9079 1.1 jruoho Return (0x54)
9080 1.1 jruoho }
9081 1.1 jruoho
9082 1.1 jruoho Store ("SizeOf(Local2=String) PASS", Debug)
9083 1.1 jruoho
9084 1.1 jruoho
9085 1.1 jruoho // store PKG0 Package into Local2
9086 1.1 jruoho Store (PKG0, Local2)
9087 1.1 jruoho
9088 1.1 jruoho // store size of PKG0 buffer into Local0
9089 1.1 jruoho Store (SizeOf (Local2), Local0)
9090 1.1 jruoho
9091 1.1 jruoho // save Local0 object type value into Local1
9092 1.1 jruoho Store (ObjectType (Local0), Local1)
9093 1.1 jruoho
9094 1.1 jruoho // validate Local0 is a Number
9095 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9096 1.1 jruoho {
9097 1.1 jruoho Return (0x55)
9098 1.1 jruoho }
9099 1.1 jruoho
9100 1.1 jruoho If (LNotEqual (Local0, 4)) // PKG0 size is 4
9101 1.1 jruoho {
9102 1.1 jruoho Return (0x56)
9103 1.1 jruoho }
9104 1.1 jruoho
9105 1.1 jruoho Store ("SizeOf(Local2=Package) PASS", Debug)
9106 1.1 jruoho
9107 1.1 jruoho
9108 1.1 jruoho Return (0)
9109 1.1 jruoho } // SLOC: SizeOf(Local) test control method
9110 1.1 jruoho
9111 1.1 jruoho Method (TEST)
9112 1.1 jruoho {
9113 1.1 jruoho Store ("++++++++ SizeOf Test", Debug)
9114 1.1 jruoho
9115 1.1 jruoho // Store current operating system string into Local0
9116 1.1 jruoho Store (_OS, Local0)
9117 1.1 jruoho
9118 1.1 jruoho Store (SizeOf (_OS), Local3)
9119 1.1 jruoho
9120 1.1 jruoho // save Local3 object type value into Local4
9121 1.1 jruoho Store (ObjectType (Local3), Local4)
9122 1.1 jruoho
9123 1.1 jruoho // validate Local3 is a Number
9124 1.1 jruoho If (LNotEqual (Local4, 1)) // Number type is 1
9125 1.1 jruoho {
9126 1.1 jruoho // failure
9127 1.1 jruoho Return (0x61)
9128 1.1 jruoho }
9129 1.1 jruoho
9130 1.1 jruoho // Store current operating system string into Local0
9131 1.1 jruoho // This verifies above SizeOf(_OS) did not corrupt ACPI namespace
9132 1.1 jruoho Store (_OS, Local0)
9133 1.1 jruoho
9134 1.1 jruoho // Store SARG [Validate SizeOf(Arg)] return value into Local1
9135 1.1 jruoho Store (SARG, Local1)
9136 1.1 jruoho
9137 1.1 jruoho // save Local1 object type value into Local2
9138 1.1 jruoho Store (ObjectType (Local1), Local2)
9139 1.1 jruoho
9140 1.1 jruoho // validate Local1 is a Number
9141 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9142 1.1 jruoho {
9143 1.1 jruoho // failure
9144 1.1 jruoho Return (0x62)
9145 1.1 jruoho }
9146 1.1 jruoho
9147 1.1 jruoho // zero indicates pass, non-zero is an error code
9148 1.1 jruoho If (LNotEqual (Local1, 0))
9149 1.1 jruoho {
9150 1.1 jruoho // return SARG error code
9151 1.1 jruoho Return (Local1)
9152 1.1 jruoho }
9153 1.1 jruoho
9154 1.1 jruoho
9155 1.1 jruoho // Store SBUF [Validate SizeOf(Buffer)] return value into Local1
9156 1.1 jruoho Store (SBUF, Local1)
9157 1.1 jruoho
9158 1.1 jruoho // save Local1 object type value into Local2
9159 1.1 jruoho Store (ObjectType (Local1), Local2)
9160 1.1 jruoho
9161 1.1 jruoho // validate Local1 is a Number
9162 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9163 1.1 jruoho {
9164 1.1 jruoho // failure
9165 1.1 jruoho Return (0x63)
9166 1.1 jruoho }
9167 1.1 jruoho
9168 1.1 jruoho // zero indicates pass, non-zero is an error code
9169 1.1 jruoho If (LNotEqual (Local1, 0))
9170 1.1 jruoho {
9171 1.1 jruoho // return SBUF error code
9172 1.1 jruoho Return (Local1)
9173 1.1 jruoho }
9174 1.1 jruoho
9175 1.1 jruoho /****************************************************
9176 1.1 jruoho //
9177 1.1 jruoho // This section is commented because it is illegal to
9178 1.1 jruoho // perform a SizeOf operation on a Buffer Field
9179 1.1 jruoho //
9180 1.1 jruoho // Store SIND [verify SizeOf(Index(,,))] return value into Local1
9181 1.1 jruoho Store (SIND, Local1)
9182 1.1 jruoho
9183 1.1 jruoho // save Local1 object type value into Local2
9184 1.1 jruoho Store (ObjectType (Local1), Local2)
9185 1.1 jruoho
9186 1.1 jruoho // validate Local1 is a Number
9187 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9188 1.1 jruoho {
9189 1.1 jruoho // failure
9190 1.1 jruoho Return (0x64)
9191 1.1 jruoho }
9192 1.1 jruoho
9193 1.1 jruoho // zero indicates pass, non-zero is an error code
9194 1.1 jruoho If (LNotEqual (Local1, 0))
9195 1.1 jruoho {
9196 1.1 jruoho // return SARG error code
9197 1.1 jruoho Return (Local1)
9198 1.1 jruoho }
9199 1.1 jruoho ****************************************************/
9200 1.1 jruoho
9201 1.1 jruoho // Store SLOC [verify SizeOf(Local)] return value into Local1
9202 1.1 jruoho Store (SLOC, Local1)
9203 1.1 jruoho
9204 1.1 jruoho // save Local1 object type value into Local2
9205 1.1 jruoho Store (ObjectType (Local1), Local2)
9206 1.1 jruoho
9207 1.1 jruoho // validate Local1 is a Number
9208 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9209 1.1 jruoho {
9210 1.1 jruoho // failure
9211 1.1 jruoho Return (0x65)
9212 1.1 jruoho }
9213 1.1 jruoho
9214 1.1 jruoho // zero indicates pass, non-zero is an error code
9215 1.1 jruoho If (LNotEqual (Local1, 0))
9216 1.1 jruoho {
9217 1.1 jruoho // return SLOC error code
9218 1.1 jruoho Return (Local1)
9219 1.1 jruoho }
9220 1.1 jruoho
9221 1.1 jruoho
9222 1.1 jruoho // TBD: SizeOf (METH) -- where METH control method returns
9223 1.1 jruoho // buffer, BufferField, string, package, package element
9224 1.1 jruoho
9225 1.1 jruoho
9226 1.1 jruoho Return (0)
9227 1.1 jruoho } // TEST
9228 1.1 jruoho } // SIZO
9229 1.1 jruoho
9230 1.1 jruoho //
9231 1.1 jruoho // test SmiShare.asl
9232 1.1 jruoho //
9233 1.1 jruoho Scope (\_SB) // System Bus
9234 1.1 jruoho { // _SB system bus
9235 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long
9236 1.1 jruoho OperationRegion(RAM1, SystemMemory, 0x400000, 0xA)
9237 1.1 jruoho
9238 1.1 jruoho Field (RAM1, AnyAcc, NoLock, Preserve)
9239 1.1 jruoho {
9240 1.1 jruoho BI1T, 1, // Create some bits in memory to access
9241 1.1 jruoho BI2T, 2,
9242 1.1 jruoho BI3T, 3,
9243 1.1 jruoho LST2, 2
9244 1.1 jruoho } // End Field RAM1
9245 1.1 jruoho
9246 1.1 jruoho Field (RAM1, WordAcc, NoLock, WriteAsZeros)
9247 1.1 jruoho {
9248 1.1 jruoho WRD, 16
9249 1.1 jruoho } // End 2nd Field RAM1
9250 1.1 jruoho
9251 1.1 jruoho Field (RAM1, ByteAcc, NoLock, WriteAsOnes)
9252 1.1 jruoho {
9253 1.1 jruoho BYTE, 8
9254 1.1 jruoho } // End 3rd Field RAM1
9255 1.1 jruoho
9256 1.1 jruoho Field (RAM1, ByteAcc, NoLock, Preserve)
9257 1.1 jruoho {
9258 1.1 jruoho SMIC, 8,
9259 1.1 jruoho SMID, 8
9260 1.1 jruoho }
9261 1.1 jruoho
9262 1.1 jruoho Device (MBIT)
9263 1.1 jruoho {
9264 1.1 jruoho Method (_INI)
9265 1.1 jruoho {
9266 1.1 jruoho Store (0, BI1T)
9267 1.1 jruoho Store (3, BI2T)
9268 1.1 jruoho Store (7, BI3T)
9269 1.1 jruoho Store (0, LST2)
9270 1.1 jruoho } // End _INI Method
9271 1.1 jruoho } // End Device MBIT
9272 1.1 jruoho
9273 1.1 jruoho Device (MWRD)
9274 1.1 jruoho {
9275 1.1 jruoho Method (_INI)
9276 1.1 jruoho {
9277 1.1 jruoho Store (0, WRD)
9278 1.1 jruoho } // End _INI Method
9279 1.1 jruoho } // End Device MWRD
9280 1.1 jruoho
9281 1.1 jruoho Device (MBYT)
9282 1.1 jruoho {
9283 1.1 jruoho Method (_INI)
9284 1.1 jruoho {
9285 1.1 jruoho Store (0, BYTE)
9286 1.1 jruoho Store (0xC, SMIC)
9287 1.1 jruoho Store (0xD, SMID)
9288 1.1 jruoho } // End _INI Method
9289 1.1 jruoho } // End Device MBYT
9290 1.1 jruoho
9291 1.1 jruoho /*
9292 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long
9293 1.1 jruoho OperationRegion(\RAM1, SystemMemory, 0x400000, 0xA)
9294 1.1 jruoho
9295 1.1 jruoho Field (\RAM1, AnyAcc, NoLock, Preserve)
9296 1.1 jruoho {
9297 1.1 jruoho BI1T, 1, // Create some bits in memory to access
9298 1.1 jruoho BI2T, 2,
9299 1.1 jruoho BI3T, 3,
9300 1.1 jruoho LST2, 2
9301 1.1 jruoho } // End Field RAM1
9302 1.1 jruoho
9303 1.1 jruoho Field (\RAM1, WordAcc, NoLock, WriteAsZeros)
9304 1.1 jruoho {
9305 1.1 jruoho WRD, 16
9306 1.1 jruoho } // End 2nd Field RAM1
9307 1.1 jruoho
9308 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, WriteAsOnes)
9309 1.1 jruoho {
9310 1.1 jruoho BYTE, 8
9311 1.1 jruoho } // End 3rd Field RAM1
9312 1.1 jruoho
9313 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, Preserve)
9314 1.1 jruoho {
9315 1.1 jruoho SMIC, 8,
9316 1.1 jruoho SMID, 8
9317 1.1 jruoho }
9318 1.1 jruoho */
9319 1.1 jruoho Method (SMIX)
9320 1.1 jruoho {
9321 1.1 jruoho Return (BYTE)
9322 1.1 jruoho } // End SMIX
9323 1.1 jruoho
9324 1.1 jruoho Method (EVNT)
9325 1.1 jruoho {
9326 1.1 jruoho Store (SMIX, Local0)
9327 1.1 jruoho
9328 1.1.1.3 christos Notify (\_SB_, 0x29)
9329 1.1 jruoho If (And (Local0, 0x01))
9330 1.1 jruoho { Notify (\_SB_.SMIS, 0x21)}
9331 1.1 jruoho
9332 1.1 jruoho If (And (Local0, 0x02))
9333 1.1 jruoho { Notify (\_SB_.SMIS, 0x22)}
9334 1.1 jruoho
9335 1.1 jruoho If (And (Local0, 0x04))
9336 1.1 jruoho { Notify (\_SB_.SMIS, 0x24)}
9337 1.1 jruoho
9338 1.1 jruoho If (And (Local0, 0x08))
9339 1.1 jruoho { Notify (\_SB_.SMIS, 0x28)}
9340 1.1 jruoho
9341 1.1 jruoho } // End Method EVNT
9342 1.1 jruoho
9343 1.1.1.3 christos Method (NTFY)
9344 1.1.1.3 christos {
9345 1.1.1.3 christos Notify (\_SB_, 1)
9346 1.1.1.3 christos Notify (\_TZ_.TZ1, 2)
9347 1.1.1.3 christos Notify (\_PR_.CPU0, 3)
9348 1.1.1.3 christos
9349 1.1.1.3 christos Notify (\_SB_, 0x81)
9350 1.1.1.3 christos Notify (\_TZ_.TZ1, 0x82)
9351 1.1.1.3 christos Notify (\_PR_.CPU0, 0x83)
9352 1.1.1.3 christos }
9353 1.1.1.3 christos
9354 1.1 jruoho Device (SMIS)
9355 1.1 jruoho {
9356 1.1 jruoho Method (BINK)
9357 1.1 jruoho {
9358 1.1 jruoho Store (0, Local0) // Zero out Local0
9359 1.1 jruoho
9360 1.1 jruoho If (LNotEqual (SMID, 0xD))
9361 1.1 jruoho { Or (0x80, Local0, Local0)}
9362 1.1 jruoho
9363 1.1 jruoho If (LNotEqual (SMIC, 0xC))
9364 1.1 jruoho { Or (0x40, Local0, Local0)}
9365 1.1 jruoho
9366 1.1 jruoho If (LNotEqual (BYTE, 0))
9367 1.1 jruoho { Or (0x20, Local0, Local0)}
9368 1.1 jruoho
9369 1.1 jruoho If (LNotEqual (WRD, 0))
9370 1.1 jruoho { Or (0x10, Local0, Local0)}
9371 1.1 jruoho
9372 1.1 jruoho If (LNotEqual (LST2, 0))
9373 1.1 jruoho { Or (0x8, Local0, Local0)}
9374 1.1 jruoho
9375 1.1 jruoho If (LNotEqual (BI3T, 0x7))
9376 1.1 jruoho { Or (0x4, Local0, Local0)}
9377 1.1 jruoho
9378 1.1 jruoho If (LNotEqual (BI2T, 0x3))
9379 1.1 jruoho { Or (0x2, Local0, Local0)}
9380 1.1 jruoho
9381 1.1 jruoho If (LNotEqual (BI1T, 0))
9382 1.1 jruoho { Or (0x1, Local0, Local0)}
9383 1.1 jruoho
9384 1.1 jruoho Return (Local0)
9385 1.1 jruoho } // End Method BINK
9386 1.1 jruoho
9387 1.1 jruoho Method (TEST)
9388 1.1 jruoho {
9389 1.1 jruoho Store ("++++++++ SmiShare Test", Debug)
9390 1.1 jruoho
9391 1.1 jruoho // Expect EVNT to generate Notify value we just previously
9392 1.1 jruoho // stored in BYTE
9393 1.1.1.3 christos
9394 1.1 jruoho Store (0x20, BYTE)
9395 1.1 jruoho EVNT ()
9396 1.1 jruoho Store (0x21, BYTE)
9397 1.1 jruoho EVNT ()
9398 1.1 jruoho Store (0x22, BYTE)
9399 1.1 jruoho EVNT ()
9400 1.1 jruoho Store (0x23, BYTE)
9401 1.1 jruoho EVNT ()
9402 1.1 jruoho
9403 1.1.1.3 christos NTFY ()
9404 1.1 jruoho Return (0) // pass
9405 1.1 jruoho } // End Method TEST
9406 1.1 jruoho } // Device SMIS
9407 1.1 jruoho
9408 1.1 jruoho Device(CNDT)
9409 1.1 jruoho {
9410 1.1 jruoho Method(TEST)
9411 1.1 jruoho {
9412 1.1 jruoho If (ECOK)
9413 1.1 jruoho {
9414 1.1 jruoho return("Broken")
9415 1.1 jruoho }
9416 1.1 jruoho Else
9417 1.1 jruoho {
9418 1.1 jruoho return("Works")
9419 1.1 jruoho }
9420 1.1 jruoho }
9421 1.1 jruoho
9422 1.1 jruoho Method(ECOK)
9423 1.1 jruoho {
9424 1.1 jruoho Return(0x0)
9425 1.1 jruoho }
9426 1.1 jruoho }
9427 1.1 jruoho
9428 1.1 jruoho } // _SB system bus
9429 1.1 jruoho
9430 1.1 jruoho
9431 1.1 jruoho /* Test a very big buffer */
9432 1.1 jruoho
9433 1.1 jruoho Name(WQAB, Buffer(6756)
9434 1.1 jruoho {
9435 1.1 jruoho 0x46,0x4F,0x4D,0x42,0x01,0x00,0x00,0x00,
9436 1.1 jruoho 0x54,0x1A,0x00,0x00,0xBA,0xAD,0x00,0x00,
9437 1.1 jruoho 0x44,0x53,0x00,0x01,0x1A,0x7D,0xDA,0x54,
9438 1.1 jruoho 0x98,0xBD,0x92,0x00,0x01,0x06,0x18,0x42,
9439 1.1 jruoho 0x10,0x47,0x10,0x92,0x46,0x62,0x02,0x89,
9440 1.1 jruoho 0x80,0x90,0x18,0x18,0x14,0x81,0x85,0x00,
9441 1.1 jruoho 0x49,0x02,0x88,0xC4,0x41,0xE1,0x20,0xD4,
9442 1.1 jruoho 0x9F,0x40,0x7E,0x05,0x20,0x74,0x28,0x40,
9443 1.1 jruoho 0xA6,0x00,0x83,0x02,0x9C,0x22,0x88,0xA0,
9444 1.1 jruoho 0x57,0x01,0x36,0x05,0x98,0x14,0x60,0x51,
9445 1.1 jruoho 0x80,0x76,0x01,0x96,0x05,0xE8,0x16,0x20,
9446 1.1 jruoho 0x1D,0x96,0x88,0x04,0x47,0x89,0x01,0x47,
9447 1.1 jruoho 0xE9,0xC4,0x16,0x6E,0xD8,0xE0,0x85,0xA2,
9448 1.1 jruoho 0x68,0x06,0x51,0x12,0x94,0x8B,0x20,0x5D,
9449 1.1 jruoho 0x10,0x52,0x2E,0xC0,0x37,0x82,0x06,0x10,
9450 1.1 jruoho 0xA5,0x77,0x01,0xB6,0x05,0x98,0x86,0x27,
9451 1.1 jruoho 0xD2,0x20,0xE4,0x60,0x08,0x54,0xCE,0x80,
9452 1.1 jruoho 0x20,0x69,0x44,0x21,0x1E,0xA7,0x44,0x08,
9453 1.1 jruoho 0x0A,0x84,0x90,0xD4,0xF1,0xA0,0xA0,0x71,
9454 1.1 jruoho 0x88,0xAD,0xCE,0x46,0x93,0xA9,0x74,0x7E,
9455 1.1 jruoho 0x48,0x82,0x70,0xC6,0x2A,0x7E,0x3A,0x9A,
9456 1.1 jruoho 0xD0,0xD9,0x9C,0x60,0xE7,0x18,0x72,0x3C,
9457 1.1 jruoho 0x48,0xF4,0x20,0xB8,0x00,0x0F,0x1C,0x2C,
9458 1.1 jruoho 0x34,0x84,0x22,0x6B,0x80,0xC1,0x8C,0xDD,
9459 1.1 jruoho 0x63,0xB1,0x0B,0x4E,0x0A,0xEC,0x61,0xB3,
9460 1.1 jruoho 0x01,0x19,0xA2,0x24,0x38,0xD4,0x11,0xC0,
9461 1.1 jruoho 0x12,0x05,0x98,0x1F,0x87,0x0C,0x0F,0x95,
9462 1.1 jruoho 0x8C,0x25,0x24,0x1B,0xAB,0x87,0xC2,0xA5,
9463 1.1 jruoho 0x40,0x68,0x6C,0x27,0xED,0x19,0x45,0x2C,
9464 1.1 jruoho 0x79,0x4A,0x82,0x49,0xE0,0x51,0x44,0x36,
9465 1.1 jruoho 0x1A,0x27,0x28,0x1B,0x1A,0x25,0x03,0x42,
9466 1.1 jruoho 0x9E,0x05,0x58,0x07,0x26,0x04,0x76,0x2F,
9467 1.1 jruoho 0xC0,0x9A,0x00,0x73,0xB3,0x90,0xB1,0xB9,
9468 1.1 jruoho 0xE8,0xFF,0x0F,0x71,0xB0,0x31,0xDA,0x9A,
9469 1.1 jruoho 0xAE,0x90,0xC2,0xC4,0x88,0x12,0x2C,0x5E,
9470 1.1 jruoho 0xC5,0xC3,0x10,0xCA,0x93,0x42,0xA8,0x48,
9471 1.1 jruoho 0x95,0xA1,0x68,0xB4,0x51,0x2A,0x14,0xE0,
9472 1.1 jruoho 0x4C,0x80,0x30,0x5C,0x1D,0x03,0x82,0x46,
9473 1.1 jruoho 0x88,0x15,0x29,0x56,0xFB,0x83,0x20,0xF1,
9474 1.1 jruoho 0x2D,0x40,0x54,0x01,0xA2,0x48,0xA3,0x41,
9475 1.1 jruoho 0x9D,0x03,0x3C,0x5C,0x0F,0xF5,0xF0,0x3D,
9476 1.1 jruoho 0xF6,0x93,0x0C,0x72,0x90,0x67,0xF1,0xA8,
9477 1.1 jruoho 0x70,0x9C,0x06,0x49,0xE0,0x0B,0x80,0x4F,
9478 1.1 jruoho 0x08,0x1E,0x38,0xDE,0x35,0xA0,0x66,0x7C,
9479 1.1 jruoho 0xBC,0x4C,0x10,0x1C,0x6A,0x88,0x1E,0x68,
9480 1.1 jruoho 0xB8,0x13,0x38,0x44,0x06,0xE8,0x49,0x3D,
9481 1.1 jruoho 0x52,0x60,0x07,0x77,0x32,0xEF,0x01,0xAF,
9482 1.1 jruoho 0x0A,0xCD,0x5E,0x12,0x08,0xC1,0xF1,0xF8,
9483 1.1 jruoho 0x7E,0xC0,0x26,0x9C,0xC0,0xF2,0x07,0x81,
9484 1.1 jruoho 0x1A,0x99,0xA1,0x3D,0xCA,0xD3,0x8A,0x19,
9485 1.1 jruoho 0xF2,0x31,0xC1,0x04,0x16,0x0B,0x21,0x05,
9486 1.1 jruoho 0x10,0x1A,0x0F,0xF8,0x6F,0x00,0x8F,0x17,
9487 1.1 jruoho 0xBE,0x12,0xC4,0xF6,0x80,0x12,0x0C,0x0B,
9488 1.1 jruoho 0x21,0x23,0xAB,0xF0,0x78,0xE8,0x28,0x7C,
9489 1.1 jruoho 0x95,0x38,0x9C,0xD3,0x8A,0x67,0x82,0xE1,
9490 1.1 jruoho 0x20,0xF4,0x05,0x90,0x00,0x51,0xE7,0x0C,
9491 1.1 jruoho 0xD4,0x61,0xC1,0xE7,0x04,0x76,0x33,0x38,
9492 1.1 jruoho 0x83,0x47,0x00,0x8F,0xE4,0x84,0xFC,0x2B,
9493 1.1 jruoho 0xF1,0xC0,0xE0,0x03,0xE2,0xEF,0x1F,0xA7,
9494 1.1 jruoho 0xEC,0x11,0x9C,0xA9,0x01,0x7D,0x1C,0xF0,
9495 1.1 jruoho 0xFF,0x7F,0x28,0x7C,0x88,0x1E,0xDF,0x29,
9496 1.1 jruoho 0x1F,0xAF,0x4F,0x17,0x96,0x35,0x4E,0xE8,
9497 1.1 jruoho 0x77,0x08,0x9F,0x38,0x7C,0x64,0x71,0x44,
9498 1.1 jruoho 0x08,0x39,0x39,0x05,0xA0,0x81,0x4F,0xF7,
9499 1.1 jruoho 0xEC,0x22,0x9C,0xAE,0x27,0xE5,0x40,0xC3,
9500 1.1 jruoho 0xA0,0xE3,0x04,0xC7,0x79,0x00,0x1C,0xE3,
9501 1.1 jruoho 0x84,0x7F,0x2E,0x80,0x3F,0x40,0x7E,0xCA,
9502 1.1 jruoho 0x78,0xC5,0x48,0xE0,0x98,0x23,0x44,0x9F,
9503 1.1 jruoho 0x6B,0x3C,0x42,0x2C,0xFC,0x53,0x45,0xE1,
9504 1.1 jruoho 0x03,0x21,0x63,0x04,0x17,0xA0,0xC7,0x08,
9505 1.1 jruoho 0x7C,0x03,0x8E,0x11,0x7D,0x94,0xE0,0xEA,
9506 1.1 jruoho 0x0F,0x1A,0x74,0x80,0xB8,0xFF,0xFF,0x00,
9507 1.1 jruoho 0xE1,0x83,0x7A,0x80,0xC0,0x37,0xFA,0xD1,
9508 1.1 jruoho 0x03,0x3D,0x2E,0x8B,0x3E,0x0F,0xC8,0xF8,
9509 1.1 jruoho 0x89,0x46,0xF3,0xE2,0xA7,0x03,0x7E,0xF8,
9510 1.1 jruoho 0x00,0x0F,0xA8,0x87,0x84,0x03,0xC5,0x4C,
9511 1.1 jruoho 0x9B,0x83,0x3E,0xBB,0x1C,0x3A,0x76,0xB8,
9512 1.1 jruoho 0xE0,0x3F,0x81,0x80,0x4B,0xDE,0x21,0x0C,
9513 1.1 jruoho 0x14,0x23,0xC6,0x9F,0x83,0x7C,0x0A,0x03,
9514 1.1 jruoho 0xFF,0xFF,0xFF,0x14,0x06,0xFE,0xE1,0xF0,
9515 1.1 jruoho 0x20,0x4F,0x07,0x9F,0xB6,0xA8,0x74,0x18,
9516 1.1 jruoho 0xD4,0x81,0x0B,0xB0,0x32,0x89,0x08,0xCF,
9517 1.1 jruoho 0x12,0xB5,0x41,0xE8,0xD4,0xF0,0x36,0xF1,
9518 1.1 jruoho 0xB6,0xE5,0x5B,0x40,0x9C,0xD3,0xEC,0xED,
9519 1.1 jruoho 0xC0,0x45,0x30,0x22,0xD4,0x0C,0x45,0x4E,
9520 1.1 jruoho 0x5A,0x11,0x63,0x44,0x79,0xDC,0x32,0xCA,
9521 1.1 jruoho 0xDB,0xD6,0x0B,0x40,0xBC,0x13,0x7B,0xDE,
9522 1.1 jruoho 0x32,0x46,0xF0,0xC8,0x0F,0x5C,0x2C,0xC6,
9523 1.1 jruoho 0xEA,0xF5,0x5F,0xF3,0x81,0x0B,0x70,0xF6,
9524 1.1 jruoho 0xFF,0x3F,0x70,0x01,0x1C,0x0A,0x7A,0x18,
9525 1.1 jruoho 0x42,0x0F,0xC3,0x53,0x39,0x97,0x87,0xC8,
9526 1.1 jruoho 0x53,0x89,0x18,0x35,0x4C,0xD4,0x67,0x28,
9527 1.1 jruoho 0xDF,0x2D,0x7C,0x20,0x02,0xDF,0x99,0x0B,
9528 1.1 jruoho 0xF8,0xFD,0xFF,0x0F,0x44,0x70,0x8E,0x29,
9529 1.1 jruoho 0xB8,0x33,0x0D,0x78,0x7C,0xCE,0x40,0x20,
9530 1.1 jruoho 0xA7,0xE2,0x43,0x0D,0x60,0x41,0xF4,0x13,
9531 1.1 jruoho 0xC2,0x27,0x1A,0x2A,0x13,0x06,0x75,0xA8,
9532 1.1 jruoho 0x01,0xAC,0x5C,0x61,0x9E,0x46,0xCF,0xF9,
9533 1.1 jruoho 0x59,0xC6,0xA7,0x1A,0x1F,0x4A,0x8D,0x63,
9534 1.1 jruoho 0x88,0x97,0x99,0x87,0x1A,0x1F,0x0B,0x5E,
9535 1.1 jruoho 0x49,0x7D,0xA8,0x31,0x54,0x9C,0x87,0x1A,
9536 1.1 jruoho 0x0F,0x37,0x50,0xD4,0x37,0x9B,0x67,0x1B,
9537 1.1 jruoho 0xA3,0xC7,0xF7,0x0D,0xD5,0x10,0x0F,0x35,
9538 1.1 jruoho 0x4C,0xF2,0x4A,0x35,0x16,0x1F,0x6A,0xC0,
9539 1.1 jruoho 0xF1,0xFF,0x3F,0xD4,0x00,0xFC,0xFF,0xFF,
9540 1.1 jruoho 0x1F,0x6A,0x00,0x47,0x47,0x03,0x38,0x47,
9541 1.1 jruoho 0x46,0xDC,0xD1,0x00,0x5C,0x87,0x52,0xE0,
9542 1.1 jruoho 0x70,0x34,0x00,0x1E,0x47,0x21,0x30,0x5F,
9543 1.1 jruoho 0x68,0x7C,0x14,0x02,0x16,0xFF,0xFF,0xA3,
9544 1.1 jruoho 0x10,0xF8,0x65,0x9F,0x83,0x50,0x42,0x8F,
9545 1.1 jruoho 0x42,0x80,0xA0,0xDB,0xCF,0x53,0xC4,0xB3,
9546 1.1 jruoho 0x8F,0x2F,0x3F,0x0F,0x04,0x11,0x5E,0xF3,
9547 1.1 jruoho 0x7D,0x0A,0xF2,0x21,0xDF,0x47,0x21,0x06,
9548 1.1 jruoho 0x63,0x28,0x5F,0x83,0x7C,0x14,0x62,0x50,
9549 1.1 jruoho 0xAF,0x41,0xBE,0xEF,0x1B,0xE4,0xF1,0x22,
9550 1.1 jruoho 0x48,0xEC,0x67,0x02,0x1F,0x85,0x98,0xE8,
9551 1.1 jruoho 0xA3,0x10,0xA0,0xF0,0xFF,0x7F,0x14,0x02,
9552 1.1 jruoho 0xF8,0xFF,0xFF,0x3F,0x0A,0x01,0xCE,0x02,
9553 1.1 jruoho 0x1C,0x0D,0x40,0x37,0xAD,0x47,0x21,0xF0,
9554 1.1 jruoho 0xDE,0x59,0x4E,0xFB,0x04,0x7C,0x16,0x02,
9555 1.1 jruoho 0xCC,0xFE,0xFF,0xCF,0x42,0xC0,0xEC,0x28,
9556 1.1 jruoho 0x74,0x14,0x67,0xF9,0x2A,0xF4,0x04,0xF0,
9557 1.1 jruoho 0x02,0x10,0x23,0xCC,0x3B,0xD0,0x4B,0x26,
9558 1.1 jruoho 0xBB,0x8B,0x1B,0xE7,0xC9,0xE5,0x2C,0x9E,
9559 1.1 jruoho 0xC4,0x7D,0x09,0xF2,0x81,0xE2,0x59,0xC8,
9560 1.1 jruoho 0x50,0xA7,0x1B,0xF4,0x8D,0xDC,0x03,0x8B,
9561 1.1 jruoho 0x19,0x3F,0xC4,0xF3,0x90,0x21,0x9E,0x85,
9562 1.1 jruoho 0x00,0x76,0xFD,0xFF,0xCF,0x42,0x00,0xFF,
9563 1.1 jruoho 0xFF,0xFF,0x47,0x03,0xF8,0x2F,0x00,0x9F,
9564 1.1 jruoho 0x85,0x80,0xE7,0x09,0xE0,0x41,0xDB,0x67,
9565 1.1 jruoho 0x21,0x80,0x33,0x87,0xCB,0xF3,0x7F,0x05,
9566 1.1 jruoho 0x3A,0x96,0xF7,0x08,0xCF,0xFA,0x24,0x5F,
9567 1.1 jruoho 0x2F,0x3D,0xD3,0x87,0x82,0x67,0x21,0x86,
9568 1.1 jruoho 0x75,0x18,0x3E,0x0B,0x31,0x88,0x17,0x4D,
9569 1.1 jruoho 0x43,0xBC,0x70,0xFA,0x30,0xE0,0xFF,0x3F,
9570 1.1 jruoho 0x5E,0xE0,0x57,0x4E,0x03,0x05,0x09,0xF4,
9571 1.1 jruoho 0x2C,0x04,0x30,0xFE,0xFF,0x7F,0x16,0x02,
9572 1.1 jruoho 0xC8,0xB8,0x46,0x9D,0x85,0x80,0xE5,0x6D,
9573 1.1 jruoho 0xE5,0x19,0xDB,0xA7,0x95,0x04,0xFF,0xFF,
9574 1.1 jruoho 0x67,0x21,0xC0,0x41,0x2E,0x23,0x07,0x21,
9575 1.1 jruoho 0x4C,0xC4,0x87,0x83,0x8F,0x99,0x80,0x9E,
9576 1.1 jruoho 0x29,0xBE,0xB8,0x1B,0xE3,0x09,0xE0,0x45,
9577 1.1 jruoho 0xE2,0x31,0x93,0x1D,0x35,0x0D,0xF3,0x2C,
9578 1.1 jruoho 0x64,0xBC,0xB3,0x78,0x0D,0x78,0x82,0xF7,
9579 1.1 jruoho 0xE4,0x9F,0x85,0x18,0xD8,0x61,0x05,0x7B,
9580 1.1 jruoho 0x14,0x32,0xA8,0xC1,0x63,0x87,0x08,0x13,
9581 1.1 jruoho 0xE8,0x59,0x88,0xC5,0x7D,0xAE,0xE8,0x3C,
9582 1.1 jruoho 0xE1,0xB3,0x10,0xF0,0xFE,0xFF,0x9F,0x25,
9583 1.1 jruoho 0xE0,0x5E,0x0D,0x9E,0x85,0x00,0x13,0x87,
9584 1.1 jruoho 0x0D,0x9F,0x35,0xC0,0x33,0x7C,0x8F,0xEA,
9585 1.1 jruoho 0x1C,0x1E,0x8F,0x81,0x7F,0x56,0x1D,0xE7,
9586 1.1 jruoho 0x04,0x96,0x7B,0xD1,0xB2,0x71,0xA0,0xA1,
9587 1.1 jruoho 0x23,0xB2,0x3A,0x20,0x8D,0x0D,0x73,0x29,
9588 1.1 jruoho 0x89,0x7C,0x72,0x6C,0xD4,0x56,0x04,0xA7,
9589 1.1 jruoho 0x33,0x93,0x4F,0x00,0xD6,0x42,0x21,0x05,
9590 1.1 jruoho 0x34,0x1A,0x8B,0xE1,0x9D,0xF9,0xE8,0x44,
9591 1.1 jruoho 0x41,0x0C,0xE8,0xE3,0x90,0x6D,0x1C,0x0A,
9592 1.1 jruoho 0x50,0x7B,0xD1,0x14,0xC8,0x39,0x07,0xA3,
9593 1.1 jruoho 0x7F,0x76,0x74,0x36,0xBE,0x13,0x70,0x0D,
9594 1.1 jruoho 0x10,0x3A,0x25,0x18,0xDA,0x6A,0x04,0xFC,
9595 1.1 jruoho 0xFF,0x67,0x89,0x01,0x33,0xFE,0x53,0x8C,
9596 1.1 jruoho 0x09,0x7C,0x8E,0xC1,0x1F,0x0C,0xF0,0x03,
9597 1.1 jruoho 0x7F,0x31,0xA8,0xFA,0x5E,0xA0,0xFB,0x82,
9598 1.1 jruoho 0xD5,0xDD,0x64,0x20,0xCC,0xC8,0x04,0xF5,
9599 1.1 jruoho 0x9D,0x0E,0x40,0x01,0xE4,0x0B,0x81,0xCF,
9600 1.1 jruoho 0x51,0x0F,0x05,0x6C,0x22,0x21,0xC2,0x44,
9601 1.1 jruoho 0x33,0x3A,0x62,0xC2,0xA8,0xE8,0x13,0xA6,
9602 1.1 jruoho 0x20,0x9E,0xB0,0x63,0x4D,0x18,0x3D,0x13,
9603 1.1 jruoho 0x5F,0x74,0xD8,0x88,0x31,0x21,0xAE,0x1E,
9604 1.1 jruoho 0xD0,0x26,0x18,0xD4,0x97,0x22,0x58,0x43,
9605 1.1 jruoho 0xE6,0x63,0xF1,0x05,0x02,0x37,0x65,0x30,
9606 1.1 jruoho 0xCE,0x89,0x5D,0x13,0x7C,0xD9,0xC1,0xCD,
9607 1.1 jruoho 0x19,0x8C,0xF0,0x98,0xBB,0x18,0xBF,0x3A,
9608 1.1 jruoho 0x79,0x74,0xFC,0xA0,0xE0,0x1B,0x0E,0xC3,
9609 1.1 jruoho 0x7E,0x32,0xF3,0x8C,0xDE,0xCB,0x7C,0x8D,
9610 1.1 jruoho 0xC3,0xC0,0x7A,0xBC,0x1C,0xD6,0x68,0x61,
9611 1.1 jruoho 0x0F,0xED,0x3D,0xC4,0xFF,0xFF,0x43,0x8C,
9612 1.1 jruoho 0xCF,0x13,0xC6,0x08,0xEB,0xDB,0x0B,0x38,
9613 1.1 jruoho 0xEE,0x59,0xF0,0xEF,0x1A,0xE0,0xB9,0x84,
9614 1.1 jruoho 0xF8,0xAE,0x01,0x30,0xF0,0xFF,0x7F,0xD7,
9615 1.1 jruoho 0x00,0x4E,0xD7,0x04,0xDF,0x35,0x80,0xF7,
9616 1.1 jruoho 0xD0,0x7D,0xD7,0x00,0xAE,0xD9,0xEF,0x1A,
9617 1.1 jruoho 0xA8,0x63,0x80,0x15,0xDE,0x35,0xA0,0x5D,
9618 1.1 jruoho 0xD9,0xDE,0xD7,0x9E,0xB0,0xAC,0xE9,0xB2,
9619 1.1 jruoho 0x81,0x52,0x73,0xD9,0x00,0x14,0xFC,0xFF,
9620 1.1 jruoho 0x2F,0x1B,0x80,0x01,0x29,0x13,0x46,0x85,
9621 1.1 jruoho 0x9F,0x30,0x05,0xF1,0x84,0x1D,0xEC,0xB2,
9622 1.1 jruoho 0x01,0x8A,0x18,0x97,0x0D,0xD0,0x8F,0xED,
9623 1.1 jruoho 0x65,0x03,0x18,0xDC,0x13,0xF8,0x6D,0x03,
9624 1.1 jruoho 0x78,0x43,0xFA,0xB6,0x01,0xD6,0xFF,0xFF,
9625 1.1 jruoho 0x6D,0x03,0xAC,0xF9,0x6F,0x1B,0x28,0x0E,
9626 1.1 jruoho 0xAB,0xBC,0x6D,0x40,0x3C,0xC9,0x33,0x02,
9627 1.1 jruoho 0xAB,0xBA,0x6E,0xA0,0xF4,0x5C,0x37,0x00,
9628 1.1 jruoho 0x12,0x88,0x99,0x30,0x2A,0xFE,0x84,0x29,
9629 1.1 jruoho 0x88,0x27,0xEC,0x68,0xD7,0x0D,0x50,0x04,
9630 1.1 jruoho 0xB9,0x6E,0x80,0x7E,0x5E,0x09,0xFE,0xFF,
9631 1.1 jruoho 0xAF,0x1B,0xC0,0xE0,0xA2,0x80,0xB9,0x6F,
9632 1.1 jruoho 0x00,0x6F,0x58,0x7E,0xDF,0x00,0x7C,0xDC,
9633 1.1 jruoho 0xC4,0x31,0xF7,0x0D,0xC0,0xCC,0xFF,0xFF,
9634 1.1 jruoho 0xBE,0x01,0xB0,0xE7,0xA2,0x80,0xBB,0x6F,
9635 1.1 jruoho 0x00,0xEF,0x8B,0xB4,0xEF,0x1B,0x60,0xFE,
9636 1.1 jruoho 0xFF,0xDF,0x37,0xC0,0x28,0x6D,0xFD,0x1E,
9637 1.1 jruoho 0x1C,0x3D,0x21,0x78,0x7C,0xB8,0xFB,0xA5,
9638 1.1 jruoho 0xC7,0xE7,0xBB,0x39,0x38,0x06,0x79,0x8C,
9639 1.1 jruoho 0x87,0x76,0xC0,0xAF,0xEF,0x9E,0x98,0xEF,
9640 1.1 jruoho 0xE6,0xC0,0xFF,0x4C,0x70,0x3C,0x18,0x68,
9641 1.1 jruoho 0x1C,0x62,0xAB,0x97,0x06,0x72,0x34,0x38,
9642 1.1 jruoho 0x3F,0xDC,0x19,0x81,0x61,0x15,0x7F,0xF2,
9643 1.1 jruoho 0x47,0x38,0xC7,0xD0,0xD9,0xE1,0x20,0xB1,
9644 1.1 jruoho 0x83,0xE0,0xC1,0x56,0x6D,0x02,0x85,0x86,
9645 1.1 jruoho 0x50,0x14,0x18,0x14,0x8B,0x0F,0x18,0xF8,
9646 1.1 jruoho 0x61,0xB3,0xB3,0x00,0x93,0x04,0x87,0x3A,
9647 1.1 jruoho 0x02,0xF8,0x3E,0xD1,0xFC,0x38,0x74,0x37,
9648 1.1 jruoho 0x38,0x54,0x8F,0xE5,0xA1,0x80,0x9E,0x01,
9649 1.1 jruoho 0x71,0xC7,0x0C,0x32,0x69,0xCF,0x28,0xE2,
9650 1.1 jruoho 0x53,0xC2,0x29,0x85,0x49,0xE0,0xF3,0x03,
9651 1.1 jruoho 0x43,0xE3,0x04,0xAF,0x0D,0xA1,0xF9,0xFF,
9652 1.1 jruoho 0xFF,0xA4,0xC0,0x3C,0xDF,0x31,0x04,0x6C,
9653 1.1 jruoho 0x02,0xBB,0xBF,0x64,0xC8,0xDA,0xC0,0x75,
9654 1.1 jruoho 0x4B,0x32,0x44,0x6F,0x38,0xB2,0x85,0xA2,
9655 1.1 jruoho 0xE9,0x44,0x79,0xDF,0x88,0x62,0x67,0x08,
9656 1.1 jruoho 0xC2,0x88,0x12,0x2C,0xC8,0xA3,0x42,0xAC,
9657 1.1 jruoho 0x28,0x2F,0x05,0x46,0x88,0x18,0xE2,0x95,
9658 1.1 jruoho 0x23,0xD0,0x09,0x87,0x0F,0xF2,0xD8,0x14,
9659 1.1 jruoho 0xA7,0xFD,0x41,0x90,0x58,0x4F,0x02,0x8D,
9660 1.1 jruoho 0xC5,0x91,0x46,0x83,0x3A,0x07,0x78,0xB8,
9661 1.1 jruoho 0x3E,0xC4,0x78,0xF8,0x0F,0x21,0x06,0x39,
9662 1.1 jruoho 0xC8,0x73,0x7B,0x54,0x38,0x4E,0x5F,0x25,
9663 1.1 jruoho 0x4C,0xF0,0x02,0xE0,0x83,0x0A,0x1C,0xD7,
9664 1.1 jruoho 0x80,0x9A,0xF1,0x33,0x06,0x58,0x8E,0xE3,
9665 1.1 jruoho 0x3E,0xA9,0xC0,0x1D,0x8F,0xEF,0x07,0x6C,
9666 1.1 jruoho 0xC2,0x09,0x2C,0x7F,0x10,0xA8,0xE3,0x0C,
9667 1.1 jruoho 0x9F,0xE7,0x0B,0x8B,0x21,0x1F,0x13,0x4C,
9668 1.1 jruoho 0x60,0xB1,0x27,0x1B,0x3A,0x1E,0xF0,0xDF,
9669 1.1 jruoho 0x63,0x1E,0x2F,0x7C,0x32,0xF1,0x7C,0x4D,
9670 1.1 jruoho 0x30,0x22,0x84,0x9C,0x8C,0x07,0x7D,0x87,
9671 1.1 jruoho 0xC0,0x5C,0x6F,0xD8,0xB9,0x85,0x8B,0x3A,
9672 1.1 jruoho 0x68,0xA0,0x4E,0x0B,0x3E,0x28,0xB0,0x9B,
9673 1.1 jruoho 0x11,0xE6,0xB8,0xCE,0xCF,0x2A,0x60,0xF8,
9674 1.1 jruoho 0xFF,0x9F,0x55,0x60,0x8F,0x10,0xFE,0xED,
9675 1.1 jruoho 0xC1,0xF3,0xF2,0x95,0xE1,0xD5,0x21,0x81,
9676 1.1 jruoho 0x43,0x8E,0x10,0x3D,0x2E,0x8F,0x10,0x73,
9677 1.1 jruoho 0x3E,0xC2,0x0C,0x11,0x5C,0x67,0x01,0x70,
9678 1.1 jruoho 0x0C,0x11,0xF8,0x1C,0x70,0xC0,0x71,0x69,
9679 1.1 jruoho 0xE2,0x03,0xF5,0x01,0x07,0x70,0x70,0x4D,
9680 1.1 jruoho 0xC3,0x1D,0x70,0xC0,0x71,0x16,0x60,0xFF,
9681 1.1 jruoho 0xFF,0xC3,0x0D,0x2C,0x49,0x26,0x0E,0x23,
9682 1.1 jruoho 0x18,0x11,0x30,0x28,0x02,0x02,0xA4,0xB3,
9683 1.1 jruoho 0x80,0x0F,0x29,0x00,0x1F,0xAE,0x0C,0x0F,
9684 1.1 jruoho 0x29,0xD8,0x93,0x86,0x07,0x8E,0x1B,0x85,
9685 1.1 jruoho 0x07,0x8D,0x0B,0x30,0x68,0x7A,0xE2,0x80,
9686 1.1 jruoho 0x7F,0x4C,0xF0,0x19,0x05,0x1C,0xE3,0x06,
9687 1.1 jruoho 0xDF,0x2A,0x0C,0xFC,0xFF,0x3F,0x30,0xCC,
9688 1.1 jruoho 0xE1,0xC2,0x63,0x39,0x8A,0xA0,0x07,0x1E,
9689 1.1 jruoho 0xD4,0xF7,0x8C,0x33,0xF7,0x24,0x8F,0xD1,
9690 1.1 jruoho 0x51,0x0F,0x27,0xF4,0xE4,0x85,0x3B,0x57,
9691 1.1 jruoho 0xF9,0x0A,0x71,0x14,0x18,0xB8,0x77,0x29,
9692 1.1 jruoho 0x8F,0xCF,0x17,0x2B,0xC3,0x63,0x46,0xFB,
9693 1.1 jruoho 0x1E,0x72,0xD6,0x11,0x02,0xE2,0x2F,0x75,
9694 1.1 jruoho 0x6C,0xC0,0x60,0x39,0x18,0x00,0x87,0x01,
9695 1.1 jruoho 0xE3,0x13,0x0D,0x58,0x67,0x1B,0x3C,0xF4,
9696 1.1 jruoho 0x69,0x31,0xC4,0xE3,0x0B,0xFB,0x56,0x61,
9697 1.1 jruoho 0x82,0xEA,0x41,0x75,0x12,0xF4,0xD0,0xC0,
9698 1.1 jruoho 0x01,0xE8,0xA1,0xC1,0x3F,0xB9,0x90,0xFB,
9699 1.1 jruoho 0x2B,0x1D,0x82,0xB5,0xE2,0x69,0xDE,0x47,
9700 1.1 jruoho 0x1E,0xF3,0xDC,0xA2,0xBC,0x0D,0x3C,0x07,
9701 1.1 jruoho 0xF0,0xD3,0x82,0x87,0xE3,0x63,0x81,0xC7,
9702 1.1 jruoho 0xE9,0x4B,0x58,0x82,0xF7,0x1A,0x9F,0x6C,
9703 1.1 jruoho 0x1E,0x5C,0x58,0xB2,0x21,0xA0,0x06,0xEB,
9704 1.1 jruoho 0x21,0x60,0xA6,0x9A,0xC0,0x49,0x46,0x80,
9705 1.1 jruoho 0xCA,0x00,0xA1,0x1B,0xCB,0xE9,0x3E,0x8B,
9706 1.1 jruoho 0x84,0x38,0xCD,0x47,0x99,0xC7,0x02,0x8F,
9707 1.1 jruoho 0xF5,0xC1,0xC0,0xFF,0x7F,0xCD,0x23,0xD4,
9708 1.1 jruoho 0x7D,0xCD,0x33,0x7B,0x3A,0xC0,0xAC,0x22,
9709 1.1 jruoho 0xDC,0x7B,0xCE,0x1B,0x86,0xD1,0x9E,0x2D,
9710 1.1 jruoho 0x7C,0xCD,0x78,0xD6,0x34,0x42,0x38,0x76,
9711 1.1 jruoho 0x83,0xF3,0x48,0x8C,0xF0,0x82,0xC0,0x4E,
9712 1.1 jruoho 0x0C,0x0F,0x30,0xC6,0x39,0x79,0xC3,0xFA,
9713 1.1 jruoho 0xC2,0xCB,0x40,0x83,0x19,0xDB,0x97,0x01,
9714 1.1 jruoho 0x36,0x2A,0xDF,0x88,0xC0,0x97,0xFC,0x62,
9715 1.1 jruoho 0x00,0x65,0x16,0xBE,0x9E,0xF8,0xA0,0xC4,
9716 1.1 jruoho 0x2E,0x06,0x2C,0xE5,0xC5,0x00,0x54,0x37,
9717 1.1 jruoho 0x0C,0x5F,0x0C,0xE0,0x5F,0x89,0x5E,0x0C,
9718 1.1 jruoho 0xC0,0x70,0x71,0xF2,0x3D,0xC0,0x1E,0xEE,
9719 1.1 jruoho 0xA3,0x74,0x9C,0xBE,0xFD,0xBD,0x19,0xF8,
9720 1.1 jruoho 0x6C,0xC0,0x60,0x3C,0xC3,0x30,0xC6,0x08,
9721 1.1 jruoho 0xE3,0x51,0x86,0x31,0xC1,0xDC,0xB7,0x03,
9722 1.1 jruoho 0xE8,0x39,0x87,0x81,0x4A,0x78,0x3B,0x80,
9723 1.1 jruoho 0x72,0x0E,0xE8,0xF2,0x68,0x42,0x4F,0x01,
9724 1.1 jruoho 0x4F,0x07,0x3E,0x29,0x1A,0xA2,0xAF,0xB1,
9725 1.1 jruoho 0x0A,0x26,0x50,0xC4,0x07,0x0D,0x3E,0xB5,
9726 1.1 jruoho 0x28,0x3E,0x15,0x78,0x2D,0xCF,0x4E,0xE1,
9727 1.1 jruoho 0xE2,0x9C,0x89,0xA7,0x6A,0x38,0x03,0xBD,
9728 1.1 jruoho 0xE6,0x86,0x63,0xFF,0x7F,0x38,0xFC,0xA9,
9729 1.1 jruoho 0xE0,0x35,0x80,0x1D,0x24,0x3D,0x2D,0x23,
9730 1.1 jruoho 0xC2,0x38,0xA4,0x3C,0x32,0xF8,0xB6,0x18,
9731 1.1 jruoho 0xC7,0x90,0x0F,0x91,0xBE,0x13,0x18,0xF2,
9732 1.1 jruoho 0x21,0xEF,0x79,0xC7,0xC0,0xAF,0x08,0x71,
9733 1.1 jruoho 0x9E,0xB2,0x7C,0x67,0xF0,0x65,0x01,0x7C,
9734 1.1 jruoho 0x91,0x2E,0x0B,0x68,0x68,0x9F,0x64,0x7C,
9735 1.1 jruoho 0x41,0x30,0xEC,0x89,0xB3,0x00,0x77,0x05,
9736 1.1 jruoho 0x50,0x81,0xFA,0xAE,0x00,0xFF,0x42,0xF0,
9737 1.1 jruoho 0xAE,0x00,0x86,0x79,0xF9,0x56,0xC0,0x35,
9738 1.1 jruoho 0x1D,0x4A,0xD0,0x67,0x12,0x5F,0x17,0x70,
9739 1.1 jruoho 0x53,0x64,0xA9,0x8E,0x0A,0xD0,0x53,0x4C,
9740 1.1 jruoho 0x02,0x75,0x47,0xF7,0x51,0x01,0xC6,0x4D,
9741 1.1 jruoho 0xD9,0x07,0x54,0x76,0x5A,0x60,0x67,0x21,
9742 1.1 jruoho 0x76,0x1D,0xC1,0x5D,0x49,0x18,0xCA,0xB3,
9743 1.1 jruoho 0x81,0x2F,0x59,0xFC,0x70,0x00,0x03,0xDC,
9744 1.1 jruoho 0xB3,0x38,0xC4,0x08,0xB1,0xD9,0x81,0xEB,
9745 1.1 jruoho 0x75,0xD2,0x70,0x2F,0x44,0xEC,0xFF,0x7F,
9746 1.1 jruoho 0x32,0x00,0xE3,0x51,0x1B,0x1C,0x27,0x9D,
9747 1.1 jruoho 0xF0,0x91,0x9E,0x59,0xF8,0x49,0x19,0x30,
9748 1.1 jruoho 0x71,0xF2,0x03,0xE3,0xC9,0x1A,0xC6,0x00,
9749 1.1 jruoho 0xB8,0xBC,0x57,0x95,0x81,0xFC,0x43,0x90,
9750 1.1 jruoho 0x20,0x18,0xD4,0x29,0x19,0x38,0x1C,0xC5,
9751 1.1 jruoho 0x70,0xA7,0x64,0x78,0x50,0xF8,0xC3,0x00,
9752 1.1 jruoho 0xE6,0x46,0xE8,0x7B,0x82,0xA1,0xDE,0x93,
9753 1.1 jruoho 0x0E,0xE3,0x91,0xD0,0x04,0x3E,0x2D,0xC3,
9754 1.1 jruoho 0xFA,0xFF,0x9F,0x96,0x81,0xD5,0xB1,0xDD,
9755 1.1 jruoho 0x43,0xF6,0x59,0x01,0x77,0x76,0x80,0x3B,
9756 1.1 jruoho 0x3D,0x7E,0x7A,0x00,0x9C,0x00,0x3D,0x3D,
9757 1.1 jruoho 0x80,0xED,0xBC,0x01,0xF7,0x40,0x80,0x38,
9758 1.1 jruoho 0xFE,0xA3,0x82,0x5F,0x59,0x28,0x1C,0x3F,
9759 1.1 jruoho 0xB6,0xF3,0x63,0x09,0xEE,0x70,0xE0,0x23,
9760 1.1 jruoho 0x83,0x0F,0x90,0xB8,0xA1,0xF8,0x50,0x81,
9761 1.1 jruoho 0x3C,0x0B,0x80,0x62,0xF4,0x6C,0x04,0xEC,
9762 1.1 jruoho 0x06,0xF3,0xD2,0x12,0xE5,0xFF,0xFF,0xDE,
9763 1.1 jruoho 0xC0,0x4E,0x29,0xB8,0x83,0x00,0xF8,0x8E,
9764 1.1 jruoho 0x01,0xE0,0x1D,0x0C,0x97,0x35,0x66,0x94,
9765 1.1 jruoho 0x10,0x18,0x8D,0x19,0x77,0x08,0xE1,0x27,
9766 1.1 jruoho 0x02,0xDC,0x98,0x3D,0x6E,0x8F,0x19,0x77,
9767 1.1 jruoho 0x9C,0xE5,0xA3,0x7A,0xCA,0x08,0xE5,0x03,
9768 1.1 jruoho 0x07,0x3B,0x67,0xBC,0x11,0xF0,0xA1,0x03,
9769 1.1 jruoho 0x8F,0x03,0x0C,0xEE,0x48,0x01,0xC6,0xCB,
9770 1.1 jruoho 0x01,0x1B,0x3B,0xB8,0x83,0x90,0x53,0x20,
9771 1.1 jruoho 0x4B,0x87,0xD1,0xD8,0x71,0xB2,0x81,0x74,
9772 1.1 jruoho 0x8C,0xF1,0x21,0xD7,0x63,0xC7,0x0D,0xD6,
9773 1.1 jruoho 0x63,0xC7,0x1D,0x5F,0xB0,0xFF,0xFF,0xE3,
9774 1.1 jruoho 0x0B,0x18,0xC6,0xC0,0xC5,0x0F,0x03,0x7D,
9775 1.1 jruoho 0xF3,0xF3,0xE8,0x0C,0xEE,0x61,0xFB,0x04,
9776 1.1 jruoho 0x13,0xE3,0xF9,0x25,0xC4,0x23,0xCC,0x8B,
9777 1.1 jruoho 0x4B,0x84,0xA3,0x08,0xF2,0xE6,0x12,0xE7,
9778 1.1 jruoho 0xD5,0x20,0xCC,0x63,0x4B,0x94,0x10,0x11,
9779 1.1 jruoho 0x0E,0x26,0xCE,0x13,0x8C,0x11,0x0E,0x3C,
9780 1.1 jruoho 0x8A,0x21,0x22,0x9C,0x40,0x88,0x93,0x3E,
9781 1.1 jruoho 0xD9,0x20,0xE1,0x63,0x84,0x8D,0xF6,0x04,
9782 1.1 jruoho 0xC3,0xC7,0xC2,0xCF,0x2B,0x1E,0x3C,0x3F,
9783 1.1 jruoho 0xAD,0xF9,0x2E,0xE8,0xC9,0x9C,0xE3,0x43,
9784 1.1 jruoho 0x96,0xA7,0xF6,0x38,0xE9,0xC3,0x2C,0x6E,
9785 1.1 jruoho 0x50,0x0F,0x8E,0xEC,0xAE,0xE3,0xE3,0x35,
9786 1.1 jruoho 0xF6,0x14,0xE4,0x21,0xF0,0x13,0x81,0x2F,
9787 1.1 jruoho 0x88,0x9E,0xAC,0xEF,0x7A,0xEC,0x5E,0x66,
9788 1.1 jruoho 0x8C,0xEA,0xA7,0x80,0x3A,0xA6,0x9C,0xC1,
9789 1.1 jruoho 0x2B,0x04,0xBB,0xE7,0xF9,0x90,0xED,0xBB,
9790 1.1 jruoho 0x24,0x1B,0x05,0xEE,0x90,0xE0,0x33,0x12,
9791 1.1 jruoho 0x3F,0x55,0x78,0x18,0x1E,0x05,0x8C,0x19,
9792 1.1 jruoho 0xBC,0x23,0x1C,0x5A,0x88,0x03,0x7E,0xDF,
9793 1.1 jruoho 0x65,0x43,0x8D,0x71,0x7A,0x3E,0x7F,0xB0,
9794 1.1 jruoho 0x41,0xC0,0x87,0x3A,0x54,0x0F,0xF3,0xA8,
9795 1.1 jruoho 0x5E,0x0A,0x19,0xCE,0xD9,0xC1,0x1D,0x04,
9796 1.1 jruoho 0xF6,0xF8,0xE1,0x41,0xF0,0x9B,0x25,0x1F,
9797 1.1 jruoho 0x04,0x3B,0xDF,0xBC,0xC1,0x19,0xE4,0xFF,
9798 1.1 jruoho 0x7F,0x0C,0xB0,0xCF,0x54,0x3E,0x9A,0x20,
9799 1.1 jruoho 0x8E,0x80,0xE8,0xF3,0x87,0xC7,0xF0,0x26,
9800 1.1 jruoho 0xC7,0x87,0x83,0x3D,0x7A,0xE0,0x4E,0x22,
9801 1.1 jruoho 0x70,0x8F,0x5D,0x07,0xED,0x6B,0x9C,0x2F,
9802 1.1 jruoho 0x5A,0x30,0xEE,0x7B,0xCF,0x22,0xE0,0xC7,
9803 1.1 jruoho 0x78,0x6C,0x01,0xC7,0xA1,0x04,0xDC,0xC1,
9804 1.1 jruoho 0x8E,0x6B,0x1C,0x42,0x51,0x60,0x74,0x28,
9805 1.1 jruoho 0xC1,0xC5,0x00,0x12,0x8C,0x63,0x9C,0xD1,
9806 1.1 jruoho 0xD0,0x97,0x48,0x1F,0xD2,0xE0,0x0C,0x1A,
9807 1.1 jruoho 0xF6,0x3C,0x9F,0x50,0xB8,0x3D,0x01,0x8A,
9808 1.1 jruoho 0x4E,0x28,0x20,0xC3,0x7D,0x06,0xC1,0x9E,
9809 1.1 jruoho 0x10,0xF8,0x19,0x84,0xFD,0xFF,0x0F,0x8E,
9810 1.1 jruoho 0x1E,0xF7,0x7B,0xA3,0x4F,0x8D,0x6C,0xEE,
9811 1.1 jruoho 0x0F,0x01,0x27,0x70,0xEE,0xEC,0xD4,0x8C,
9812 1.1 jruoho 0x3B,0x33,0x60,0xCF,0x1F,0x1E,0x02,0x3F,
9813 1.1 jruoho 0x17,0x78,0xF8,0x1E,0x02,0x7E,0xF0,0x0F,
9814 1.1 jruoho 0xCC,0x06,0x07,0xE3,0x29,0xC2,0xD7,0x0E,
9815 1.1 jruoho 0x0E,0xCE,0x4F,0x03,0x06,0xE7,0xAF,0x50,
9816 1.1 jruoho 0x9F,0xE7,0x19,0x38,0xF6,0xD4,0xEB,0x7B,
9817 1.1 jruoho 0x87,0xE7,0xEB,0x43,0x05,0xFE,0xA6,0xE7,
9818 1.1 jruoho 0x43,0x05,0x38,0x0E,0x0F,0xFC,0xB0,0xC2,
9819 1.1 jruoho 0x86,0xF0,0x28,0x80,0x3F,0xB5,0xF8,0xF8,
9820 1.1 jruoho 0x17,0xE7,0x29,0x82,0xDD,0x46,0xB0,0x87,
9821 1.1 jruoho 0x0B,0xC0,0x51,0xB4,0xB3,0x18,0x2A,0xCC,
9822 1.1 jruoho 0x59,0x8C,0xFC,0xFF,0xCF,0x51,0xA8,0xB3,
9823 1.1 jruoho 0x18,0x3D,0x5C,0x00,0x2E,0x04,0x1F,0x0F,
9824 1.1 jruoho 0x40,0x73,0x10,0x78,0x5C,0xF0,0x85,0xE0,
9825 1.1 jruoho 0x48,0x0E,0xE4,0xE9,0x00,0xF0,0x19,0x4A,
9826 1.1 jruoho 0xC3,0xA1,0x09,0x13,0x03,0x06,0x75,0x3E,
9827 1.1 jruoho 0xF0,0x09,0xC5,0xC7,0x0E,0x7E,0x36,0xF0,
9828 1.1 jruoho 0x8D,0xDC,0x43,0xE5,0xA7,0x66,0x5F,0xF2,
9829 1.1 jruoho 0x11,0xE0,0x02,0x75,0xA0,0x61,0xA0,0x46,
9830 1.1 jruoho 0xE4,0x23,0xD2,0xFF,0xFF,0xB9,0x0D,0x1B,
9831 1.1 jruoho 0x60,0x68,0xF4,0x1C,0x0E,0xE3,0x80,0xEB,
9832 1.1 jruoho 0x73,0x38,0x76,0x40,0x3E,0x87,0xC3,0x3F,
9833 1.1 jruoho 0x47,0xC3,0x1F,0x1B,0x3B,0xDD,0xF3,0x81,
9834 1.1 jruoho 0xC1,0xBA,0x7E,0x63,0x06,0x06,0xB6,0x6F,
9835 1.1 jruoho 0x91,0x07,0x06,0x1C,0x51,0xCF,0xC6,0x57,
9836 1.1 jruoho 0x08,0x0F,0x0C,0x6C,0x80,0x1E,0x18,0xF0,
9837 1.1 jruoho 0x89,0x05,0x21,0x27,0x03,0x43,0x9D,0x32,
9838 1.1 jruoho 0x8C,0x1C,0xF3,0x89,0xC3,0xC3,0xF0,0xA1,
9839 1.1 jruoho 0x22,0xEA,0x33,0xC0,0x23,0x1E,0x1B,0x1B,
9840 1.1 jruoho 0xFB,0xFF,0x8F,0x0D,0x2C,0xC7,0x16,0x8F,
9841 1.1 jruoho 0x0D,0xFC,0x47,0x78,0xFC,0xD8,0xE0,0x8C,
9842 1.1 jruoho 0xE5,0xD1,0xC4,0x97,0x99,0x23,0x3B,0x8D,
9843 1.1 jruoho 0x33,0x7B,0x0D,0xF1,0xD1,0xEE,0xF1,0xDB,
9844 1.1 jruoho 0x63,0x03,0x97,0x85,0xB1,0x01,0xA5,0x90,
9845 1.1 jruoho 0x63,0x43,0x1F,0x52,0x7C,0x0A,0xB0,0x71,
9846 1.1 jruoho 0x54,0x32,0x0F,0x1F,0xAF,0x7C,0x62,0x38,
9847 1.1 jruoho 0xBA,0x20,0x6F,0xE8,0xBE,0x5C,0xF8,0x48,
9848 1.1 jruoho 0x63,0x30,0x5F,0x5A,0x7C,0x06,0xE5,0x43,
9849 1.1 jruoho 0x04,0xD7,0x57,0xC5,0x43,0x04,0x3E,0xA1,
9850 1.1 jruoho 0x86,0x88,0x1E,0xCF,0xFF,0xFF,0x11,0xCC,
9851 1.1 jruoho 0x43,0x64,0x43,0x03,0xAF,0x87,0xA1,0x01,
9852 1.1 jruoho 0xA5,0x98,0xC0,0x5E,0x85,0x87,0x46,0x4F,
9853 1.1 jruoho 0x3F,0x3E,0x04,0x30,0x08,0xDF,0x06,0xD8,
9854 1.1 jruoho 0x55,0xC0,0x57,0x21,0x83,0x24,0x18,0xE7,
9855 1.1 jruoho 0x64,0x41,0x07,0x07,0x8E,0x21,0x79,0x70,
9856 1.1 jruoho 0xF0,0x07,0xE3,0x21,0x70,0x60,0xCF,0xE0,
9857 1.1 jruoho 0xB9,0xE8,0x31,0xD8,0xA7,0x1D,0x9F,0x4A,
9858 1.1 jruoho 0xC0,0x77,0xE6,0x04,0xC7,0xE9,0x1D,0x7B,
9859 1.1 jruoho 0x29,0xF0,0x08,0x1E,0xAD,0x3C,0x02,0x7E,
9860 1.1 jruoho 0xB4,0x02,0x66,0xFF,0xFF,0xA3,0x15,0x30,
9861 1.1 jruoho 0x09,0x7A,0xE6,0xA4,0x03,0x77,0x34,0x18,
9862 1.1 jruoho 0xD4,0xD1,0x0A,0x5C,0x11,0xC0,0x75,0xDC,
9863 1.1 jruoho 0xF0,0xD1,0x02,0xCE,0x50,0x0F,0xDA,0x07,
9864 1.1 jruoho 0x65,0xCF,0xDA,0x97,0x21,0x76,0xB4,0x00,
9865 1.1 jruoho 0x97,0x89,0x43,0x08,0xD0,0x04,0x3E,0x89,
9866 1.1 jruoho 0x67,0xEF,0x43,0x03,0xB3,0x8A,0xA1,0x01,
9867 1.1 jruoho 0xA5,0xA3,0x01,0xEE,0x44,0x81,0xFD,0xFF,
9868 1.1 jruoho 0x9F,0x28,0x60,0xDE,0x30,0x70,0x07,0x0A,
9869 1.1 jruoho 0xC0,0xCD,0xE9,0xDB,0xE3,0xE2,0xD0,0x38,
9870 1.1 jruoho 0xC4,0xE7,0xA7,0x73,0xF6,0xD1,0xE8,0x4C,
9871 1.1 jruoho 0x71,0x67,0x11,0x30,0x9C,0x7D,0x11,0x8F,
9872 1.1 jruoho 0x18,0x03,0xF9,0x81,0x21,0x59,0x30,0x28,
9873 1.1 jruoho 0x16,0x0F,0xC5,0x07,0x03,0x0E,0xEC,0x23,
9874 1.1 jruoho 0x02,0x3B,0x17,0xB0,0x73,0xAD,0xE1,0xF8,
9875 1.1 jruoho 0x59,0xC0,0xA7,0x84,0xB7,0xA6,0x17,0x7B,
9876 1.1 jruoho 0x9F,0xD7,0x7D,0xD6,0x08,0xC9,0xCE,0xF4,
9877 1.1 jruoho 0x3E,0x89,0xE2,0x0E,0xA2,0x70,0x4E,0x9F,
9878 1.1 jruoho 0xE0,0x22,0xF0,0x65,0xDF,0xA3,0xE0,0xA7,
9879 1.1 jruoho 0x07,0xCF,0xF1,0x8D,0xC1,0xA7,0x07,0xE6,
9880 1.1 jruoho 0x7E,0xF8,0x9A,0xF1,0x33,0xC3,0xE3,0x43,
9881 1.1 jruoho 0x88,0x27,0xE2,0xDA,0xA6,0x20,0x5B,0x18,
9882 1.1 jruoho 0x42,0x09,0xF4,0xFF,0x8F,0x10,0xE5,0x6D,
9883 1.1 jruoho 0x20,0xCA,0x29,0x44,0x88,0x12,0xA4,0xB1,
9884 1.1 jruoho 0xC9,0x0B,0x35,0xCA,0xD9,0x45,0x6E,0x6D,
9885 1.1 jruoho 0xF6,0x82,0x0B,0x14,0x2A,0x66,0x9C,0x28,
9886 1.1 jruoho 0xEF,0x10,0xB1,0xDA,0x1F,0x04,0x91,0xF4,
9887 1.1 jruoho 0x32,0xD0,0x71,0xC9,0x91,0x0E,0x7D,0xE8,
9888 1.1 jruoho 0x61,0xFB,0x04,0x8C,0x3F,0x48,0xE2,0xAE,
9889 1.1 jruoho 0x2A,0x3E,0x28,0xF8,0x00,0x80,0x77,0x09,
9890 1.1 jruoho 0xA8,0x5B,0x9D,0xC7,0xED,0xF3,0x06,0xF8,
9891 1.1 jruoho 0xAF,0x17,0x58,0x82,0xF2,0x07,0x81,0x1A,
9892 1.1 jruoho 0x99,0xA1,0x3D,0xCC,0xB7,0x19,0x43,0xBE,
9893 1.1 jruoho 0x07,0x1C,0x16,0x3B,0x27,0xF9,0xF0,0x08,
9894 1.1 jruoho 0x1C,0x8E,0x01,0x4F,0x1B,0xBE,0x51,0x7B,
9895 1.1 jruoho 0xBE,0x3E,0x62,0x01,0x8E,0xFE,0xFF,0x47,
9896 1.1 jruoho 0x2C,0x30,0x9D,0xDF,0x7D,0x82,0x01,0xC7,
9897 1.1 jruoho 0xCD,0x82,0x9F,0x61,0x00,0x67,0x40,0xCF,
9898 1.1 jruoho 0x30,0x60,0x1F,0x2A,0x6E,0x08,0x5C,0xEE,
9899 1.1 jruoho 0x8A,0x28,0x90,0x05,0xC2,0xA0,0x0E,0xFD,
9900 1.1 jruoho 0xE4,0x08,0x42,0xCF,0x9C,0x70,0x86,0x72,
9901 1.1 jruoho 0xB2,0xBD,0x5F,0x1D,0xC8,0x2D,0xC2,0x43,
9902 1.1 jruoho 0x3D,0x8B,0xC7,0x04,0x76,0xDA,0x02,0x36,
9903 1.1 jruoho 0xFF,0xFF,0xE3,0x29,0xB0,0x98,0xF7,0xD3,
9904 1.1 jruoho 0x69,0x84,0x63,0x03,0xFB,0x71,0x0B,0x38,
9905 1.1 jruoho 0x1D,0xCC,0xE0,0xDC,0x7F,0xD8,0x2D,0x1A,
9906 1.1 jruoho 0x37,0x34,0xB0,0x0D,0xCC,0x43,0x03,0x3E,
9907 1.1 jruoho 0x27,0x47,0x30,0x9E,0x98,0xF8,0x55,0xE2,
9908 1.1 jruoho 0xE1,0x89,0x1F,0x43,0xC0,0xFA,0xFF,0x3F,
9909 1.1 jruoho 0x99,0x01,0xF6,0x84,0x1E,0xCB,0x50,0xD2,
9910 1.1 jruoho 0x4E,0x66,0x80,0xC0,0xFB,0xD8,0x3B,0xC3,
9911 1.1 jruoho 0x4B,0x83,0xE7,0x74,0xD2,0xCF,0x62,0x3E,
9912 1.1 jruoho 0x99,0x19,0x21,0x0A,0xBB,0x8F,0x19,0xAD,
9913 1.1 jruoho 0x37,0x14,0xCD,0x3C,0xE8,0x3B,0x99,0x51,
9914 1.1 jruoho 0x62,0x46,0x6A,0x0E,0x4C,0x48,0x11,0x0F,
9915 1.1 jruoho 0x27,0x4A,0x88,0x60,0xAF,0x13,0x6F,0x67,
9916 1.1 jruoho 0x4F,0x66,0x4C,0xD6,0xC9,0x0C,0x24,0xFF,
9917 1.1 jruoho 0xFF,0x93,0x19,0x98,0x5C,0x9F,0xCC,0x80,
9918 1.1 jruoho 0xCA,0x39,0x0A,0x7F,0x32,0x03,0x78,0x74,
9919 1.1 jruoho 0xC0,0xC2,0x9D,0xCC,0xC0,0xF2,0xFF,0x3F,
9920 1.1 jruoho 0xC4,0x00,0xCE,0xC7,0x0A,0x63,0x0C,0x3C,
9921 1.1 jruoho 0xDA,0xC1,0x0C,0x15,0xE6,0x6C,0x86,0x0E,
9922 1.1 jruoho 0x72,0x08,0xA1,0xC1,0x0E,0x21,0x50,0xE6,
9923 1.1 jruoho 0x72,0xA0,0xA7,0xF0,0x9A,0xE0,0x73,0x14,
9924 1.1 jruoho 0xD8,0x0F,0x67,0xC0,0xE1,0xD4,0x80,0x0F,
9925 1.1 jruoho 0x74,0xE2,0x42,0x8F,0xC2,0x23,0x0E,0x58,
9926 1.1 jruoho 0xFD,0xC0,0xC8,0xFF,0xFF,0x64,0x06,0x18,
9927 1.1 jruoho 0x78,0x6A,0xF8,0x40,0x82,0x63,0x31,0xEA,
9928 1.1 jruoho 0x1B,0xC4,0x21,0xBE,0x8D,0xF8,0xE8,0xFE,
9929 1.1 jruoho 0x6A,0xE2,0x4B,0x00,0xE6,0x42,0xE2,0xD3,
9930 1.1 jruoho 0x09,0xB3,0x70,0x38,0x03,0x5A,0x43,0x60,
9931 1.1 jruoho 0x57,0x26,0xCF,0x9C,0x0F,0xE1,0x6C,0x3C,
9932 1.1 jruoho 0x7A,0xDC,0xE9,0x04,0xDE,0x38,0x7C,0x3A,
9933 1.1 jruoho 0x01,0x5E,0x07,0x0C,0xCC,0x0C,0xC2,0x3F,
9934 1.1 jruoho 0x84,0xB0,0x21,0x9C,0xAA,0xC7,0x70,0xEE,
9935 1.1 jruoho 0xAF,0x38,0x3E,0x9D,0x80,0xF3,0xFF,0x7F,
9936 1.1 jruoho 0x62,0x03,0x0C,0x0A,0x7E,0x32,0xF8,0xB8,
9937 1.1 jruoho 0x46,0x25,0xC2,0xA0,0x8E,0xE6,0x80,0x7B,
9938 1.1 jruoho 0x98,0x27,0x36,0x26,0x6F,0xC5,0x1A,0x8B,
9939 1.1 jruoho 0x4F,0x6C,0x30,0xFF,0xFF,0x27,0x36,0x80,
9940 1.1 jruoho 0xD1,0x87,0x20,0xB0,0xFD,0xFF,0x0F,0x41,
9941 1.1 jruoho 0x60,0x1C,0xA0,0x0F,0x41,0x80,0x9B,0xD3,
9942 1.1 jruoho 0x09,0xEE,0xC4,0x07,0xB6,0x63,0x10,0x60,
9943 1.1 jruoho 0x6D,0xE8,0x3E,0x06,0x81,0xF9,0xFF,0x3F,
9944 1.1 jruoho 0x5A,0x98,0xA3,0xE0,0xC2,0x8E,0x7C,0x28,
9945 1.1 jruoho 0x29,0xA7,0x3E,0xB4,0x0C,0x20,0x69,0x38,
9946 1.1 jruoho 0xC9,0x01,0x9D,0xD3,0x3D,0x70,0x92,0x75,
9947 1.1 jruoho 0xEA,0x40,0x8F,0xC7,0xA0,0xAF,0x1C,0xBE,
9948 1.1 jruoho 0x12,0xF0,0x23,0x07,0x93,0x00,0xAA,0x41,
9949 1.1 jruoho 0xFA,0xCC,0x07,0x9C,0x8E,0x1C,0xE0,0x38,
9950 1.1 jruoho 0x26,0x05,0xC6,0xDE,0x0E,0xDE,0x22,0x3D,
9951 1.1 jruoho 0x89,0xA7,0xA1,0xE3,0x0C,0x51,0x38,0x26,
9952 1.1 jruoho 0x39,0x18,0x44,0x7A,0x95,0x62,0x03,0x7C,
9953 1.1 jruoho 0xAB,0xF1,0xD9,0xC8,0x07,0x10,0x78,0xE3,
9954 1.1 jruoho 0xF6,0xD8,0x61,0xFF,0xFF,0x0F,0x75,0xC0,
9955 1.1 jruoho 0x01,0xE2,0xA4,0xF8,0x21,0xC3,0x98,0x67,
9956 1.1 jruoho 0xC5,0x0F,0x75,0x80,0xF5,0x18,0x27,0x3A,
9957 1.1 jruoho 0x94,0xF0,0x43,0x1D,0x20,0xE8,0xFF,0x7F,
9958 1.1 jruoho 0xA8,0x03,0x86,0x38,0x6F,0x24,0xD1,0x1E,
9959 1.1 jruoho 0xEA,0x98,0xE8,0x43,0x1D,0x40,0xC8,0xFF,
9960 1.1 jruoho 0xFF,0xA1,0x0E,0x18,0x9E,0x87,0x00,0xAE,
9961 1.1 jruoho 0x9C,0xEF,0xC0,0x7C,0x22,0x02,0xEF,0xFF,
9962 1.1 jruoho 0xFF,0x7C,0x07,0xB8,0x1B,0x2D,0xCC,0x51,
9963 1.1 jruoho 0x70,0x41,0xAF,0x0E,0x03,0x51,0x09,0x30,
9964 1.1 jruoho 0x28,0x02,0xC7,0x5F,0x9B,0x60,0x1C,0xEA,
9965 1.1 jruoho 0x7C,0x87,0x3E,0x2F,0x78,0xD8,0x4F,0x05,
9966 1.1 jruoho 0x9E,0xC4,0xA9,0xFA,0x5A,0x70,0x14,0x4F,
9967 1.1 jruoho 0x00,0x3E,0xE1,0x01,0xFF,0xA1,0xC1,0x9A,
9968 1.1 jruoho 0x44,0xF1,0x43,0x03,0xF5,0x11,0xE4,0xFF,
9969 1.1 jruoho 0x7F,0x68,0xC0,0x28,0xEA,0xF9,0x06,0x7D,
9970 1.1 jruoho 0xCC,0xF2,0xD9,0x20,0xE6,0x0B,0x48,0x84,
9971 1.1 jruoho 0x07,0x10,0x5F,0x1F,0xD8,0x71,0xD2,0x67,
9972 1.1 jruoho 0xA0,0x40,0x51,0xDE,0x37,0xF8,0x09,0x07,
9973 1.1 jruoho 0x5C,0x83,0xF3,0x09,0x07,0xBC,0x87,0x23,
9974 1.1 jruoho 0x1F,0x4B,0xC0,0x77,0xD0,0x84,0x73,0x81,
9975 1.1 jruoho 0xF1,0x8D,0x8D,0x9D,0x06,0xC0,0x76,0x00,
9976 1.1 jruoho 0x06,0xDF,0x69,0x00,0x1C,0xC7,0x24,0x7E,
9977 1.1 jruoho 0x3A,0x04,0x13,0xCC,0xC1,0xBC,0x34,0xFB,
9978 1.1 jruoho 0xFF,0xEF,0xFD,0x94,0x43,0xCF,0x86,0x80,
9979 1.1 jruoho 0x75,0x49,0x07,0x43,0x94,0x88,0xB3,0x21,
9980 1.1 jruoho 0x20,0xFD,0xFF,0x7F,0x36,0xC4,0x20,0xC4,
9981 1.1 jruoho 0x09,0xFC,0x12,0xD1,0xDC,0xD9,0x90,0xAE,
9982 1.1 jruoho 0xD8,0x67,0x43,0x80,0xE1,0xFF,0xFF,0x23,
9983 1.1 jruoho 0x00,0xF6,0x7C,0x04,0x38,0x3D,0x64,0x83,
9984 1.1 jruoho 0xE7,0x14,0x08,0xE3,0xE4,0x03,0x38,0xFE,
9985 1.1 jruoho 0xFF,0x8F,0x15,0xE6,0x18,0x78,0xEA,0x97,
9986 1.1 jruoho 0x9B,0x8F,0x03,0x54,0xD4,0x2B,0xC2,0x30,
9987 1.1 jruoho 0x94,0xC5,0x87,0x05,0x1F,0x11,0xF8,0x61,
9988 1.1 jruoho 0xC1,0x23,0xA8,0x78,0x9C,0xF4,0x74,0xE3,
9989 1.1 jruoho 0x33,0x21,0x3B,0x24,0x38,0xFC,0x20,0xE9,
9990 1.1 jruoho 0x41,0x13,0x3C,0xE7,0x23,0x78,0xB7,0x1E,
9991 1.1 jruoho 0x38,0xA7,0x02,0xC0,0x4D,0xAE,0x27,0xA3,
9992 1.1 jruoho 0x4E,0x17,0x0E,0x70,0x8E,0x92,0x8D,0x63,
9993 1.1 jruoho 0x08,0xE5,0x70,0xCC,0xB7,0x87,0xA6,0xC9,
9994 1.1 jruoho 0x4E,0x56,0x30,0x63,0x41,0xEA,0x24,0xE0,
9995 1.1 jruoho 0x01,0x38,0x10,0x8C,0xB4,0x93,0x68,0x34,
9996 1.1 jruoho 0x86,0xB3,0x5A,0x18,0xC1,0x19,0xC4,0xC7,
9997 1.1 jruoho 0x11,0xE7,0x3A,0x19,0xA1,0x3F,0x07,0x3E,
9998 1.1 jruoho 0x15,0x61,0x82,0xDC,0x4B,0xE8,0xBC,0x7D,
9999 1.1 jruoho 0x37,0xE0,0x57,0x61,0x8F,0xC5,0xFF,0x7F,
10000 1.1 jruoho 0x60,0xDF,0x4E,0xC0,0x31,0x17,0xAB,0x01,
10001 1.1 jruoho 0x45,0x0D,0xC0,0x68,0x98,0x53,0xC0,0x53,
10002 1.1 jruoho 0x09,0xB8,0x82,0xCD,0x0D,0x7D,0x61,0xB1,
10003 1.1 jruoho 0xD6,0xA9,0xE8,0x14,0xF4,0x3E,0x70,0x70,
10004 1.1 jruoho 0xC0,0x63,0xF6,0x1E,0x1C,0x2C,0x34,0x0F,
10005 1.1 jruoho 0x0E,0x6C,0xD9,0x06,0x87,0x56,0x72,0x17,
10006 1.1 jruoho 0x21,0x87,0x0F,0xFC,0xEC,0x80,0x03,0xA0,
10007 1.1 jruoho 0x67,0x07,0x0B,0xC9,0xB3,0x03,0x9B,0xBE,
10008 1.1 jruoho 0xB3,0x08,0x28,0x70,0xFE,0xFF,0x11,0xDE,
10009 1.1 jruoho 0x3B,0x7C,0x6E,0x79,0xF6,0x60,0x63,0x78,
10010 1.1 jruoho 0x74,0x31,0x9A,0xD1,0xB9,0xA6,0xDB,0x04,
10011 1.1 jruoho 0x4A,0xC5,0x6D,0x82,0x82,0xF8,0x06,0xE0,
10012 1.1 jruoho 0x84,0x34,0xBA,0x75,0xE2,0x66,0x62,0xFC,
10013 1.1 jruoho 0x47,0x0C,0x1F,0x11,0x0E,0xE9,0x6C,0x4D,
10014 1.1 jruoho 0x30,0x0F,0xA4,0x9E,0x81,0xBE,0xB3,0xE1,
10015 1.1 jruoho 0x67,0x1F,0xF2,0xC1,0xC5,0xD3,0xF0,0xF5,
10016 1.1 jruoho 0x86,0xDC,0x3B,0xE8,0xB4,0x7D,0x66,0xC0,
10017 1.1 jruoho 0x1C,0x74,0x7D,0x9D,0x7A,0x83,0x27,0x57,
10018 1.1 jruoho 0x09,0xEA,0xE1,0x02,0x42,0x2F,0x34,0xBE,
10019 1.1 jruoho 0xDC,0x25,0x78,0xE0,0xF4,0xE9,0xEE,0xBD,
10020 1.1 jruoho 0x84,0x9D,0xF1,0x12,0xBC,0xE0,0x25,0x98,
10021 1.1 jruoho 0x77,0x10,0xA8,0x51,0x79,0x10,0x98,0xAB,
10022 1.1 jruoho 0x3C,0xCB,0x37,0x06,0x54,0xB2,0x8B,0x16,
10023 1.1 jruoho 0x3D,0xC3,0xBC,0xC3,0xF8,0x92,0xE0,0xEB,
10024 1.1 jruoho 0x87,0xCF,0x2D,0x5E,0xC0,0xEB,0x16,0x0C,
10025 1.1 jruoho 0x82,0x67,0xA0,0x57,0x17,0xDF,0xD9,0x0D,
10026 1.1 jruoho 0xFC,0x2A,0xF0,0x46,0x13,0x22,0x98,0x61,
10027 1.1 jruoho 0x0F,0xFF,0xDD,0xDD,0xA8,0xBE,0xE9,0x18,
10028 1.1 jruoho 0xEB,0x75,0xC4,0x23,0xE5,0xC7,0x96,0x03,
10029 1.1 jruoho 0x8A,0xF4,0xF2,0xE6,0x09,0xF8,0x2C,0xE3,
10030 1.1 jruoho 0x53,0xDD,0x49,0xF9,0x7A,0x68,0xF4,0x57,
10031 1.1 jruoho 0x08,0x1F,0x7E,0x8C,0xEC,0x73,0x0E,0x3B,
10032 1.1 jruoho 0xDF,0xB1,0x41,0x71,0xC4,0x07,0x86,0x97,
10033 1.1 jruoho 0x1A,0x4F,0x85,0x9D,0xBB,0x60,0x1C,0x1C,
10034 1.1 jruoho 0xD8,0xB1,0x08,0x73,0x7C,0x05,0xD7,0xC9,
10035 1.1 jruoho 0xE6,0xFF,0xFF,0xE4,0x00,0x6E,0x78,0xCC,
10036 1.1 jruoho 0xC1,0xD7,0xE7,0x0D,0xDF,0x0C,0x3C,0x2E,
10037 1.1 jruoho 0x7E,0xE4,0xF0,0x49,0xE3,0xA5,0xD3,0xD8,
10038 1.1 jruoho 0xA7,0xE9,0xA3,0xD1,0xCB,0x9B,0x4F,0x2F,
10039 1.1 jruoho 0x18,0x58,0x5F,0x1A,0x38,0xAC,0xD1,0xC2,
10040 1.1 jruoho 0x3E,0x06,0x9C,0xB9,0x2F,0x44,0xB8,0xC3,
10041 1.1 jruoho 0x23,0x58,0x00,0xF1,0xB7,0x92,0x47,0x0E,
10042 1.1 jruoho 0x4F,0xC0,0x80,0x4C,0xD3,0xBA,0x74,0x20,
10043 1.1 jruoho 0xE2,0xA7,0x3C,0x2B,0x5F,0x99,0x2E,0x43,
10044 1.1 jruoho 0x0C,0xE3,0xA9,0xF2,0xF1,0xC3,0xB3,0xF1,
10045 1.1 jruoho 0x51,0xC0,0xC7,0x28,0xCF,0xFC,0x8C,0x22,
10046 1.1 jruoho 0xBD,0x32,0x10,0x50,0x9D,0x88,0xB8,0x42,
10047 1.1 jruoho 0x18,0x89,0xA1,0xD1,0x9D,0x83,0xC7,0x1F,
10048 1.1 jruoho 0x22,0x05,0x31,0xA0,0x6F,0x2E,0xC0,0xF4,
10049 1.1 jruoho 0x4C,0x04,0x5C,0xFE,0xFF,0x37,0x17,0x80,
10050 1.1 jruoho 0xFF,0xFF,0xFF,0x9B,0x0B,0xE0,0xE6,0xFE,
10051 1.1 jruoho 0xE0,0x9B,0x0B,0x70,0x8D,0xB4,0x2A,0x7A,
10052 1.1 jruoho 0x61,0x77,0x08,0x18,0xD4,0x9D,0x1D,0x70,
10053 1.1 jruoho 0x78,0x2B,0x78,0x67,0x87,0xF5,0xFF,0xBF,
10054 1.1 jruoho 0xB3,0xC3,0xC3,0x8C,0x13,0xE5,0x85,0x21,
10055 1.1 jruoho 0xC6,0x3B,0x3B,0x0B,0xF0,0x26,0xD0,0x51,
10056 1.1 jruoho 0xC6,0x77,0x76,0x80,0x1F,0x67,0xD8,0x77,
10057 1.1 jruoho 0x69,0xF0,0x5E,0x75,0x81,0xF5,0xFF,0xFF,
10058 1.1 jruoho 0xAA,0x0B,0x3C,0x04,0xDF,0xA7,0x41,0x3E,
10059 1.1 jruoho 0x5E,0x30,0x8C,0x83,0x2B,0x27,0xA1,0xC7,
10060 1.1 jruoho 0x02,0x6B,0x85,0x41,0xDD,0xA9,0xC1,0xA5,
10061 1.1 jruoho 0x09,0x5C,0x17,0x5F,0x1F,0x6A,0x7C,0xA4,
10062 1.1 jruoho 0xC5,0x9F,0x2F,0x70,0x01,0x86,0x4C,0x4F,
10063 1.1 jruoho 0x65,0x30,0xAE,0x29,0x3E,0x95,0x61,0xEE,
10064 1.1 jruoho 0x0E,0x1E,0x90,0x8F,0x18,0xC0,0x67,0x15,
10065 1.1 jruoho 0x1E,0x18,0xEE,0xB4,0xE0,0x9B,0x92,0x41,
10066 1.1 jruoho 0xCF,0x31,0xA8,0x8F,0x3C,0x27,0xEF,0x7B,
10067 1.1 jruoho 0xC2,0xE3,0x84,0xA3,0x9E,0x83,0xE8,0xD8,
10068 1.1 jruoho 0xC0,0x71,0xDC,0xC0,0xFD,0xFF,0xC7,0x06,
10069 1.1 jruoho 0xEF,0x70,0x83,0x3B,0xE8,0xF8,0x62,0x70,
10070 1.1 jruoho 0x5C,0x18,0xB8,0xE7,0x02,0x0F,0xC3,0x37,
10071 1.1 jruoho 0x1D,0x8F,0x08,0x33,0xFE,0xD7,0x3F,0x23,
10072 1.1 jruoho 0x04,0xC4,0x5F,0x8C,0xD8,0x80,0xC1,0x78,
10073 1.1 jruoho 0x6B,0xF3,0xF5,0x0D,0x37,0x60,0x5F,0x1D,
10074 1.1 jruoho 0x7C,0xC1,0xF0,0x09,0xCC,0xE8,0x2F,0x30,
10075 1.1 jruoho 0x4F,0x62,0x3E,0x36,0x90,0x0B,0x1C,0x1D,
10076 1.1 jruoho 0x30,0x38,0x00,0x3D,0x60,0xF8,0x87,0x8B,
10077 1.1 jruoho 0x77,0x39,0x30,0x5C,0x05,0x7D,0x5C,0xF0,
10078 1.1 jruoho 0xB1,0xC7,0x8A,0xEE,0x72,0xE8,0x9B,0x9C,
10079 1.1 jruoho 0x61,0xE2,0x18,0xE2,0x0D,0x8C,0xDD,0x25,
10080 1.1 jruoho 0xC8,0x61,0x0E,0xEA,0x5D,0xC2,0x73,0xE0,
10081 1.1 jruoho 0x67,0x0B,0x9F,0xE0,0x7C,0xF3,0x09,0x71,
10082 1.1 jruoho 0xAA,0x8F,0x56,0xEF,0x01,0x3E,0x7A,0xBC,
10083 1.1 jruoho 0x77,0xF9,0xEC,0xC4,0x2E,0x02,0x3E,0x72,
10084 1.1 jruoho 0x19,0xC7,0xD3,0xF4,0x15,0xD0,0x43,0x36,
10085 1.1 jruoho 0xD8,0xAB,0x86,0x4F,0x60,0x3E,0xBA,0xE1,
10086 1.1 jruoho 0x8E,0x51,0x9E,0x89,0xA7,0xEF,0x3B,0x08,
10087 1.1 jruoho 0x3B,0x92,0x1C,0x75,0xA8,0x6B,0x7A,0x44,
10088 1.1 jruoho 0xF9,0xFF,0x9F,0xD0,0x81,0xF8,0xD6,0x06,
10089 1.1 jruoho 0xCE,0x68,0xF7,0x0F,0xF4,0x36,0x3D,0x32,
10090 1.1 jruoho 0xCC,0xD1,0x00,0xD6,0x25,0x04,0x5C,0x77,
10091 1.1 jruoho 0x0C,0x5F,0x42,0x80,0x4F,0xD0,0x4B,0x04,
10092 1.1 jruoho 0xFA,0x9A,0xE1,0xD1,0x3D,0x02,0x60,0xAE,
10093 1.1 jruoho 0x18,0xEC,0x58,0xE0,0xC3,0x86,0xAF,0x01,
10094 1.1 jruoho 0xEC,0x5E,0xE0,0x30,0xF7,0x08,0x50,0x81,
10095 1.1 jruoho 0x7A,0x78,0xF0,0xD5,0xDE,0x23,0x40,0x71,
10096 1.1 jruoho 0xB2,0xF4,0xA1,0xC1,0x03,0xB5,0xAA,0x33,
10097 1.1 jruoho 0x26,0x94,0x23,0x26,0x3F,0x9B,0xF9,0x26,
10098 1.1 jruoho 0x81,0xB9,0x5D,0xFA,0x26,0x01,0x37,0xCF,
10099 1.1 jruoho 0x2C,0x50,0x49,0x20,0xF4,0xFF,0xBF,0x49,
10100 1.1 jruoho 0xC0,0x85,0xE9,0xF2,0x32,0x43,0xE7,0x7F,
10101 1.1 jruoho 0xE0,0xBE,0xD5,0x79,0x84,0x3E,0x44,0x30,
10102 1.1 jruoho 0x94,0xF7,0x3C,0x9F,0xC2,0xF8,0x19,0xC2,
10103 1.1 jruoho 0x07,0x4C,0x76,0xA6,0xE0,0x67,0x4D,0xDC,
10104 1.1 jruoho 0x1D,0xC0,0x28,0x6F,0x9E,0x9E,0x00,0x3B,
10105 1.1 jruoho 0x7F,0x1A,0xF9,0xDD,0xE0,0x5D,0xC0,0xD3,
10106 1.1 jruoho 0xF7,0xBD,0x88,0x9F,0x28,0xC0,0x17,0xEC,
10107 1.1 jruoho 0x4E,0x07,0x05,0xFA,0x84,0x3C,0x22,0xA3,
10108 1.1 jruoho 0xFA,0x88,0xC0,0x2F,0x49,0x60,0x3C,0x92,
10109 1.1 jruoho 0xF8,0x40,0x01,0x84,0xEE,0x05,0xA8,0xD3,
10110 1.1 jruoho 0x07,0x47,0x3D,0xE3,0x17,0x54,0x63,0xBE,
10111 1.1 jruoho 0x5B,0x3D,0xC2,0x79,0x72,0x98,0xCB,0x01,
10112 1.1 jruoho 0x8B,0x73,0x4D,0x02,0xD5,0x71,0x97,0x8F,
10113 1.1 jruoho 0x0E,0xEE,0xB5,0x15,0xFB,0xFF,0x27,0x38,
10114 1.1 jruoho 0xB8,0x77,0x96,0x77,0x3E,0x43,0x79,0x90,
10115 1.1 jruoho 0xE0,0xBB,0xB6,0x82,0xE3,0xAA,0x06,0xE3,
10116 1.1 jruoho 0xD8,0xC2,0x2F,0x79,0x80,0x9D,0x61,0x71,
10117 1.1 jruoho 0xC1,0x7F,0x0F,0x03,0x51,0x89,0x30,0x28,
10118 1.1 jruoho 0x02,0xCB,0xBB,0xB7,0x52,0xF8,0x43,0x06,
10119 1.1 jruoho 0xE3,0x4D,0x81,0x4F,0x1A,0x3B,0x6A,0xE0,
10120 1.1 jruoho 0xFB,0xFF,0x1F,0x35,0xD8,0x86,0x8A,0xBB,
10121 1.1 jruoho 0x29,0x82,0x75,0xAA,0x98,0x21,0xF0,0x60,
10122 1.1 jruoho 0x0F,0x00,0x9F,0xAF,0x7C,0x06,0x50,0x14,
10123 1.1 jruoho 0x18,0xD4,0xA1,0x1D,0xCE,0x6D,0x18,0x70,
10124 1.1 jruoho 0x30,0x62,0xDC,0xA5,0x10,0xEE,0x94,0xDF,
10125 1.1 jruoho 0x51,0x62,0x3F,0x97,0xB3,0xE9,0xE2,0xAE,
10126 1.1 jruoho 0xE6,0x3E,0x9D,0xB0,0x0B,0x32,0x8C,0xB3,
10127 1.1 jruoho 0xC0,0x23,0xC0,0xAB,0x39,0xBF,0x20,0x3F,
10128 1.1 jruoho 0x17,0xBF,0x10,0x3C,0x26,0x85,0x78,0x53,
10129 1.1 jruoho 0x7A,0x25,0x36,0xC6,0x93,0x71,0x73,0xB7,
10130 1.1 jruoho 0x62,0x72,0xDE,0x79,0x41,0x36,0xC6,0xD1,
10131 1.1 jruoho 0x44,0x8C,0x72,0x6E,0x0F,0x03,0x91,0x5F,
10132 1.1 jruoho 0x90,0x7D,0x3F,0x79,0x21,0x88,0x18,0xCD,
10133 1.1 jruoho 0x10,0x41,0x9F,0x97,0x8D,0x15,0x28,0xDE,
10134 1.1 jruoho 0x0B,0x32,0x13,0xF8,0x56,0xD0,0xC1,0xC5,
10135 1.1 jruoho 0x17,0x64,0xEC,0xFF,0xFF,0x82,0x0C,0x30,
10136 1.1 jruoho 0xE2,0x64,0x04,0xF8,0x3C,0x71,0xE0,0xCE,
10137 1.1 jruoho 0x35,0x30,0xFE,0xFF,0x97,0x6A,0xD8,0x27,
10138 1.1 jruoho 0x1B,0xC0,0xD9,0xD0,0x7D,0xB2,0x01,0xF7,
10139 1.1 jruoho 0x68,0xE1,0x1D,0x4D,0x10,0x27,0x1B,0x0A,
10140 1.1 jruoho 0xE4,0xE0,0xEB,0xA2,0x70,0x3C,0xF4,0x49,
10141 1.1 jruoho 0x84,0x1E,0x9D,0x7C,0x94,0xC4,0x9D,0x19,
10142 1.1 jruoho 0x3C,0x91,0x77,0x16,0x8F,0xE2,0x65,0xD0,
10143 1.1 jruoho 0xF7,0x82,0x13,0x79,0x7D,0xB0,0x9C,0x63,
10144 1.1 jruoho 0x24,0xA8,0x46,0xE2,0xE3,0x03,0xFC,0xEB,
10145 1.1 jruoho 0x8B,0x8F,0x91,0xF0,0xF9,0xFC,0xC3,0xF2,
10146 1.1 jruoho 0x60,0x0C,0xF9,0xFF,0x7F,0x8A,0xC4,0x80,
10147 1.1 jruoho 0x3C,0xBB,0x3C,0x86,0xF0,0x0B,0x24,0xDC,
10148 1.1 jruoho 0xD3,0xCC,0x01,0x60,0x64,0x5D,0x1E,0xD1,
10149 1.1 jruoho 0x67,0x47,0x8E,0x11,0xD7,0x17,0x45,0x5F,
10150 1.1 jruoho 0x81,0x7D,0x10,0x38,0x9F,0xE7,0x44,0xB0,
10151 1.1 jruoho 0x8E,0x9A,0x1F,0x6D,0xF8,0xF8,0x39,0xF8,
10152 1.1 jruoho 0x5B,0xC1,0x03,0xA5,0x8F,0x45,0x21,0x1E,
10153 1.1 jruoho 0x91,0xF8,0x39,0x11,0x5C,0x26,0xCE,0x89,
10154 1.1 jruoho 0x40,0xE2,0xD0,0x0B,0xE3,0xB4,0x80,0x1B,
10155 1.1 jruoho 0x88,0xCF,0x94,0xD8,0x29,0x9F,0x08,0x3B,
10156 1.1 jruoho 0x97,0x60,0x46,0x07,0xAE,0xCB,0xBD,0x47,
10157 1.1 jruoho 0x07,0xFE,0x93,0x00,0x1E,0xEB,0xFF,0xFF,
10158 1.1 jruoho 0x78,0x07,0xBE,0x93,0xBA,0xEF,0x26,0xBE,
10159 1.1 jruoho 0xC8,0xF8,0x50,0xF4,0x7C,0x07,0xF8,0x0F,
10160 1.1 jruoho 0x77,0xB8,0x43,0xC5,0x39,0xDF,0x01,0xD2,
10161 1.1 jruoho 0xFE,0xFF,0xE7,0x3B,0x60,0x79,0xB6,0x7E,
10162 1.1 jruoho 0xBE,0x03,0xBB,0xC8,0xF3,0x1D,0x40,0xAC,
10163 1.1 jruoho 0xFF,0xFF,0xF9,0x0E,0xB0,0x73,0x46,0xC3,
10164 1.1 jruoho 0x9D,0xEF,0xC0,0x76,0xB4,0x01,0xCC,0x4D,
10165 1.1 jruoho 0xE3,0xD1,0x06,0xDC,0xC3,0x85,0x3D,0x0C,
10166 1.1 jruoho 0xAE,0xD0,0xA6,0x4F,0x8D,0x46,0xAD,0x1A,
10167 1.1 jruoho 0x94,0xA9,0x51,0xE6,0xFF,0xDF,0xA0,0x56,
10168 1.1 jruoho 0x9F,0x4A,0x8D,0x19,0xCB,0x0E,0xA5,0x80,
10169 1.1 jruoho 0x8F,0x0A,0x8D,0xCD,0xF2,0x28,0x04,0x62,
10170 1.1 jruoho 0x31,0xAF,0x06,0x81,0x38,0x2C,0x08,0x8D,
10171 1.1 jruoho 0xF4,0xCA,0x11,0x88,0x25,0x3F,0xFB,0x05,
10172 1.1 jruoho 0x62,0xB9,0x6F,0x06,0x81,0x38,0xE0,0x1B,
10173 1.1 jruoho 0x4C,0xE0,0xE4,0x61,0x25,0x70,0xF2,0x6E,
10174 1.1 jruoho 0x10,0x88,0x23,0x83,0x50,0xA1,0x3A,0x40,
10175 1.1 jruoho 0x58,0x4C,0x10,0x1A,0xCA,0x07,0x08,0x93,
10176 1.1 jruoho 0xFE,0x48,0x10,0x20,0x31,0x02,0xC2,0xC2,
10177 1.1 jruoho 0xBD,0xBF,0x04,0x62,0x69,0xEF,0x09,0x81,
10178 1.1 jruoho 0x58,0x88,0x15,0x10,0x16,0x17,0x84,0x86,
10179 1.1 jruoho 0xD3,0x02,0xC2,0x24,0x99,0x01,0x61,0x81,
10180 1.1 jruoho 0x40,0xA8,0x7C,0x35,0x20,0x4C,0xA4,0x1B,
10181 1.1 jruoho 0x40,0xBA,0x7A,0x81,0x38,0x88,0x1E,0x10,
10182 1.1 jruoho 0x26,0xC3,0x0F,0x08,0x0B,0x0D,0x42,0xA3,
10183 1.1 jruoho 0x3D,0x30,0x04,0x48,0x0C,0x81,0xB0,0xF8,
10184 1.1 jruoho 0x8E,0x40,0x98,0xF8,0x57,0x91,0x40,0x9C,
10185 1.1 jruoho 0xDF,0x12,0xC4,0x4D,0x69,0x88,0x35,0x01,
10186 1.1 jruoho 0x31,0x0D,0x9E,0x80,0x98,0x22,0x10,0x01,
10187 1.1 jruoho 0x39,0xF6,0xD3,0x43,0x40,0xD6,0x60,0x0A,
10188 1.1 jruoho 0x88,0x45,0x07,0x11,0x90,0x85,0xA8,0x02,
10189 1.1 jruoho 0x62,0x79,0x5D,0x01,0xB1,0xF0,0x20,0x02,
10190 1.1 jruoho 0x72,0xE6,0x97,0x9F,0x80,0xAC,0xE0,0xA5,
10191 1.1 jruoho 0xF3,0x10,0xC0,0xDE,0x10,0x81,0x48,0x72,
10192 1.1 jruoho 0x10,0x01,0x39,0xB0,0x2F,0x20,0x16,0x1F,
10193 1.1 jruoho 0x44,0x40,0xCE,0xFA,0x28,0x14,0x90,0x83,
10194 1.1 jruoho 0x83,0x68,0x10,0xE4,0x6B,0x26,0x20,0xA7,
10195 1.1 jruoho 0x07,0x11,0x10,0xF9,0x04,0x05,0x21,0x6A,
10196 1.1 jruoho 0xBD,0x81,0x30,0x3D,0x8F,0x42,0x0D,0x85,
10197 1.1 jruoho 0x80,0x50,0xE5,0xEA,0xCE,0x31,0x2C,0x07,
10198 1.1 jruoho 0x08,0xCD,0x05,0x22,0x30,0xAB,0x70,0x07,
10199 1.1 jruoho 0xC4,0x54,0x81,0x08,0xC8,0x09,0x80,0xC8,
10200 1.1 jruoho 0xFF,0x9F,0x60,0x2A,0x10,0x9A,0x12,0x8C,
10201 1.1 jruoho 0xEA,0x92,0x07,0xC4,0x12,0x80,0xD0,0x54,
10202 1.1 jruoho 0x20,0x34,0x25,0x88,0x00,0xAD,0xCA,0x1E,
10203 1.1 jruoho 0x10,0x53,0x0A,0x42,0x95,0x83,0xD0,0x74,
10204 1.1 jruoho 0x20,0x54,0xB6,0xBE,0xC3,0x02,0x05,0x11,
10205 1.1 jruoho 0x90,0xA3,0x83,0x50,0xE1,0xFE,0x40,0x98,
10206 1.1 jruoho 0xDE,0x97,0x86,0x00,0x9D,0x0E,0x44,0x40,
10207 1.1 jruoho 0x4E,0x0C,0x42,0x15,0x7C,0x32,0x82,0x10,
10208 1.1 jruoho 0xB1,0x20,0x54,0xC1,0x27,0x23,0x28,0xD1,
10209 1.1 jruoho 0xF2,0xB2,0x13,0x90,0xF5,0x81,0x50,0xBD,
10210 1.1 jruoho 0x20,0x02,0x73,0x36,0x20,0x9A,0x17,0x84,
10211 1.1 jruoho 0xE6,0x07,0xA3,0x5A,0x8D,0x02,0x31,0xFD,
10212 1.1 jruoho 0x20,0x34,0x0F,0x88,0xC0,0xAC,0xE0,0xF9,
10213 1.1 jruoho 0x71,0xC0,0x0C,0x84,0xAA,0x04,0x11,0x98,
10214 1.1 jruoho 0x73,0x01,0xD1,0xAC,0x20,0x34,0x3B,0x18,
10215 1.1 jruoho 0xD5,0xFE,0x0F,0xD1,0x00,0x08,0x08,0xCD,
10216 1.1 jruoho 0x07,0xA2,0xC3,0x00,0x79,0x96,0x09,0xC8,
10217 1.1 jruoho 0x1A,0x41,0xA8,0x66,0x10,0x81,0x39,0x27,
10218 1.1 jruoho 0x10,0xCD,0x0E,0x42,0x95,0xFD,0x4D,0x82,
10219 1.1 jruoho 0x91,0x8C,0x0F,0xD0,0x40,0x24,0x37,0x08,
10220 1.1 jruoho 0xD5,0xF1,0x0C,0x0A,0x46,0x74,0x83,0x08,
10221 1.1 jruoho 0xC8,0x59,0x40,0x68,0x36,0x30,0x9A,0x4C,
10222 1.1 jruoho 0xED,0x91,0x80,0xBA,0x05,0x61,0xE9,0x41,
10223 1.1 jruoho 0x68,0x3A,0xBB,0x83,0xA7,0x20,0x54,0x81,
10224 1.1 jruoho 0x5E,0x30,0xA6,0x19,0x44,0x87,0x05,0x02,
10225 1.1 jruoho 0x42,0x73,0x81,0x51,0x1D,0xAF,0x96,0x40,
10226 1.1 jruoho 0x44,0x1B,0x08,0xD5,0x0A,0xA2,0x81,0x93,
10227 1.1 jruoho 0x1F,0x53,0x10,0x92,0x14,0x84,0xFC,0xFF,
10228 1.1 jruoho 0x07,0xAA,0xC7,0x9C,0x40,0xAC,0xFA,0x5B,
10229 1.1 jruoho 0x25,0x50,0x27,0x01,0xA1,0xC9,0x40,0x74,
10230 1.1 jruoho 0x7C,0x20,0x0F,0xB8,0x83,0x64,0x20,0x54,
10231 1.1 jruoho 0x29,0x88,0xC0,0xAC,0xF4,0x63,0xA4,0x23,
10232 1.1 jruoho 0x05,0x51,0x7D,0xBC,0xA0,0x20,0x34,0xD1,
10233 1.1 jruoho 0x3B,0x2C,0x08,0x7B,0xB8,0x69,0xA8,0xE4,
10234 1.1 jruoho 0x59,0xA5,0xA1,0x12,0x10,0x9A,0x0D,0x44,
10235 1.1 jruoho 0xC7,0x04,0xF2,0xAA,0x79,0x4C,0x60,0x20,
10236 1.1 jruoho 0x54,0x2F,0x08,0xCD,0x01,0x42,0x13,0x83,
10237 1.1 jruoho 0x08,0xD4,0xA9,0xBF,0x37,0x1A,0x2A,0xF9,
10238 1.1 jruoho 0x5B,0x09,0xC4,0xCA,0x5E,0x69,0x02,0xB1,
10239 1.1 jruoho 0xDE,0xA7,0x4E,0x20,0xE6,0x1D,0x98,0xA9,
10240 1.1 jruoho 0x05,0xA1,0xEA,0x41,0x04,0xE6,0xB4,0x40,
10241 1.1 jruoho 0x54,0x81,0x78,0x10,0xA6,0x08,0x44,0x60,
10242 1.1 jruoho 0x4E,0x02,0x44,0xD3,0x81,0xD0,0xEC,0x60,
10243 1.1 jruoho 0x54,0xE7,0xA3,0x4D,0x40,0xD6,0x0E,0x42,
10244 1.1 jruoho 0xB3,0x80,0x08,0xCC,0x59,0x1E,0x69,0x02,
10245 1.1 jruoho 0xB1,0x92,0x2F,0x9D,0x0E,0x24,0x04,0x84,
10246 1.1 jruoho 0x26,0xD3,0x7F,0x68,0xA1,0x05,0x80,0x99,
10247 1.1 jruoho 0x84,0x04,0x20,0x4C,0x16,0x88,0x0E,0x27,
10248 1.1 jruoho 0xD6,0x08,0x22,0x40,0xC7,0x01,0xA3,0xD1,
10249 1.1 jruoho 0x40,0x68,0x5C,0x40,0x9A,0x1D,0x90,0x2A,
10250 1.1 jruoho 0x6D,0x00,0xC6,0x54,0x83,0xD0,0x24,0x20,
10251 1.1 jruoho 0x02,0x74,0x2C,0x10,0x01,0x5A,0x74,0x04,
10252 1.1 jruoho 0x30,0x16,0x01,0x84,0x46,0x05,0xA1,0xC9,
10253 1.1 jruoho 0x2A,0x80,0xB2,0x9C,0x20,0x1A,0x20,0xC9,
10254 1.1 jruoho 0x30,0x60,0x0A,0x42,0x33,0x81,0xD0,0x8C,
10255 1.1 jruoho 0x20,0x54,0x7C,0x07,0x10,0x16,0x04,0x84,
10256 1.1 jruoho 0x86,0x03,0xD1,0x00,0xFE,0xFF,0x8F,0x0C,
10257 1.1 jruoho 0x02,0xD1,0x00,0x9C,0x23,0xC4,0x61,0x85,
10258 1.1 jruoho 0x82,0xD0,0xF4,0x20,0x34,0x6C,0x09,0x50,
10259 1.1 jruoho 0x16,0x1D,0x44,0xC7,0x23,0x92,0x02,0x8C,
10260 1.1 jruoho 0x05,0x02,0xA1,0x31,0x41,0x68,0x6C,0x10,
10261 1.1 jruoho 0x1A,0x29,0x06,0x28,0x13,0x54,0xE3,0x50,
10262 1.1 jruoho 0x44,0x7B,0x80,0x31,0x99,0x20,0x54,0x36,
10263 1.1 jruoho 0x88,0xC0,0x1C,0x14,0x88,0x86,0x07,0xA1,
10264 1.1 jruoho 0x62,0x82,0x00,0x52,0x10,0x01,0x12,0x20,
10265 1.1 jruoho 0x1A,0x1E,0x84,0x8A,0x29,0x32,0x74,0x0A,
10266 1.1 jruoho 0x42,0x55,0x24,0x39,0x9A,0x50,0x10,0x1D,
10267 1.1 jruoho 0x4D,0x08,0x08,0xCD,0x07,0x46,0x75,0x35,
10268 1.1 jruoho 0x39,0x6E,0x50,0x10,0xAA,0x1D,0x84,0x06,
10269 1.1 jruoho 0x05,0xA1,0x39,0xA2,0x80,0xB2,0xEC,0x20,
10270 1.1 jruoho 0x02,0xB2,0x9E,0x2A,0x87,0x0A,0x0A,0x22,
10271 1.1 jruoho 0x30,0xA7,0x02,0xA2,0x49,0x41,0xA8,0x8E,
10272 1.1 jruoho 0x2C,0x47,0x0A,0x9A,0x06,0x84,0x25,0x06,
10273 1.1 jruoho 0xA1,0xC9,0xDA,0x80,0xB0,0x0C,0x75,0x0E,
10274 1.1 jruoho 0x24,0x14,0x84,0xE6,0x04,0xA1,0x4A,0xF2,
10275 1.1 jruoho 0x0C,0x8F,0x82,0xE8,0x38,0x42,0x80,0x68,
10276 1.1 jruoho 0x7A,0x10,0xAA,0xA6,0xCF,0x00,0x28,0x88,
10277 1.1 jruoho 0x06,0x40,0x40,0x68,0x4E,0x30,0xAA,0xA8,
10278 1.1 jruoho 0xD1,0xD1,0x84,0x82,0x50,0xDD,0x2F,0x4E,
10279 1.1 jruoho 0x81,0xF8,0xFF,0x0F,
10280 1.1 jruoho }) // END MBUF
10281 1.1 jruoho
10282 1.1 jruoho } //end DefinitionBlock
10283 1.1 jruoho
10284