grammar.asl revision 1.1.1.6 1 1.1 jruoho /*
2 1.1.1.6 christos * Some or all of this work - Copyright (c) 2006 - 2016, 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 jruoho Method (_ERR, 2)
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 jruoho Method (ERR_, 1)
969 1.1 jruoho {
970 1.1 jruoho if (LEqual (Arg0, 0))
971 1.1 jruoho {
972 1.1 jruoho Store ("+*+*+*+* MTHD_ERROR: Results not equal!", Debug)
973 1.1 jruoho }
974 1.1 jruoho if (LEqual (Arg0, 1))
975 1.1 jruoho {
976 1.1 jruoho Store ("+*+*+*+* MTHD_ERROR: Numeric result is incorrect!", Debug)
977 1.1 jruoho }
978 1.1 jruoho if (LEqual (Arg0, 2))
979 1.1 jruoho {
980 1.1 jruoho Store ("+*+*+*+* MTHD_ERROR: Operand was clobbered!", Debug)
981 1.1 jruoho }
982 1.1 jruoho
983 1.1 jruoho Notify (DEV1, Arg0)
984 1.1 jruoho Increment (ERRS)
985 1.1 jruoho }
986 1.1 jruoho
987 1.1 jruoho Method (R226, 2)
988 1.1 jruoho {
989 1.1 jruoho }
990 1.1 jruoho Method (R225, 2)
991 1.1 jruoho {
992 1.1 jruoho R226 (Arg0, Arg1)
993 1.1 jruoho }
994 1.1 jruoho Method (R224, 2)
995 1.1 jruoho {
996 1.1 jruoho R225 (Arg1, Arg0)
997 1.1 jruoho }
998 1.1 jruoho Method (R223, 2)
999 1.1 jruoho {
1000 1.1 jruoho R224 (Arg0, Arg1)
1001 1.1 jruoho }
1002 1.1 jruoho Method (R222, 2)
1003 1.1 jruoho {
1004 1.1 jruoho R223 (Arg1, Arg0)
1005 1.1 jruoho }
1006 1.1 jruoho Method (R111)
1007 1.1 jruoho {
1008 1.1 jruoho Store (0x01010101, Local0)
1009 1.1 jruoho R222 (0xABAB, Local0)
1010 1.1 jruoho Store (Local0, Local1)
1011 1.1 jruoho }
1012 1.1 jruoho
1013 1.1 jruoho Method (MAIN)
1014 1.1 jruoho {
1015 1.1 jruoho
1016 1.1 jruoho // SIZE()
1017 1.1 jruoho Store (NUM1(), Local0)
1018 1.1 jruoho \CMB1._BST()
1019 1.1 jruoho RDBT(1,2,3)
1020 1.1 jruoho OBJ1(1)
1021 1.1 jruoho OBJ2(2)
1022 1.1 jruoho CHEK()
1023 1.1 jruoho RETZ()
1024 1.1 jruoho BITZ()
1025 1.1 jruoho LOGS()
1026 1.1 jruoho REFS()
1027 1.1 jruoho COND()
1028 1.1 jruoho TZ2()
1029 1.1 jruoho
1030 1.1 jruoho //
1031 1.1 jruoho // iPCO tests added
1032 1.1 jruoho //
1033 1.1 jruoho Store (\IFEL.TEST(), Local0)
1034 1.1 jruoho if (LGreater (Local0, 0))
1035 1.1 jruoho {
1036 1.1 jruoho ERR_ (1)
1037 1.1 jruoho Return(Local0)
1038 1.1 jruoho }
1039 1.1 jruoho
1040 1.1 jruoho Store (\NOSV.TEST(), Local0)
1041 1.1 jruoho if (LGreater (Local0, 0))
1042 1.1 jruoho {
1043 1.1 jruoho ERR_ (1)
1044 1.1 jruoho Return(Local0)
1045 1.1 jruoho }
1046 1.1 jruoho
1047 1.1 jruoho Store (\IDXF.TEST(), Local0)
1048 1.1 jruoho if (LGreater (Local0, 0))
1049 1.1 jruoho {
1050 1.1 jruoho ERR_ (1)
1051 1.1 jruoho Return(Local0)
1052 1.1 jruoho }
1053 1.1 jruoho
1054 1.1 jruoho Store (\_SB_.NSTL.TEST(), Local0)
1055 1.1 jruoho if (LGreater (Local0, 0))
1056 1.1 jruoho {
1057 1.1 jruoho ERR_ (1)
1058 1.1 jruoho Return(Local0)
1059 1.1 jruoho }
1060 1.1 jruoho
1061 1.1 jruoho Store (\RTBF.TEST(), Local0)
1062 1.1 jruoho if (LGreater (Local0, 0))
1063 1.1 jruoho {
1064 1.1 jruoho ERR_ (1)
1065 1.1 jruoho Return(Local0)
1066 1.1 jruoho }
1067 1.1 jruoho
1068 1.1 jruoho Store (\_SB_.RTLV.TEST(), Local0)
1069 1.1 jruoho if (LGreater (Local0, 0))
1070 1.1 jruoho {
1071 1.1 jruoho ERR_ (1)
1072 1.1 jruoho Return(Local0)
1073 1.1 jruoho }
1074 1.1 jruoho
1075 1.1 jruoho Store (\_SB_.RETP.TEST(), Local0)
1076 1.1 jruoho if (LGreater (Local0, 0))
1077 1.1 jruoho {
1078 1.1 jruoho ERR_ (1)
1079 1.1 jruoho Return(Local0)
1080 1.1 jruoho }
1081 1.1 jruoho
1082 1.1 jruoho Store (\WHLR.TEST(), Local0)
1083 1.1 jruoho if (LGreater (Local0, 0))
1084 1.1 jruoho {
1085 1.1 jruoho ERR_ (1)
1086 1.1 jruoho Return(Local0)
1087 1.1 jruoho }
1088 1.1 jruoho
1089 1.1 jruoho Store (\ANDO.TEST(), Local0)
1090 1.1 jruoho if (LGreater (Local0, 0))
1091 1.1 jruoho {
1092 1.1 jruoho ERR_ (1)
1093 1.1 jruoho Return(Local0)
1094 1.1 jruoho }
1095 1.1 jruoho
1096 1.1 jruoho Store (\BRKP.TEST(), Local0)
1097 1.1 jruoho if (LGreater (Local0, 0))
1098 1.1 jruoho {
1099 1.1 jruoho ERR_ (1)
1100 1.1 jruoho Return(Local0)
1101 1.1 jruoho }
1102 1.1 jruoho
1103 1.1 jruoho Store (\ADSU.TEST(), Local0)
1104 1.1 jruoho if (LGreater (Local0, 0))
1105 1.1 jruoho {
1106 1.1 jruoho ERR_ (1)
1107 1.1 jruoho Return(Local0)
1108 1.1 jruoho }
1109 1.1 jruoho
1110 1.1 jruoho Store (\INDC.TEST(), Local0)
1111 1.1 jruoho if (LGreater (Local0, 0))
1112 1.1 jruoho {
1113 1.1 jruoho ERR_ (1)
1114 1.1 jruoho Return(Local0)
1115 1.1 jruoho }
1116 1.1 jruoho
1117 1.1 jruoho Store (\LOPS.TEST(), Local0)
1118 1.1 jruoho if (LGreater (Local0, 0))
1119 1.1 jruoho {
1120 1.1 jruoho ERR_ (1)
1121 1.1 jruoho Return(Local0)
1122 1.1 jruoho }
1123 1.1 jruoho
1124 1.1 jruoho Store (\FDSO.TEST(), Local0)
1125 1.1 jruoho if (LGreater (Local0, 0))
1126 1.1 jruoho {
1127 1.1 jruoho ERR_ (1)
1128 1.1 jruoho Return(Local0)
1129 1.1 jruoho }
1130 1.1 jruoho
1131 1.1 jruoho Store (\MLDV.TEST(), Local0)
1132 1.1 jruoho if (LGreater (Local0, 0))
1133 1.1 jruoho {
1134 1.1 jruoho ERR_ (1)
1135 1.1 jruoho Return(Local0)
1136 1.1 jruoho }
1137 1.1 jruoho
1138 1.1 jruoho Store (\NBIT.TEST(), Local0)
1139 1.1 jruoho if (LGreater (Local0, 0))
1140 1.1 jruoho {
1141 1.1 jruoho ERR_ (1)
1142 1.1 jruoho Return(Local0)
1143 1.1 jruoho }
1144 1.1 jruoho
1145 1.1 jruoho Store (\SHFT.TEST(), Local0)
1146 1.1 jruoho if (LGreater (Local0, 0))
1147 1.1 jruoho {
1148 1.1 jruoho ERR_ (1)
1149 1.1 jruoho Return(Local0)
1150 1.1 jruoho }
1151 1.1 jruoho
1152 1.1 jruoho Store (\XORD.TEST(), Local0)
1153 1.1 jruoho if (LGreater (Local0, 0))
1154 1.1 jruoho {
1155 1.1 jruoho ERR_ (1)
1156 1.1 jruoho Return(Local0)
1157 1.1 jruoho }
1158 1.1 jruoho
1159 1.1 jruoho Store (\CRBF.TEST(), Local0)
1160 1.1 jruoho if (LGreater (Local0, 0))
1161 1.1 jruoho {
1162 1.1 jruoho ERR_ (1)
1163 1.1 jruoho Return(Local0)
1164 1.1 jruoho }
1165 1.1 jruoho
1166 1.1 jruoho Store (\IDX4.TEST(), Local0)
1167 1.1 jruoho if (LGreater (Local0, 0))
1168 1.1 jruoho {
1169 1.1 jruoho ERR_ (1)
1170 1.1 jruoho Return(Local0)
1171 1.1 jruoho }
1172 1.1 jruoho
1173 1.1 jruoho Store (\EVNT.TEST(), Local0)
1174 1.1 jruoho if (LGreater (Local0, 0))
1175 1.1 jruoho {
1176 1.1 jruoho ERR_ (1)
1177 1.1 jruoho Return(Local0)
1178 1.1 jruoho }
1179 1.1 jruoho
1180 1.1 jruoho Store (\SZLV.TEST(), Local0)
1181 1.1 jruoho if (LGreater (Local0, 0))
1182 1.1 jruoho {
1183 1.1 jruoho ERR_ (1)
1184 1.1 jruoho Return(Local0)
1185 1.1 jruoho }
1186 1.1 jruoho
1187 1.1 jruoho Store (\_SB_.BYTF.TEST(), Local0)
1188 1.1 jruoho if (LGreater (Local0, 0))
1189 1.1 jruoho {
1190 1.1 jruoho ERR_ (1)
1191 1.1 jruoho Return(Local0)
1192 1.1 jruoho }
1193 1.1 jruoho
1194 1.1 jruoho Store (\DWDF.TEST(), Local0)
1195 1.1 jruoho if (LGreater (Local0, 0))
1196 1.1 jruoho {
1197 1.1 jruoho ERR_ (1)
1198 1.1 jruoho Return(Local0)
1199 1.1 jruoho }
1200 1.1 jruoho
1201 1.1 jruoho Store (\DVAX.TEST(), Local0)
1202 1.1 jruoho if (LGreater (Local0, 0))
1203 1.1 jruoho {
1204 1.1 jruoho ERR_ (1)
1205 1.1 jruoho Return(Local0)
1206 1.1 jruoho }
1207 1.1 jruoho
1208 1.1 jruoho Store (\IDX6.TEST(), Local0)
1209 1.1 jruoho if (LGreater (Local0, 0))
1210 1.1 jruoho {
1211 1.1 jruoho ERR_ (1)
1212 1.1 jruoho Return(Local0)
1213 1.1 jruoho }
1214 1.1 jruoho
1215 1.1 jruoho Store (\IDX5.TEST(), Local0)
1216 1.1 jruoho if (LGreater (Local0, 0))
1217 1.1 jruoho {
1218 1.1 jruoho ERR_ (1)
1219 1.1 jruoho Return(Local0)
1220 1.1 jruoho }
1221 1.1 jruoho
1222 1.1 jruoho Store (\_SB_.IDX0.TEST(), Local0)
1223 1.1 jruoho if (LGreater (Local0, 0))
1224 1.1 jruoho {
1225 1.1 jruoho ERR_ (1)
1226 1.1 jruoho Return(Local0)
1227 1.1 jruoho }
1228 1.1 jruoho
1229 1.1 jruoho Store (\_SB_.IDX3.TEST(), Local0)
1230 1.1 jruoho if (LGreater (Local0, 0))
1231 1.1 jruoho {
1232 1.1 jruoho ERR_ (1)
1233 1.1 jruoho Return(Local0)
1234 1.1 jruoho }
1235 1.1 jruoho
1236 1.1 jruoho Store (\IDX7.TEST(), Local0)
1237 1.1 jruoho if (LGreater (Local0, 0))
1238 1.1 jruoho {
1239 1.1 jruoho ERR_ (1)
1240 1.1 jruoho Return(Local0)
1241 1.1 jruoho }
1242 1.1 jruoho
1243 1.1 jruoho Store (\MTCH.TEST(), Local0)
1244 1.1 jruoho if (LGreater (Local0, 0))
1245 1.1 jruoho {
1246 1.1 jruoho ERR_ (1)
1247 1.1 jruoho Return(Local0)
1248 1.1 jruoho }
1249 1.1 jruoho
1250 1.1 jruoho Store (\WHLB.TEST(), Local0)
1251 1.1 jruoho if (LGreater (Local0, 0))
1252 1.1 jruoho {
1253 1.1 jruoho ERR_ (1)
1254 1.1 jruoho Return(Local0)
1255 1.1 jruoho }
1256 1.1 jruoho
1257 1.1 jruoho Store (\_SB_.IDX2.TEST(), Local0)
1258 1.1 jruoho if (LGreater (Local0, 0))
1259 1.1 jruoho {
1260 1.1 jruoho ERR_ (1)
1261 1.1 jruoho Return(Local0)
1262 1.1 jruoho }
1263 1.1 jruoho
1264 1.1 jruoho Store (\SIZO.TEST(), Local0)
1265 1.1 jruoho if (LGreater (Local0, 0))
1266 1.1 jruoho {
1267 1.1 jruoho ERR_ (1)
1268 1.1 jruoho Return(Local0)
1269 1.1 jruoho }
1270 1.1 jruoho
1271 1.1 jruoho Store (\_SB_.SMIS.TEST(), Local0)
1272 1.1 jruoho if (LGreater (Local0, 0))
1273 1.1 jruoho {
1274 1.1 jruoho ERR_ (1)
1275 1.1 jruoho Return(Local0)
1276 1.1 jruoho }
1277 1.1 jruoho
1278 1.1 jruoho if (LGreater (ERRS, 0))
1279 1.1 jruoho {
1280 1.1 jruoho Store ("****** There were errors during the execution of the test ******", Debug)
1281 1.1 jruoho }
1282 1.1 jruoho
1283 1.1.1.6 christos // Flush all notifies
1284 1.1.1.6 christos
1285 1.1.1.6 christos Sleep (250)
1286 1.1.1.6 christos
1287 1.1 jruoho //
1288 1.1 jruoho // Last Test
1289 1.1 jruoho //
1290 1.1 jruoho
1291 1.1 jruoho Return(0) // Success
1292 1.1 jruoho }
1293 1.1 jruoho
1294 1.1 jruoho
1295 1.1 jruoho Method (OBJ1, 1, SERIALIZED)
1296 1.1 jruoho {
1297 1.1 jruoho
1298 1.1 jruoho Store (3, Local0)
1299 1.1 jruoho Name(BUFR, Buffer (Local0) {})
1300 1.1 jruoho Name(BUF1, Buffer (4) {1,2,3,4})
1301 1.1 jruoho Name(BUF2, Buffer (4) {})
1302 1.1 jruoho
1303 1.1 jruoho Store (BUF1, BUF2)
1304 1.1 jruoho Mutex (MTX1, 4)
1305 1.1 jruoho
1306 1.1 jruoho Alias (MTX1, MTX2)
1307 1.1 jruoho }
1308 1.1 jruoho
1309 1.1 jruoho
1310 1.1 jruoho Mutex (MTXT, 0)
1311 1.1 jruoho Mutex (MTXX, 0)
1312 1.1 jruoho
1313 1.1 jruoho /*
1314 1.1 jruoho * Field Creation
1315 1.1 jruoho */
1316 1.1 jruoho
1317 1.1.1.3 christos Method (FLDS,, Serialized)
1318 1.1 jruoho {
1319 1.1 jruoho Store ("++++++++ Creating BufferFields", Debug)
1320 1.1 jruoho Name (BUF2, Buffer (128) {})
1321 1.1 jruoho
1322 1.1 jruoho CreateBitField (BUF2, 3, BIT2)
1323 1.1 jruoho CreateByteField (BUF2, 1, BYT2)
1324 1.1 jruoho CreateWordField (BUF2, 2, WRD2)
1325 1.1 jruoho CreateDwordField (BUF2, 4, DWD2)
1326 1.1 jruoho CreateQwordField (BUF2, 8, QWD2)
1327 1.1 jruoho CreateField (BUF2, 128, 12, FLD2)
1328 1.1 jruoho CreateField (BUF2, 148, 96, FLD3)
1329 1.1 jruoho
1330 1.1 jruoho Store (0x1, BIT2)
1331 1.1 jruoho Store (BIT2, Local0)
1332 1.1 jruoho if (LNotEqual (Local0, 0x1))
1333 1.1 jruoho {
1334 1.1 jruoho ERR_ (1)
1335 1.1 jruoho }
1336 1.1 jruoho else
1337 1.1 jruoho {
1338 1.1 jruoho Store (DerefOf (Index (BUF2, 0)), Local0)
1339 1.1 jruoho if (LNotEqual (Local0, 0x08))
1340 1.1 jruoho {
1341 1.1 jruoho ERR_ (1)
1342 1.1 jruoho }
1343 1.1 jruoho else
1344 1.1 jruoho {
1345 1.1 jruoho Store ("++++++++ Bit BufferField I/O PASS", Debug)
1346 1.1 jruoho }
1347 1.1 jruoho }
1348 1.1 jruoho
1349 1.1 jruoho Store (0x1A, BYT2)
1350 1.1 jruoho Store (BYT2, Local0)
1351 1.1 jruoho if (LNotEqual (Local0, 0x1A))
1352 1.1 jruoho {
1353 1.1 jruoho ERR_ (1)
1354 1.1 jruoho }
1355 1.1 jruoho else
1356 1.1 jruoho {
1357 1.1 jruoho Store ("++++++++ Byte BufferField I/O PASS", Debug)
1358 1.1 jruoho }
1359 1.1 jruoho
1360 1.1 jruoho Store (0x1234, WRD2)
1361 1.1 jruoho Store (WRD2, Local0)
1362 1.1 jruoho if (LNotEqual (Local0, 0x1234))
1363 1.1 jruoho {
1364 1.1 jruoho ERR_ (1)
1365 1.1 jruoho }
1366 1.1 jruoho else
1367 1.1 jruoho {
1368 1.1 jruoho Store ("++++++++ Word BufferField I/O PASS", Debug)
1369 1.1 jruoho }
1370 1.1 jruoho
1371 1.1 jruoho Store (0x123, FLD2)
1372 1.1 jruoho Store (FLD2, Local0)
1373 1.1 jruoho if (LNotEqual (Local0, 0x123))
1374 1.1 jruoho {
1375 1.1 jruoho ERR_ (1)
1376 1.1 jruoho }
1377 1.1 jruoho else
1378 1.1 jruoho {
1379 1.1 jruoho Store ("++++++++ 12-bit BufferField I/O PASS", Debug)
1380 1.1 jruoho }
1381 1.1 jruoho
1382 1.1 jruoho Store (0x12345678, DWD2)
1383 1.1 jruoho Store (DWD2, Local0)
1384 1.1 jruoho if (LNotEqual (Local0, 0x12345678))
1385 1.1 jruoho {
1386 1.1 jruoho ERR_ (1)
1387 1.1 jruoho }
1388 1.1 jruoho else
1389 1.1 jruoho {
1390 1.1 jruoho Store ("++++++++ Dword BufferField I/O PASS", Debug)
1391 1.1 jruoho }
1392 1.1 jruoho
1393 1.1 jruoho Store (0x1234567887654321, QWD2)
1394 1.1 jruoho Store (QWD2, Local0)
1395 1.1 jruoho if (LNotEqual (Local0, 0x1234567887654321))
1396 1.1 jruoho {
1397 1.1 jruoho ERR_ (1)
1398 1.1 jruoho }
1399 1.1 jruoho else
1400 1.1 jruoho {
1401 1.1 jruoho Store ("++++++++ Qword BufferField I/O PASS", Debug)
1402 1.1 jruoho }
1403 1.1 jruoho }
1404 1.1 jruoho
1405 1.1 jruoho
1406 1.1 jruoho /* Field execution */
1407 1.1 jruoho
1408 1.1.1.3 christos Method (FLDX,, Serialized)
1409 1.1 jruoho {
1410 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
1411 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements
1412 1.1 jruoho SMD0, 32, // 32-bits
1413 1.1 jruoho SMD1, 32, // 32-bits
1414 1.1 jruoho SMD2, 32, // 32-bits
1415 1.1 jruoho SMD3, 32 // 32-bits
1416 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements
1417 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve)
1418 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements
1419 1.1 jruoho SME0, 69, // larger than an integer (32 or 64)
1420 1.1 jruoho SME1, 97 // larger than an integer
1421 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements
1422 1.1 jruoho }
1423 1.1 jruoho
1424 1.1 jruoho
1425 1.1 jruoho Method (MTX_, )
1426 1.1 jruoho {
1427 1.1 jruoho /* Test "Force release" of mutex on method exit */
1428 1.1 jruoho
1429 1.1 jruoho Acquire (MTXT, 0xFFFF)
1430 1.1 jruoho Acquire (MTXX, 0xFFFF)
1431 1.1 jruoho
1432 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug)
1433 1.1 jruoho Acquire (_GL_, 0xFFFF)
1434 1.1 jruoho
1435 1.1 jruoho
1436 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug)
1437 1.1 jruoho Release (_GL_)
1438 1.1 jruoho }
1439 1.1 jruoho
1440 1.1 jruoho
1441 1.1.1.3 christos Method (OBJ2, 1, Serialized)
1442 1.1 jruoho {
1443 1.1 jruoho Store ("++++++++ Creating Buffer BUFO", Debug)
1444 1.1 jruoho Name (BUFO, Buffer (32) {})
1445 1.1 jruoho
1446 1.1 jruoho Store ("++++++++ Creating OpRegion OPR2", Debug)
1447 1.1 jruoho OperationRegion (OPR2, SystemMemory, Arg0, 256)
1448 1.1 jruoho
1449 1.1 jruoho Store ("++++++++ Creating Field(s) in OpRegion OPR2", Debug)
1450 1.1 jruoho Field (OPR2, ByteAcc, NoLock, Preserve)
1451 1.1 jruoho {
1452 1.1 jruoho IDX2, 8,
1453 1.1 jruoho DAT2, 8,
1454 1.1 jruoho BNK2, 4
1455 1.1 jruoho }
1456 1.1 jruoho
1457 1.1 jruoho Store ("++++++++ Creating BankField BNK2 in OpRegion OPR2", Debug)
1458 1.1 jruoho //
1459 1.1 jruoho // mcw 3/20/00 - changed FET0, 4, FET1, 3 to FET0, 1, FET1, 1
1460 1.1 jruoho //
1461 1.1 jruoho BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve)
1462 1.1 jruoho {
1463 1.1 jruoho FET0, 4,
1464 1.1 jruoho FET1, 3
1465 1.1 jruoho }
1466 1.1 jruoho
1467 1.1 jruoho Store ("++++++++ Creating IndexField", Debug)
1468 1.1 jruoho IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
1469 1.1 jruoho {
1470 1.1 jruoho FET2, 4,
1471 1.1 jruoho FET3, 3
1472 1.1 jruoho }
1473 1.1 jruoho
1474 1.1 jruoho Store ("++++++++ SizeOf (BUFO)", Debug)
1475 1.1 jruoho SizeOf (BUFO)
1476 1.1 jruoho
1477 1.1 jruoho Store ("++++++++ Store (SizeOf (BUFO), Local0)", Debug)
1478 1.1 jruoho Store (SizeOf (BUFO), Local0)
1479 1.1 jruoho
1480 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", \"def\", Local0)", Debug)
1481 1.1 jruoho Concatenate ("abd", "def", Local0)
1482 1.1 jruoho Store (Local0, Debug)
1483 1.1 jruoho
1484 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", 0x7B, Local0)", Debug)
1485 1.1 jruoho Concatenate ("abd", 0x7B, Local0)
1486 1.1 jruoho Store (Local0, Debug)
1487 1.1 jruoho
1488 1.1 jruoho Store ("++++++++ Creating Event EVT2", Debug)
1489 1.1 jruoho Event (EVT2)
1490 1.1 jruoho
1491 1.1 jruoho Store ("++++++++ Creating Mutex MTX2", Debug)
1492 1.1 jruoho Mutex (MTX2, 0)
1493 1.1 jruoho
1494 1.1 jruoho Store ("++++++++ Creating Alias MTXA to MTX2", Debug)
1495 1.1 jruoho Alias (MTX2, MTXA)
1496 1.1 jruoho
1497 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug)
1498 1.1 jruoho Acquire (MTX2, 0xFFFF)
1499 1.1 jruoho
1500 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2 (2nd acquire)", Debug)
1501 1.1 jruoho Acquire (MTX2, 1)
1502 1.1 jruoho
1503 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug)
1504 1.1 jruoho Release (MTX2)
1505 1.1 jruoho
1506 1.1 jruoho // Type 1 opcodes
1507 1.1 jruoho
1508 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug)
1509 1.1 jruoho Signal (EVT2)
1510 1.1 jruoho
1511 1.1 jruoho Store ("++++++++ Resetting Event EVT2", Debug)
1512 1.1 jruoho Reset (EVT2)
1513 1.1 jruoho
1514 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug)
1515 1.1 jruoho Signal (EVT2)
1516 1.1 jruoho
1517 1.1 jruoho Store ("++++++++ Waiting Event EVT2", Debug)
1518 1.1 jruoho Wait (EVT2, 0xFFFF)
1519 1.1 jruoho
1520 1.1 jruoho Store ("++++++++ Sleep", Debug)
1521 1.1 jruoho Sleep (100)
1522 1.1 jruoho
1523 1.1 jruoho Store ("++++++++ Stall", Debug)
1524 1.1 jruoho Stall (254)
1525 1.1 jruoho
1526 1.1 jruoho Store ("++++++++ NoOperation", Debug)
1527 1.1 jruoho Noop
1528 1.1 jruoho
1529 1.1 jruoho // Type 2 Opcodes
1530 1.1 jruoho
1531 1.1 jruoho Store ("++++++++ Return from Method OBJ2", Debug)
1532 1.1 jruoho return (4)
1533 1.1 jruoho }
1534 1.1 jruoho
1535 1.1 jruoho
1536 1.1 jruoho Method (NUM1, 0)
1537 1.1 jruoho {
1538 1.1 jruoho /* ADD */
1539 1.1 jruoho
1540 1.1 jruoho Store ("++++++++ Add (0x12345678, 0x11111111, Local0)", Debug)
1541 1.1 jruoho Add (0x12345678, 0x11111111, Local0)
1542 1.1 jruoho
1543 1.1 jruoho Store ("++++++++ Store (Add (0x12345678, 0x11111111), Local1)", Debug)
1544 1.1 jruoho Store (Add (0x12345678, 0x11111111), Local1)
1545 1.1 jruoho
1546 1.1 jruoho Store ("++++++++ Checking result from ADD", Debug)
1547 1.1 jruoho if (LNotEqual (Local0, Local1))
1548 1.1 jruoho {
1549 1.1 jruoho ERR_ (0)
1550 1.1 jruoho }
1551 1.1 jruoho
1552 1.1 jruoho
1553 1.1 jruoho /* SUBTRACT */
1554 1.1 jruoho
1555 1.1 jruoho Store ("++++++++ Subtract (0x87654321, 0x11111111, Local4)", Debug)
1556 1.1 jruoho Subtract (0x87654321, 0x11111111, Local4)
1557 1.1 jruoho
1558 1.1 jruoho Store ("++++++++ Store (Subtract (0x87654321, 0x11111111), Local5)", Debug)
1559 1.1 jruoho Store (Subtract (0x87654321, 0x11111111), Local5)
1560 1.1 jruoho
1561 1.1 jruoho Store ("++++++++ Checking result from SUBTRACT", Debug)
1562 1.1 jruoho if (LNotEqual (Local4, Local5))
1563 1.1 jruoho {
1564 1.1 jruoho ERR_ (0)
1565 1.1 jruoho }
1566 1.1 jruoho
1567 1.1 jruoho
1568 1.1 jruoho /* MULTIPLY */
1569 1.1 jruoho
1570 1.1 jruoho Store ("++++++++ Multiply (33, 10, Local6)", Debug)
1571 1.1 jruoho Multiply (33, 10, Local6)
1572 1.1 jruoho
1573 1.1 jruoho Store ("++++++++ Store (Multiply (33, 10), Local7)", Debug)
1574 1.1 jruoho Store (Multiply (33, 10), Local7)
1575 1.1 jruoho
1576 1.1 jruoho
1577 1.1 jruoho Store ("++++++++ Checking result from MULTIPLY", Debug)
1578 1.1 jruoho if (LNotEqual (Local6, Local7))
1579 1.1 jruoho {
1580 1.1 jruoho ERR_ (0)
1581 1.1 jruoho }
1582 1.1 jruoho
1583 1.1 jruoho
1584 1.1 jruoho /* DIVIDE */
1585 1.1 jruoho
1586 1.1 jruoho Store ("++++++++ Divide (100, 9, Local1, Local2)", Debug)
1587 1.1 jruoho Divide (100, 9, Local1, Local2)
1588 1.1 jruoho
1589 1.1 jruoho Store ("++++++++ Store (Divide (100, 9), Local3)", Debug)
1590 1.1 jruoho Store (Divide (100, 9), Local3)
1591 1.1 jruoho
1592 1.1 jruoho Store ("++++++++ Checking (quotient) result from DIVIDE", Debug)
1593 1.1 jruoho if (LNotEqual (Local2, Local3))
1594 1.1 jruoho {
1595 1.1 jruoho ERR_ (0)
1596 1.1 jruoho }
1597 1.1 jruoho
1598 1.1 jruoho
1599 1.1 jruoho /* INCREMENT */
1600 1.1 jruoho
1601 1.1 jruoho Store ("++++++++ Increment (Local0)", Debug)
1602 1.1 jruoho Store (1, Local0)
1603 1.1 jruoho Store (2, Local1)
1604 1.1 jruoho Increment (Local0)
1605 1.1 jruoho
1606 1.1 jruoho Store ("++++++++ Checking result from INCREMENT", Debug)
1607 1.1 jruoho if (LNotEqual (Local0, Local1))
1608 1.1 jruoho {
1609 1.1 jruoho ERR_ (0)
1610 1.1 jruoho }
1611 1.1 jruoho
1612 1.1 jruoho
1613 1.1 jruoho /* DECREMENT */
1614 1.1 jruoho
1615 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug)
1616 1.1 jruoho Store (2, Local0)
1617 1.1 jruoho Store (1, Local1)
1618 1.1 jruoho Decrement (Local0)
1619 1.1 jruoho
1620 1.1 jruoho Store ("++++++++ Checking result from DECREMENT", Debug)
1621 1.1 jruoho if (LNotEqual (Local0, Local1))
1622 1.1 jruoho {
1623 1.1 jruoho ERR_ (0)
1624 1.1 jruoho }
1625 1.1 jruoho
1626 1.1 jruoho
1627 1.1 jruoho /* TOBCD */
1628 1.1 jruoho /* FROMBCD */
1629 1.1 jruoho
1630 1.1 jruoho Store ("++++++++ ToBCD (0x1234, Local5)", Debug)
1631 1.1 jruoho ToBCD (0x1234, Local5)
1632 1.1 jruoho
1633 1.1 jruoho Store ("++++++++ FromBCD (Local5, Local6)", Debug)
1634 1.1 jruoho FromBCD (Local5, Local6)
1635 1.1 jruoho
1636 1.1 jruoho Store ("++++++++ Return (Local6)", Debug)
1637 1.1 jruoho Return (Local6)
1638 1.1 jruoho }
1639 1.1 jruoho
1640 1.1 jruoho
1641 1.1 jruoho Method (CHEK)
1642 1.1 jruoho {
1643 1.1 jruoho
1644 1.1 jruoho Store (3, Local0)
1645 1.1 jruoho Store (3, Debug)
1646 1.1 jruoho Store (Local0, Debug)
1647 1.1 jruoho Store (7, Local1)
1648 1.1 jruoho
1649 1.1 jruoho Add (Local0, Local1)
1650 1.1 jruoho if (LNotEqual (Local0, 3))
1651 1.1 jruoho {
1652 1.1 jruoho ERR_ (2)
1653 1.1 jruoho }
1654 1.1 jruoho if (LNotEqual (Local1, 7))
1655 1.1 jruoho {
1656 1.1 jruoho ERR_ (2)
1657 1.1 jruoho }
1658 1.1 jruoho
1659 1.1 jruoho
1660 1.1 jruoho Add (Local0, Local1, Local2)
1661 1.1 jruoho if (LNotEqual (Local0, 3))
1662 1.1 jruoho {
1663 1.1 jruoho ERR_ (2)
1664 1.1 jruoho }
1665 1.1 jruoho if (LNotEqual (Local1, 7))
1666 1.1 jruoho {
1667 1.1 jruoho ERR_ (2)
1668 1.1 jruoho }
1669 1.1 jruoho }
1670 1.1 jruoho
1671 1.1 jruoho
1672 1.1 jruoho Method (RET1)
1673 1.1 jruoho {
1674 1.1 jruoho Store (3, Local0)
1675 1.1 jruoho Return (Local0)
1676 1.1 jruoho }
1677 1.1 jruoho
1678 1.1 jruoho Method (RET2)
1679 1.1 jruoho {
1680 1.1 jruoho Return (RET1())
1681 1.1 jruoho }
1682 1.1 jruoho
1683 1.1 jruoho Method (RETZ)
1684 1.1 jruoho {
1685 1.1 jruoho RET2 ()
1686 1.1 jruoho }
1687 1.1 jruoho
1688 1.1 jruoho
1689 1.1 jruoho Method (BITZ)
1690 1.1 jruoho {
1691 1.1 jruoho Store ("++++++++ FindSetLeftBit (0x00100100, Local0)", Debug)
1692 1.1 jruoho FindSetLeftBit (0x00100100, Local0)
1693 1.1 jruoho if (LNotEqual (Local0, 21))
1694 1.1 jruoho {
1695 1.1 jruoho ERR_ (1)
1696 1.1 jruoho }
1697 1.1 jruoho
1698 1.1 jruoho Store ("++++++++ FindSetRightBit (0x00100100, Local1)", Debug)
1699 1.1 jruoho FindSetRightBit (0x00100100, Local1)
1700 1.1 jruoho if (LNotEqual (Local1, 9))
1701 1.1 jruoho {
1702 1.1 jruoho ERR_ (1)
1703 1.1 jruoho }
1704 1.1 jruoho
1705 1.1 jruoho Store ("++++++++ And (0xF0F0F0F0, 0x11111111, Local2)", Debug)
1706 1.1 jruoho And (0xF0F0F0F0, 0x11111111, Local2)
1707 1.1 jruoho if (LNotEqual (Local2, 0x10101010))
1708 1.1 jruoho {
1709 1.1 jruoho ERR_ (1)
1710 1.1 jruoho }
1711 1.1 jruoho
1712 1.1 jruoho Store ("++++++++ NAnd (0xF0F0F0F0, 0x11111111, Local3)", Debug)
1713 1.1 jruoho NAnd (0xF0F0F0F0, 0x11111111, Local3)
1714 1.1 jruoho if (LNotEqual (Local3, 0xEFEFEFEF))
1715 1.1 jruoho {
1716 1.1 jruoho ERR_ (1)
1717 1.1 jruoho }
1718 1.1 jruoho
1719 1.1 jruoho Store ("++++++++ Or (0x11111111, 0x22222222, Local4)", Debug)
1720 1.1 jruoho Or (0x11111111, 0x22222222, Local4)
1721 1.1 jruoho if (LNotEqual (Local4, 0x33333333))
1722 1.1 jruoho {
1723 1.1 jruoho ERR_ (1)
1724 1.1 jruoho }
1725 1.1 jruoho
1726 1.1 jruoho Store ("++++++++ NOr (0x11111111, 0x22222222, Local5)", Debug)
1727 1.1 jruoho NOr (0x11111111, 0x22222222, Local5)
1728 1.1 jruoho if (LNotEqual (Local5, 0xCCCCCCCC))
1729 1.1 jruoho {
1730 1.1 jruoho ERR_ (1)
1731 1.1 jruoho }
1732 1.1 jruoho
1733 1.1 jruoho Store ("++++++++ XOr (0x11113333, 0x22222222, Local6)", Debug)
1734 1.1 jruoho XOr (0x11113333, 0x22222222, Local6)
1735 1.1 jruoho if (LNotEqual (Local6, 0x33331111))
1736 1.1 jruoho {
1737 1.1 jruoho ERR_ (1)
1738 1.1 jruoho }
1739 1.1 jruoho
1740 1.1 jruoho Store ("++++++++ ShiftLeft (0x11112222, 2, Local7)", Debug)
1741 1.1 jruoho ShiftLeft (0x11112222, 2, Local7)
1742 1.1 jruoho if (LNotEqual (Local7, 0x44448888))
1743 1.1 jruoho {
1744 1.1 jruoho ERR_ (1)
1745 1.1 jruoho }
1746 1.1 jruoho
1747 1.1 jruoho Store ("++++++++ ShiftRight (Local7, 2, Local7)", Debug)
1748 1.1 jruoho ShiftRight (Local7, 2, Local7)
1749 1.1 jruoho if (LNotEqual (Local7, 0x11112222))
1750 1.1 jruoho {
1751 1.1 jruoho ERR_ (1)
1752 1.1 jruoho }
1753 1.1 jruoho
1754 1.1 jruoho
1755 1.1 jruoho Store ("++++++++ Not (Local0, Local1)", Debug)
1756 1.1 jruoho Store (0x22224444, Local0)
1757 1.1 jruoho Not (Local0, Local1)
1758 1.1 jruoho if (LNotEqual (Local0, 0x22224444))
1759 1.1 jruoho {
1760 1.1 jruoho ERR_ (2)
1761 1.1 jruoho }
1762 1.1 jruoho
1763 1.1 jruoho if (LNotEqual (Local1, 0xDDDDBBBB))
1764 1.1 jruoho {
1765 1.1 jruoho ERR_ (1)
1766 1.1 jruoho }
1767 1.1 jruoho
1768 1.1 jruoho Return (Local7)
1769 1.1 jruoho }
1770 1.1 jruoho
1771 1.1 jruoho
1772 1.1 jruoho Method (LOGS)
1773 1.1 jruoho {
1774 1.1 jruoho
1775 1.1 jruoho Store ("++++++++ Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)", Debug)
1776 1.1 jruoho Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)
1777 1.1 jruoho
1778 1.1 jruoho Store ("++++++++ Store (LEqual (0xFFFFFFFF, 0x11111111), Local)", Debug)
1779 1.1 jruoho Store (LEqual (0xFFFFFFFF, 0x11111111), Local1)
1780 1.1 jruoho
1781 1.1 jruoho Store ("++++++++ Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)", Debug)
1782 1.1 jruoho Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)
1783 1.1 jruoho
1784 1.1 jruoho Store ("++++++++ Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)", Debug)
1785 1.1 jruoho Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)
1786 1.1 jruoho
1787 1.1 jruoho Store ("++++++++ Store (LLess (0xFFFFFFFF, 0x11111111), Local4)", Debug)
1788 1.1 jruoho Store (LLess (0xFFFFFFFF, 0x11111111), Local4)
1789 1.1 jruoho
1790 1.1 jruoho Store ("++++++++ Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)", Debug)
1791 1.1 jruoho Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
1792 1.1 jruoho
1793 1.1 jruoho Store ("++++++++ Store (LNot (0x31313131), Local6)", Debug)
1794 1.1 jruoho Store (0x00001111, Local6)
1795 1.1 jruoho Store (LNot (Local6), Local7)
1796 1.1 jruoho if (LNotEqual (Local6, 0x00001111))
1797 1.1 jruoho {
1798 1.1 jruoho ERR_ (2)
1799 1.1 jruoho }
1800 1.1 jruoho
1801 1.1 jruoho if (LNotEqual (Local7, 0x0))
1802 1.1 jruoho {
1803 1.1 jruoho ERR_ (1)
1804 1.1 jruoho }
1805 1.1 jruoho
1806 1.1 jruoho
1807 1.1 jruoho Store ("++++++++ Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)", Debug)
1808 1.1 jruoho Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)
1809 1.1 jruoho
1810 1.1 jruoho Store ("++++++++ Lor (0x0, 0x1)", Debug)
1811 1.1 jruoho if (Lor (0x0, 0x1))
1812 1.1 jruoho {
1813 1.1 jruoho Store ("+_+_+_+_+ Lor (0x0, 0x1) returned TRUE", Debug)
1814 1.1 jruoho }
1815 1.1 jruoho
1816 1.1 jruoho return (Local7)
1817 1.1 jruoho }
1818 1.1 jruoho
1819 1.1 jruoho
1820 1.1 jruoho Method (COND)
1821 1.1 jruoho {
1822 1.1 jruoho Store ("++++++++ Store (0x4, Local0)", Debug)
1823 1.1 jruoho Store (0x4, Local0)
1824 1.1 jruoho
1825 1.1 jruoho Store ("++++++++ While (Local0)", Debug)
1826 1.1 jruoho While (Local0)
1827 1.1 jruoho {
1828 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug)
1829 1.1 jruoho Decrement (Local0)
1830 1.1 jruoho }
1831 1.1 jruoho
1832 1.1 jruoho
1833 1.1 jruoho Store ("++++++++ Store (0x3, Local6)", Debug)
1834 1.1 jruoho Store (0x3, Local6)
1835 1.1 jruoho
1836 1.1 jruoho Store ("++++++++ While (Subtract (Local6, 1))", Debug)
1837 1.1 jruoho While (Subtract (Local6, 1))
1838 1.1 jruoho {
1839 1.1 jruoho Store ("++++++++ Decrement (Local6)", Debug)
1840 1.1 jruoho Decrement (Local6)
1841 1.1 jruoho }
1842 1.1 jruoho
1843 1.1 jruoho
1844 1.1 jruoho Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
1845 1.1 jruoho If (LGreater (0x2, 0x1))
1846 1.1 jruoho {
1847 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
1848 1.1 jruoho If (LEqual (0x11111111, 0x22222222))
1849 1.1 jruoho {
1850 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
1851 1.1 jruoho }
1852 1.1 jruoho
1853 1.1 jruoho else
1854 1.1 jruoho {
1855 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
1856 1.1 jruoho If (LNot (0x0))
1857 1.1 jruoho {
1858 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
1859 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2))
1860 1.1 jruoho {
1861 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
1862 1.1 jruoho If (LLess (0x44444444, 0x3))
1863 1.1 jruoho {
1864 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
1865 1.1 jruoho }
1866 1.1 jruoho
1867 1.1 jruoho else
1868 1.1 jruoho {
1869 1.1 jruoho Store ("++++++++ Exiting from nested IF/ELSE statements", Debug)
1870 1.1 jruoho }
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 Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug)
1878 1.1 jruoho If (LGreater (0x2, 0x1))
1879 1.1 jruoho {
1880 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug)
1881 1.1 jruoho If (LEqual (0x11111111, 0x22222222))
1882 1.1 jruoho {
1883 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug)
1884 1.1 jruoho }
1885 1.1 jruoho
1886 1.1 jruoho else
1887 1.1 jruoho {
1888 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug)
1889 1.1 jruoho If (LNot (0x0))
1890 1.1 jruoho {
1891 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug)
1892 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2))
1893 1.1 jruoho {
1894 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug)
1895 1.1 jruoho If (LLess (0x44444444, 0x3))
1896 1.1 jruoho {
1897 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug)
1898 1.1 jruoho }
1899 1.1 jruoho
1900 1.1 jruoho else
1901 1.1 jruoho {
1902 1.1 jruoho Store ("++++++++ Returning from nested IF/ELSE statements", Debug)
1903 1.1 jruoho Return (Local6)
1904 1.1 jruoho }
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.1.3 christos Method (REFS,, Serialized)
1914 1.1 jruoho {
1915 1.1 jruoho Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7})
1916 1.1 jruoho
1917 1.1 jruoho Name (NEST, Package ()
1918 1.1 jruoho {
1919 1.1 jruoho Package ()
1920 1.1 jruoho {
1921 1.1 jruoho 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
1922 1.1 jruoho },
1923 1.1 jruoho Package ()
1924 1.1 jruoho {
1925 1.1 jruoho 0x11, 0x12, 0x12, 0x14, 0x15, 0x16
1926 1.1 jruoho }
1927 1.1 jruoho })
1928 1.1 jruoho
1929 1.1 jruoho Store (RefOf (MAIN), Local5)
1930 1.1 jruoho
1931 1.1 jruoho // For this to work, ABCD must NOT exist.
1932 1.1 jruoho
1933 1.1 jruoho Store (CondRefOf (ABCD, Local0), Local1)
1934 1.1 jruoho if (LNotEqual (Local1, 0))
1935 1.1 jruoho {
1936 1.1 jruoho ERR_ (2)
1937 1.1 jruoho }
1938 1.1 jruoho
1939 1.1 jruoho Store (CondRefOf (BBUF, Local0), Local1)
1940 1.1 jruoho if (LNotEqual (Local1, Ones))
1941 1.1 jruoho {
1942 1.1 jruoho ERR_ (2)
1943 1.1 jruoho }
1944 1.1 jruoho
1945 1.1 jruoho Store (DeRefOf (Index (BBUF, 3)), Local6)
1946 1.1 jruoho if (LNotEqual (Local6, 0xB3))
1947 1.1 jruoho {
1948 1.1 jruoho ERR_ (2)
1949 1.1 jruoho }
1950 1.1 jruoho
1951 1.1 jruoho Store (DeRefOf (Index (DeRefOf (Index (NEST, 1)), 3)), Local0)
1952 1.1 jruoho if (LNotEqual (Local0, 0x14))
1953 1.1 jruoho {
1954 1.1 jruoho ERR_ (2)
1955 1.1 jruoho }
1956 1.1 jruoho
1957 1.1 jruoho
1958 1.1 jruoho Store (0x11223344, Local0)
1959 1.1 jruoho Store (RefOf (Local0), Local1)
1960 1.1 jruoho
1961 1.1 jruoho Store (DerefOf (Local1), Local2)
1962 1.1 jruoho If (LNotEqual (Local2, 0x11223344))
1963 1.1 jruoho {
1964 1.1 jruoho ERR_ (2)
1965 1.1 jruoho }
1966 1.1 jruoho
1967 1.1 jruoho
1968 1.1 jruoho /* Parser thinks this is a method invocation!! */
1969 1.1 jruoho
1970 1.1 jruoho // RefOf (MAIN)
1971 1.1 jruoho
1972 1.1 jruoho
1973 1.1 jruoho // RefOf (R___)
1974 1.1 jruoho // RefOf (BBUF)
1975 1.1 jruoho
1976 1.1 jruoho // Store (RefOf (Local0), Local1)
1977 1.1 jruoho
1978 1.1 jruoho // CondRefOf (BBUF, Local2)
1979 1.1 jruoho // CondRefOf (R___, Local3)
1980 1.1 jruoho
1981 1.1 jruoho // Store (DerefOf (Local1), Local4)
1982 1.1 jruoho
1983 1.1 jruoho // Return (Local4)
1984 1.1 jruoho }
1985 1.1 jruoho
1986 1.1 jruoho
1987 1.1.1.3 christos Method (INDX, 0, Serialized)
1988 1.1 jruoho {
1989 1.1 jruoho Name(STAT,Package(4){})
1990 1.1 jruoho Store(0x44443333,Index(STAT,0))
1991 1.1 jruoho }
1992 1.1 jruoho
1993 1.1 jruoho //=================================================================
1994 1.1 jruoho //=================================================================
1995 1.1 jruoho //===================== iPCO TESTS ================================
1996 1.1 jruoho //=================================================================
1997 1.1 jruoho //=================================================================
1998 1.1 jruoho //
1999 1.1 jruoho //
2000 1.1 jruoho // test IfElseOp.asl
2001 1.1 jruoho //
2002 1.1 jruoho // test for IfOp and ElseOp, including validation of object stack cleanup
2003 1.1 jruoho //
2004 1.1 jruoho Device (IFEL)
2005 1.1 jruoho {
2006 1.1 jruoho Name (DWRD, 1)
2007 1.1 jruoho Name (RSLT, 0)
2008 1.1 jruoho
2009 1.1 jruoho // IFNR control method executes IfOp branch with NO nested Return
2010 1.1 jruoho // and no Else branch
2011 1.1 jruoho Method (IFNR)
2012 1.1 jruoho {
2013 1.1 jruoho Store (DWRD, RSLT)
2014 1.1 jruoho If (LEqual (DWRD, 1))
2015 1.1 jruoho {
2016 1.1 jruoho Store (0, RSLT)
2017 1.1 jruoho }
2018 1.1 jruoho } // IFNR
2019 1.1 jruoho
2020 1.1 jruoho // NINR control method does not execute If branch and has no Else branch
2021 1.1 jruoho Method (NINR)
2022 1.1 jruoho {
2023 1.1 jruoho Store (0, RSLT)
2024 1.1 jruoho If (LNotEqual (DWRD, 1))
2025 1.1 jruoho {
2026 1.1 jruoho Store (DWRD, RSLT)
2027 1.1 jruoho }
2028 1.1 jruoho } // NINR
2029 1.1 jruoho
2030 1.1 jruoho // IENR control method executes IfOp branch with NO nested Return
2031 1.1 jruoho Method (IENR)
2032 1.1 jruoho {
2033 1.1 jruoho If (LEqual (DWRD, 1))
2034 1.1 jruoho {
2035 1.1 jruoho Store (0, RSLT)
2036 1.1 jruoho }
2037 1.1 jruoho Else
2038 1.1 jruoho {
2039 1.1 jruoho Store (DWRD, RSLT)
2040 1.1 jruoho }
2041 1.1 jruoho } // IENR
2042 1.1 jruoho
2043 1.1 jruoho // ELNR control method executes ElseOp branch with NO nested Return
2044 1.1 jruoho Method (ELNR)
2045 1.1 jruoho {
2046 1.1 jruoho If (LNotEqual (DWRD, 1))
2047 1.1 jruoho {
2048 1.1 jruoho Store (DWRD, RSLT)
2049 1.1 jruoho }
2050 1.1 jruoho Else
2051 1.1 jruoho {
2052 1.1 jruoho Store (0, RSLT)
2053 1.1 jruoho }
2054 1.1 jruoho } // ELNR
2055 1.1 jruoho
2056 1.1 jruoho // IFRT control method executes IfOp branch with nested Return with
2057 1.1 jruoho // no Else branch
2058 1.1 jruoho Method (IFRT)
2059 1.1 jruoho
2060 1.1 jruoho {
2061 1.1 jruoho If (LEqual (DWRD, 1))
2062 1.1 jruoho {
2063 1.1 jruoho Return (0)
2064 1.1 jruoho }
2065 1.1 jruoho Return (DWRD)
2066 1.1 jruoho } // IFRT
2067 1.1 jruoho
2068 1.1 jruoho // IERT control method executes IfOp branch with nested Return with
2069 1.1 jruoho // Else branch
2070 1.1 jruoho Method (IERT)
2071 1.1 jruoho {
2072 1.1 jruoho If (LEqual (DWRD, 1))
2073 1.1 jruoho {
2074 1.1 jruoho Return (0)
2075 1.1 jruoho }
2076 1.1 jruoho Else
2077 1.1 jruoho {
2078 1.1 jruoho Return (DWRD)
2079 1.1 jruoho }
2080 1.1 jruoho } // IERT
2081 1.1 jruoho
2082 1.1 jruoho // ELRT control method executes ElseOp branch with nested Return
2083 1.1 jruoho Method (ELRT)
2084 1.1 jruoho {
2085 1.1 jruoho If (LNotEqual (DWRD, 1))
2086 1.1 jruoho {
2087 1.1 jruoho Return (DWRD)
2088 1.1 jruoho }
2089 1.1 jruoho Else
2090 1.1 jruoho {
2091 1.1 jruoho Return (0)
2092 1.1 jruoho }
2093 1.1 jruoho } // ELRT
2094 1.1 jruoho
2095 1.1 jruoho Method (TEST)
2096 1.1 jruoho {
2097 1.1 jruoho Store ("++++++++ IfElseOp Test", Debug)
2098 1.1 jruoho
2099 1.1 jruoho // IfOp with NO return value
2100 1.1 jruoho IFNR()
2101 1.1 jruoho If (LNotEqual (RSLT, 0))
2102 1.1 jruoho {
2103 1.1 jruoho Return (RSLT)
2104 1.1 jruoho }
2105 1.1 jruoho
2106 1.1 jruoho // IfOp with NO return value
2107 1.1 jruoho NINR()
2108 1.1 jruoho If (LNotEqual (RSLT, 0))
2109 1.1 jruoho {
2110 1.1 jruoho Return (RSLT)
2111 1.1 jruoho }
2112 1.1 jruoho
2113 1.1 jruoho // IfOp with NO return value
2114 1.1 jruoho IENR()
2115 1.1 jruoho If (LNotEqual (RSLT, 0))
2116 1.1 jruoho {
2117 1.1 jruoho Return (RSLT)
2118 1.1 jruoho }
2119 1.1 jruoho
2120 1.1 jruoho // ElseOp with NO return value
2121 1.1 jruoho ELNR()
2122 1.1 jruoho If (LNotEqual (RSLT, 0))
2123 1.1 jruoho {
2124 1.1 jruoho Return (RSLT)
2125 1.1 jruoho }
2126 1.1 jruoho
2127 1.1 jruoho // IfOp with return value
2128 1.1 jruoho Store (IFRT, RSLT)
2129 1.1 jruoho If (LNotEqual (RSLT, 0))
2130 1.1 jruoho {
2131 1.1 jruoho Return (RSLT)
2132 1.1 jruoho }
2133 1.1 jruoho
2134 1.1 jruoho // IfOp with return value
2135 1.1 jruoho Store (IERT, RSLT)
2136 1.1 jruoho If (LNotEqual (RSLT, 0))
2137 1.1 jruoho {
2138 1.1 jruoho Return (RSLT)
2139 1.1 jruoho }
2140 1.1 jruoho
2141 1.1 jruoho // ElseOp with return value
2142 1.1 jruoho Store (ELRT, RSLT)
2143 1.1 jruoho If (LNotEqual (RSLT, 0))
2144 1.1 jruoho {
2145 1.1 jruoho Return (RSLT)
2146 1.1 jruoho }
2147 1.1 jruoho
2148 1.1 jruoho Return (0)
2149 1.1 jruoho } // TEST
2150 1.1 jruoho } // IFEL
2151 1.1 jruoho
2152 1.1 jruoho //
2153 1.1 jruoho // test NoSave.asl
2154 1.1 jruoho //
2155 1.1 jruoho //
2156 1.1 jruoho // Internal test cases to validate IfOp (Operator (,,)) where Operator
2157 1.1 jruoho // target is ZeroOp to throw away the results.
2158 1.1 jruoho // Includes internal test cases for logical operators with no destination
2159 1.1 jruoho // operands.
2160 1.1 jruoho //
2161 1.1 jruoho Device (NOSV)
2162 1.1 jruoho {
2163 1.1.1.3 christos Method (TEST,, Serialized)
2164 1.1 jruoho {
2165 1.1 jruoho Store ("++++++++ NoSave Test", Debug)
2166 1.1 jruoho
2167 1.1 jruoho Name (WRD, 0x1234)
2168 1.1 jruoho
2169 1.1 jruoho //
2170 1.1 jruoho // Begin test of nested operators without saving results
2171 1.1 jruoho //
2172 1.1 jruoho
2173 1.1 jruoho // Test If (And ()) with no save of And result
2174 1.1 jruoho If (And (3, 1, ))
2175 1.1 jruoho {
2176 1.1 jruoho Store (1, WRD) // pass -- just do something
2177 1.1 jruoho }
2178 1.1 jruoho else
2179 1.1 jruoho {
2180 1.1 jruoho Return (1) // fail
2181 1.1 jruoho }
2182 1.1 jruoho
2183 1.1 jruoho // Test If (And ()) with no save of And result
2184 1.1 jruoho If (And (4, 1, ))
2185 1.1 jruoho {
2186 1.1 jruoho Return (2) // fail
2187 1.1 jruoho }
2188 1.1 jruoho else
2189 1.1 jruoho {
2190 1.1 jruoho Store (2, WRD) // pass -- just do something
2191 1.1 jruoho }
2192 1.1 jruoho
2193 1.1 jruoho
2194 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result
2195 1.1 jruoho If (NAnd (3, 1, ))
2196 1.1 jruoho {
2197 1.1 jruoho Store (3, WRD) // pass -- just do something
2198 1.1 jruoho }
2199 1.1 jruoho else
2200 1.1 jruoho {
2201 1.1 jruoho Return (3) // fail
2202 1.1 jruoho }
2203 1.1 jruoho
2204 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result
2205 1.1 jruoho If (NAnd (0xFFFFFFFF, 0xFFFFFFFF, ))
2206 1.1 jruoho {
2207 1.1 jruoho Return (4) // fail
2208 1.1 jruoho }
2209 1.1 jruoho else
2210 1.1 jruoho {
2211 1.1 jruoho Store (4, WRD) // pass -- just do something
2212 1.1 jruoho }
2213 1.1 jruoho
2214 1.1 jruoho
2215 1.1 jruoho // Test If (NOr ()) with no save of NOr result
2216 1.1 jruoho If (NOr (0, 1, ))
2217 1.1 jruoho {
2218 1.1 jruoho Store (5, WRD) // pass -- just do something
2219 1.1 jruoho }
2220 1.1 jruoho else
2221 1.1 jruoho {
2222 1.1 jruoho Return (5) // fail
2223 1.1 jruoho }
2224 1.1 jruoho
2225 1.1 jruoho // Test If (NOr ()) with no save of NOr result
2226 1.1 jruoho If (NOr (0xFFFFFFFE, 1, ))
2227 1.1 jruoho {
2228 1.1 jruoho Return (6) // fail
2229 1.1 jruoho }
2230 1.1 jruoho else
2231 1.1 jruoho {
2232 1.1 jruoho Store (6, WRD) // pass -- just do something
2233 1.1 jruoho }
2234 1.1 jruoho
2235 1.1 jruoho
2236 1.1 jruoho // Test If (Not ()) with no save of Not result
2237 1.1 jruoho If (Not (1, ))
2238 1.1 jruoho {
2239 1.1 jruoho Store (7, WRD) // pass -- just do something
2240 1.1 jruoho }
2241 1.1 jruoho else
2242 1.1 jruoho {
2243 1.1 jruoho Return (7) // fail
2244 1.1 jruoho }
2245 1.1 jruoho
2246 1.1 jruoho // Test If (Not ()) with no save of Not result
2247 1.1 jruoho If (Not (0xFFFFFFFF, ))
2248 1.1 jruoho {
2249 1.1 jruoho Return (8) // fail
2250 1.1 jruoho }
2251 1.1 jruoho else
2252 1.1 jruoho {
2253 1.1 jruoho Store (8, WRD) // pass -- just do something
2254 1.1 jruoho }
2255 1.1 jruoho
2256 1.1 jruoho
2257 1.1 jruoho // Test If (Or ()) with no save of Or result
2258 1.1 jruoho If (Or (3, 1, ))
2259 1.1 jruoho {
2260 1.1 jruoho Store (9, WRD) // pass -- just do something
2261 1.1 jruoho }
2262 1.1 jruoho else
2263 1.1 jruoho {
2264 1.1 jruoho Return (9) // fail
2265 1.1 jruoho }
2266 1.1 jruoho
2267 1.1 jruoho // Test If (Or ()) with no save of Or result
2268 1.1 jruoho If (Or (0, 0, ))
2269 1.1 jruoho {
2270 1.1 jruoho Return (10) // fail
2271 1.1 jruoho }
2272 1.1 jruoho else
2273 1.1 jruoho {
2274 1.1 jruoho Store (10, WRD) // pass -- just do something
2275 1.1 jruoho }
2276 1.1 jruoho
2277 1.1 jruoho
2278 1.1 jruoho // Test If (XOr ()) with no save of XOr result
2279 1.1 jruoho If (XOr (3, 1, ))
2280 1.1 jruoho {
2281 1.1 jruoho Store (11, WRD) // pass -- just do something
2282 1.1 jruoho }
2283 1.1 jruoho else
2284 1.1 jruoho {
2285 1.1 jruoho Return (11) // fail
2286 1.1 jruoho }
2287 1.1 jruoho
2288 1.1 jruoho // Test If (XOr ()) with no save of XOr result
2289 1.1 jruoho If (XOr (3, 3, ))
2290 1.1 jruoho {
2291 1.1 jruoho Return (12) // fail
2292 1.1 jruoho }
2293 1.1 jruoho else
2294 1.1 jruoho {
2295 1.1 jruoho Store (12, WRD) // pass -- just do something
2296 1.1 jruoho }
2297 1.1 jruoho
2298 1.1 jruoho
2299 1.1 jruoho //
2300 1.1 jruoho // Begin test of logical operators with no destination operands
2301 1.1 jruoho //
2302 1.1 jruoho
2303 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2304 1.1 jruoho If (LAnd (3, 3))
2305 1.1 jruoho {
2306 1.1 jruoho Store (21, WRD) // pass -- just do something
2307 1.1 jruoho }
2308 1.1 jruoho else
2309 1.1 jruoho {
2310 1.1 jruoho Return (21) // fail
2311 1.1 jruoho }
2312 1.1 jruoho
2313 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2314 1.1 jruoho If (LAnd (3, 0))
2315 1.1 jruoho {
2316 1.1 jruoho Return (22) // fail
2317 1.1 jruoho }
2318 1.1 jruoho else
2319 1.1 jruoho {
2320 1.1 jruoho Store (22, WRD) // pass -- just do something
2321 1.1 jruoho }
2322 1.1 jruoho
2323 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2324 1.1 jruoho If (LAnd (0, 3))
2325 1.1 jruoho {
2326 1.1 jruoho Return (23) // fail
2327 1.1 jruoho }
2328 1.1 jruoho else
2329 1.1 jruoho {
2330 1.1 jruoho Store (23, WRD) // pass -- just do something
2331 1.1 jruoho }
2332 1.1 jruoho
2333 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result
2334 1.1 jruoho If (LAnd (0, 0))
2335 1.1 jruoho {
2336 1.1 jruoho Return (24) // fail
2337 1.1 jruoho }
2338 1.1 jruoho else
2339 1.1 jruoho {
2340 1.1 jruoho Store (24, WRD) // pass -- just do something
2341 1.1 jruoho }
2342 1.1 jruoho
2343 1.1 jruoho
2344 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result
2345 1.1 jruoho If (LEqual (3, 3))
2346 1.1 jruoho {
2347 1.1 jruoho Store (31, WRD) // pass -- just do something
2348 1.1 jruoho }
2349 1.1 jruoho else
2350 1.1 jruoho {
2351 1.1 jruoho Return (31) // fail
2352 1.1 jruoho }
2353 1.1 jruoho
2354 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result
2355 1.1 jruoho If (LEqual (1, 3))
2356 1.1 jruoho {
2357 1.1 jruoho Return (32) // fail
2358 1.1 jruoho }
2359 1.1 jruoho else
2360 1.1 jruoho {
2361 1.1 jruoho Store (32, WRD) // pass -- just do something
2362 1.1 jruoho }
2363 1.1 jruoho
2364 1.1 jruoho
2365 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2366 1.1 jruoho If (LGreater (3, 1))
2367 1.1 jruoho {
2368 1.1 jruoho Store (41, WRD) // pass -- just do something
2369 1.1 jruoho }
2370 1.1 jruoho else
2371 1.1 jruoho {
2372 1.1 jruoho Return (41) // fail
2373 1.1 jruoho }
2374 1.1 jruoho
2375 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2376 1.1 jruoho If (LGreater (4, 4))
2377 1.1 jruoho {
2378 1.1 jruoho Return (42) // fail
2379 1.1 jruoho }
2380 1.1 jruoho else
2381 1.1 jruoho {
2382 1.1 jruoho Store (42, WRD) // pass -- just do something
2383 1.1 jruoho }
2384 1.1 jruoho
2385 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result
2386 1.1 jruoho If (LGreater (1, 4))
2387 1.1 jruoho {
2388 1.1 jruoho Return (43) // fail
2389 1.1 jruoho }
2390 1.1 jruoho else
2391 1.1 jruoho {
2392 1.1 jruoho Store (43, WRD) // pass -- just do something
2393 1.1 jruoho }
2394 1.1 jruoho
2395 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2396 1.1 jruoho If (LGreaterEqual (3, 1))
2397 1.1 jruoho {
2398 1.1 jruoho Store (44, WRD) // pass -- just do something
2399 1.1 jruoho }
2400 1.1 jruoho else
2401 1.1 jruoho {
2402 1.1 jruoho Return (44) // fail
2403 1.1 jruoho }
2404 1.1 jruoho
2405 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2406 1.1 jruoho If (LGreaterEqual (3, 3))
2407 1.1 jruoho {
2408 1.1 jruoho Store (45, WRD) // pass -- just do something
2409 1.1 jruoho }
2410 1.1 jruoho else
2411 1.1 jruoho {
2412 1.1 jruoho Return (45) // fail
2413 1.1 jruoho }
2414 1.1 jruoho
2415 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result
2416 1.1 jruoho If (LGreaterEqual (3, 4))
2417 1.1 jruoho {
2418 1.1 jruoho Return (46) // fail
2419 1.1 jruoho }
2420 1.1 jruoho else
2421 1.1 jruoho {
2422 1.1 jruoho Store (46, WRD) // pass -- just do something
2423 1.1 jruoho }
2424 1.1 jruoho
2425 1.1 jruoho
2426 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2427 1.1 jruoho If (LLess (1, 3))
2428 1.1 jruoho {
2429 1.1 jruoho Store (51, WRD) // pass -- just do something
2430 1.1 jruoho }
2431 1.1 jruoho else
2432 1.1 jruoho {
2433 1.1 jruoho Return (51) // fail
2434 1.1 jruoho }
2435 1.1 jruoho
2436 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2437 1.1 jruoho If (LLess (2, 2))
2438 1.1 jruoho {
2439 1.1 jruoho Return (52) // fail
2440 1.1 jruoho }
2441 1.1 jruoho else
2442 1.1 jruoho {
2443 1.1 jruoho Store (52, WRD) // pass -- just do something
2444 1.1 jruoho }
2445 1.1 jruoho
2446 1.1 jruoho // Test If (LLess ()) with no save of LLess result
2447 1.1 jruoho If (LLess (4, 2))
2448 1.1 jruoho {
2449 1.1 jruoho Return (53) // fail
2450 1.1 jruoho }
2451 1.1 jruoho else
2452 1.1 jruoho {
2453 1.1 jruoho Store (53, WRD) // pass -- just do something
2454 1.1 jruoho }
2455 1.1 jruoho
2456 1.1 jruoho
2457 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2458 1.1 jruoho If (LLessEqual (1, 3))
2459 1.1 jruoho {
2460 1.1 jruoho Store (54, WRD) // pass -- just do something
2461 1.1 jruoho }
2462 1.1 jruoho else
2463 1.1 jruoho {
2464 1.1 jruoho Return (54) // fail
2465 1.1 jruoho }
2466 1.1 jruoho
2467 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2468 1.1 jruoho If (LLessEqual (2, 2))
2469 1.1 jruoho {
2470 1.1 jruoho Store (55, WRD) // pass -- just do something
2471 1.1 jruoho }
2472 1.1 jruoho else
2473 1.1 jruoho {
2474 1.1 jruoho Return (55) // fail
2475 1.1 jruoho }
2476 1.1 jruoho
2477 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result
2478 1.1 jruoho If (LLessEqual (4, 2))
2479 1.1 jruoho {
2480 1.1 jruoho Return (56) // fail
2481 1.1 jruoho }
2482 1.1 jruoho else
2483 1.1 jruoho {
2484 1.1 jruoho Store (56, WRD) // pass -- just do something
2485 1.1 jruoho }
2486 1.1 jruoho
2487 1.1 jruoho
2488 1.1 jruoho // Test If (LNot ()) with no save of LNot result
2489 1.1 jruoho If (LNot (0))
2490 1.1 jruoho {
2491 1.1 jruoho Store (61, WRD) // pass -- just do something
2492 1.1 jruoho }
2493 1.1 jruoho else
2494 1.1 jruoho {
2495 1.1 jruoho Return (61) // fail
2496 1.1 jruoho }
2497 1.1 jruoho
2498 1.1 jruoho // Test If (LNot ()) with no save of LNot result
2499 1.1 jruoho If (LNot (1))
2500 1.1 jruoho {
2501 1.1 jruoho Return (62) // fail
2502 1.1 jruoho }
2503 1.1 jruoho else
2504 1.1 jruoho {
2505 1.1 jruoho Store (62, WRD) // pass -- just do something
2506 1.1 jruoho }
2507 1.1 jruoho
2508 1.1 jruoho
2509 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result
2510 1.1 jruoho If (LNotEqual (3, 3))
2511 1.1 jruoho {
2512 1.1 jruoho Return (63) // fail
2513 1.1 jruoho }
2514 1.1 jruoho else
2515 1.1 jruoho {
2516 1.1 jruoho Store (63, WRD) // pass -- just do something
2517 1.1 jruoho }
2518 1.1 jruoho
2519 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result
2520 1.1 jruoho If (LNotEqual (1, 3))
2521 1.1 jruoho {
2522 1.1 jruoho Store (64, WRD) // pass -- just do something
2523 1.1 jruoho }
2524 1.1 jruoho else
2525 1.1 jruoho {
2526 1.1 jruoho Return (64) // fail
2527 1.1 jruoho }
2528 1.1 jruoho
2529 1.1 jruoho
2530 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2531 1.1 jruoho If (LOr (3, 1))
2532 1.1 jruoho {
2533 1.1 jruoho Store (71, WRD) // pass -- just do something
2534 1.1 jruoho }
2535 1.1 jruoho else
2536 1.1 jruoho {
2537 1.1 jruoho Return (71) // fail
2538 1.1 jruoho }
2539 1.1 jruoho
2540 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2541 1.1 jruoho If (LOr (0, 1))
2542 1.1 jruoho {
2543 1.1 jruoho Store (72, WRD) // pass -- just do something
2544 1.1 jruoho }
2545 1.1 jruoho else
2546 1.1 jruoho {
2547 1.1 jruoho Return (72) // fail
2548 1.1 jruoho }
2549 1.1 jruoho
2550 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2551 1.1 jruoho If (LOr (3, 0))
2552 1.1 jruoho {
2553 1.1 jruoho Store (73, WRD) // pass -- just do something
2554 1.1 jruoho }
2555 1.1 jruoho else
2556 1.1 jruoho {
2557 1.1 jruoho Return (73) // fail
2558 1.1 jruoho }
2559 1.1 jruoho
2560 1.1 jruoho // Test If (LOr ()) with no save of LOr result
2561 1.1 jruoho If (LOr (0, 0))
2562 1.1 jruoho {
2563 1.1 jruoho Return (74) // fail
2564 1.1 jruoho }
2565 1.1 jruoho else
2566 1.1 jruoho {
2567 1.1 jruoho Store (74, WRD) // pass -- just do something
2568 1.1 jruoho }
2569 1.1 jruoho
2570 1.1 jruoho Return (0)
2571 1.1 jruoho } // TEST
2572 1.1 jruoho } // NOSV
2573 1.1 jruoho
2574 1.1 jruoho
2575 1.1 jruoho //
2576 1.1 jruoho // test IndxFld.asl
2577 1.1 jruoho //
2578 1.1 jruoho // IndexFld test
2579 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
2580 1.1 jruoho // Tests index field element AccessAs macro.
2581 1.1 jruoho //
2582 1.1 jruoho Device (IDXF)
2583 1.1 jruoho { // Test device name
2584 1.1 jruoho
2585 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2)
2586 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve)
2587 1.1 jruoho {
2588 1.1 jruoho INDX, 8,
2589 1.1 jruoho DATA, 8
2590 1.1 jruoho }
2591 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
2592 1.1 jruoho {
2593 1.1 jruoho AccessAs (ByteAcc, 0),
2594 1.1 jruoho IFE0, 8,
2595 1.1 jruoho IFE1, 8,
2596 1.1 jruoho IFE2, 8,
2597 1.1 jruoho IFE3, 8,
2598 1.1 jruoho IFE4, 8,
2599 1.1 jruoho IFE5, 8,
2600 1.1 jruoho IFE6, 8,
2601 1.1 jruoho IFE7, 8,
2602 1.1 jruoho IFE8, 8,
2603 1.1 jruoho IFE9, 8,
2604 1.1 jruoho }
2605 1.1 jruoho
2606 1.1 jruoho Method (TEST)
2607 1.1 jruoho {
2608 1.1 jruoho Store ("++++++++ IndxFld Test", Debug)
2609 1.1 jruoho
2610 1.1 jruoho Store (IFE0, Local0)
2611 1.1 jruoho Store (IFE1, Local1)
2612 1.1 jruoho Store (IFE2, Local2)
2613 1.1 jruoho
2614 1.1 jruoho Return (0)
2615 1.1 jruoho } // TEST
2616 1.1 jruoho } // IDXF
2617 1.1 jruoho
2618 1.1 jruoho //
2619 1.1 jruoho // test NestdLor.asl
2620 1.1 jruoho //
2621 1.1 jruoho Scope (\_SB) // System Bus
2622 1.1 jruoho { // _SB system bus
2623 1.1 jruoho
2624 1.1 jruoho Name (ZER0, 0)
2625 1.1 jruoho Name (ZER1, 0)
2626 1.1 jruoho Name (ZER2, 0)
2627 1.1 jruoho Name (ONE0, 1)
2628 1.1 jruoho
2629 1.1 jruoho Device (NSTL)
2630 1.1 jruoho {
2631 1.1 jruoho Method (TEST)
2632 1.1 jruoho {
2633 1.1 jruoho Store ("++++++++ NestdLor Test", Debug)
2634 1.1 jruoho
2635 1.1 jruoho If (Lor (ZER0, Lor (ZER1, Lor (ZER2, ONE0))))
2636 1.1 jruoho { // Indicate Pass
2637 1.1 jruoho Store (0x00, Local0)
2638 1.1 jruoho }
2639 1.1 jruoho
2640 1.1 jruoho Else
2641 1.1 jruoho { // Indicate Fail
2642 1.1 jruoho Store (0x01, Local0)
2643 1.1 jruoho }
2644 1.1 jruoho
2645 1.1 jruoho Return (Local0)
2646 1.1 jruoho } // End Method TEST
2647 1.1 jruoho } // Device NSTL
2648 1.1 jruoho } // _SB system bus
2649 1.1 jruoho
2650 1.1 jruoho //
2651 1.1 jruoho // test RetBuf.asl
2652 1.1 jruoho //
2653 1.1 jruoho // Test ReturnOp(Buffer)
2654 1.1 jruoho // This is required to support Control Method Batteries on
2655 1.1 jruoho // Dell Latitude Laptops (e.g., CP1-A)
2656 1.1 jruoho //
2657 1.1 jruoho Device (RTBF)
2658 1.1 jruoho {
2659 1.1 jruoho Method (SUBR, 1)
2660 1.1 jruoho {
2661 1.1 jruoho Return (Arg0)
2662 1.1 jruoho }
2663 1.1 jruoho
2664 1.1.1.3 christos Method (RBUF,, Serialized)
2665 1.1 jruoho { // RBUF: Return Buffer from local variable
2666 1.1 jruoho Name (ABUF, Buffer() {"ARBITRARY_BUFFER"})
2667 1.1 jruoho
2668 1.1 jruoho // store local buffer ABUF into Local0
2669 1.1 jruoho Store (ABUF, Local0)
2670 1.1 jruoho
2671 1.1 jruoho // save Local0 object type value into Local1
2672 1.1 jruoho Store (ObjectType (Local0), Local1)
2673 1.1 jruoho
2674 1.1 jruoho // validate Local0 is a Buffer
2675 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2676 1.1 jruoho {
2677 1.1 jruoho Return (1) // failure
2678 1.1 jruoho }
2679 1.1 jruoho
2680 1.1 jruoho // store value returned by control method SUBR into Local0
2681 1.1 jruoho Store (SUBR (ABUF), Local0)
2682 1.1 jruoho
2683 1.1 jruoho // save Local0 object type value into Local1
2684 1.1 jruoho Store (ObjectType (Local0), Local1)
2685 1.1 jruoho
2686 1.1 jruoho // validate Local0 is a Buffer
2687 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2688 1.1 jruoho {
2689 1.1 jruoho Return (2) // failure
2690 1.1 jruoho }
2691 1.1 jruoho
2692 1.1 jruoho // allocate buffer using Local1 as buffer size (run-time evaluation)
2693 1.1 jruoho Store (5, Local1)
2694 1.1 jruoho Name (BUFR, Buffer(Local1) {})
2695 1.1 jruoho
2696 1.1 jruoho // store value returned by control method SUBR into Local0
2697 1.1 jruoho Store (SUBR (BUFR), Local0)
2698 1.1 jruoho
2699 1.1 jruoho // save Local0 object type value into Local1
2700 1.1 jruoho Store (ObjectType (Local0), Local1)
2701 1.1 jruoho
2702 1.1 jruoho // validate Local0 is a Buffer
2703 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2704 1.1 jruoho {
2705 1.1 jruoho Return (3) // failure
2706 1.1 jruoho }
2707 1.1 jruoho
2708 1.1 jruoho // store BUFR Buffer into Local0
2709 1.1 jruoho Store (BUFR, Local0)
2710 1.1 jruoho
2711 1.1 jruoho // save Local0 object type value into Local1
2712 1.1 jruoho Store (ObjectType (Local0), Local1)
2713 1.1 jruoho
2714 1.1 jruoho // validate Local0 is a Buffer
2715 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2716 1.1 jruoho {
2717 1.1 jruoho Return (4) // failure
2718 1.1 jruoho }
2719 1.1 jruoho
2720 1.1 jruoho
2721 1.1 jruoho // return Local0 Buffer
2722 1.1 jruoho Return (Local0)
2723 1.1 jruoho } // RBUF
2724 1.1 jruoho
2725 1.1 jruoho Method (TEST)
2726 1.1 jruoho {
2727 1.1 jruoho Store ("++++++++ RetBuf Test", Debug)
2728 1.1 jruoho
2729 1.1 jruoho // store RBUF Buffer return value into Local0
2730 1.1 jruoho Store (RBUF, Local0)
2731 1.1 jruoho
2732 1.1 jruoho // save Local0 object type value into Local1
2733 1.1 jruoho Store (ObjectType (Local0), Local1)
2734 1.1 jruoho
2735 1.1 jruoho // validate Local0 is a Buffer
2736 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3
2737 1.1 jruoho {
2738 1.1 jruoho Return (10) // failure
2739 1.1 jruoho }
2740 1.1 jruoho Else
2741 1.1 jruoho {
2742 1.1 jruoho Return (0) // success
2743 1.1 jruoho }
2744 1.1 jruoho } // TEST
2745 1.1 jruoho } // RTBF
2746 1.1 jruoho
2747 1.1 jruoho //
2748 1.1 jruoho // test RetLVal.asl
2749 1.1 jruoho //
2750 1.1 jruoho // Test ReturnOp(Lvalue)
2751 1.1 jruoho // This is required to support _PSR on IBM ThinkPad 560D and
2752 1.1 jruoho // _DCK on Toshiba Tecra 8000.
2753 1.1 jruoho //
2754 1.1 jruoho
2755 1.1 jruoho Device (GPE2)
2756 1.1 jruoho {
2757 1.1 jruoho Method (_L03)
2758 1.1 jruoho {
2759 1.1 jruoho Store ("Method GPE2._L03 invoked", Debug)
2760 1.1 jruoho Return ()
2761 1.1 jruoho }
2762 1.1 jruoho
2763 1.1 jruoho Method (_E05)
2764 1.1 jruoho {
2765 1.1 jruoho Store ("Method GPE2._E05 invoked", Debug)
2766 1.1 jruoho Return ()
2767 1.1 jruoho }
2768 1.1 jruoho }
2769 1.1 jruoho
2770 1.1 jruoho Device (PRW2)
2771 1.1 jruoho {
2772 1.1 jruoho Name (_PRW, Package(2) {Package(2){\GPE2, 0x05}, 3})
2773 1.1 jruoho }
2774 1.1 jruoho
2775 1.1 jruoho
2776 1.1 jruoho Scope (\_GPE)
2777 1.1 jruoho {
2778 1.1 jruoho Name (ACST, 0xFF)
2779 1.1 jruoho
2780 1.1 jruoho Method (_L08)
2781 1.1 jruoho {
2782 1.1 jruoho Store ("Method _GPE._L08 invoked", Debug)
2783 1.1 jruoho Return ()
2784 1.1 jruoho }
2785 1.1 jruoho
2786 1.1 jruoho Method (_E09)
2787 1.1 jruoho {
2788 1.1 jruoho Store ("Method _GPE._E09 invoked", Debug)
2789 1.1 jruoho Return ()
2790 1.1 jruoho }
2791 1.1 jruoho
2792 1.1 jruoho Method (_E11)
2793 1.1 jruoho {
2794 1.1 jruoho Store ("Method _GPE._E11 invoked", Debug)
2795 1.1 jruoho Notify (\PRW1, 2)
2796 1.1 jruoho }
2797 1.1 jruoho
2798 1.1 jruoho Method (_L22)
2799 1.1 jruoho {
2800 1.1 jruoho Store ("Method _GPE._L22 invoked", Debug)
2801 1.1 jruoho Return ()
2802 1.1 jruoho }
2803 1.1 jruoho
2804 1.1 jruoho Method (_L33)
2805 1.1 jruoho {
2806 1.1 jruoho Store ("Method _GPE._L33 invoked", Debug)
2807 1.1 jruoho Return ()
2808 1.1 jruoho }
2809 1.1 jruoho
2810 1.1 jruoho Method (_E64)
2811 1.1 jruoho {
2812 1.1 jruoho Store ("Method _GPE._E64 invoked", Debug)
2813 1.1 jruoho Return ()
2814 1.1 jruoho }
2815 1.1 jruoho
2816 1.1 jruoho } // _GPE
2817 1.1 jruoho
2818 1.1 jruoho Device (PRW1)
2819 1.1 jruoho {
2820 1.1 jruoho Name (_PRW, Package(2) {0x11, 3})
2821 1.1 jruoho }
2822 1.1 jruoho
2823 1.1 jruoho Device (PWRB)
2824 1.1 jruoho {
2825 1.1 jruoho Name (_HID, EISAID("PNP0C0C"))
2826 1.1 jruoho Name (_PRW, Package(2) {0x33, 3})
2827 1.1 jruoho }
2828 1.1 jruoho
2829 1.1 jruoho
2830 1.1 jruoho Scope (\_SB) // System Bus
2831 1.1 jruoho { // _SB system bus
2832 1.1 jruoho
2833 1.1 jruoho Device (ACAD)
2834 1.1 jruoho { // ACAD: AC adapter device
2835 1.1 jruoho Name (_HID, "ACPI0003") // AC adapter device
2836 1.1 jruoho
2837 1.1 jruoho Name (_PCL, Package () {\_SB})
2838 1.1 jruoho
2839 1.1 jruoho OperationRegion (AREG, SystemIO, 0x0372, 2)
2840 1.1 jruoho Field (AREG, ByteAcc, NoLock, Preserve)
2841 1.1 jruoho {
2842 1.1 jruoho AIDX, 8,
2843 1.1 jruoho ADAT, 8
2844 1.1 jruoho }
2845 1.1 jruoho IndexField (AIDX, ADAT, ByteAcc, NoLock, Preserve)
2846 1.1 jruoho {
2847 1.1 jruoho , 1, // skips
2848 1.1 jruoho ACIN, 1,
2849 1.1 jruoho , 2, // skips
2850 1.1 jruoho CHAG, 1,
2851 1.1 jruoho , 3, // skips
2852 1.1 jruoho , 7, // skips
2853 1.1 jruoho ABAT, 1,
2854 1.1 jruoho } // IndexField
2855 1.1 jruoho
2856 1.1 jruoho Method (_PSR)
2857 1.1 jruoho {
2858 1.1 jruoho Store (\_GPE.ACST, Local0)
2859 1.1 jruoho Store (ACIN, Local1)
2860 1.1 jruoho If (LNotEqual (\_GPE.ACST, Local1))
2861 1.1 jruoho {
2862 1.1 jruoho Store (Local1, \_GPE.ACST)
2863 1.1 jruoho // This Notify is commented because it causes a
2864 1.1 jruoho // method error when running on a system without the
2865 1.1 jruoho // specific device.
2866 1.1 jruoho // Notify (\_SB_.ACAD, 0)
2867 1.1 jruoho }
2868 1.1 jruoho Return (Local0)
2869 1.1 jruoho } // _PSR
2870 1.1 jruoho
2871 1.1 jruoho Method (_STA)
2872 1.1 jruoho {
2873 1.1 jruoho Return (0x0F)
2874 1.1 jruoho }
2875 1.1 jruoho
2876 1.1 jruoho Method (_INI)
2877 1.1 jruoho {
2878 1.1 jruoho Store (ACIN, \_GPE.ACST)
2879 1.1 jruoho }
2880 1.1 jruoho } // ACAD: AC adapter device
2881 1.1 jruoho
2882 1.1 jruoho // test implicit return from control method
2883 1.1 jruoho Method (DIS_, 1)
2884 1.1 jruoho {
2885 1.1 jruoho Store (Arg0, Local0)
2886 1.1 jruoho }
2887 1.1 jruoho
2888 1.1 jruoho Device (RTLV)
2889 1.1 jruoho {
2890 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue
2891 1.1 jruoho Method (_DCK, 1)
2892 1.1 jruoho // Arg0: 1 == dock, 0 == undock
2893 1.1 jruoho {
2894 1.1 jruoho If (Arg0)
2895 1.1 jruoho { // dock
2896 1.1 jruoho Store (0x87, Local0)
2897 1.1 jruoho
2898 1.1 jruoho If (Local0)
2899 1.1 jruoho {
2900 1.1 jruoho DIS_ (0x23)
2901 1.1 jruoho Return (1)
2902 1.1 jruoho }
2903 1.1 jruoho
2904 1.1 jruoho Return (0)
2905 1.1 jruoho } // dock
2906 1.1 jruoho Else
2907 1.1 jruoho { // undock
2908 1.1 jruoho Store (Arg0, Local0)
2909 1.1 jruoho
2910 1.1 jruoho If (Local0)
2911 1.1 jruoho {
2912 1.1 jruoho DIS_ (0x23)
2913 1.1 jruoho Return (1)
2914 1.1 jruoho }
2915 1.1 jruoho
2916 1.1 jruoho Return (0)
2917 1.1 jruoho } // undock
2918 1.1 jruoho } // _DCK control method
2919 1.1 jruoho
2920 1.1 jruoho Method (TEST)
2921 1.1 jruoho {
2922 1.1 jruoho Store ("++++++++ RetLVal Test", Debug)
2923 1.1 jruoho
2924 1.1 jruoho // store _PSR return value into Local0
2925 1.1 jruoho Store (\_SB_.ACAD._PSR, Local0)
2926 1.1 jruoho
2927 1.1 jruoho // save Local0 object type value into Local1
2928 1.1 jruoho Store (ObjectType (Local0), Local1)
2929 1.1 jruoho
2930 1.1 jruoho // validate Local0 is a Number
2931 1.1 jruoho If (LNotEqual (Local1, 1)) // Number/Integer type is 1
2932 1.1 jruoho {
2933 1.1 jruoho Return (1) // failure
2934 1.1 jruoho }
2935 1.1 jruoho
2936 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue
2937 1.1 jruoho Store (_DCK (1), Local2)
2938 1.1 jruoho
2939 1.1 jruoho // save Local2 object type value into Local3
2940 1.1 jruoho Store (ObjectType (Local2), Local3)
2941 1.1 jruoho
2942 1.1 jruoho // validate Local2 is a Number
2943 1.1 jruoho If (LNotEqual (Local3, 1)) // Number/Integer type is 1
2944 1.1 jruoho {
2945 1.1 jruoho Return (2) // failure
2946 1.1 jruoho }
2947 1.1 jruoho
2948 1.1 jruoho If (LNotEqual (Local2, 1))
2949 1.1 jruoho {
2950 1.1 jruoho Return (3) // failure
2951 1.1 jruoho }
2952 1.1 jruoho
2953 1.1 jruoho Return (0) // success
2954 1.1 jruoho } // TEST
2955 1.1 jruoho } // RTLV
2956 1.1 jruoho } // _SB system bus
2957 1.1 jruoho
2958 1.1 jruoho //
2959 1.1 jruoho // test RetPkg.asl
2960 1.1 jruoho //
2961 1.1 jruoho // Test ReturnOp(Package)
2962 1.1 jruoho // This is required to support _PRT on Dell Optiplex Workstations (e.g. GX1)
2963 1.1 jruoho //
2964 1.1 jruoho
2965 1.1 jruoho Scope (\_SB) // System Bus
2966 1.1 jruoho { // _SB system bus
2967 1.1 jruoho Device(LNKA)
2968 1.1 jruoho {
2969 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2970 1.1 jruoho Name (_UID, 1)
2971 1.1 jruoho }
2972 1.1 jruoho Device(LNKB)
2973 1.1 jruoho {
2974 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2975 1.1 jruoho Name (_UID, 2)
2976 1.1 jruoho }
2977 1.1 jruoho Device(LNKC)
2978 1.1 jruoho {
2979 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2980 1.1 jruoho Name (_UID, 3)
2981 1.1 jruoho }
2982 1.1 jruoho Device(LNKD)
2983 1.1 jruoho {
2984 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link
2985 1.1 jruoho Name (_UID, 4)
2986 1.1 jruoho }
2987 1.1 jruoho
2988 1.1 jruoho Device (PCI1)
2989 1.1 jruoho { // PCI1: Root PCI Bus
2990 1.1 jruoho Name (_HID, "PNP0A03") // Need _HID for root device (String format)
2991 1.1 jruoho Name (_ADR,0x00000000)
2992 1.1 jruoho Name (_CRS,0)
2993 1.1 jruoho
2994 1.1 jruoho Name (_PRT, Package ()
2995 1.1 jruoho {
2996 1.1 jruoho Package () {0x0004ffff, 0, LNKA, 0}, // Slot 1, INTA
2997 1.1 jruoho Package () {0x0004ffff, 1, LNKB, 0}, // Slot 1, INTB
2998 1.1 jruoho Package () {0x0004ffff, 2, LNKC, 0}, // Slot 1, INTC
2999 1.1 jruoho Package () {0x0004ffff, 3, LNKD, 0}, // Slot 1, INTD
3000 1.1 jruoho Package () {0x0005ffff, 0, \_SB_.LNKB, 0}, // Slot 2, INTA
3001 1.1 jruoho Package () {0x0005ffff, 1, \_SB_.LNKC, 0}, // Slot 2, INTB
3002 1.1 jruoho Package () {0x0005ffff, 2, \_SB_.LNKD, 0}, // Slot 2, INTC
3003 1.1 jruoho Package () {0x0006ffff, 3, \_SB_.LNKA, 0}, // Slot 2, INTD
3004 1.1 jruoho Package () {0x0006ffff, 0, LNKC, 0}, // Slot 3, INTA
3005 1.1 jruoho Package () {0x0006ffff, 1, LNKD, 0}, // Slot 3, INTB
3006 1.1 jruoho Package () {0x0006ffff, 2, LNKA, 0}, // Slot 3, INTC
3007 1.1 jruoho Package () {0x0006ffff, 3, LNKB, 0}, // Slot 3, INTD
3008 1.1 jruoho })
3009 1.1 jruoho
3010 1.1 jruoho Device (PX40)
3011 1.1 jruoho { // Map f0 space, Start PX40
3012 1.1 jruoho Name (_ADR,0x00070000) // Address+function.
3013 1.1 jruoho }
3014 1.1 jruoho } // PCI0: Root PCI Bus
3015 1.1 jruoho
3016 1.1 jruoho Device (RETP)
3017 1.1 jruoho {
3018 1.1 jruoho Method (RPKG)
3019 1.1 jruoho { // RPKG: Return Package from local variable
3020 1.1 jruoho
3021 1.1 jruoho // store _PRT package into Local0
3022 1.1 jruoho Store (\_SB_.PCI1._PRT, Local0)
3023 1.1 jruoho
3024 1.1 jruoho // return Local0 Package
3025 1.1 jruoho Return (Local0)
3026 1.1 jruoho } // RPKG
3027 1.1 jruoho
3028 1.1 jruoho Method (TEST)
3029 1.1 jruoho {
3030 1.1 jruoho Store ("++++++++ RetPkg Test", Debug)
3031 1.1 jruoho
3032 1.1 jruoho // store RPKG package return value into Local0
3033 1.1 jruoho Store (RPKG, Local0)
3034 1.1 jruoho
3035 1.1 jruoho // save Local0 object type value into Local1
3036 1.1 jruoho Store (ObjectType (Local0), Local1)
3037 1.1 jruoho
3038 1.1 jruoho // validate Local0 is a Package
3039 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
3040 1.1 jruoho { Return (1) } // failure
3041 1.1 jruoho Else
3042 1.1 jruoho { Return (0) } // success
3043 1.1 jruoho } // TEST
3044 1.1 jruoho } // RETP
3045 1.1 jruoho } // _SB_
3046 1.1 jruoho
3047 1.1 jruoho //
3048 1.1 jruoho // test WhileRet.asl
3049 1.1 jruoho //
3050 1.1 jruoho // WhileRet.asl tests a ReturnOp nested in a IfOp nested in a WhileOp.
3051 1.1 jruoho //
3052 1.1 jruoho Device (WHLR)
3053 1.1 jruoho {
3054 1.1 jruoho Name (LCNT, 0)
3055 1.1 jruoho Method (WIR)
3056 1.1 jruoho { // WIR: control method that returns inside of IfOp inside of WhileOp
3057 1.1 jruoho While (LLess (LCNT, 4))
3058 1.1 jruoho {
3059 1.1 jruoho If (LEqual (LCNT, 2))
3060 1.1 jruoho {
3061 1.1 jruoho Return (0)
3062 1.1 jruoho }
3063 1.1 jruoho
3064 1.1 jruoho Increment (LCNT)
3065 1.1 jruoho }
3066 1.1 jruoho
3067 1.1 jruoho Return (LCNT)
3068 1.1 jruoho } // WIR: control method that returns inside of IfOp inside of WhileOp
3069 1.1 jruoho
3070 1.1 jruoho Method (TEST)
3071 1.1 jruoho {
3072 1.1 jruoho Store ("++++++++ WhileRet Test", Debug)
3073 1.1 jruoho
3074 1.1 jruoho Store (WIR, Local0)
3075 1.1 jruoho
3076 1.1 jruoho Return (Local0)
3077 1.1 jruoho } // TEST
3078 1.1 jruoho } // WHLR
3079 1.1 jruoho
3080 1.1 jruoho //
3081 1.1 jruoho // test AndOrOp.asl
3082 1.1 jruoho //
3083 1.1 jruoho //This code tests the bitwise AndOp and OrOp Operator terms
3084 1.1 jruoho //
3085 1.1 jruoho //Syntax of Andop term
3086 1.1 jruoho //And - Bitwise And
3087 1.1 jruoho //AndTerm := And(
3088 1.1 jruoho // Source1, //TermArg=>Integer
3089 1.1 jruoho // Source2, //TermArg=>Integer
3090 1.1 jruoho // Result //Nothing | SuperName
3091 1.1 jruoho //) => Integer
3092 1.1 jruoho //Source1 and Source2 are evaluated as integer data types,
3093 1.1 jruoho // a bit-wise AND is performed, and the result is optionally
3094 1.1 jruoho //stored into Result.
3095 1.1 jruoho //
3096 1.1 jruoho //
3097 1.1 jruoho //Syntax of OrOp
3098 1.1 jruoho //Or - Bit-wise Or
3099 1.1 jruoho //OrTerm := Or(
3100 1.1 jruoho // Source1, //TermArg=>Integer
3101 1.1 jruoho // Source2 //TermArg=>Integer
3102 1.1 jruoho // Result //Nothing | SuperName
3103 1.1 jruoho //) => Integer
3104 1.1 jruoho //Source1 and Source2 are evaluated as integer data types,
3105 1.1 jruoho // a bit-wide OR is performed, and the result is optionally
3106 1.1 jruoho //stored in Result
3107 1.1 jruoho //
3108 1.1 jruoho Device (ANDO)
3109 1.1 jruoho {
3110 1.1 jruoho OperationRegion (TMEM, SystemMemory, 0xC4, 0x02)
3111 1.1 jruoho Field (TMEM, ByteAcc, NoLock, Preserve)
3112 1.1 jruoho {
3113 1.1 jruoho , 3,
3114 1.1 jruoho TOUD, 13
3115 1.1 jruoho }
3116 1.1 jruoho
3117 1.1 jruoho //Create System Memory Operation Region and field overlays
3118 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3119 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3120 1.1 jruoho {
3121 1.1 jruoho SMDW, 32, // 32-bit DWORD
3122 1.1 jruoho SMWD, 16, // 16-bit WORD
3123 1.1 jruoho SMBY, 8, // 8-bit BYTE
3124 1.1 jruoho }// Field(RAM)
3125 1.1 jruoho
3126 1.1 jruoho
3127 1.1 jruoho //And with Byte Data
3128 1.1 jruoho Name (BYT1, 0xff)
3129 1.1 jruoho Name (BYT2, 0xff)
3130 1.1 jruoho Name (BRSL, 0x00)
3131 1.1 jruoho
3132 1.1 jruoho //And with Word Data
3133 1.1 jruoho Name (WRD1, 0xffff)
3134 1.1 jruoho Name (WRD2, 0xffff)
3135 1.1 jruoho Name (WRSL, 0x0000)
3136 1.1 jruoho
3137 1.1 jruoho //And with DWord Data
3138 1.1 jruoho Name (DWD1, 0xffffffff)
3139 1.1 jruoho Name (DWD2, 0xffffffff)
3140 1.1 jruoho Name (DRSL, 0x00000000)
3141 1.1 jruoho
3142 1.1 jruoho Method (ANDP)
3143 1.1 jruoho {
3144 1.1 jruoho //Check with 1 And 1 on byte data
3145 1.1 jruoho And(BYT1, BYT2, BRSL)
3146 1.1 jruoho if(LNotEqual(BRSL,0xff))
3147 1.1 jruoho {Return(1)}
3148 1.1 jruoho
3149 1.1 jruoho //Check with 1 And 1 on Word data
3150 1.1 jruoho And(WRD1, WRD2, WRSL)
3151 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3152 1.1 jruoho {
3153 1.1 jruoho Return (1) // failure
3154 1.1 jruoho }
3155 1.1 jruoho
3156 1.1 jruoho //Check with 1 And 1 Dword
3157 1.1 jruoho And(DWD1, DWD2, DRSL)
3158 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3159 1.1 jruoho {
3160 1.1 jruoho Return (1) // failure
3161 1.1 jruoho }
3162 1.1 jruoho
3163 1.1 jruoho //Check with 0 And 0 on byte data
3164 1.1 jruoho Store(0x00,BYT1)
3165 1.1 jruoho Store(0x00,BYT2)
3166 1.1 jruoho Store(0x00,BRSL)
3167 1.1 jruoho And(BYT1, BYT2, BRSL)
3168 1.1 jruoho if(LNotEqual(BRSL,0x00))
3169 1.1 jruoho {
3170 1.1 jruoho Return (1) // failure
3171 1.1 jruoho }
3172 1.1 jruoho
3173 1.1 jruoho //Check with 0 And 0 on Word data
3174 1.1 jruoho Store (0x0000,WRD1)
3175 1.1 jruoho Store (0x0000,WRD2)
3176 1.1 jruoho Store (0x0000,WRSL)
3177 1.1 jruoho And(WRD1, WRD2, WRSL)
3178 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3179 1.1 jruoho {
3180 1.1 jruoho Return (1) // failure
3181 1.1 jruoho }
3182 1.1 jruoho
3183 1.1 jruoho //Check with 0 And 0 Dword
3184 1.1 jruoho Store (0x00000000,DWD1)
3185 1.1 jruoho Store (0x00000000,DWD2)
3186 1.1 jruoho Store (0x00000000,DRSL)
3187 1.1 jruoho And(DWD1, DWD2, DRSL)
3188 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3189 1.1 jruoho {
3190 1.1 jruoho Return (1) // failure
3191 1.1 jruoho }
3192 1.1 jruoho
3193 1.1 jruoho
3194 1.1 jruoho //Check with 1 And 0 on byte data
3195 1.1 jruoho Store(0x55,BYT1)
3196 1.1 jruoho Store(0xAA,BYT2)
3197 1.1 jruoho Store(0x00,BRSL)
3198 1.1 jruoho And(BYT1, BYT2, BRSL)
3199 1.1 jruoho if(LNotEqual(BRSL,0x00))
3200 1.1 jruoho {
3201 1.1 jruoho Return (1) // failure
3202 1.1 jruoho }
3203 1.1 jruoho
3204 1.1 jruoho //Check with 1 And 0 on Word data
3205 1.1 jruoho Store (0x5555,WRD1)
3206 1.1 jruoho Store (0xAAAA,WRD2)
3207 1.1 jruoho Store (0x0000,WRSL)
3208 1.1 jruoho And(WRD1, WRD2, WRSL)
3209 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3210 1.1 jruoho {
3211 1.1 jruoho Return (1) // failure
3212 1.1 jruoho }
3213 1.1 jruoho
3214 1.1 jruoho //Check with 1 And 0 on Dword
3215 1.1 jruoho Store (0x55555555,DWD1)
3216 1.1 jruoho Store (0xAAAAAAAA,DWD2)
3217 1.1 jruoho Store (0x00000000,DRSL)
3218 1.1 jruoho And(DWD1, DWD2, DRSL)
3219 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3220 1.1 jruoho {
3221 1.1 jruoho Return (1) // failure
3222 1.1 jruoho }
3223 1.1 jruoho
3224 1.1 jruoho Store (0x1FFF, TOUD)
3225 1.1 jruoho Store (TOUD, Local0)
3226 1.1 jruoho if(LNotEqual(Local0,0x1FFF))
3227 1.1 jruoho {
3228 1.1 jruoho Return (1) // failure
3229 1.1 jruoho }
3230 1.1 jruoho
3231 1.1 jruoho //TBD- Do We need to check for system memory data also for each test case ??
3232 1.1 jruoho
3233 1.1 jruoho Return(0)
3234 1.1 jruoho
3235 1.1 jruoho }//ANDP
3236 1.1 jruoho
3237 1.1 jruoho Method (OROP)
3238 1.1 jruoho {
3239 1.1 jruoho
3240 1.1 jruoho //Check with 1 Ored with 1 on byte data
3241 1.1 jruoho Store(0xff,BYT1)
3242 1.1 jruoho Store(0xff,BYT2)
3243 1.1 jruoho Store(0x00,BRSL)
3244 1.1 jruoho Or(BYT1, BYT2, BRSL)
3245 1.1 jruoho if(LNotEqual(BRSL,0xff))
3246 1.1 jruoho {
3247 1.1 jruoho Return (1) // failure
3248 1.1 jruoho }
3249 1.1 jruoho
3250 1.1 jruoho
3251 1.1 jruoho //Check with 1 Ored with 1 on Word data
3252 1.1 jruoho Store(0xffff,WRD1)
3253 1.1 jruoho Store(0xffff,WRD2)
3254 1.1 jruoho Store(0x0000,WRSL)
3255 1.1 jruoho Or(WRD1, WRD2, WRSL)
3256 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3257 1.1 jruoho {
3258 1.1 jruoho Return (1) // failure
3259 1.1 jruoho }
3260 1.1 jruoho
3261 1.1 jruoho //Check with 1 Ored with 1 on Dword data
3262 1.1 jruoho Store(0xffffffff,DWD1)
3263 1.1 jruoho Store(0xffffffff,DWD2)
3264 1.1 jruoho Store(0x00000000,DRSL)
3265 1.1 jruoho Or(DWD1, DWD2, DRSL)
3266 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3267 1.1 jruoho {
3268 1.1 jruoho Return (1) // failure
3269 1.1 jruoho }
3270 1.1 jruoho
3271 1.1 jruoho //Check with 0 Ored with 0 on byte data
3272 1.1 jruoho Store(0x00,BYT1)
3273 1.1 jruoho Store(0x00,BYT2)
3274 1.1 jruoho Store(0x00,BRSL)
3275 1.1 jruoho Or(BYT1, BYT2, BRSL)
3276 1.1 jruoho if(LNotEqual(BRSL,0x00))
3277 1.1 jruoho {
3278 1.1 jruoho Return (1) // failure
3279 1.1 jruoho }
3280 1.1 jruoho
3281 1.1 jruoho //Check with 0 Ored with 0 on Word data
3282 1.1 jruoho Store (0x0000,WRD1)
3283 1.1 jruoho Store (0x0000,WRD2)
3284 1.1 jruoho Store (0x0000,WRSL)
3285 1.1 jruoho Or(WRD1, WRD2, WRSL)
3286 1.1 jruoho if(LNotEqual(WRSL,0x0000))
3287 1.1 jruoho {
3288 1.1 jruoho Return (1) // failure
3289 1.1 jruoho }
3290 1.1 jruoho
3291 1.1 jruoho //Check with 0 Ored with 0 Dword data
3292 1.1 jruoho Store (0x00000000,DWD1)
3293 1.1 jruoho Store (0x00000000,DWD2)
3294 1.1 jruoho Store (0x00000000,DRSL)
3295 1.1 jruoho Or(DWD1, DWD2, DRSL)
3296 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
3297 1.1 jruoho {
3298 1.1 jruoho Return (1) // failure
3299 1.1 jruoho }
3300 1.1 jruoho
3301 1.1 jruoho
3302 1.1 jruoho //Check with 1 Ored with 0 on byte data
3303 1.1 jruoho Store(0x55,BYT1)
3304 1.1 jruoho Store(0xAA,BYT2)
3305 1.1 jruoho Store(0x00,BRSL)
3306 1.1 jruoho Or(BYT1, BYT2, BRSL)
3307 1.1 jruoho if(LNotEqual(BRSL,0xff))
3308 1.1 jruoho {
3309 1.1 jruoho Return (1) // failure
3310 1.1 jruoho }
3311 1.1 jruoho
3312 1.1 jruoho //Check with 1 Ored with 0 on Word data
3313 1.1 jruoho Store (0x5555,WRD1)
3314 1.1 jruoho Store (0xAAAA,WRD2)
3315 1.1 jruoho Store (0x0000,WRSL)
3316 1.1 jruoho Or(WRD1, WRD2, WRSL)
3317 1.1 jruoho if(LNotEqual(WRSL,0xffff))
3318 1.1 jruoho {
3319 1.1 jruoho Return (1) // failure
3320 1.1 jruoho }
3321 1.1 jruoho
3322 1.1 jruoho //Check with 1 Ored with 0 on Dword data
3323 1.1 jruoho Store (0x55555555,DWD1)
3324 1.1 jruoho Store (0xAAAAAAAA,DWD2)
3325 1.1 jruoho Store (0x00000000,DRSL)
3326 1.1 jruoho Or(DWD1, DWD2, DRSL)
3327 1.1 jruoho if(LNotEqual(DRSL,0xffffffff))
3328 1.1 jruoho {
3329 1.1 jruoho Return (1) // failure
3330 1.1 jruoho }
3331 1.1 jruoho
3332 1.1 jruoho //TBD - Do We need to check for system memory data also for each test case ??
3333 1.1 jruoho
3334 1.1 jruoho Return(0)
3335 1.1 jruoho
3336 1.1 jruoho }//OROP
3337 1.1 jruoho
3338 1.1.1.3 christos Method(TEST,, Serialized)
3339 1.1 jruoho {
3340 1.1 jruoho Store ("++++++++ AndOrOp Test", Debug)
3341 1.1 jruoho
3342 1.1 jruoho Name(RSLT,1)
3343 1.1 jruoho //Call Andop method
3344 1.1 jruoho Store(ANDP,RSLT)
3345 1.1 jruoho if(LEqual(RSLT,1))
3346 1.1 jruoho {
3347 1.1 jruoho Return (RSLT)
3348 1.1 jruoho }
3349 1.1 jruoho
3350 1.1 jruoho //Call OrOp Method
3351 1.1 jruoho Store(OROP,RSLT)
3352 1.1 jruoho if(LEqual(RSLT,1))
3353 1.1 jruoho {
3354 1.1 jruoho Return(RSLT)
3355 1.1 jruoho }
3356 1.1 jruoho
3357 1.1 jruoho //
3358 1.1 jruoho // Return original conditions to allow iterative execution
3359 1.1 jruoho //
3360 1.1 jruoho Store(0xff,BYT1)
3361 1.1 jruoho Store(0xff,BYT2)
3362 1.1 jruoho Store(0x00,BRSL)
3363 1.1 jruoho Store (0xffff,WRD1)
3364 1.1 jruoho Store (0xffff,WRD2)
3365 1.1 jruoho Store (0x0000,WRSL)
3366 1.1 jruoho Store (0xffffffff,DWD1)
3367 1.1 jruoho Store (0xffffffff,DWD2)
3368 1.1 jruoho Store (0x00000000,DRSL)
3369 1.1 jruoho
3370 1.1 jruoho Return(0)
3371 1.1 jruoho } //TEST
3372 1.1 jruoho } //ANDO
3373 1.1 jruoho
3374 1.1 jruoho //
3375 1.1 jruoho // test BreakPnt.asl
3376 1.1 jruoho //
3377 1.1 jruoho // This code tests the BreakPoint opcode term. The syntax of BreakPoint Term is
3378 1.1 jruoho // BreakPointTerm := BreakPoint
3379 1.1 jruoho // Used for debugging, the Breakpoint opcode stops the execution and enters the AML debugger.
3380 1.1 jruoho // In the non-debug version of the interpreter, BreakPoint is equivalent to Noop.
3381 1.1 jruoho //
3382 1.1 jruoho Device (BRKP)
3383 1.1 jruoho {
3384 1.1 jruoho Name(CNT0,0)
3385 1.1 jruoho
3386 1.1 jruoho Method (BK1)
3387 1.1 jruoho {
3388 1.1 jruoho BreakPoint
3389 1.1 jruoho Return(0)
3390 1.1 jruoho }
3391 1.1 jruoho
3392 1.1 jruoho Method (TEST)
3393 1.1 jruoho {
3394 1.1 jruoho Store ("++++++++ BreakPnt Test", Debug)
3395 1.1 jruoho
3396 1.1 jruoho Store(0,CNT0)
3397 1.1 jruoho
3398 1.1 jruoho //Check BreakPoint statement
3399 1.1 jruoho While(LLess(CNT0,10))
3400 1.1 jruoho {
3401 1.1 jruoho Increment(CNT0)
3402 1.1 jruoho }
3403 1.1 jruoho
3404 1.1 jruoho //Check the BreakPoint statement
3405 1.1 jruoho If(LEqual(CNT0,10))
3406 1.1 jruoho {
3407 1.1 jruoho // BreakPoint
3408 1.1 jruoho Return(0)
3409 1.1 jruoho }
3410 1.1 jruoho
3411 1.1 jruoho //failed
3412 1.1 jruoho Return(1)
3413 1.1 jruoho }
3414 1.1 jruoho }
3415 1.1 jruoho
3416 1.1 jruoho //
3417 1.1 jruoho // test AddSubOp.asl
3418 1.1 jruoho //
3419 1.1 jruoho Device (ADSU)
3420 1.1 jruoho {
3421 1.1 jruoho // create System Memory Operation Region and field overlays
3422 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3423 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3424 1.1 jruoho {
3425 1.1 jruoho SMDW, 32, // 32-bit DWORD
3426 1.1 jruoho SMWD, 16, // 16-bit WORD
3427 1.1 jruoho SMBY, 8, // 8-bit BYTE
3428 1.1 jruoho } // Field(RAM)
3429 1.1 jruoho
3430 1.1.1.3 christos Method (TEST,, Serialized)
3431 1.1 jruoho {
3432 1.1 jruoho Store ("++++++++ AddSubOp Test", Debug)
3433 1.1 jruoho
3434 1.1 jruoho Name (DWRD, 0x12345678)
3435 1.1 jruoho Name (WRD, 0x1234)
3436 1.1 jruoho Name (BYT, 0x12)
3437 1.1 jruoho
3438 1.1 jruoho // Test AddOp with DWORD data
3439 1.1 jruoho Store (0x12345678, DWRD)
3440 1.1 jruoho Add (DWRD, 7, DWRD)
3441 1.1 jruoho If (LNotEqual (DWRD, 0x1234567F))
3442 1.1 jruoho { Return (DWRD) }
3443 1.1 jruoho
3444 1.1 jruoho // Test AddOp with WORD data
3445 1.1 jruoho Add (WRD, 5, WRD)
3446 1.1 jruoho If (LNotEqual (WRD, 0x1239))
3447 1.1 jruoho { Return (WRD) }
3448 1.1 jruoho
3449 1.1 jruoho // Test AddOp with BYTE data
3450 1.1 jruoho Add (BYT, 3, BYT)
3451 1.1 jruoho If (LNotEqual (BYT, 0x15))
3452 1.1 jruoho { Return (BYT) }
3453 1.1 jruoho
3454 1.1 jruoho // Test SubtractOp with DWORD data
3455 1.1 jruoho Subtract (DWRD, 7, DWRD)
3456 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
3457 1.1 jruoho { Return (DWRD) }
3458 1.1 jruoho
3459 1.1 jruoho // Test SubtractOp with WORD data
3460 1.1 jruoho Subtract (WRD, 3, WRD)
3461 1.1 jruoho If (LNotEqual (WRD, 0x1236))
3462 1.1 jruoho { Return (WRD) }
3463 1.1 jruoho
3464 1.1 jruoho // Test SubtractOp with BYTE data
3465 1.1 jruoho Subtract (BYT, 3, BYT)
3466 1.1 jruoho If (LNotEqual (BYT, 0x12))
3467 1.1 jruoho { Return (BYT) }
3468 1.1 jruoho
3469 1.1 jruoho
3470 1.1 jruoho // test AddOp with DWORD SystemMemory OpRegion
3471 1.1 jruoho Store (0x01234567, SMDW)
3472 1.1 jruoho Add (SMDW, 8, SMDW)
3473 1.1 jruoho If (LNotEqual (SMDW, 0x0123456F))
3474 1.1 jruoho { Return (SMDW) }
3475 1.1 jruoho
3476 1.1 jruoho // test SubtractOp with DWORD SystemMemory OpRegion
3477 1.1 jruoho Subtract (SMDW, 7, SMDW)
3478 1.1 jruoho If (LNotEqual (SMDW, 0x01234568))
3479 1.1 jruoho { Return (SMDW) }
3480 1.1 jruoho
3481 1.1 jruoho
3482 1.1 jruoho // test AddOp with WORD SystemMemory OpRegion
3483 1.1 jruoho Store (0x0123, SMWD)
3484 1.1 jruoho Add (SMWD, 6, SMWD)
3485 1.1 jruoho If (LNotEqual (SMWD, 0x0129))
3486 1.1 jruoho { Return (SMWD) }
3487 1.1 jruoho
3488 1.1 jruoho // test SubtractOp with WORD SystemMemory OpRegion
3489 1.1 jruoho Subtract (SMWD, 5, SMWD)
3490 1.1 jruoho If (LNotEqual (SMWD, 0x0124))
3491 1.1 jruoho { Return (SMWD) }
3492 1.1 jruoho
3493 1.1 jruoho
3494 1.1 jruoho // test AddOp with BYTE SystemMemory OpRegion
3495 1.1 jruoho Store (0x01, SMBY)
3496 1.1 jruoho Add (SMBY, 4, SMBY)
3497 1.1 jruoho If (LNotEqual (SMBY, 0x05))
3498 1.1 jruoho { Return (SMBY) }
3499 1.1 jruoho
3500 1.1 jruoho // test SubtractOp with BYTE SystemMemory OpRegion
3501 1.1 jruoho Subtract (SMBY, 3, SMBY)
3502 1.1 jruoho If (LNotEqual (SMBY, 0x02))
3503 1.1 jruoho { Return (SMBY) }
3504 1.1 jruoho
3505 1.1 jruoho Return (0)
3506 1.1 jruoho } // TEST
3507 1.1 jruoho } // ADSU
3508 1.1 jruoho
3509 1.1 jruoho //
3510 1.1 jruoho // test IncDecOp.asl
3511 1.1 jruoho //
3512 1.1 jruoho Device (INDC)
3513 1.1 jruoho {
3514 1.1 jruoho // create System Memory Operation Region and field overlays
3515 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3516 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3517 1.1 jruoho {
3518 1.1 jruoho SMDW, 32, // 32-bit DWORD
3519 1.1 jruoho SMWD, 16, // 16-bit WORD
3520 1.1 jruoho SMBY, 8, // 8-bit BYTE
3521 1.1 jruoho } // Field(RAM)
3522 1.1 jruoho
3523 1.1.1.3 christos Method (TEST,, Serialized)
3524 1.1 jruoho {
3525 1.1 jruoho Store ("++++++++ IncDecOp Test", Debug)
3526 1.1 jruoho
3527 1.1 jruoho Name (DWRD, 0x12345678)
3528 1.1 jruoho Name (WRD, 0x1234)
3529 1.1 jruoho Name (BYT, 0x12)
3530 1.1 jruoho
3531 1.1 jruoho // Test IncrementOp with DWORD data
3532 1.1 jruoho Store (0x12345678, DWRD)
3533 1.1 jruoho Increment (DWRD)
3534 1.1 jruoho If (LNotEqual (DWRD, 0x12345679))
3535 1.1 jruoho { Return (DWRD) }
3536 1.1 jruoho
3537 1.1 jruoho // Test IncrementOp with WORD data
3538 1.1 jruoho Increment (WRD)
3539 1.1 jruoho If (LNotEqual (WRD, 0x1235))
3540 1.1 jruoho { Return (WRD) }
3541 1.1 jruoho
3542 1.1 jruoho // Test IncrementOp with BYTE data
3543 1.1 jruoho Increment (BYT)
3544 1.1 jruoho If (LNotEqual (BYT, 0x13))
3545 1.1 jruoho { Return (BYT) }
3546 1.1 jruoho
3547 1.1 jruoho // Test DecrementOp with DWORD data
3548 1.1 jruoho Decrement (DWRD)
3549 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
3550 1.1 jruoho { Return (DWRD) }
3551 1.1 jruoho
3552 1.1 jruoho // Test DecrementOp with WORD data
3553 1.1 jruoho Decrement (WRD)
3554 1.1 jruoho If (LNotEqual (WRD, 0x1234))
3555 1.1 jruoho { Return (WRD) }
3556 1.1 jruoho
3557 1.1 jruoho // Test DecrementOp with BYTE data
3558 1.1 jruoho Decrement (BYT)
3559 1.1 jruoho If (LNotEqual (BYT, 0x12))
3560 1.1 jruoho { Return (BYT) }
3561 1.1 jruoho
3562 1.1 jruoho
3563 1.1 jruoho // test IncrementOp with DWORD SystemMemory OpRegion
3564 1.1 jruoho Store (0x01234567, SMDW)
3565 1.1 jruoho Increment (SMDW)
3566 1.1 jruoho If (LNotEqual (SMDW, 0x01234568))
3567 1.1 jruoho { Return (SMDW) }
3568 1.1 jruoho
3569 1.1 jruoho // test DecrementOp with DWORD SystemMemory OpRegion
3570 1.1 jruoho Decrement (SMDW)
3571 1.1 jruoho If (LNotEqual (SMDW, 0x01234567))
3572 1.1 jruoho { Return (SMDW) }
3573 1.1 jruoho
3574 1.1 jruoho
3575 1.1 jruoho // test IncrementOp with WORD SystemMemory OpRegion
3576 1.1 jruoho Store (0x0123, SMWD)
3577 1.1 jruoho Increment (SMWD)
3578 1.1 jruoho If (LNotEqual (SMWD, 0x0124))
3579 1.1 jruoho { Return (SMWD) }
3580 1.1 jruoho
3581 1.1 jruoho // test DecrementOp with WORD SystemMemory OpRegion
3582 1.1 jruoho Decrement (SMWD)
3583 1.1 jruoho If (LNotEqual (SMWD, 0x0123))
3584 1.1 jruoho { Return (SMWD) }
3585 1.1 jruoho
3586 1.1 jruoho
3587 1.1 jruoho // test IncrementOp with BYTE SystemMemory OpRegion
3588 1.1 jruoho Store (0x01, SMBY)
3589 1.1 jruoho Increment (SMBY)
3590 1.1 jruoho If (LNotEqual (SMBY, 0x02))
3591 1.1 jruoho { Return (SMBY) }
3592 1.1 jruoho
3593 1.1 jruoho // test DecrementOp with BYTE SystemMemory OpRegion
3594 1.1 jruoho Decrement (SMBY)
3595 1.1 jruoho If (LNotEqual (SMBY, 0x01))
3596 1.1 jruoho { Return (SMBY) }
3597 1.1 jruoho
3598 1.1 jruoho Return (0)
3599 1.1 jruoho } // TEST
3600 1.1 jruoho } // INDC
3601 1.1 jruoho
3602 1.1 jruoho //
3603 1.1 jruoho // test LOps.asl
3604 1.1 jruoho //
3605 1.1 jruoho //This source tests all the logical operators. Logical operators in ASL are as follows.
3606 1.1 jruoho //LAnd, LEqual, LGreater, LLess, LNot, LNotEqual, LOr.
3607 1.1 jruoho // Success will return 0 and failure will return a non zero number. Check the source code for
3608 1.1 jruoho // non zero number to find where the test failed
3609 1.1 jruoho
3610 1.1 jruoho Device (LOPS)
3611 1.1 jruoho {
3612 1.1 jruoho //Create System Memory Operation Region and field overlays
3613 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3614 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3615 1.1 jruoho {
3616 1.1 jruoho SMDW, 32, // 32-bit DWORD
3617 1.1 jruoho SMWD, 16, // 16-bit WORD
3618 1.1 jruoho SMBY, 8, // 8-bit BYTE
3619 1.1 jruoho }// Field(RAM)
3620 1.1 jruoho
3621 1.1 jruoho //And with Byte Data
3622 1.1 jruoho Name (BYT1, 0xff)
3623 1.1 jruoho Name (BYT2, 0xff)
3624 1.1 jruoho Name (BRSL, 0x00)
3625 1.1 jruoho
3626 1.1 jruoho //And with Word Data
3627 1.1 jruoho Name (WRD1, 0xffff)
3628 1.1 jruoho Name (WRD2, 0xffff)
3629 1.1 jruoho Name (WRSL, 0x0000)
3630 1.1 jruoho
3631 1.1 jruoho //And with DWord Data
3632 1.1 jruoho Name (DWD1, 0xffffffff)
3633 1.1 jruoho Name (DWD2, 0xffffffff)
3634 1.1 jruoho Name (DRSL, 0x00000000)
3635 1.1 jruoho
3636 1.1 jruoho Name(RSLT,1)
3637 1.1 jruoho
3638 1.1 jruoho Method (ANDL,2) // Test Logical And
3639 1.1 jruoho {
3640 1.1 jruoho //test with the arguments passed
3641 1.1 jruoho if(LEqual(Arg0,Arg1))
3642 1.1 jruoho { Store(LAnd(Arg0,Arg1),RSLT)
3643 1.1 jruoho if(LNotEqual(Ones,RSLT))
3644 1.1 jruoho {Return(11)}
3645 1.1 jruoho }
3646 1.1 jruoho
3647 1.1 jruoho //test with he locals
3648 1.1 jruoho Store(Arg0,Local0)
3649 1.1 jruoho Store(Arg1,Local1)
3650 1.1 jruoho
3651 1.1 jruoho if(LEqual(Local0,Local1))
3652 1.1 jruoho {
3653 1.1 jruoho Store(LAnd(Local0,Local1),RSLT)
3654 1.1 jruoho if(LNotEqual(Ones,RSLT))
3655 1.1 jruoho {Return(12)}
3656 1.1 jruoho }
3657 1.1 jruoho
3658 1.1 jruoho //test with BYTE data
3659 1.1 jruoho if(LEqual(BYT1,BYT2))
3660 1.1 jruoho { Store(LAnd(BYT1,BYT2),BRSL)
3661 1.1 jruoho if(LNotEqual(Ones,BRSL))
3662 1.1 jruoho {Return(13)}
3663 1.1 jruoho }
3664 1.1 jruoho
3665 1.1 jruoho //test with WORD data
3666 1.1 jruoho if(LEqual(WRD1,WRD2))
3667 1.1 jruoho { Store(LAnd(WRD1,WRD2),WRSL)
3668 1.1 jruoho if(LNotEqual(Ones,WRSL))
3669 1.1 jruoho {Return(14)}
3670 1.1 jruoho }
3671 1.1 jruoho
3672 1.1 jruoho //test with DWORD data
3673 1.1 jruoho if(LEqual(DWD1,DWD2))
3674 1.1 jruoho { Store(LAnd(DWD1,DWD2),DRSL)
3675 1.1 jruoho if(LNotEqual(Ones,DRSL))
3676 1.1 jruoho {Return(15)}
3677 1.1 jruoho }
3678 1.1 jruoho
3679 1.1 jruoho //Test for system memory data for each test case.
3680 1.1 jruoho
3681 1.1 jruoho Store(0xff,BYT1)
3682 1.1 jruoho Store(0xff,SMBY)
3683 1.1 jruoho Store(0x00,BRSL)
3684 1.1 jruoho
3685 1.1 jruoho //test with BYTE system memory data
3686 1.1 jruoho if(LEqual(BYT1,SMBY))
3687 1.1 jruoho { Store(LAnd(BYT1,SMBY),BRSL)
3688 1.1 jruoho if(LNotEqual(Ones,BRSL))
3689 1.1 jruoho {Return(16)}
3690 1.1 jruoho }
3691 1.1 jruoho
3692 1.1 jruoho Store (0xffff,WRD1)
3693 1.1 jruoho Store(0xffff,SMWD)
3694 1.1 jruoho Store(0x0000,WRSL)
3695 1.1 jruoho //test with WORD system memory data
3696 1.1 jruoho if(LEqual(WRD1,SMWD))
3697 1.1 jruoho { Store(LAnd(WRD1,SMWD),WRSL)
3698 1.1 jruoho if(LNotEqual(Ones,WRSL))
3699 1.1 jruoho {Return(17)}
3700 1.1 jruoho }
3701 1.1 jruoho
3702 1.1 jruoho Store(0x000000,DRSL)
3703 1.1 jruoho Store (0xffffff,DWD1)
3704 1.1 jruoho Store(0xffffff,SMDW)
3705 1.1 jruoho
3706 1.1 jruoho //test with DWORD system memory data
3707 1.1 jruoho if(LEqual(DWD1,SMDW))
3708 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL)
3709 1.1 jruoho if(LNotEqual(Ones,DRSL))
3710 1.1 jruoho {Return(18)}
3711 1.1 jruoho }
3712 1.1 jruoho
3713 1.1 jruoho Return(0)
3714 1.1 jruoho
3715 1.1 jruoho }//ANDL
3716 1.1 jruoho
3717 1.1 jruoho //Test the LOr Operator
3718 1.1 jruoho
3719 1.1 jruoho Method (ORL_,2)
3720 1.1 jruoho {//ORL_
3721 1.1 jruoho
3722 1.1 jruoho //test with the arguments passed
3723 1.1 jruoho if(LEqual(Arg0,Arg1))
3724 1.1 jruoho {
3725 1.1 jruoho Store(LOr(Arg0,Arg1),RSLT)
3726 1.1 jruoho if(LNotEqual(Ones,RSLT))
3727 1.1 jruoho {
3728 1.1 jruoho Return(21)
3729 1.1 jruoho }
3730 1.1 jruoho }
3731 1.1 jruoho
3732 1.1 jruoho //test with he locals
3733 1.1 jruoho Store(Arg0,Local0)
3734 1.1 jruoho Store(Arg1,Local1)
3735 1.1 jruoho
3736 1.1 jruoho if(LEqual(Local0,Local1))
3737 1.1 jruoho {
3738 1.1 jruoho Store(LOr(Local0,Local1),RSLT)
3739 1.1 jruoho if(LNotEqual(Ones,RSLT))
3740 1.1 jruoho {Return(22)}
3741 1.1 jruoho }
3742 1.1 jruoho
3743 1.1 jruoho //Check with 1 LOred with 0 on byte data
3744 1.1 jruoho Store(0xff,BYT1)
3745 1.1 jruoho Store(0x00,BYT2)
3746 1.1 jruoho Store(0x00,BRSL)
3747 1.1 jruoho
3748 1.1 jruoho if(LNotEqual(BYT1, BYT2))
3749 1.1 jruoho {
3750 1.1 jruoho Store(LOr(BYT1, BYT2), BRSL)
3751 1.1 jruoho if(LNotEqual(Ones,BRSL))
3752 1.1 jruoho {Return(23)}
3753 1.1 jruoho }
3754 1.1 jruoho
3755 1.1 jruoho //Check with 1 LOred with 0 on WORD data
3756 1.1 jruoho Store(0xffff,WRD1)
3757 1.1 jruoho Store(0x0000,WRD2)
3758 1.1 jruoho Store(0x0000,WRSL)
3759 1.1 jruoho
3760 1.1 jruoho if(LNotEqual(WRD1, WRD2))
3761 1.1 jruoho {
3762 1.1 jruoho Store(LOr(WRD1, WRD2), WRSL)
3763 1.1 jruoho if(LNotEqual(Ones,WRSL))
3764 1.1 jruoho {Return(24)}
3765 1.1 jruoho }
3766 1.1 jruoho
3767 1.1 jruoho //Check with 1 LOred with 0 on DWORD data
3768 1.1 jruoho Store(0xffffffff,DWD1)
3769 1.1 jruoho Store(0x00000000,DWD2)
3770 1.1 jruoho Store(0x00000000,DRSL)
3771 1.1 jruoho
3772 1.1 jruoho if(LNotEqual(DWD1, DWD2))
3773 1.1 jruoho {
3774 1.1 jruoho Store(LOr(DWD1, DWD2), DRSL)
3775 1.1 jruoho if(LNotEqual(Ones,DRSL))
3776 1.1 jruoho {Return(25)}
3777 1.1 jruoho }
3778 1.1 jruoho
3779 1.1 jruoho Store(0x00,BYT1)
3780 1.1 jruoho Store(0xff,SMBY)
3781 1.1 jruoho Store(0x00,BRSL)
3782 1.1 jruoho
3783 1.1 jruoho //test with BYTE system memory data
3784 1.1 jruoho if(LEqual(BYT1,SMBY))
3785 1.1 jruoho { Store(LOr(BYT1,SMBY),BRSL)
3786 1.1 jruoho if(LNotEqual(Ones,BRSL))
3787 1.1 jruoho {Return(26)}
3788 1.1 jruoho }
3789 1.1 jruoho
3790 1.1 jruoho Store (0x0000,WRD1)
3791 1.1 jruoho Store(0xffff,SMWD)
3792 1.1 jruoho Store(0x0000,WRSL)
3793 1.1 jruoho
3794 1.1 jruoho //test with WORD system memory data
3795 1.1 jruoho if(LEqual(WRD1,SMWD))
3796 1.1 jruoho { Store(LOr(WRD1,SMWD),WRSL)
3797 1.1 jruoho if(LNotEqual(Ones,WRSL))
3798 1.1 jruoho {Return(27)}
3799 1.1 jruoho }
3800 1.1 jruoho
3801 1.1 jruoho
3802 1.1 jruoho Store(0x00000000,DWD1)
3803 1.1 jruoho Store(0xffffffff,SMDW)
3804 1.1 jruoho Store(0x00000000,DRSL)
3805 1.1 jruoho
3806 1.1 jruoho //test with DWORD system memory data
3807 1.1 jruoho if(LEqual(DWD1,SMDW))
3808 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL)
3809 1.1 jruoho if(LNotEqual(Ones,DRSL))
3810 1.1 jruoho {Return(28)}
3811 1.1 jruoho }
3812 1.1 jruoho Return(0)
3813 1.1 jruoho
3814 1.1 jruoho }//ORL_
3815 1.1 jruoho
3816 1.1 jruoho //This method tests LGreater and LNot operator
3817 1.1 jruoho Method(LSGR,2)
3818 1.1 jruoho {//LSGR
3819 1.1 jruoho
3820 1.1 jruoho //Test on arguements passed
3821 1.1 jruoho
3822 1.1 jruoho //in test data, Arg1 > Arg0
3823 1.1 jruoho if(LEqual(Ones,LNot(LGreater(Arg1,Arg0))))
3824 1.1 jruoho {Return(31)}
3825 1.1 jruoho
3826 1.1 jruoho //test LLessEqual
3827 1.1 jruoho if(LEqual(Ones,LNot(LGreaterEqual(Arg1,Arg0))))
3828 1.1 jruoho {Return(32)}
3829 1.1 jruoho
3830 1.1 jruoho if(LEqual(Ones,LLess(Arg1,Arg0)))
3831 1.1 jruoho {Return(33)}
3832 1.1 jruoho
3833 1.1 jruoho //test LLessEqual
3834 1.1 jruoho if(LEqual(Ones,LLessEqual(Arg1,Arg0)))
3835 1.1 jruoho {Return(34)}
3836 1.1 jruoho
3837 1.1 jruoho Store(Arg0,Local0)
3838 1.1 jruoho Store(Arg1,Local1)
3839 1.1 jruoho
3840 1.1 jruoho //test with the locals
3841 1.1 jruoho if(LNot(LGreater(Local1,Local0)))
3842 1.1 jruoho {Return(35)}
3843 1.1 jruoho
3844 1.1 jruoho //test on Byte data
3845 1.1 jruoho Store(0x12,BYT1)
3846 1.1 jruoho Store(0x21,BYT2)
3847 1.1 jruoho
3848 1.1 jruoho if(LNot(LGreater(BYT2,BYT1)))
3849 1.1 jruoho {Return(36)}
3850 1.1 jruoho
3851 1.1 jruoho if(LNot(LLess(BYT1,BYT2)))
3852 1.1 jruoho {Return(37)}
3853 1.1 jruoho
3854 1.1 jruoho //test LGreaterEqual with byte data
3855 1.1 jruoho if(LNot(LGreaterEqual(BYT2,BYT1)))
3856 1.1 jruoho {Return(38)}
3857 1.1 jruoho
3858 1.1 jruoho //test LLessEqual byte data
3859 1.1 jruoho if(LNot(LLessEqual(BYT1,BYT2)))
3860 1.1 jruoho {Return(39)}
3861 1.1 jruoho
3862 1.1 jruoho
3863 1.1 jruoho //test on Word data
3864 1.1 jruoho Store(0x1212,WRD1)
3865 1.1 jruoho Store(0x2121,WRD2)
3866 1.1 jruoho
3867 1.1 jruoho if(LNot(LGreater(WRD2,WRD1)))
3868 1.1 jruoho {Return(310)}
3869 1.1 jruoho
3870 1.1 jruoho if(LNot(LLess(WRD1,WRD2)))
3871 1.1 jruoho {Return(311)}
3872 1.1 jruoho
3873 1.1 jruoho //Test LGreaterEqual with Word Data
3874 1.1 jruoho if(LNot(LGreaterEqual(WRD2,WRD1)))
3875 1.1 jruoho {Return(312)}
3876 1.1 jruoho
3877 1.1 jruoho
3878 1.1 jruoho //Test LLessEqual with Word Data
3879 1.1 jruoho if(LNot(LLessEqual(WRD1,WRD2)))
3880 1.1 jruoho {Return(313)}
3881 1.1 jruoho
3882 1.1 jruoho //test on DWord data
3883 1.1 jruoho Store(0x12121212,DWD1)
3884 1.1 jruoho Store(0x21212121,DWD2)
3885 1.1 jruoho
3886 1.1 jruoho if(LNot(LGreater(DWD2,DWD1)))
3887 1.1 jruoho {Return(314)}
3888 1.1 jruoho
3889 1.1 jruoho if(LNot(LLess(DWD1,DWD2)))
3890 1.1 jruoho {Return(315)}
3891 1.1 jruoho
3892 1.1 jruoho
3893 1.1 jruoho //Test LGreaterEqual with Dword
3894 1.1 jruoho if(LNot(LGreaterEqual(DWD2,DWD1)))
3895 1.1 jruoho {Return(316)}
3896 1.1 jruoho
3897 1.1 jruoho //Test LLessEqual DWord
3898 1.1 jruoho if(LNot(LLessEqual(DWD1,DWD2)))
3899 1.1 jruoho {Return(317)}
3900 1.1 jruoho
3901 1.1 jruoho Return(0)
3902 1.1 jruoho }//LSGR
3903 1.1 jruoho
3904 1.1 jruoho //The test method
3905 1.1 jruoho Method(TEST)
3906 1.1 jruoho {
3907 1.1 jruoho Store ("++++++++ LOps Test", Debug)
3908 1.1 jruoho
3909 1.1 jruoho Store(0,RSLT)
3910 1.1 jruoho //Call LAndOp method
3911 1.1 jruoho Store(ANDL(2,2),RSLT)
3912 1.1 jruoho if(LNotEqual(RSLT,0))
3913 1.1 jruoho {Return(RSLT)}
3914 1.1 jruoho
3915 1.1 jruoho //Call LOrOp Method
3916 1.1 jruoho Store(ORL_(5,5),RSLT)
3917 1.1 jruoho if(LNotEqual(RSLT,0))
3918 1.1 jruoho {Return(RSLT)}
3919 1.1 jruoho
3920 1.1 jruoho //Call LSGR Method
3921 1.1 jruoho Store(LSGR(5,7),RSLT)
3922 1.1 jruoho if(LNotEqual(RSLT,0))
3923 1.1 jruoho {Return(RSLT)}
3924 1.1 jruoho
3925 1.1 jruoho Return(0)
3926 1.1 jruoho }//TEST
3927 1.1 jruoho }//LOPS
3928 1.1 jruoho
3929 1.1 jruoho //
3930 1.1 jruoho // test FdSetOps.asl
3931 1.1 jruoho //
3932 1.1 jruoho // FindSetLeftBit - Find Set Left Bit
3933 1.1 jruoho // FindSetLeftBitTerm := FindSetLeftBit
3934 1.1 jruoho // ( Source, //TermArg=>Integer
3935 1.1 jruoho // Result //Nothing | SuperName
3936 1.1 jruoho // ) => Integer
3937 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of
3938 1.1 jruoho // the first MSb (most significant set bit) is optionally stored into Result.
3939 1.1 jruoho // The result of 0 means no bit was set, 1 means the left-most bit set is the
3940 1.1 jruoho // first bit, 2 means the left-most bit set is the second bit, and so on.
3941 1.1 jruoho // FindSetRightBit - Find Set Right Bit
3942 1.1 jruoho
3943 1.1 jruoho // FindSetRightBitTerm := FindSetRightBit
3944 1.1 jruoho // ( Source, //TermArg=>Integer
3945 1.1 jruoho // Result //Nothing | SuperName
3946 1.1 jruoho // ) => Integer
3947 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of
3948 1.1 jruoho // the most LSb (least significant set bit) is optionally stored in Result.
3949 1.1 jruoho // The result of 0 means no bit was set, 32 means the first bit set is the
3950 1.1 jruoho // 32nd bit, 31 means the first bit set is the 31st bit, and so on.
3951 1.1 jruoho
3952 1.1 jruoho // If the Control method is success Zero is returned. Otherwise a non-zero
3953 1.1 jruoho // number is returned.
3954 1.1 jruoho //
3955 1.1 jruoho Device (FDSO)
3956 1.1 jruoho { // FDSO
3957 1.1 jruoho
3958 1.1 jruoho // Create System Memory Operation Region and field overlays
3959 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
3960 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
3961 1.1 jruoho {
3962 1.1 jruoho SMDW, 32, // 32-bit DWORD
3963 1.1 jruoho SMWD, 16, // 16-bit WORD
3964 1.1 jruoho SMBY, 8, // 8-bit BYTE
3965 1.1 jruoho } // Field(RAM)
3966 1.1 jruoho
3967 1.1 jruoho // Byte Data
3968 1.1 jruoho Name (BYT1, 1)
3969 1.1 jruoho Name (BRSL, 0x00)
3970 1.1 jruoho
3971 1.1 jruoho // Word Data
3972 1.1 jruoho Name (WRD1, 0x100)
3973 1.1 jruoho Name (WRSL, 0x0000)
3974 1.1 jruoho
3975 1.1 jruoho // DWord Data
3976 1.1 jruoho Name (DWD1, 0x10000)
3977 1.1 jruoho Name (DRSL, 0x00000000)
3978 1.1 jruoho Name (RSLT, 1)
3979 1.1 jruoho Name (CNTR, 1)
3980 1.1 jruoho
3981 1.1 jruoho Method (SHFT,2)
3982 1.1 jruoho // Arg0 is the actual data and Arg1 is the bit position
3983 1.1 jruoho { // SHFT
3984 1.1 jruoho Store (Arg0, Local0)
3985 1.1 jruoho Store (Arg1, Local1)
3986 1.1 jruoho
3987 1.1 jruoho FindSetLeftBit (Arg0, BRSL)
3988 1.1 jruoho If (LNotEqual (BRSL, Arg1))
3989 1.1 jruoho { Return (0x11) }
3990 1.1 jruoho If (LNotEqual (Arg0, Local0))
3991 1.1 jruoho { Return (0x12) }
3992 1.1 jruoho
3993 1.1 jruoho FindSetLeftBit (Local0, BRSL)
3994 1.1 jruoho If (LNotEqual (BRSL, Local1))
3995 1.1 jruoho { Return (0x13) }
3996 1.1 jruoho If (LNotEqual (Arg0, Local0))
3997 1.1 jruoho { Return (0x14) }
3998 1.1 jruoho
3999 1.1 jruoho // test the byte value for SetLeftBit
4000 1.1 jruoho Store (7, BYT1)
4001 1.1 jruoho FindSetLeftBit (BYT1, BRSL)
4002 1.1 jruoho If (LNotEqual (BRSL, 3))
4003 1.1 jruoho { Return (0x15) }
4004 1.1 jruoho If (LNotEqual (BYT1, 7))
4005 1.1 jruoho { Return (0x16) }
4006 1.1 jruoho
4007 1.1 jruoho Store (1, BYT1)
4008 1.1 jruoho Store (1, CNTR)
4009 1.1 jruoho While (LLessEqual (CNTR, 8))
4010 1.1 jruoho { // FindSetLeftBit check loop for byte data
4011 1.1 jruoho FindSetLeftBit (BYT1, BRSL)
4012 1.1 jruoho If (LNotEqual (BRSL, CNTR))
4013 1.1 jruoho { Return (0x17) }
4014 1.1 jruoho
4015 1.1 jruoho // Shift the bits to check the same
4016 1.1 jruoho ShiftLeft (BYT1, 1, BYT1)
4017 1.1 jruoho Increment (CNTR)
4018 1.1 jruoho } // FindSetLeftBit check loop for byte data
4019 1.1 jruoho
4020 1.1 jruoho
4021 1.1 jruoho // Check BYTE value for SetRightBit
4022 1.1 jruoho Store (7, BYT1)
4023 1.1 jruoho FindSetRightBit (BYT1, BRSL)
4024 1.1 jruoho If (LNotEqual (BRSL, 1))
4025 1.1 jruoho { Return (0x21) }
4026 1.1 jruoho If (LNotEqual (BYT1, 7))
4027 1.1 jruoho { Return (0x22) }
4028 1.1 jruoho
4029 1.1 jruoho Store (1, CNTR)
4030 1.1 jruoho Store (0xFF, BYT1)
4031 1.1 jruoho While (LLessEqual (CNTR, 8))
4032 1.1 jruoho { // FindSetRightBit check loop for byte data
4033 1.1 jruoho FindSetRightBit (BYT1, BRSL)
4034 1.1 jruoho If (LNotEqual (BRSL, CNTR))
4035 1.1 jruoho { Return (0x23) }
4036 1.1 jruoho
4037 1.1 jruoho ShiftLeft (BYT1, 1, BYT1)
4038 1.1 jruoho Increment (CNTR)
4039 1.1 jruoho } // FindSetRightBit check loop for byte data
4040 1.1 jruoho
4041 1.1 jruoho
4042 1.1 jruoho // Test Word value for SetLeftBit
4043 1.1 jruoho Store (9, CNTR)
4044 1.1 jruoho Store (0x100, WRD1)
4045 1.1 jruoho While (LLessEqual (CNTR, 16))
4046 1.1 jruoho {
4047 1.1 jruoho // FindSetLeftBit check loop for Word data
4048 1.1 jruoho FindSetLeftBit (WRD1, WRSL)
4049 1.1 jruoho If (LNotEqual (WRSL, CNTR))
4050 1.1 jruoho { Return (0x31) }
4051 1.1 jruoho
4052 1.1 jruoho // Shift the bits to check the same
4053 1.1 jruoho ShiftLeft (WRD1, 1, WRD1)
4054 1.1 jruoho Increment (CNTR)
4055 1.1 jruoho } // FindSetLeftBit check loop for Word data
4056 1.1 jruoho
4057 1.1 jruoho // Check Word value for SetRightBit
4058 1.1 jruoho Store (9, CNTR)
4059 1.1 jruoho Store (0xFF00, WRD1)
4060 1.1 jruoho While (LLessEqual (CNTR, 16))
4061 1.1 jruoho {
4062 1.1 jruoho // FindSetRightBit check loop for Word data
4063 1.1 jruoho FindSetRightBit (WRD1, WRSL)
4064 1.1 jruoho If (LNotEqual (WRSL, CNTR))
4065 1.1 jruoho { Return (0x32) }
4066 1.1 jruoho
4067 1.1 jruoho ShiftLeft (WRD1, 1, WRD1)
4068 1.1 jruoho Increment (CNTR)
4069 1.1 jruoho } // FindSetRightBit check loop for Word data
4070 1.1 jruoho
4071 1.1 jruoho // Test the DWord value for SetLeftBit
4072 1.1 jruoho Store (17, CNTR)
4073 1.1 jruoho Store (0x10000, DWD1)
4074 1.1 jruoho While (LLessEqual (CNTR, 32))
4075 1.1 jruoho {
4076 1.1 jruoho // FindSetLeftBit check loop for Dword
4077 1.1 jruoho FindSetLeftBit (DWD1, DRSL)
4078 1.1 jruoho If (LNotEqual (DRSL, CNTR))
4079 1.1 jruoho { Return (0x41) }
4080 1.1 jruoho
4081 1.1 jruoho // Shift the bits to check the same
4082 1.1 jruoho ShiftLeft (DWD1, 1, DWD1)
4083 1.1 jruoho Increment (CNTR)
4084 1.1 jruoho } // FindSetLeftBit check loop for Dword
4085 1.1 jruoho
4086 1.1 jruoho // Check DWord value for SetRightBit
4087 1.1 jruoho Store (17, CNTR)
4088 1.1 jruoho Store (0xFFFF0000, DWD1)
4089 1.1 jruoho While (LLessEqual (CNTR, 32))
4090 1.1 jruoho { // FindSetRightBit Check loop for DWORD
4091 1.1 jruoho FindSetRightBit (DWD1, DRSL)
4092 1.1 jruoho If (LNotEqual (DRSL, CNTR))
4093 1.1 jruoho { Return (0x42) }
4094 1.1 jruoho
4095 1.1 jruoho ShiftLeft (DWD1, 1, DWD1)
4096 1.1 jruoho Increment (CNTR)
4097 1.1 jruoho } // FindSetRightBit Check loop for DWORD
4098 1.1 jruoho
4099 1.1 jruoho Return (0)
4100 1.1 jruoho } // SHFT
4101 1.1 jruoho
4102 1.1 jruoho // Test method called from amlexec
4103 1.1 jruoho Method (TEST)
4104 1.1 jruoho { // TEST
4105 1.1 jruoho
4106 1.1 jruoho Store ("++++++++ FdSetOps Test", Debug)
4107 1.1 jruoho
4108 1.1 jruoho Store (SHFT (0x80, 8), RSLT)
4109 1.1 jruoho If (LNotEqual (RSLT, 0))
4110 1.1 jruoho { Return (RSLT) }
4111 1.1 jruoho
4112 1.1 jruoho Return (0) // pass
4113 1.1 jruoho } // TEST
4114 1.1 jruoho } // Device FDSO
4115 1.1 jruoho
4116 1.1 jruoho //
4117 1.1 jruoho // test MulDivOp.asl
4118 1.1 jruoho //
4119 1.1 jruoho Device (MLDV)
4120 1.1 jruoho {
4121 1.1 jruoho // create System Memory Operation Region and field overlays
4122 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4123 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4124 1.1 jruoho {
4125 1.1 jruoho SMDW, 32, // 32-bit DWORD
4126 1.1 jruoho SMWD, 16, // 16-bit WORD
4127 1.1 jruoho SMBY, 8, // 8-bit BYTE
4128 1.1 jruoho } // Field(RAM)
4129 1.1 jruoho
4130 1.1.1.3 christos Method (TEST,, Serialized)
4131 1.1 jruoho {
4132 1.1 jruoho Store ("++++++++ MulDivOp Test", Debug)
4133 1.1 jruoho
4134 1.1 jruoho Name (RMDR, 0)
4135 1.1 jruoho Name (DWRD, 0x12345678)
4136 1.1 jruoho Name (WRD, 0x1234)
4137 1.1 jruoho Name (BYT, 0x12)
4138 1.1 jruoho
4139 1.1 jruoho // Test MultiplyOp with DWORD data
4140 1.1 jruoho Store (0x12345678, DWRD)
4141 1.1 jruoho Multiply (DWRD, 3, DWRD)
4142 1.1 jruoho If (LNotEqual (DWRD, 0x369D0368))
4143 1.1 jruoho { Return (DWRD) }
4144 1.1 jruoho
4145 1.1 jruoho // Test MultiplyOp with WORD data
4146 1.1 jruoho Multiply (WRD, 4, WRD)
4147 1.1 jruoho If (LNotEqual (WRD, 0x48D0))
4148 1.1 jruoho { Return (WRD) }
4149 1.1 jruoho
4150 1.1 jruoho // Test MultiplyOp with BYTE data
4151 1.1 jruoho Multiply (BYT, 5, BYT)
4152 1.1 jruoho If (LNotEqual (BYT, 0x5A))
4153 1.1 jruoho { Return (BYT) }
4154 1.1 jruoho
4155 1.1 jruoho // Test DivideOp with DWORD data
4156 1.1 jruoho Divide (DWRD, 3, DWRD, RMDR)
4157 1.1 jruoho If (LNotEqual (DWRD, 0x12345678))
4158 1.1 jruoho { Return (DWRD) }
4159 1.1 jruoho If (LNotEqual (RMDR, 0))
4160 1.1 jruoho { Return (RMDR) }
4161 1.1 jruoho
4162 1.1 jruoho // Test DivideOp with WORD data
4163 1.1 jruoho Divide (WRD, 4, WRD, RMDR)
4164 1.1 jruoho If (LNotEqual (WRD, 0x1234))
4165 1.1 jruoho { Return (WRD) }
4166 1.1 jruoho If (LNotEqual (RMDR, 0))
4167 1.1 jruoho { Return (RMDR) }
4168 1.1 jruoho
4169 1.1 jruoho // Test DivideOp with BYTE data
4170 1.1 jruoho Divide (BYT, 5, BYT, RMDR)
4171 1.1 jruoho If (LNotEqual (BYT, 0x12))
4172 1.1 jruoho { Return (BYT) }
4173 1.1 jruoho If (LNotEqual (RMDR, 0))
4174 1.1 jruoho { Return (RMDR) }
4175 1.1 jruoho
4176 1.1 jruoho
4177 1.1 jruoho // test MultiplyOp with DWORD SystemMemory OpRegion
4178 1.1 jruoho Store (0x01234567, SMDW)
4179 1.1 jruoho Multiply (SMDW, 2, SMDW)
4180 1.1 jruoho If (LNotEqual (SMDW, 0x02468ACE))
4181 1.1 jruoho { Return (SMDW) }
4182 1.1 jruoho
4183 1.1 jruoho // test DivideOp with DWORD SystemMemory OpRegion
4184 1.1 jruoho Divide (SMDW, 3, SMDW, RMDR)
4185 1.1 jruoho If (LNotEqual (SMDW, 0x00C22E44))
4186 1.1 jruoho { Return (SMDW) }
4187 1.1 jruoho If (LNotEqual (RMDR, 2))
4188 1.1 jruoho { Return (RMDR) }
4189 1.1 jruoho
4190 1.1 jruoho
4191 1.1 jruoho // test MultiplyOp with WORD SystemMemory OpRegion
4192 1.1 jruoho Store (0x0123, SMWD)
4193 1.1 jruoho Multiply (SMWD, 3, SMWD)
4194 1.1 jruoho If (LNotEqual (SMWD, 0x369))
4195 1.1 jruoho { Return (SMWD) }
4196 1.1 jruoho
4197 1.1 jruoho // test DivideOp with WORD SystemMemory OpRegion
4198 1.1 jruoho Divide (SMWD, 2, SMWD, RMDR)
4199 1.1 jruoho If (LNotEqual (SMWD, 0x01B4))
4200 1.1 jruoho { Return (SMWD) }
4201 1.1 jruoho If (LNotEqual (RMDR, 1))
4202 1.1 jruoho { Return (RMDR) }
4203 1.1 jruoho
4204 1.1 jruoho
4205 1.1 jruoho // test MultiplyOp with BYTE SystemMemory OpRegion
4206 1.1 jruoho Store (0x01, SMBY)
4207 1.1 jruoho Multiply (SMBY, 7, SMBY)
4208 1.1 jruoho If (LNotEqual (SMBY, 0x07))
4209 1.1 jruoho { Return (SMBY) }
4210 1.1 jruoho
4211 1.1 jruoho // test DivideOp with BYTE SystemMemory OpRegion
4212 1.1 jruoho Divide (SMBY, 4, SMBY, RMDR)
4213 1.1 jruoho If (LNotEqual (SMBY, 0x01))
4214 1.1 jruoho { Return (SMBY) }
4215 1.1 jruoho If (LNotEqual (RMDR, 3))
4216 1.1 jruoho { Return (RMDR) }
4217 1.1 jruoho
4218 1.1 jruoho Return (0)
4219 1.1 jruoho } // TEST
4220 1.1 jruoho } // MLDV
4221 1.1 jruoho
4222 1.1 jruoho //
4223 1.1 jruoho // test NBitOps.asl
4224 1.1 jruoho //
4225 1.1 jruoho //NAnd - Bit-wise NAnd
4226 1.1 jruoho //NAndTerm := NAnd(
4227 1.1 jruoho // Source1, //TermArg=>Integer
4228 1.1 jruoho // Source2 //TermArg=>Integer
4229 1.1 jruoho // Result //Nothing | SuperName
4230 1.1 jruoho //) => Integer
4231 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NAND is performed, and the result is optionally
4232 1.1 jruoho //stored in Result.
4233 1.1 jruoho
4234 1.1 jruoho //NOr - Bitwise NOr
4235 1.1 jruoho //NOrTerm := NOr(
4236 1.1 jruoho // Source1, //TermArg=>Integer
4237 1.1 jruoho // Source2 //TermArg=>Integer
4238 1.1 jruoho // Result //Nothing | SuperName
4239 1.1 jruoho //) => Integer
4240 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NOR is performed, and the result is optionally
4241 1.1 jruoho //stored in Result.
4242 1.1 jruoho // Not - Not
4243 1.1 jruoho //NotTerm := Not(
4244 1.1 jruoho // Source, //TermArg=>Integer
4245 1.1 jruoho // Result //Nothing | SuperName
4246 1.1 jruoho //) => Integer
4247 1.1 jruoho //Source1 is evaluated as an integer data type, a bit-wise NOT is performed, and the result is optionally stored in
4248 1.1 jruoho //Result.
4249 1.1 jruoho
4250 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned
4251 1.1 jruoho
4252 1.1 jruoho Device (NBIT)
4253 1.1 jruoho {//NBIT
4254 1.1 jruoho
4255 1.1 jruoho //Create System Memory Operation Region and field overlays
4256 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4257 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4258 1.1 jruoho {
4259 1.1 jruoho SMDW, 32, // 32-bit DWORD
4260 1.1 jruoho SMWD, 16, // 16-bit WORD
4261 1.1 jruoho SMBY, 8, // 8-bit BYTE
4262 1.1 jruoho }// Field(RAM)
4263 1.1 jruoho
4264 1.1 jruoho
4265 1.1 jruoho //And with Byte Data
4266 1.1 jruoho Name (BYT1, 0xff)
4267 1.1 jruoho Name (BYT2, 0xff)
4268 1.1 jruoho Name (BRSL, 0x00)
4269 1.1 jruoho
4270 1.1 jruoho //And with Word Data
4271 1.1 jruoho Name (WRD1, 0xffff)
4272 1.1 jruoho Name (WRD2, 0xffff)
4273 1.1 jruoho Name (WRSL, 0x0000)
4274 1.1 jruoho
4275 1.1 jruoho //And with DWord Data
4276 1.1 jruoho Name (DWD1, 0xffffffff)
4277 1.1 jruoho Name (DWD2, 0xffffffff)
4278 1.1 jruoho Name (DRSL, 0x00000000)
4279 1.1 jruoho Name(RSLT,1)
4280 1.1 jruoho
4281 1.1 jruoho
4282 1.1 jruoho Name(ARSL,0x00)
4283 1.1 jruoho Name(LRSL,0x00)
4284 1.1 jruoho
4285 1.1 jruoho Method(NNDB,2)
4286 1.1 jruoho {//NNDB
4287 1.1 jruoho
4288 1.1 jruoho Store(0xffffffff,SMDW)
4289 1.1 jruoho Store(0xffff,SMWD)
4290 1.1 jruoho Store(0xff,SMBY)
4291 1.1 jruoho
4292 1.1 jruoho
4293 1.1 jruoho NAnd(Arg0,Arg1,ARSL)
4294 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4295 1.1 jruoho {Return(11)}
4296 1.1 jruoho
4297 1.1 jruoho Store(Arg0,local0)
4298 1.1 jruoho Store(Arg1,Local1)
4299 1.1 jruoho
4300 1.1 jruoho NAnd(Local0,Local1,LRSL)
4301 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4302 1.1 jruoho {Return(12)}
4303 1.1 jruoho
4304 1.1 jruoho
4305 1.1 jruoho //Byte data
4306 1.1 jruoho NAnd(BYT1,BYT2,BRSL)
4307 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4308 1.1 jruoho {Return(13)}
4309 1.1 jruoho
4310 1.1 jruoho //Word Data
4311 1.1 jruoho NAnd(WRD1,WRD2,WRSL)
4312 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4313 1.1 jruoho {Return(14)}
4314 1.1 jruoho
4315 1.1 jruoho //DWord Data
4316 1.1 jruoho NAnd(DWD1,DWD2,DRSL)
4317 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4318 1.1 jruoho {Return(15)}
4319 1.1 jruoho
4320 1.1 jruoho //Byte data
4321 1.1 jruoho NAnd(SMBY,0xff,BRSL)
4322 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4323 1.1 jruoho {Return(16)}
4324 1.1 jruoho
4325 1.1 jruoho //Word Data
4326 1.1 jruoho NAnd(SMWD,0xffff,WRSL)
4327 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4328 1.1 jruoho {Return(17)}
4329 1.1 jruoho
4330 1.1 jruoho //DWord Data
4331 1.1 jruoho NAnd(SMDW,0xffffffff,DRSL)
4332 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4333 1.1 jruoho {Return(18)}
4334 1.1 jruoho
4335 1.1 jruoho Return(0)
4336 1.1 jruoho
4337 1.1 jruoho }//NNDB
4338 1.1 jruoho
4339 1.1 jruoho Method(NNOR,2)
4340 1.1 jruoho {//NNOR
4341 1.1 jruoho
4342 1.1 jruoho NOr(Arg0,Arg1,ARSL)
4343 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4344 1.1 jruoho {Return(21)}
4345 1.1 jruoho
4346 1.1 jruoho Store(Arg0,local0)
4347 1.1 jruoho Store(Arg1,Local1)
4348 1.1 jruoho
4349 1.1 jruoho NOr(Local0,Local1,LRSL)
4350 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4351 1.1 jruoho {Return(22)}
4352 1.1 jruoho
4353 1.1 jruoho
4354 1.1 jruoho //Byte data
4355 1.1 jruoho NOr(BYT1,BYT2,BRSL)
4356 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4357 1.1 jruoho {Return(23)}
4358 1.1 jruoho
4359 1.1 jruoho //Word Data
4360 1.1 jruoho NOr(WRD1,WRD2,WRSL)
4361 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4362 1.1 jruoho {Return(24)}
4363 1.1 jruoho
4364 1.1 jruoho //DWord Data
4365 1.1 jruoho NOr(DWD1,DWD2,DRSL)
4366 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4367 1.1 jruoho {Return(25)}
4368 1.1 jruoho
4369 1.1 jruoho //System Memory Byte data
4370 1.1 jruoho NOr(SMBY,0xff,BRSL)
4371 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4372 1.1 jruoho {Return(26)}
4373 1.1 jruoho
4374 1.1 jruoho //System Memory Word Data
4375 1.1 jruoho NOr(SMWD,0xffff,WRSL)
4376 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4377 1.1 jruoho {Return(27)}
4378 1.1 jruoho
4379 1.1 jruoho //System Memory DWord Data
4380 1.1 jruoho NOr(SMDW,0xffffffff,DRSL)
4381 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4382 1.1 jruoho {Return(28)}
4383 1.1 jruoho
4384 1.1 jruoho Return(0)
4385 1.1 jruoho
4386 1.1 jruoho }//NNOR
4387 1.1 jruoho
4388 1.1 jruoho Method(NNOT,2)
4389 1.1 jruoho {//NNOT
4390 1.1 jruoho
4391 1.1 jruoho Or(Arg0,Arg1,ARSL)
4392 1.1 jruoho Not(ARSL,ARSL)
4393 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd))
4394 1.1 jruoho {Return(31)}
4395 1.1 jruoho
4396 1.1 jruoho Store(Arg0,local0)
4397 1.1 jruoho Store(Arg1,Local1)
4398 1.1 jruoho
4399 1.1 jruoho Or(Local0,Local1,LRSL)
4400 1.1 jruoho Not(LRSL,LRSL)
4401 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd))
4402 1.1 jruoho {Return(32)}
4403 1.1 jruoho
4404 1.1 jruoho
4405 1.1 jruoho //Byte data
4406 1.1 jruoho Or(BYT1,BYT2,BRSL)
4407 1.1 jruoho Not(BRSL,BRSL)
4408 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4409 1.1 jruoho {Return(33)}
4410 1.1 jruoho
4411 1.1 jruoho //Word Data
4412 1.1 jruoho Or(WRD1,WRD2,WRSL)
4413 1.1 jruoho Not(WRSL,WRSL)
4414 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4415 1.1 jruoho {Return(34)}
4416 1.1 jruoho
4417 1.1 jruoho //DWord Data
4418 1.1 jruoho Or(DWD1,DWD2,DRSL)
4419 1.1 jruoho Not(DRSL,DRSL)
4420 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4421 1.1 jruoho {Return(35)}
4422 1.1 jruoho
4423 1.1 jruoho //System Memory Byte data
4424 1.1 jruoho Or(SMBY,0xff,BRSL)
4425 1.1 jruoho Not(BRSL,BRSL)
4426 1.1 jruoho if(LNotEqual(BRSL,0xffffff00))
4427 1.1 jruoho {Return(36)}
4428 1.1 jruoho
4429 1.1 jruoho //System Memory Word Data
4430 1.1 jruoho Or(SMWD,0xffff,WRSL)
4431 1.1 jruoho Not(WRSL,WRSL)
4432 1.1 jruoho if(LNotEqual(WRSL,0xffff0000))
4433 1.1 jruoho {Return(37)}
4434 1.1 jruoho
4435 1.1 jruoho //System Memory DWord Data
4436 1.1 jruoho Or(SMDW,0xffffffff,DRSL)
4437 1.1 jruoho Not(DRSL,DRSL)
4438 1.1 jruoho if(LNotEqual(DRSL,0x00000000))
4439 1.1 jruoho {Return(38)}
4440 1.1 jruoho
4441 1.1 jruoho Return(0)
4442 1.1 jruoho }//NNOT
4443 1.1 jruoho
4444 1.1 jruoho
4445 1.1 jruoho Method(TEST)
4446 1.1 jruoho {
4447 1.1 jruoho
4448 1.1 jruoho Store ("++++++++ NBitOps Test", Debug)
4449 1.1 jruoho
4450 1.1 jruoho Store(NNDB(2,2),RSLT)
4451 1.1 jruoho if(LNotEqual(RSLT,0))
4452 1.1 jruoho {Return(RSLT)}
4453 1.1 jruoho
4454 1.1 jruoho Store(NNOR(2,2),RSLT)
4455 1.1 jruoho if(LNotEqual(RSLT,0))
4456 1.1 jruoho {Return(RSLT)}
4457 1.1 jruoho
4458 1.1 jruoho Store(NNOT(2,2),RSLT)
4459 1.1 jruoho if(LNotEqual(RSLT,0))
4460 1.1 jruoho {Return(RSLT)}
4461 1.1 jruoho
4462 1.1 jruoho
4463 1.1 jruoho Return(0)
4464 1.1 jruoho }
4465 1.1 jruoho
4466 1.1 jruoho }//Device NBIT
4467 1.1 jruoho
4468 1.1 jruoho //
4469 1.1 jruoho // test ShftOp.asl
4470 1.1 jruoho //
4471 1.1 jruoho //ShiftRightTerm := ShiftRight(
4472 1.1 jruoho // Source, //TermArg=>Integer
4473 1.1 jruoho // ShiftCount //TermArg=>Integer
4474 1.1 jruoho // Result //Nothing | SuperName
4475 1.1 jruoho //) => Integer
4476 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted right with the most significant bit
4477 1.1 jruoho //zeroed ShiftCount times. The result is optionally stored into Result.
4478 1.1 jruoho
4479 1.1 jruoho //ShiftLeft(
4480 1.1 jruoho // Source, //TermArg=>Integer
4481 1.1 jruoho // ShiftCount //TermArg=>Integer
4482 1.1 jruoho // Result //Nothing | SuperName
4483 1.1 jruoho //) => Integer
4484 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted left with the least significant
4485 1.1 jruoho //bit zeroed ShiftCount times. The result is optionally stored into Result.
4486 1.1 jruoho
4487 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned
4488 1.1 jruoho Device (SHFT)
4489 1.1 jruoho {//SHFT
4490 1.1 jruoho
4491 1.1 jruoho //Create System Memory Operation Region and field overlays
4492 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
4493 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
4494 1.1 jruoho {
4495 1.1 jruoho SMDW, 32, // 32-bit DWORD
4496 1.1 jruoho SMWD, 16, // 16-bit WORD
4497 1.1 jruoho SMBY, 8, // 8-bit BYTE
4498 1.1 jruoho }// Field(RAM)
4499 1.1 jruoho
4500 1.1 jruoho
4501 1.1 jruoho Name(SHFC,0x00)
4502 1.1 jruoho
4503 1.1 jruoho //And with Byte Data
4504 1.1 jruoho Name (BYT1, 0xff)
4505 1.1 jruoho Name (BRSL, 0x00)
4506 1.1 jruoho
4507 1.1 jruoho //And with Word Data
4508 1.1 jruoho Name (WRD1, 0xffff)
4509 1.1 jruoho Name (WRSL, 0x0000)
4510 1.1 jruoho
4511 1.1 jruoho //And with DWord Data
4512 1.1 jruoho Name (DWD1, 0xffffffff)
4513 1.1 jruoho Name (DRSL, 0x00000000)
4514 1.1 jruoho
4515 1.1 jruoho Name(RSLT,1)
4516 1.1 jruoho
4517 1.1 jruoho Name(ARSL,0x00)
4518 1.1 jruoho Name(LRSL,0x00)
4519 1.1 jruoho
4520 1.1 jruoho Method(SLFT,2)
4521 1.1 jruoho {//SLFT
4522 1.1 jruoho
4523 1.1 jruoho Store(0xffffffff,SMDW)
4524 1.1 jruoho Store(0xffff,SMWD)
4525 1.1 jruoho Store(0xff,SMBY)
4526 1.1 jruoho
4527 1.1 jruoho
4528 1.1 jruoho //Arg0-> 2 & Arg1->2
4529 1.1 jruoho ShiftLeft(Arg0,Arg1,ARSL)
4530 1.1 jruoho if(LNotEqual(ARSL,8))
4531 1.1 jruoho {Return(11)}
4532 1.1 jruoho
4533 1.1 jruoho Store(Arg0,local0)
4534 1.1 jruoho Store(Arg1,Local1)
4535 1.1 jruoho
4536 1.1 jruoho //Local0->8 and Local1->2
4537 1.1 jruoho ShiftLeft(Local0,Local1,LRSL)
4538 1.1 jruoho if(LNotEqual(LRSL,8))
4539 1.1 jruoho {Return(12)}
4540 1.1 jruoho
4541 1.1 jruoho Store(2,SHFC)
4542 1.1 jruoho //Byte data
4543 1.1 jruoho ShiftLeft(BYT1,SHFC,BRSL)
4544 1.1 jruoho if(LNotEqual(BRSL,0x3FC))
4545 1.1 jruoho {Return(13)}
4546 1.1 jruoho
4547 1.1 jruoho Store(4,SHFC)
4548 1.1 jruoho //Word Data
4549 1.1 jruoho ShiftLeft(WRD1,SHFC,WRSL)
4550 1.1 jruoho if(LNotEqual(WRSL,0xFFFF0))
4551 1.1 jruoho {Return(14)}
4552 1.1 jruoho
4553 1.1 jruoho Store(8,SHFC)
4554 1.1 jruoho //DWord Data
4555 1.1 jruoho ShiftLeft(DWD1,SHFC,DRSL)
4556 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00))
4557 1.1 jruoho {Return(15)}
4558 1.1 jruoho
4559 1.1 jruoho
4560 1.1 jruoho //System Memory Byte data
4561 1.1 jruoho Store(4,SHFC)
4562 1.1 jruoho ShiftLeft(SMBY,SHFC,BRSL)
4563 1.1 jruoho if(LNotEqual(BRSL,0xFF0))
4564 1.1 jruoho {Return(16)}
4565 1.1 jruoho
4566 1.1 jruoho //Word Data
4567 1.1 jruoho Store(4,SHFC)
4568 1.1 jruoho ShiftLeft(SMWD,SHFC,WRSL)
4569 1.1 jruoho if(LNotEqual(WRSL,0xffff0))
4570 1.1 jruoho {Return(17)}
4571 1.1 jruoho
4572 1.1 jruoho //DWord Data
4573 1.1 jruoho Store(8,SHFC)
4574 1.1 jruoho ShiftLeft(SMDW,SHFC,DRSL)
4575 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00))
4576 1.1 jruoho {Return(18)}
4577 1.1 jruoho
4578 1.1 jruoho Return(0)
4579 1.1 jruoho
4580 1.1 jruoho }//SLFT
4581 1.1 jruoho
4582 1.1 jruoho Method(SRGT,2)
4583 1.1 jruoho {//SRGT
4584 1.1 jruoho //And with Byte Data
4585 1.1 jruoho Store (0xff,BYT1)
4586 1.1 jruoho Store (0x00,BRSL)
4587 1.1 jruoho
4588 1.1 jruoho //And with Word Data
4589 1.1 jruoho Store (0xffff,WRD1)
4590 1.1 jruoho Store (0x0000,WRSL)
4591 1.1 jruoho
4592 1.1 jruoho //And with DWord Data
4593 1.1 jruoho Store(0xffffffff,DWD1)
4594 1.1 jruoho Store (0x00000000,DRSL)
4595 1.1 jruoho
4596 1.1 jruoho //Reinitialize the result objects
4597 1.1 jruoho Store(0x00,ARSL)
4598 1.1 jruoho Store(0x00,LRSL)
4599 1.1 jruoho
4600 1.1 jruoho Store(0xffffffff,SMDW)
4601 1.1 jruoho Store(0xffff,SMWD)
4602 1.1 jruoho Store(0xff,SMBY)
4603 1.1 jruoho
4604 1.1 jruoho //Arg0-> 2 & Arg1->2
4605 1.1 jruoho ShiftRight(Arg0,Arg1,ARSL)
4606 1.1 jruoho if(LNotEqual(ARSL,0))
4607 1.1 jruoho {Return(21)}
4608 1.1 jruoho
4609 1.1 jruoho Store(Arg0,local0)
4610 1.1 jruoho Store(Arg1,Local1)
4611 1.1 jruoho
4612 1.1 jruoho //Local0->8 and Local1->2
4613 1.1 jruoho ShiftRight(Local0,Local1,LRSL)
4614 1.1 jruoho if(LNotEqual(LRSL,0))
4615 1.1 jruoho {Return(22)}
4616 1.1 jruoho
4617 1.1 jruoho Store(2,SHFC)
4618 1.1 jruoho //Byte data
4619 1.1 jruoho ShiftRight(BYT1,SHFC,BRSL)
4620 1.1 jruoho if(LNotEqual(BRSL,0x3F))
4621 1.1 jruoho {Return(23)}
4622 1.1 jruoho
4623 1.1 jruoho Store(4,SHFC)
4624 1.1 jruoho //Word Data
4625 1.1 jruoho ShiftRight(WRD1,SHFC,WRSL)
4626 1.1 jruoho if(LNotEqual(WRSL,0xFFF))
4627 1.1 jruoho {Return(24)}
4628 1.1 jruoho
4629 1.1 jruoho Store(8,SHFC)
4630 1.1 jruoho //DWord Data
4631 1.1 jruoho ShiftRight(DWD1,SHFC,DRSL)
4632 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF))
4633 1.1 jruoho {Return(25)}
4634 1.1 jruoho
4635 1.1 jruoho //System Memory Byte data
4636 1.1 jruoho Store(4,SHFC)
4637 1.1 jruoho ShiftRight(SMBY,SHFC,BRSL)
4638 1.1 jruoho if(LNotEqual(BRSL,0xF))
4639 1.1 jruoho {Return(26)}
4640 1.1 jruoho
4641 1.1 jruoho //Word Data
4642 1.1 jruoho Store(4,SHFC)
4643 1.1 jruoho ShiftRight(SMWD,SHFC,WRSL)
4644 1.1 jruoho if(LNotEqual(WRSL,0xFFF))
4645 1.1 jruoho {Return(27)}
4646 1.1 jruoho
4647 1.1 jruoho //DWord Data
4648 1.1 jruoho Store(8,SHFC)
4649 1.1 jruoho ShiftRight(SMDW,SHFC,DRSL)
4650 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF))
4651 1.1 jruoho {Return(28)}
4652 1.1 jruoho
4653 1.1 jruoho Return(0)
4654 1.1 jruoho }//SRGT
4655 1.1 jruoho
4656 1.1 jruoho //Test method called from amlexec
4657 1.1 jruoho Method(TEST)
4658 1.1 jruoho {
4659 1.1 jruoho Store ("++++++++ ShftOp Test", Debug)
4660 1.1 jruoho
4661 1.1 jruoho Store(SLFT(2,2),RSLT)
4662 1.1 jruoho if(LNotEqual(RSLT,0))
4663 1.1 jruoho {Return(RSLT)}
4664 1.1 jruoho Store(SRGT(2,2),RSLT)
4665 1.1 jruoho if(LNotEqual(RSLT,0))
4666 1.1 jruoho {Return(RSLT)}
4667 1.1 jruoho Return(0)
4668 1.1 jruoho }
4669 1.1 jruoho
4670 1.1 jruoho }//Device SHFT
4671 1.1 jruoho
4672 1.1 jruoho //
4673 1.1 jruoho // test Xor.asl and slightly modified
4674 1.1 jruoho //
4675 1.1 jruoho //This code tests the XOR opcode term
4676 1.1 jruoho //Syntax of XOR term
4677 1.1 jruoho // XOr(
4678 1.1 jruoho // Source1 //TermArg=>BufferTerm
4679 1.1 jruoho // Source2 //TermArg=>Integer
4680 1.1 jruoho // Result //NameString
4681 1.1 jruoho // )
4682 1.1 jruoho //"Source1" and "Source2" are evaluated as integers, a bit-wise XOR is performed, and the result is optionally stored in
4683 1.1 jruoho // Result
4684 1.1 jruoho Device (XORD)
4685 1.1 jruoho {
4686 1.1 jruoho //This Method tests XOr operator for all the data types i.e. BYTE, WORD and DWORD
4687 1.1.1.3 christos Method (TEST,, Serialized)
4688 1.1 jruoho {
4689 1.1 jruoho Store ("++++++++ Xor Test", Debug)
4690 1.1 jruoho
4691 1.1 jruoho //Overlay in system memory
4692 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 256)
4693 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
4694 1.1 jruoho {
4695 1.1 jruoho RES1, 1, //Offset
4696 1.1 jruoho BYT1, 8, //First BYTE
4697 1.1 jruoho BYT2, 8, //Second BYTE
4698 1.1 jruoho RBYT, 8, //Result Byte
4699 1.1 jruoho RES2, 1, //Offset
4700 1.1 jruoho WRD1, 16, //First WORD field
4701 1.1 jruoho WRD2, 16, //Second WORD field
4702 1.1 jruoho RWRD, 16, //RSLT WORD field
4703 1.1 jruoho RES3, 1, //Offset
4704 1.1 jruoho DWD1, 32, //First Dword
4705 1.1 jruoho DWD2, 32, //Second Dword
4706 1.1 jruoho RDWD, 32, //Result Dword
4707 1.1 jruoho RES4, 1, //Offset
4708 1.1 jruoho }
4709 1.1 jruoho
4710 1.1 jruoho // Store bits in the single bit fields for checking
4711 1.1 jruoho // at the end
4712 1.1 jruoho Store(1, RES1)
4713 1.1 jruoho Store(1, RES2)
4714 1.1 jruoho Store(1, RES3)
4715 1.1 jruoho Store(1, RES4)
4716 1.1 jruoho
4717 1.1 jruoho // Check the stored single bits
4718 1.1 jruoho if(LNotEqual(RES1, 1))
4719 1.1 jruoho {
4720 1.1 jruoho Return(1)
4721 1.1 jruoho }
4722 1.1 jruoho
4723 1.1 jruoho if(LNotEqual(RES2, 1))
4724 1.1 jruoho {
4725 1.1 jruoho Return(1)
4726 1.1 jruoho }
4727 1.1 jruoho
4728 1.1 jruoho if(LNotEqual(RES3, 1))
4729 1.1 jruoho {
4730 1.1 jruoho Return(1)
4731 1.1 jruoho }
4732 1.1 jruoho
4733 1.1 jruoho if(LNotEqual(RES4, 1))
4734 1.1 jruoho {
4735 1.1 jruoho Return(1)
4736 1.1 jruoho }
4737 1.1 jruoho
4738 1.1 jruoho //************************************************
4739 1.1 jruoho // (BYT1) Bit1 ->0 and (BYT2)Bit2 -> 0 condition
4740 1.1 jruoho Store(0x00,BYT1)
4741 1.1 jruoho Store(0x00,BYT2)
4742 1.1 jruoho XOr(BYT1,BYT2,Local0)
4743 1.1 jruoho Store (Local0, RBYT)
4744 1.1 jruoho if(LNotEqual(RBYT,0))
4745 1.1 jruoho { Return(1)}
4746 1.1 jruoho
4747 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT2)Bit2 -> 1 condition
4748 1.1 jruoho Store(0xff,BYT1)
4749 1.1 jruoho Store(0xff,BYT2)
4750 1.1 jruoho XOr(BYT1,BYT2,Local0)
4751 1.1 jruoho Store (Local0, RBYT)
4752 1.1 jruoho if(LNotEqual(RBYT,0))
4753 1.1 jruoho { Return(1)}
4754 1.1 jruoho
4755 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT)Bit2 -> 0 condition
4756 1.1 jruoho Store(0x55,BYT1)
4757 1.1 jruoho Store(0xAA,BYT2)
4758 1.1 jruoho XOr(BYT1,BYT2,Local0)
4759 1.1 jruoho Store (Local0, RBYT)
4760 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4761 1.1 jruoho { Return(1)}
4762 1.1 jruoho
4763 1.1 jruoho //(BYT1) Bit1 ->0 and (BYT2)Bit2 -> 1 condition
4764 1.1 jruoho Store(0xAA,BYT1)
4765 1.1 jruoho Store(0x55,BYT2)
4766 1.1 jruoho XOr(BYT1,BYT2,Local0)
4767 1.1 jruoho Store (Local0, RBYT)
4768 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4769 1.1 jruoho { Return(1)}
4770 1.1 jruoho
4771 1.1 jruoho Store(0x12,BYT1)
4772 1.1 jruoho Store(0xED,BYT2)
4773 1.1 jruoho
4774 1.1 jruoho XOr(BYT1,BYT2,Local0)
4775 1.1 jruoho Store (Local0, RBYT)
4776 1.1 jruoho if(LNotEqual(RBYT,0xFF))
4777 1.1 jruoho {
4778 1.1 jruoho Return(1)
4779 1.1 jruoho }
4780 1.1 jruoho
4781 1.1 jruoho // Store known values for checking later
4782 1.1 jruoho Store(0x12, BYT1)
4783 1.1 jruoho if(LNotEqual(BYT1, 0x12))
4784 1.1 jruoho {
4785 1.1 jruoho Return(1)
4786 1.1 jruoho }
4787 1.1 jruoho
4788 1.1 jruoho Store(0xFE, BYT2)
4789 1.1 jruoho if(LNotEqual(BYT2, 0xFE))
4790 1.1 jruoho {
4791 1.1 jruoho Return(1)
4792 1.1 jruoho }
4793 1.1 jruoho
4794 1.1 jruoho Store(0xAB, RBYT)
4795 1.1 jruoho if(LNotEqual(RBYT, 0xAB))
4796 1.1 jruoho {
4797 1.1 jruoho Return(1)
4798 1.1 jruoho }
4799 1.1 jruoho
4800 1.1 jruoho //***********************************************
4801 1.1 jruoho // (WRD1) Bit1 ->0 and (WRD2)Bit2 -> 0 condition
4802 1.1 jruoho Store(0x0000,WRD1)
4803 1.1 jruoho Store(0x0000,WRD2)
4804 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4805 1.1 jruoho if(LNotEqual(RWRD,0))
4806 1.1 jruoho { Return(1)}
4807 1.1 jruoho
4808 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 1 condition
4809 1.1 jruoho Store(0xffff,WRD1)
4810 1.1 jruoho Store(0xffff,WRD2)
4811 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4812 1.1 jruoho if(LNotEqual(RWRD,0))
4813 1.1 jruoho { Return(1)}
4814 1.1 jruoho
4815 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 0 condition
4816 1.1 jruoho Store(0x5555,WRD1)
4817 1.1 jruoho Store(0xAAAA,WRD2)
4818 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4819 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4820 1.1 jruoho { Return(1)}
4821 1.1 jruoho
4822 1.1 jruoho //(WRD1) Bit1 ->0 and (WRD2)Bit2 -> 1 condition
4823 1.1 jruoho Store(0xAAAA,WRD1)
4824 1.1 jruoho Store(0x5555,WRD2)
4825 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4826 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4827 1.1 jruoho { Return(1)}
4828 1.1 jruoho
4829 1.1 jruoho Store(0x1234,WRD1)
4830 1.1 jruoho Store(0xEDCB,WRD2)
4831 1.1 jruoho XOr(WRD1,WRD2,RWRD)
4832 1.1 jruoho if(LNotEqual(RWRD,0xFFFF))
4833 1.1 jruoho { Return(1)}
4834 1.1 jruoho
4835 1.1 jruoho // Store known values for checking later
4836 1.1 jruoho Store(0x1234, WRD1)
4837 1.1 jruoho if(LNotEqual(WRD1, 0x1234))
4838 1.1 jruoho {
4839 1.1 jruoho Return(1)
4840 1.1 jruoho }
4841 1.1 jruoho
4842 1.1 jruoho Store(0xFEDC, WRD2)
4843 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC))
4844 1.1 jruoho {
4845 1.1 jruoho Return(1)
4846 1.1 jruoho }
4847 1.1 jruoho
4848 1.1 jruoho Store(0x87AB, RWRD)
4849 1.1 jruoho if(LNotEqual(RWRD, 0x87AB))
4850 1.1 jruoho {
4851 1.1 jruoho Return(1)
4852 1.1 jruoho }
4853 1.1 jruoho
4854 1.1 jruoho
4855 1.1 jruoho //**************************************************
4856 1.1 jruoho // (DWD1) Bit1 ->0 and (DWD2)Bit2 -> 0 condition
4857 1.1 jruoho Store(0x00000000,DWD1)
4858 1.1 jruoho Store(0x00000000,DWD2)
4859 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4860 1.1 jruoho if(LNotEqual(RDWD,0))
4861 1.1 jruoho { Return(1)}
4862 1.1 jruoho
4863 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 1 condition
4864 1.1 jruoho Store(0xffffffff,DWD1)
4865 1.1 jruoho Store(0xffffffff,DWD2)
4866 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4867 1.1 jruoho if(LNotEqual(RDWD,0))
4868 1.1 jruoho { Return(1)}
4869 1.1 jruoho
4870 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition
4871 1.1 jruoho Store(0x55555555,DWD1)
4872 1.1 jruoho Store(0xAAAAAAAA,DWD2)
4873 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4874 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4875 1.1 jruoho { Return(1)}
4876 1.1 jruoho
4877 1.1 jruoho //(DWD1) Bit1 ->0 and (DWD2)Bit2 -> 1 condition
4878 1.1 jruoho Store(0xAAAAAAAA,DWD1)
4879 1.1 jruoho Store(0x55555555,DWD2)
4880 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4881 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4882 1.1 jruoho { Return(1)}
4883 1.1 jruoho
4884 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition
4885 1.1 jruoho Store(0x12345678,DWD1)
4886 1.1 jruoho Store(0xEDCBA987,DWD2)
4887 1.1 jruoho XOr(DWD1,DWD2,RDWD)
4888 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF))
4889 1.1 jruoho { Return(1)}
4890 1.1 jruoho
4891 1.1 jruoho Store(0x12345678,DWD1)
4892 1.1 jruoho if(LNotEqual(DWD1,0x12345678))
4893 1.1 jruoho {
4894 1.1 jruoho Return(1)
4895 1.1 jruoho }
4896 1.1 jruoho
4897 1.1 jruoho Store(0xFEDCBA98,DWD2)
4898 1.1 jruoho if(LNotEqual(DWD2,0xFEDCBA98))
4899 1.1 jruoho {
4900 1.1 jruoho Return(1)
4901 1.1 jruoho }
4902 1.1 jruoho
4903 1.1 jruoho Store(0x91827364,RDWD)
4904 1.1 jruoho if(LNotEqual(RDWD,0x91827364))
4905 1.1 jruoho {
4906 1.1 jruoho Return(1)
4907 1.1 jruoho }
4908 1.1 jruoho
4909 1.1 jruoho //****************************************************
4910 1.1 jruoho // Check the stored single bits
4911 1.1 jruoho if(LNotEqual(RES1, 1))
4912 1.1 jruoho {
4913 1.1 jruoho Return(1)
4914 1.1 jruoho }
4915 1.1 jruoho
4916 1.1 jruoho if(LNotEqual(RES2, 1))
4917 1.1 jruoho {
4918 1.1 jruoho Return(1)
4919 1.1 jruoho }
4920 1.1 jruoho
4921 1.1 jruoho if(LNotEqual(RES3, 1))
4922 1.1 jruoho {
4923 1.1 jruoho Return(1)
4924 1.1 jruoho }
4925 1.1 jruoho
4926 1.1 jruoho if(LNotEqual(RES4, 1))
4927 1.1 jruoho {
4928 1.1 jruoho Return(1)
4929 1.1 jruoho }
4930 1.1 jruoho
4931 1.1 jruoho // Change all of the single bit fields to zero
4932 1.1 jruoho Store(0, RES1)
4933 1.1 jruoho Store(0, RES2)
4934 1.1 jruoho Store(0, RES3)
4935 1.1 jruoho Store(0, RES4)
4936 1.1 jruoho
4937 1.1 jruoho // Now, check all of the fields
4938 1.1 jruoho
4939 1.1 jruoho // Byte
4940 1.1 jruoho if(LNotEqual(BYT1, 0x12))
4941 1.1 jruoho {
4942 1.1 jruoho Return(1)
4943 1.1 jruoho }
4944 1.1 jruoho
4945 1.1 jruoho if(LNotEqual(BYT2, 0xFE))
4946 1.1 jruoho {
4947 1.1 jruoho Return(1)
4948 1.1 jruoho }
4949 1.1 jruoho
4950 1.1 jruoho if(LNotEqual(RBYT, 0xAB))
4951 1.1 jruoho {
4952 1.1 jruoho Return(1)
4953 1.1 jruoho }
4954 1.1 jruoho
4955 1.1 jruoho // Word
4956 1.1 jruoho if(LNotEqual(WRD1, 0x1234))
4957 1.1 jruoho {
4958 1.1 jruoho Return(1)
4959 1.1 jruoho }
4960 1.1 jruoho
4961 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC))
4962 1.1 jruoho {
4963 1.1 jruoho Return(1)
4964 1.1 jruoho }
4965 1.1 jruoho
4966 1.1 jruoho if(LNotEqual(RWRD, 0x87AB))
4967 1.1 jruoho {
4968 1.1 jruoho Return(1)
4969 1.1 jruoho }
4970 1.1 jruoho
4971 1.1 jruoho // Dword
4972 1.1 jruoho if(LNotEqual(DWD1, 0x12345678))
4973 1.1 jruoho {
4974 1.1 jruoho Return(1)
4975 1.1 jruoho }
4976 1.1 jruoho
4977 1.1 jruoho if(LNotEqual(DWD2, 0xFEDCBA98))
4978 1.1 jruoho {
4979 1.1 jruoho Return(1)
4980 1.1 jruoho }
4981 1.1 jruoho
4982 1.1 jruoho if(LNotEqual(RDWD, 0x91827364))
4983 1.1 jruoho {
4984 1.1 jruoho Return(1)
4985 1.1 jruoho }
4986 1.1 jruoho
4987 1.1 jruoho // Bits
4988 1.1 jruoho if(LNotEqual(RES1, 0))
4989 1.1 jruoho {
4990 1.1 jruoho Return(1)
4991 1.1 jruoho }
4992 1.1 jruoho
4993 1.1 jruoho if(LNotEqual(RES2, 0))
4994 1.1 jruoho {
4995 1.1 jruoho Return(1)
4996 1.1 jruoho }
4997 1.1 jruoho
4998 1.1 jruoho if(LNotEqual(RES3, 0))
4999 1.1 jruoho {
5000 1.1 jruoho Return(1)
5001 1.1 jruoho }
5002 1.1 jruoho
5003 1.1 jruoho if(LNotEqual(RES4, 0))
5004 1.1 jruoho {
5005 1.1 jruoho Return(1)
5006 1.1 jruoho }
5007 1.1 jruoho
5008 1.1 jruoho
5009 1.1 jruoho Return(0)
5010 1.1 jruoho } // TEST
5011 1.1 jruoho } // XORD
5012 1.1 jruoho
5013 1.1 jruoho //
5014 1.1 jruoho // test CrBytFld.asl
5015 1.1 jruoho //
5016 1.1 jruoho // CrBytFld test
5017 1.1 jruoho // Test for CreateByteField.
5018 1.1 jruoho // Tests creating byte field overlay of buffer stored in Local0.
5019 1.1 jruoho // Tests need to be added for Arg0 and Name buffers.
5020 1.1 jruoho //
5021 1.1 jruoho Device (CRBF)
5022 1.1 jruoho { // Test device name
5023 1.1 jruoho Method (TEST)
5024 1.1 jruoho {
5025 1.1 jruoho Store ("++++++++ CrBytFld Test", Debug)
5026 1.1 jruoho
5027 1.1 jruoho // Local0 is unitialized buffer with 4 elements
5028 1.1 jruoho Store (Buffer (4) {}, Local0)
5029 1.1 jruoho
5030 1.1 jruoho // create Byte Field named BF0 based on Local0 element 0
5031 1.1 jruoho CreateByteField (Local0, 0, BF0)
5032 1.1 jruoho
5033 1.1 jruoho // validate CreateByteField did not alter Local0
5034 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5035 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5036 1.1 jruoho { Return (2) }
5037 1.1 jruoho
5038 1.1 jruoho // store something into BF0
5039 1.1 jruoho Store (1, BF0)
5040 1.1 jruoho
5041 1.1 jruoho // validate Store did not alter Local0 object type
5042 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5043 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5044 1.1 jruoho { Return (3) }
5045 1.1 jruoho
5046 1.1 jruoho // verify that the Store into BF0 was successful
5047 1.1 jruoho If (LNotEqual (BF0, 1))
5048 1.1 jruoho { Return (4) }
5049 1.1 jruoho
5050 1.1 jruoho
5051 1.1 jruoho // create Byte Field named BF1 based on Local0 element 1
5052 1.1 jruoho CreateByteField (Local0, 1, BF1)
5053 1.1 jruoho
5054 1.1 jruoho // validate CreateByteField did not alter Local0
5055 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5056 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5057 1.1 jruoho { Return (10) }
5058 1.1 jruoho
5059 1.1 jruoho // store something into BF1
5060 1.1 jruoho Store (5, BF1)
5061 1.1 jruoho
5062 1.1 jruoho // validate Store did not alter Local0 object type
5063 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type
5064 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3
5065 1.1 jruoho { Return (11) }
5066 1.1 jruoho
5067 1.1 jruoho // verify that the Store into BF1 was successful
5068 1.1 jruoho If (LNotEqual (BF1, 5))
5069 1.1 jruoho { Return (12) }
5070 1.1 jruoho
5071 1.1 jruoho // verify that the Store into BF1 did not alter BF0
5072 1.1 jruoho If (LNotEqual (BF0, 1))
5073 1.1 jruoho { Return (13) }
5074 1.1 jruoho
5075 1.1 jruoho
5076 1.1 jruoho // store something into BF0
5077 1.1 jruoho Store (0xFFFF, BF0)
5078 1.1 jruoho
5079 1.1 jruoho // verify that the Store into BF0 was successful
5080 1.1 jruoho If (LNotEqual (BF0, 0xFF))
5081 1.1 jruoho { Return (20) }
5082 1.1 jruoho
5083 1.1 jruoho // verify that the Store into BF0 did not alter BF1
5084 1.1 jruoho If (LNotEqual (BF1, 5))
5085 1.1 jruoho { Return (21) }
5086 1.1 jruoho
5087 1.1 jruoho
5088 1.1 jruoho Return (0)
5089 1.1 jruoho } // TEST
5090 1.1 jruoho } // CRBF
5091 1.1 jruoho
5092 1.1 jruoho //
5093 1.1 jruoho // test IndexOp4.asl
5094 1.1 jruoho //
5095 1.1 jruoho // IndexOp4 test
5096 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
5097 1.1 jruoho // Tests access of index fields smaller than 8 bits.
5098 1.1 jruoho //
5099 1.1 jruoho Device (IDX4)
5100 1.1 jruoho { // Test device name
5101 1.1 jruoho
5102 1.1 jruoho // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5103 1.1 jruoho // Tests OperationRegion memory access using misaligned BYTE,
5104 1.1 jruoho // WORD, and DWORD field element accesses. Validation is performed
5105 1.1 jruoho // using both misaligned field entries and aligned field entries.
5106 1.1 jruoho //
5107 1.1 jruoho // MADM returns 0 if all test cases pass or non-zero identifying
5108 1.1 jruoho // the failing test case for debug purposes. This non-zero numbers
5109 1.1 jruoho // are not guaranteed to be in perfect sequence (i.e., test case
5110 1.1 jruoho // index), but are guaranteed to be unique so the failing test
5111 1.1 jruoho // case can be uniquely identified.
5112 1.1 jruoho //
5113 1.1.1.3 christos Method (MADM, 1, Serialized) // Misaligned Dynamic RAM SystemMemory OperationRegion
5114 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address
5115 1.1 jruoho { // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5116 1.1 jruoho OperationRegion (RAM, SystemMemory, Arg0, 0x100)
5117 1.1 jruoho Field (RAM, DwordAcc, NoLock, Preserve)
5118 1.1 jruoho { // aligned field definition (for verification)
5119 1.1 jruoho DWD0, 32, // aligned DWORD field
5120 1.1 jruoho DWD1, 32 // aligned DWORD field
5121 1.1 jruoho }
5122 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
5123 1.1 jruoho { // bit access field definition
5124 1.1 jruoho BIT0, 1, // single bit field entry
5125 1.1 jruoho BIT1, 1, // single bit field entry
5126 1.1 jruoho BIT2, 1, // single bit field entry
5127 1.1 jruoho BIT3, 1, // single bit field entry
5128 1.1 jruoho BIT4, 1, // single bit field entry
5129 1.1 jruoho BIT5, 1, // single bit field entry
5130 1.1 jruoho BIT6, 1, // single bit field entry
5131 1.1 jruoho BIT7, 1, // single bit field entry
5132 1.1 jruoho BIT8, 1, // single bit field entry
5133 1.1 jruoho BIT9, 1, // single bit field entry
5134 1.1 jruoho BITA, 1, // single bit field entry
5135 1.1 jruoho BITB, 1, // single bit field entry
5136 1.1 jruoho BITC, 1, // single bit field entry
5137 1.1 jruoho BITD, 1, // single bit field entry
5138 1.1 jruoho BITE, 1, // single bit field entry
5139 1.1 jruoho BITF, 1, // single bit field entry
5140 1.1 jruoho BI10, 1, // single bit field entry
5141 1.1 jruoho BI11, 1, // single bit field entry
5142 1.1 jruoho BI12, 1, // single bit field entry
5143 1.1 jruoho BI13, 1, // single bit field entry
5144 1.1 jruoho BI14, 1, // single bit field entry
5145 1.1 jruoho BI15, 1, // single bit field entry
5146 1.1 jruoho BI16, 1, // single bit field entry
5147 1.1 jruoho BI17, 1, // single bit field entry
5148 1.1 jruoho BI18, 1, // single bit field entry
5149 1.1 jruoho BI19, 1, // single bit field entry
5150 1.1 jruoho BI1A, 1, // single bit field entry
5151 1.1 jruoho BI1B, 1, // single bit field entry
5152 1.1 jruoho BI1C, 1, // single bit field entry
5153 1.1 jruoho BI1D, 1, // single bit field entry
5154 1.1 jruoho BI1E, 1, // single bit field entry
5155 1.1 jruoho BI1F, 1 // single bit field entry
5156 1.1 jruoho } // bit access field definition
5157 1.1 jruoho
5158 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve)
5159 1.1 jruoho { // two-bit access field definition
5160 1.1 jruoho B2_0, 2, // single bit field entry
5161 1.1 jruoho B2_1, 2, // single bit field entry
5162 1.1 jruoho B2_2, 2, // single bit field entry
5163 1.1 jruoho B2_3, 2, // single bit field entry
5164 1.1 jruoho B2_4, 2, // single bit field entry
5165 1.1 jruoho B2_5, 2, // single bit field entry
5166 1.1 jruoho B2_6, 2, // single bit field entry
5167 1.1 jruoho B2_7, 2, // single bit field entry
5168 1.1 jruoho B2_8, 2, // single bit field entry
5169 1.1 jruoho B2_9, 2, // single bit field entry
5170 1.1 jruoho B2_A, 2, // single bit field entry
5171 1.1 jruoho B2_B, 2, // single bit field entry
5172 1.1 jruoho B2_C, 2, // single bit field entry
5173 1.1 jruoho B2_D, 2, // single bit field entry
5174 1.1 jruoho B2_E, 2, // single bit field entry
5175 1.1 jruoho B2_F, 2 // single bit field entry
5176 1.1 jruoho } // bit access field definition
5177 1.1 jruoho
5178 1.1 jruoho // initialize memory contents using aligned field entries
5179 1.1 jruoho Store (0x5AA55AA5, DWD0)
5180 1.1 jruoho Store (0x5AA55AA5, DWD1)
5181 1.1 jruoho
5182 1.1 jruoho // set memory contents to known values using misaligned field entries
5183 1.1 jruoho Store (0, BIT0)
5184 1.1 jruoho // verify memory contents using misaligned field entries
5185 1.1 jruoho If (LNotEqual (BIT0, 0))
5186 1.1 jruoho { Return (1) }
5187 1.1 jruoho // verify memory contents using aligned field entries
5188 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA4))
5189 1.1 jruoho { Return (2) }
5190 1.1 jruoho
5191 1.1 jruoho // set memory contents to known values using misaligned field entries
5192 1.1 jruoho Store (1, BIT1)
5193 1.1 jruoho // verify memory contents using misaligned field entries
5194 1.1 jruoho If (LNotEqual (BIT1, 1))
5195 1.1 jruoho { Return (3) }
5196 1.1 jruoho // verify memory contents using aligned field entries
5197 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA6))
5198 1.1 jruoho { Return (4) }
5199 1.1 jruoho
5200 1.1 jruoho // set memory contents to known values using misaligned field entries
5201 1.1 jruoho Store (0, BIT2)
5202 1.1 jruoho // verify memory contents using misaligned field entries
5203 1.1 jruoho If (LNotEqual (BIT2, 0))
5204 1.1 jruoho { Return (5) }
5205 1.1 jruoho // verify memory contents using aligned field entries
5206 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA2))
5207 1.1 jruoho { Return (6) }
5208 1.1 jruoho
5209 1.1 jruoho // set memory contents to known values using misaligned field entries
5210 1.1 jruoho Store (1, BIT3)
5211 1.1 jruoho // verify memory contents using misaligned field entries
5212 1.1 jruoho If (LNotEqual (BIT3, 1))
5213 1.1 jruoho { Return (7) }
5214 1.1 jruoho // verify memory contents using aligned field entries
5215 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AAA))
5216 1.1 jruoho { Return (8) }
5217 1.1 jruoho
5218 1.1 jruoho // set memory contents to known values using misaligned field entries
5219 1.1 jruoho Store (1, BIT4)
5220 1.1 jruoho // verify memory contents using misaligned field entries
5221 1.1 jruoho If (LNotEqual (BIT4, 1))
5222 1.1 jruoho { Return (9) }
5223 1.1 jruoho // verify memory contents using aligned field entries
5224 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ABA))
5225 1.1 jruoho { Return (10) }
5226 1.1 jruoho
5227 1.1 jruoho // set memory contents to known values using misaligned field entries
5228 1.1 jruoho Store (0, BIT5)
5229 1.1 jruoho // verify memory contents using misaligned field entries
5230 1.1 jruoho If (LNotEqual (BIT5, 0))
5231 1.1 jruoho { Return (11) }
5232 1.1 jruoho // verify memory contents using aligned field entries
5233 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A9A))
5234 1.1 jruoho { Return (12) }
5235 1.1 jruoho
5236 1.1 jruoho // set memory contents to known values using misaligned field entries
5237 1.1 jruoho Store (1, BIT6)
5238 1.1 jruoho // verify memory contents using misaligned field entries
5239 1.1 jruoho If (LNotEqual (BIT6, 1))
5240 1.1 jruoho { Return (13) }
5241 1.1 jruoho // verify memory contents using aligned field entries
5242 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ADA))
5243 1.1 jruoho { Return (14) }
5244 1.1 jruoho
5245 1.1 jruoho // set memory contents to known values using misaligned field entries
5246 1.1 jruoho Store (0, BIT7)
5247 1.1 jruoho // verify memory contents using misaligned field entries
5248 1.1 jruoho If (LNotEqual (BIT7, 0))
5249 1.1 jruoho { Return (15) }
5250 1.1 jruoho // verify memory contents using aligned field entries
5251 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A5A))
5252 1.1 jruoho { Return (16) }
5253 1.1 jruoho
5254 1.1 jruoho // set memory contents to known values using misaligned field entries
5255 1.1 jruoho Store (1, BIT8)
5256 1.1 jruoho // verify memory contents using misaligned field entries
5257 1.1 jruoho If (LNotEqual (BIT8, 1))
5258 1.1 jruoho { Return (17) }
5259 1.1 jruoho // verify memory contents using aligned field entries
5260 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55B5A))
5261 1.1 jruoho { Return (18) }
5262 1.1 jruoho
5263 1.1 jruoho // set memory contents to known values using misaligned field entries
5264 1.1 jruoho Store (0, BIT9)
5265 1.1 jruoho // verify memory contents using misaligned field entries
5266 1.1 jruoho If (LNotEqual (BIT9, 0))
5267 1.1 jruoho { Return (19) }
5268 1.1 jruoho // verify memory contents using aligned field entries
5269 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5595A))
5270 1.1 jruoho { Return (20) }
5271 1.1 jruoho
5272 1.1 jruoho // set memory contents to known values using misaligned field entries
5273 1.1 jruoho Store (1, BITA)
5274 1.1 jruoho // verify memory contents using misaligned field entries
5275 1.1 jruoho If (LNotEqual (BITA, 1))
5276 1.1 jruoho { Return (21) }
5277 1.1 jruoho // verify memory contents using aligned field entries
5278 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55D5A))
5279 1.1 jruoho { Return (22) }
5280 1.1 jruoho
5281 1.1 jruoho // set memory contents to known values using misaligned field entries
5282 1.1 jruoho Store (0, BITB)
5283 1.1 jruoho // verify memory contents using misaligned field entries
5284 1.1 jruoho If (LNotEqual (BITB, 0))
5285 1.1 jruoho { Return (23) }
5286 1.1 jruoho // verify memory contents using aligned field entries
5287 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5555A))
5288 1.1 jruoho { Return (24) }
5289 1.1 jruoho
5290 1.1 jruoho // set memory contents to known values using misaligned field entries
5291 1.1 jruoho Store (0, BITC)
5292 1.1 jruoho // verify memory contents using misaligned field entries
5293 1.1 jruoho If (LNotEqual (BITC, 0))
5294 1.1 jruoho { Return (25) }
5295 1.1 jruoho // verify memory contents using aligned field entries
5296 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5455A))
5297 1.1 jruoho { Return (26) }
5298 1.1 jruoho
5299 1.1 jruoho // set memory contents to known values using misaligned field entries
5300 1.1 jruoho Store (1, BITD)
5301 1.1 jruoho // verify memory contents using misaligned field entries
5302 1.1 jruoho If (LNotEqual (BITD, 1))
5303 1.1 jruoho { Return (27) }
5304 1.1 jruoho // verify memory contents using aligned field entries
5305 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5655A))
5306 1.1 jruoho { Return (28) }
5307 1.1 jruoho
5308 1.1 jruoho // set memory contents to known values using misaligned field entries
5309 1.1 jruoho Store (0, BITE)
5310 1.1 jruoho // verify memory contents using misaligned field entries
5311 1.1 jruoho If (LNotEqual (BITE, 0))
5312 1.1 jruoho { Return (29) }
5313 1.1 jruoho // verify memory contents using aligned field entries
5314 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5255A))
5315 1.1 jruoho { Return (30) }
5316 1.1 jruoho
5317 1.1 jruoho // set memory contents to known values using misaligned field entries
5318 1.1 jruoho Store (1, BITF)
5319 1.1 jruoho // verify memory contents using misaligned field entries
5320 1.1 jruoho If (LNotEqual (BITF, 1))
5321 1.1 jruoho { Return (31) }
5322 1.1 jruoho // verify memory contents using aligned field entries
5323 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5A55A))
5324 1.1 jruoho { Return (32) }
5325 1.1 jruoho
5326 1.1 jruoho // set memory contents to known values using misaligned field entries
5327 1.1 jruoho Store (0, BI10)
5328 1.1 jruoho // verify memory contents using misaligned field entries
5329 1.1 jruoho If (LNotEqual (BI10, 0))
5330 1.1 jruoho { Return (33) }
5331 1.1 jruoho // verify memory contents using aligned field entries
5332 1.1 jruoho If (LNotEqual (DWD0, 0x5AA4A55A))
5333 1.1 jruoho { Return (34) }
5334 1.1 jruoho
5335 1.1 jruoho // set memory contents to known values using misaligned field entries
5336 1.1 jruoho Store (1, BI11)
5337 1.1 jruoho // verify memory contents using misaligned field entries
5338 1.1 jruoho If (LNotEqual (BI11, 1))
5339 1.1 jruoho { Return (35) }
5340 1.1 jruoho // verify memory contents using aligned field entries
5341 1.1 jruoho If (LNotEqual (DWD0, 0x5AA6A55A))
5342 1.1 jruoho { Return (36) }
5343 1.1 jruoho
5344 1.1 jruoho // set memory contents to known values using misaligned field entries
5345 1.1 jruoho Store (0, BI12)
5346 1.1 jruoho // verify memory contents using misaligned field entries
5347 1.1 jruoho If (LNotEqual (BI12, 0))
5348 1.1 jruoho { Return (37) }
5349 1.1 jruoho // verify memory contents using aligned field entries
5350 1.1 jruoho If (LNotEqual (DWD0, 0x5AA2A55A))
5351 1.1 jruoho { Return (38) }
5352 1.1 jruoho
5353 1.1 jruoho // set memory contents to known values using misaligned field entries
5354 1.1 jruoho Store (1, BI13)
5355 1.1 jruoho // verify memory contents using misaligned field entries
5356 1.1 jruoho If (LNotEqual (BI13, 1))
5357 1.1 jruoho { Return (39) }
5358 1.1 jruoho // verify memory contents using aligned field entries
5359 1.1 jruoho If (LNotEqual (DWD0, 0x5AAAA55A))
5360 1.1 jruoho { Return (40) }
5361 1.1 jruoho
5362 1.1 jruoho // set memory contents to known values using misaligned field entries
5363 1.1 jruoho Store (1, BI14)
5364 1.1 jruoho // verify memory contents using misaligned field entries
5365 1.1 jruoho If (LNotEqual (BI14, 1))
5366 1.1 jruoho { Return (41) }
5367 1.1 jruoho // verify memory contents using aligned field entries
5368 1.1 jruoho If (LNotEqual (DWD0, 0x5ABAA55A))
5369 1.1 jruoho { Return (42) }
5370 1.1 jruoho
5371 1.1 jruoho // set memory contents to known values using misaligned field entries
5372 1.1 jruoho Store (0, BI15)
5373 1.1 jruoho // verify memory contents using misaligned field entries
5374 1.1 jruoho If (LNotEqual (BI15, 0))
5375 1.1 jruoho { Return (43) }
5376 1.1 jruoho // verify memory contents using aligned field entries
5377 1.1 jruoho If (LNotEqual (DWD0, 0x5A9AA55A))
5378 1.1 jruoho { Return (44) }
5379 1.1 jruoho
5380 1.1 jruoho // set memory contents to known values using misaligned field entries
5381 1.1 jruoho Store (1, BI16)
5382 1.1 jruoho // verify memory contents using misaligned field entries
5383 1.1 jruoho If (LNotEqual (BI16, 1))
5384 1.1 jruoho { Return (45) }
5385 1.1 jruoho // verify memory contents using aligned field entries
5386 1.1 jruoho If (LNotEqual (DWD0, 0x5ADAA55A))
5387 1.1 jruoho { Return (46) }
5388 1.1 jruoho
5389 1.1 jruoho // set memory contents to known values using misaligned field entries
5390 1.1 jruoho Store (0, BI17)
5391 1.1 jruoho // verify memory contents using misaligned field entries
5392 1.1 jruoho If (LNotEqual (BI17, 0))
5393 1.1 jruoho { Return (47) }
5394 1.1 jruoho // verify memory contents using aligned field entries
5395 1.1 jruoho If (LNotEqual (DWD0, 0x5A5AA55A))
5396 1.1 jruoho { Return (48) }
5397 1.1 jruoho
5398 1.1 jruoho // set memory contents to known values using misaligned field entries
5399 1.1 jruoho Store (1, BI18)
5400 1.1 jruoho // verify memory contents using misaligned field entries
5401 1.1 jruoho If (LNotEqual (BI18, 1))
5402 1.1 jruoho { Return (49) }
5403 1.1 jruoho // verify memory contents using aligned field entries
5404 1.1 jruoho If (LNotEqual (DWD0, 0x5B5AA55A))
5405 1.1 jruoho { Return (50) }
5406 1.1 jruoho
5407 1.1 jruoho // set memory contents to known values using misaligned field entries
5408 1.1 jruoho Store (0, BI19)
5409 1.1 jruoho // verify memory contents using misaligned field entries
5410 1.1 jruoho If (LNotEqual (BI19, 0))
5411 1.1 jruoho { Return (51) }
5412 1.1 jruoho // verify memory contents using aligned field entries
5413 1.1 jruoho If (LNotEqual (DWD0, 0x595AA55A))
5414 1.1 jruoho { Return (52) }
5415 1.1 jruoho
5416 1.1 jruoho // set memory contents to known values using misaligned field entries
5417 1.1 jruoho Store (1, BI1A)
5418 1.1 jruoho // verify memory contents using misaligned field entries
5419 1.1 jruoho If (LNotEqual (BI1A, 1))
5420 1.1 jruoho { Return (53) }
5421 1.1 jruoho // verify memory contents using aligned field entries
5422 1.1 jruoho If (LNotEqual (DWD0, 0x5D5AA55A))
5423 1.1 jruoho { Return (54) }
5424 1.1 jruoho
5425 1.1 jruoho // set memory contents to known values using misaligned field entries
5426 1.1 jruoho Store (0, BI1B)
5427 1.1 jruoho // verify memory contents using misaligned field entries
5428 1.1 jruoho If (LNotEqual (BI1B, 0))
5429 1.1 jruoho { Return (55) }
5430 1.1 jruoho // verify memory contents using aligned field entries
5431 1.1 jruoho If (LNotEqual (DWD0, 0x555AA55A))
5432 1.1 jruoho { Return (56) }
5433 1.1 jruoho
5434 1.1 jruoho // set memory contents to known values using misaligned field entries
5435 1.1 jruoho Store (0, BI1C)
5436 1.1 jruoho // verify memory contents using misaligned field entries
5437 1.1 jruoho If (LNotEqual (BI1C, 0))
5438 1.1 jruoho { Return (57) }
5439 1.1 jruoho // verify memory contents using aligned field entries
5440 1.1 jruoho If (LNotEqual (DWD0, 0x455AA55A))
5441 1.1 jruoho { Return (58) }
5442 1.1 jruoho
5443 1.1 jruoho // set memory contents to known values using misaligned field entries
5444 1.1 jruoho Store (1, BI1D)
5445 1.1 jruoho // verify memory contents using misaligned field entries
5446 1.1 jruoho If (LNotEqual (BI1D, 1))
5447 1.1 jruoho { Return (59) }
5448 1.1 jruoho // verify memory contents using aligned field entries
5449 1.1 jruoho If (LNotEqual (DWD0, 0x655AA55A))
5450 1.1 jruoho { Return (60) }
5451 1.1 jruoho
5452 1.1 jruoho // set memory contents to known values using misaligned field entries
5453 1.1 jruoho Store (0, BI1E)
5454 1.1 jruoho // verify memory contents using misaligned field entries
5455 1.1 jruoho If (LNotEqual (BI1E, 0))
5456 1.1 jruoho { Return (61) }
5457 1.1 jruoho // verify memory contents using aligned field entries
5458 1.1 jruoho If (LNotEqual (DWD0, 0x255AA55A))
5459 1.1 jruoho { Return (62) }
5460 1.1 jruoho
5461 1.1 jruoho // set memory contents to known values using misaligned field entries
5462 1.1 jruoho Store (1, BI1F)
5463 1.1 jruoho // verify memory contents using misaligned field entries
5464 1.1 jruoho If (LNotEqual (BI1F, 1))
5465 1.1 jruoho { Return (63) }
5466 1.1 jruoho // verify memory contents using aligned field entries
5467 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55A))
5468 1.1 jruoho { Return (64) }
5469 1.1 jruoho
5470 1.1 jruoho
5471 1.1 jruoho // set memory contents to known values using misaligned field entries
5472 1.1 jruoho Store (3, B2_0)
5473 1.1 jruoho // verify memory contents using misaligned field entries
5474 1.1 jruoho If (LNotEqual (B2_0, 3))
5475 1.1 jruoho { Return (65) }
5476 1.1 jruoho // verify memory contents using aligned field entries
5477 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55B))
5478 1.1 jruoho { Return (66) }
5479 1.1 jruoho
5480 1.1 jruoho // set memory contents to known values using misaligned field entries
5481 1.1 jruoho Store (1, B2_1)
5482 1.1 jruoho // verify memory contents using misaligned field entries
5483 1.1 jruoho If (LNotEqual (B2_1, 1))
5484 1.1 jruoho { Return (67) }
5485 1.1 jruoho // verify memory contents using aligned field entries
5486 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA557))
5487 1.1 jruoho { Return (68) }
5488 1.1 jruoho
5489 1.1 jruoho // set memory contents to known values using misaligned field entries
5490 1.1 jruoho Store (0, B2_2)
5491 1.1 jruoho // verify memory contents using misaligned field entries
5492 1.1 jruoho If (LNotEqual (B2_2, 0))
5493 1.1 jruoho { Return (69) }
5494 1.1 jruoho // verify memory contents using aligned field entries
5495 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA547))
5496 1.1 jruoho { Return (70) }
5497 1.1 jruoho
5498 1.1 jruoho // set memory contents to known values using misaligned field entries
5499 1.1 jruoho Store (3, B2_3)
5500 1.1 jruoho // verify memory contents using misaligned field entries
5501 1.1 jruoho If (LNotEqual (B2_3, 3))
5502 1.1 jruoho { Return (71) }
5503 1.1 jruoho // verify memory contents using aligned field entries
5504 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA5C7))
5505 1.1 jruoho { Return (72) }
5506 1.1 jruoho
5507 1.1 jruoho // set memory contents to known values using misaligned field entries
5508 1.1 jruoho Store (3, B2_4)
5509 1.1 jruoho // verify memory contents using misaligned field entries
5510 1.1 jruoho If (LNotEqual (B2_4, 3))
5511 1.1 jruoho { Return (73) }
5512 1.1 jruoho // verify memory contents using aligned field entries
5513 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA7C7))
5514 1.1 jruoho { Return (74) }
5515 1.1 jruoho
5516 1.1 jruoho // set memory contents to known values using misaligned field entries
5517 1.1 jruoho Store (0, B2_5)
5518 1.1 jruoho // verify memory contents using misaligned field entries
5519 1.1 jruoho If (LNotEqual (B2_5, 0))
5520 1.1 jruoho { Return (75) }
5521 1.1 jruoho // verify memory contents using aligned field entries
5522 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA3C7))
5523 1.1 jruoho { Return (76) }
5524 1.1 jruoho
5525 1.1 jruoho // set memory contents to known values using misaligned field entries
5526 1.1 jruoho Store (1, B2_6)
5527 1.1 jruoho // verify memory contents using misaligned field entries
5528 1.1 jruoho If (LNotEqual (B2_6, 1))
5529 1.1 jruoho { Return (77) }
5530 1.1 jruoho // verify memory contents using aligned field entries
5531 1.1 jruoho If (LNotEqual (DWD0, 0xA55A93C7))
5532 1.1 jruoho { Return (78) }
5533 1.1 jruoho
5534 1.1 jruoho // set memory contents to known values using misaligned field entries
5535 1.1 jruoho Store (1, B2_7)
5536 1.1 jruoho // verify memory contents using misaligned field entries
5537 1.1 jruoho If (LNotEqual (B2_7, 1))
5538 1.1 jruoho { Return (79) }
5539 1.1 jruoho // verify memory contents using aligned field entries
5540 1.1 jruoho If (LNotEqual (DWD0, 0xA55A53C7))
5541 1.1 jruoho { Return (80) }
5542 1.1 jruoho
5543 1.1 jruoho // set memory contents to known values using misaligned field entries
5544 1.1 jruoho Store (0, B2_8)
5545 1.1 jruoho // verify memory contents using misaligned field entries
5546 1.1 jruoho If (LNotEqual (B2_8, 0))
5547 1.1 jruoho { Return (81) }
5548 1.1 jruoho // verify memory contents using aligned field entries
5549 1.1 jruoho If (LNotEqual (DWD0, 0xA55853C7))
5550 1.1 jruoho { Return (82) }
5551 1.1 jruoho
5552 1.1 jruoho // set memory contents to known values using misaligned field entries
5553 1.1 jruoho Store (1, B2_9)
5554 1.1 jruoho // verify memory contents using misaligned field entries
5555 1.1 jruoho If (LNotEqual (B2_9, 1))
5556 1.1 jruoho { Return (83) }
5557 1.1 jruoho // verify memory contents using aligned field entries
5558 1.1 jruoho If (LNotEqual (DWD0, 0xA55453C7))
5559 1.1 jruoho { Return (84) }
5560 1.1 jruoho
5561 1.1 jruoho // set memory contents to known values using misaligned field entries
5562 1.1 jruoho Store (2, B2_A)
5563 1.1 jruoho // verify memory contents using misaligned field entries
5564 1.1 jruoho If (LNotEqual (B2_A, 2))
5565 1.1 jruoho { Return (85) }
5566 1.1 jruoho // verify memory contents using aligned field entries
5567 1.1 jruoho If (LNotEqual (DWD0, 0xA56453C7))
5568 1.1 jruoho { Return (86) }
5569 1.1 jruoho
5570 1.1 jruoho // set memory contents to known values using misaligned field entries
5571 1.1 jruoho Store (2, B2_B)
5572 1.1 jruoho // verify memory contents using misaligned field entries
5573 1.1 jruoho If (LNotEqual (B2_B, 2))
5574 1.1 jruoho { Return (87) }
5575 1.1 jruoho // verify memory contents using aligned field entries
5576 1.1 jruoho If (LNotEqual (DWD0, 0xA5A453C7))
5577 1.1 jruoho { Return (88) }
5578 1.1 jruoho
5579 1.1 jruoho // set memory contents to known values using misaligned field entries
5580 1.1 jruoho Store (3, B2_C)
5581 1.1 jruoho // verify memory contents using misaligned field entries
5582 1.1 jruoho If (LNotEqual (B2_C, 3))
5583 1.1 jruoho { Return (89) }
5584 1.1 jruoho // verify memory contents using aligned field entries
5585 1.1 jruoho If (LNotEqual (DWD0, 0xA7A453C7))
5586 1.1 jruoho { Return (90) }
5587 1.1 jruoho
5588 1.1 jruoho // set memory contents to known values using misaligned field entries
5589 1.1 jruoho Store (3, B2_D)
5590 1.1 jruoho // verify memory contents using misaligned field entries
5591 1.1 jruoho If (LNotEqual (B2_D, 3))
5592 1.1 jruoho { Return (91) }
5593 1.1 jruoho // verify memory contents using aligned field entries
5594 1.1 jruoho If (LNotEqual (DWD0, 0xAFA453C7))
5595 1.1 jruoho { Return (92) }
5596 1.1 jruoho
5597 1.1 jruoho // set memory contents to known values using misaligned field entries
5598 1.1 jruoho Store (1, B2_E)
5599 1.1 jruoho // verify memory contents using misaligned field entries
5600 1.1 jruoho If (LNotEqual (B2_E, 1))
5601 1.1 jruoho { Return (93) }
5602 1.1 jruoho // verify memory contents using aligned field entries
5603 1.1 jruoho If (LNotEqual (DWD0, 0x9FA453C7))
5604 1.1 jruoho { Return (94) }
5605 1.1 jruoho
5606 1.1 jruoho // set memory contents to known values using misaligned field entries
5607 1.1 jruoho Store (0, B2_F)
5608 1.1 jruoho // verify memory contents using misaligned field entries
5609 1.1 jruoho If (LNotEqual (B2_F, 0))
5610 1.1 jruoho { Return (95) }
5611 1.1 jruoho // verify memory contents using aligned field entries
5612 1.1 jruoho If (LNotEqual (DWD0, 0x1FA453C7))
5613 1.1 jruoho { Return (96) }
5614 1.1 jruoho
5615 1.1 jruoho
5616 1.1 jruoho Return (0) // pass
5617 1.1 jruoho } // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion
5618 1.1 jruoho
5619 1.1 jruoho Method (TEST)
5620 1.1 jruoho {
5621 1.1 jruoho Store ("++++++++ IndexOp4 Test", Debug)
5622 1.1 jruoho
5623 1.1 jruoho // MADM (Misaligned Dynamic RAM SystemMemory OperationRegion) arguments:
5624 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address
5625 1.1 jruoho Store (MADM (0x800000), Local0)
5626 1.1 jruoho If (LNotEqual (Local0, 0)) // MADM returns zero if successful
5627 1.1 jruoho { Return (Local0) } // failure: return MADM error code
5628 1.1 jruoho
5629 1.1 jruoho Return (Local0)
5630 1.1 jruoho } // TEST
5631 1.1 jruoho } // IDX4
5632 1.1 jruoho
5633 1.1 jruoho //
5634 1.1 jruoho // test Event.asl
5635 1.1 jruoho //
5636 1.1 jruoho // EventOp, ResetOp, SignalOp, and WaitOp test cases.
5637 1.1 jruoho //
5638 1.1 jruoho Device (EVNT)
5639 1.1 jruoho {
5640 1.1 jruoho Event (EVNT) // event synchronization object
5641 1.1 jruoho
5642 1.1 jruoho Method (TEVN, 1)
5643 1.1 jruoho // Arg0: time to Wait for event in milliseconds
5644 1.1 jruoho { // TEVN control method to test ResetOp, SignalOp, and WaitOp
5645 1.1 jruoho // reset EVNT to initialization (zero) state
5646 1.1 jruoho Reset (EVNT)
5647 1.1 jruoho
5648 1.1 jruoho // prime EVNT with two outstanding signals
5649 1.1 jruoho Signal (EVNT)
5650 1.1 jruoho Signal (EVNT)
5651 1.1 jruoho
5652 1.1 jruoho
5653 1.1 jruoho // acquire existing signal
5654 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5655 1.1 jruoho
5656 1.1 jruoho // validate Local0 is a Number
5657 1.1 jruoho Store (ObjectType (Local0), Local1)
5658 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5659 1.1 jruoho { Return (0x21) } // Local1 indicates Local0 is not a Number
5660 1.1 jruoho
5661 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5662 1.1 jruoho { Return (0x22) } // timeout occurred without acquiring signal
5663 1.1 jruoho
5664 1.1 jruoho Store ("Acquire 1st existing signal PASS", Debug)
5665 1.1 jruoho
5666 1.1 jruoho
5667 1.1 jruoho // acquire existing signal
5668 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5669 1.1 jruoho
5670 1.1 jruoho // validate Local0 is a Number
5671 1.1 jruoho Store (ObjectType (Local0), Local1)
5672 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5673 1.1 jruoho { Return (0x31) } // Local1 indicates Local0 is not a Number
5674 1.1 jruoho
5675 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5676 1.1 jruoho { Return (0x32) } // timeout occurred without acquiring signal
5677 1.1 jruoho
5678 1.1 jruoho Store ("Acquire 2nd existing signal PASS", Debug)
5679 1.1 jruoho
5680 1.1 jruoho
5681 1.1 jruoho // ensure WaitOp timeout test cases do not hang
5682 1.1 jruoho if (LEqual (Arg0, 0xFFFF))
5683 1.1 jruoho { Store (0xFFFE, Arg0) }
5684 1.1 jruoho
5685 1.1 jruoho // acquire non-existing signal
5686 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5687 1.1 jruoho
5688 1.1 jruoho // validate Local0 is a Number
5689 1.1 jruoho Store (ObjectType (Local0), Local1)
5690 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5691 1.1 jruoho { Return (0x41) } // Local1 indicates Local0 is not a Number
5692 1.1 jruoho
5693 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5694 1.1 jruoho { Return (0x42) } // non-existant signal was acquired
5695 1.1 jruoho
5696 1.1 jruoho Store ("Acquire signal timeout PASS", Debug)
5697 1.1 jruoho
5698 1.1 jruoho
5699 1.1 jruoho // prime EVNT with two outstanding signals
5700 1.1 jruoho Signal (EVNT)
5701 1.1 jruoho Signal (EVNT)
5702 1.1 jruoho
5703 1.1 jruoho // reset EVNT to initialization (zero) state
5704 1.1 jruoho Reset (EVNT)
5705 1.1 jruoho
5706 1.1 jruoho // acquire non-existing signal
5707 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5708 1.1 jruoho
5709 1.1 jruoho // validate Local0 is a Number
5710 1.1 jruoho Store (ObjectType (Local0), Local1)
5711 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5712 1.1 jruoho { Return (0x51) } // Local1 indicates Local0 is not a Number
5713 1.1 jruoho
5714 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5715 1.1 jruoho { Return (0x52) } // non-existant signal was acquired
5716 1.1 jruoho
5717 1.1 jruoho Store ("Reset signal PASS", Debug)
5718 1.1 jruoho
5719 1.1 jruoho
5720 1.1 jruoho // acquire non-existing signal using Lvalue timeout
5721 1.1 jruoho Store (Wait (EVNT, Zero), Local0)
5722 1.1 jruoho
5723 1.1 jruoho // validate Local0 is a Number
5724 1.1 jruoho Store (ObjectType (Local0), Local1)
5725 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5726 1.1 jruoho { Return (0x61) } // Local1 indicates Local0 is not a Number
5727 1.1 jruoho
5728 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5729 1.1 jruoho { Return (0x62) } // non-existant signal was acquired
5730 1.1 jruoho
5731 1.1 jruoho Store ("Zero Lvalue PASS", Debug)
5732 1.1 jruoho
5733 1.1 jruoho
5734 1.1 jruoho // acquire non-existing signal using Lvalue timeout
5735 1.1 jruoho Store (Wait (EVNT, One), Local0)
5736 1.1 jruoho
5737 1.1 jruoho // validate Local0 is a Number
5738 1.1 jruoho Store (ObjectType (Local0), Local1)
5739 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5740 1.1 jruoho { Return (0x71) } // Local1 indicates Local0 is not a Number
5741 1.1 jruoho
5742 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5743 1.1 jruoho { Return (0x72) } // non-existant signal was acquired
5744 1.1 jruoho
5745 1.1 jruoho Store ("One Lvalue PASS", Debug)
5746 1.1 jruoho
5747 1.1 jruoho // Lvalue Event test cases
5748 1.1 jruoho // ILLEGAL SOURCE OPERAND Store (EVNT, Local2)
5749 1.1 jruoho
5750 1.1 jruoho // validate Local2 is an Event
5751 1.1 jruoho Store (ObjectType (EVNT), Local1)
5752 1.1 jruoho If (LNotEqual (Local1, 7)) // Event is type 7
5753 1.1 jruoho { Return (0x81) } // Local1 indicates Local0 is not a Number
5754 1.1 jruoho
5755 1.1 jruoho // reset EVNT to initialization (zero) state
5756 1.1 jruoho Reset (EVNT)
5757 1.1 jruoho
5758 1.1 jruoho // prime EVNT with two outstanding signals
5759 1.1 jruoho Signal (EVNT)
5760 1.1 jruoho
5761 1.1 jruoho // acquire existing signal
5762 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5763 1.1 jruoho
5764 1.1 jruoho // validate Local0 is a Number
5765 1.1 jruoho Store (ObjectType (Local0), Local1)
5766 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5767 1.1 jruoho { Return (0x82) } // Local1 indicates Local0 is not a Number
5768 1.1 jruoho
5769 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1
5770 1.1 jruoho { Return (0x83) } // timeout occurred without acquiring signal
5771 1.1 jruoho
5772 1.1 jruoho Store ("Acquire Lvalue existing signal PASS", Debug)
5773 1.1 jruoho
5774 1.1 jruoho
5775 1.1 jruoho // acquire non-existing signal
5776 1.1 jruoho Store (Wait (EVNT, Arg0), Local0)
5777 1.1 jruoho
5778 1.1 jruoho // validate Local0 is a Number
5779 1.1 jruoho Store (ObjectType (Local0), Local1)
5780 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1
5781 1.1 jruoho { Return (0x84) } // Local1 indicates Local0 is not a Number
5782 1.1 jruoho
5783 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1
5784 1.1 jruoho { Return (0x85) } // non-existant signal was acquired
5785 1.1 jruoho
5786 1.1 jruoho Store ("Acquire Lvalue signal timeout PASS", Debug)
5787 1.1 jruoho
5788 1.1 jruoho
5789 1.1 jruoho Return (0) // success
5790 1.1 jruoho } // TEVN control method to test ResetOp, SignalOp, and WaitOp
5791 1.1 jruoho
5792 1.1 jruoho Method (TEST)
5793 1.1 jruoho {
5794 1.1 jruoho Store ("++++++++ Event Test", Debug)
5795 1.1 jruoho
5796 1.1 jruoho Store (TEVN (100), Local0)
5797 1.1 jruoho
5798 1.1 jruoho Return (Local0)
5799 1.1 jruoho } // TEST
5800 1.1 jruoho } // EVNT
5801 1.1 jruoho
5802 1.1 jruoho //
5803 1.1 jruoho // test SizeOfLv.asl
5804 1.1 jruoho //
5805 1.1 jruoho // Test for SizeOf (Lvalue)
5806 1.1 jruoho //
5807 1.1 jruoho // This next section will contain the packages that the SizeOfOp will be
5808 1.1 jruoho // exercised on. The first one, PKG0, is a regular package of 3 elements.
5809 1.1 jruoho // The 2nd one, PKG1, is a nested package with 3 packages inside it, each
5810 1.1 jruoho // with 3 elements. It is expected that SizeOf operator will return the
5811 1.1 jruoho // same value for these two packages since they both have 3 elements. The
5812 1.1 jruoho // final package, PKG2, has 4 elements and the SizeOf operator is expected
5813 1.1 jruoho // to return different results for this package.
5814 1.1 jruoho
5815 1.1 jruoho Name (PKG0,
5816 1.1 jruoho Package (3)
5817 1.1 jruoho {0x0123, 0x4567, 0x89AB}
5818 1.1 jruoho ) // PKG0
5819 1.1 jruoho
5820 1.1 jruoho Name (PKG1,
5821 1.1 jruoho Package (3)
5822 1.1 jruoho {
5823 1.1 jruoho Package (3) {0x0123, 0x4567, 0x89AB},
5824 1.1 jruoho Package (3) {0xCDEF, 0xFEDC, 0xBA98},
5825 1.1 jruoho Package (3) {0x7654, 0x3210, 0x1234}
5826 1.1 jruoho }
5827 1.1 jruoho ) // PKG1
5828 1.1 jruoho
5829 1.1 jruoho Name (PKG2,
5830 1.1 jruoho Package (4)
5831 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888}
5832 1.1 jruoho ) // PKG2
5833 1.1 jruoho
5834 1.1 jruoho Name (PKG3,
5835 1.1 jruoho Package (5)
5836 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888, 0x7777}
5837 1.1 jruoho ) // PKG3
5838 1.1 jruoho
5839 1.1 jruoho // End Packages **********************************************************
5840 1.1 jruoho
5841 1.1 jruoho // The following section will declare the data strings that will be used to
5842 1.1 jruoho // exercise the SizeOf operator. STR0 and STR1 are expected to be equal,
5843 1.1 jruoho // STR2 is expected to have a different SizeOf value than STR0 and STR1.
5844 1.1 jruoho
5845 1.1 jruoho Name (STR0, "ACPI permits very flexible methods of expressing a system")
5846 1.1 jruoho
5847 1.1 jruoho Name (STR1, "MIKE permits very flexible methods of expressing a system")
5848 1.1 jruoho
5849 1.1 jruoho Name (STR2, "Needless to say, Mike and ACPI are frequently at odds")
5850 1.1 jruoho
5851 1.1 jruoho // This string is being made in case we want to do a SizeOf comparison
5852 1.1 jruoho // between strings and packages or buffers
5853 1.1 jruoho Name (STR3, "12345")
5854 1.1 jruoho
5855 1.1 jruoho // End Strings **********************************************************
5856 1.1 jruoho
5857 1.1 jruoho // The following section will declare the buffers that will be used to exercise
5858 1.1 jruoho // the SizeOf operator.
5859 1.1 jruoho
5860 1.1 jruoho Name (BUF0, Buffer (10) {})
5861 1.1 jruoho Name (BUF1, Buffer (10) {})
5862 1.1 jruoho Name (BUF2, Buffer (8) {})
5863 1.1 jruoho Name (BUF3, Buffer (5) {})
5864 1.1 jruoho
5865 1.1 jruoho // End Buffers **********************************************************
5866 1.1 jruoho Device (SZLV)
5867 1.1 jruoho {
5868 1.1 jruoho
5869 1.1 jruoho Method (CMPR, 2)
5870 1.1 jruoho {
5871 1.1 jruoho // CMPR is passed two arguments. If unequal, return 1 to indicate
5872 1.1 jruoho // that, otherwise return 0 to indicate SizeOf each is equal.
5873 1.1 jruoho
5874 1.1 jruoho Store (0x01, Local0)
5875 1.1 jruoho
5876 1.1 jruoho if (LEqual (SizeOf(Arg0), SizeOf(Arg1)))
5877 1.1 jruoho {
5878 1.1 jruoho Store (0x00, Local0)
5879 1.1 jruoho }
5880 1.1 jruoho
5881 1.1 jruoho return (Local0)
5882 1.1 jruoho } // CMPR
5883 1.1 jruoho
5884 1.1 jruoho
5885 1.1 jruoho Method (TEST)
5886 1.1 jruoho {
5887 1.1 jruoho
5888 1.1 jruoho Store ("++++++++ SizeOfLv Test", Debug)
5889 1.1 jruoho
5890 1.1 jruoho // TBD: SizeOf ("string")
5891 1.1 jruoho // SizeOf (Buffer)
5892 1.1 jruoho // SizeOf (Package)
5893 1.1 jruoho // SizeOf (String)
5894 1.1 jruoho // SizeOf (STR0) -- where Name (STR0,...) -- lot's of cases
5895 1.1 jruoho // buffer, string, package,
5896 1.1 jruoho // SizeOf (METH) -- where METH control method returns
5897 1.1 jruoho // buffer, string, package,
5898 1.1 jruoho
5899 1.1 jruoho // TBD: SLOC [SizeOf (Local0)] -- dup SARG
5900 1.1 jruoho
5901 1.1 jruoho // Compare the elements that we expect to be the same. Exit out with an error
5902 1.1 jruoho // code on the first failure.
5903 1.1 jruoho if (LNotEqual (0x00, CMPR (STR0, STR1)))
5904 1.1 jruoho {
5905 1.1 jruoho Return (0x01)
5906 1.1 jruoho }
5907 1.1 jruoho
5908 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, BUF3)))
5909 1.1 jruoho {
5910 1.1 jruoho Return (0x02)
5911 1.1 jruoho }
5912 1.1 jruoho
5913 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, PKG3)))
5914 1.1 jruoho {
5915 1.1 jruoho Return (0x03)
5916 1.1 jruoho }
5917 1.1 jruoho
5918 1.1 jruoho // In the following section, this test will cover the SizeOf
5919 1.1 jruoho // operator for Local values.
5920 1.1 jruoho // In this case, both Local0 and Local1 should have the same Size
5921 1.1 jruoho Store (STR0, Local0)
5922 1.1 jruoho Store (STR1, Local1)
5923 1.1 jruoho
5924 1.1 jruoho if (LNotEqual (SizeOf (Local0), SizeOf (Local1)))
5925 1.1 jruoho {
5926 1.1 jruoho Return (0x04)
5927 1.1 jruoho }
5928 1.1 jruoho
5929 1.1 jruoho // Now create a case where Local0 and Local1 are different
5930 1.1 jruoho Store (STR2, Local1)
5931 1.1 jruoho
5932 1.1 jruoho if (LEqual (SizeOf (Local0), SizeOf (Local1)))
5933 1.1 jruoho {
5934 1.1 jruoho Return (0x05)
5935 1.1 jruoho }
5936 1.1 jruoho
5937 1.1 jruoho // Finally, check for the return of SizeOf for a known Buffer. Just
5938 1.1 jruoho // in case we magically pass above cases due to all Buffers being Zero
5939 1.1 jruoho // bytes in size, or Infinity, etc.
5940 1.1 jruoho if (LNotEqual (0x05, SizeOf (BUF3)))
5941 1.1 jruoho {
5942 1.1 jruoho Return (0x06)
5943 1.1 jruoho }
5944 1.1 jruoho
5945 1.1 jruoho Return (0)
5946 1.1 jruoho } // TEST
5947 1.1 jruoho } // SZLV
5948 1.1 jruoho
5949 1.1 jruoho
5950 1.1 jruoho //
5951 1.1 jruoho // test BytField.asl
5952 1.1 jruoho //
5953 1.1 jruoho // BytField test
5954 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
5955 1.1 jruoho // Tests access of TBD.
5956 1.1 jruoho //
5957 1.1 jruoho Scope (\_SB) // System Bus
5958 1.1 jruoho { // _SB system bus
5959 1.1 jruoho Device (BYTF)
5960 1.1 jruoho { // Test device name
5961 1.1 jruoho Method (TEST)
5962 1.1 jruoho {
5963 1.1 jruoho Store ("++++++++ BytField Test", Debug)
5964 1.1 jruoho
5965 1.1 jruoho Return (\_TZ.C19B.RSLT)
5966 1.1 jruoho } // TEST
5967 1.1 jruoho } // BYTF
5968 1.1 jruoho
5969 1.1 jruoho Device (C005)
5970 1.1 jruoho { // Device C005
5971 1.1 jruoho Device (C013)
5972 1.1 jruoho { // Device C013
5973 1.1 jruoho } // Device C013
5974 1.1 jruoho } // Device C005
5975 1.1 jruoho
5976 1.1 jruoho Method (C115)
5977 1.1 jruoho { // C115 control method
5978 1.1 jruoho Acquire (\_GL, 0xFFFF)
5979 1.1 jruoho Store (\_SB.C005.C013.C058.C07E, Local0)
5980 1.1 jruoho Release (\_GL)
5981 1.1 jruoho And (Local0, 16, Local0)
5982 1.1 jruoho Store (ShiftRight (Local0, 4, ), Local1)
5983 1.1 jruoho If (LEqual (Local1, 0))
5984 1.1 jruoho { Return (1) }
5985 1.1 jruoho Else
5986 1.1 jruoho { Return (0) }
5987 1.1 jruoho } // C115 control method
5988 1.1 jruoho } // _SB system bus
5989 1.1 jruoho
5990 1.1 jruoho OperationRegion (C018, SystemIO, 0x5028, 4)
5991 1.1 jruoho Field (C018, AnyAcc, NoLock, Preserve)
5992 1.1 jruoho { // Field overlaying C018
5993 1.1 jruoho C019, 32
5994 1.1 jruoho } // Field overlaying C018
5995 1.1 jruoho
5996 1.1 jruoho OperationRegion (C01A, SystemIO, 0x5030, 4)
5997 1.1 jruoho Field (C01A, ByteAcc, NoLock, Preserve)
5998 1.1 jruoho { // Field overlaying C01A
5999 1.1 jruoho C01B, 8,
6000 1.1 jruoho C01C, 8,
6001 1.1 jruoho C01D, 8,
6002 1.1 jruoho C01E, 8
6003 1.1 jruoho } // Field overlaying C01A
6004 1.1 jruoho
6005 1.1 jruoho Mutex (\C01F, 0)
6006 1.1 jruoho Name (\C020, 0)
6007 1.1 jruoho Name (\C021, 0)
6008 1.1 jruoho
6009 1.1 jruoho Method (\C022, 0)
6010 1.1 jruoho { // \C022 control method
6011 1.1 jruoho Acquire (\C01F, 0xFFFF)
6012 1.1 jruoho If (LEqual (\C021, 0))
6013 1.1 jruoho {
6014 1.1 jruoho Store (C019, Local0)
6015 1.1 jruoho And (Local0, 0xFFFEFFFE, Local0)
6016 1.1 jruoho Store (Local0, C019)
6017 1.1 jruoho Increment (\C021)
6018 1.1 jruoho }
6019 1.1 jruoho Release (\C01F)
6020 1.1 jruoho } // \C022 control method
6021 1.1 jruoho
6022 1.1 jruoho Scope (\_SB.C005.C013)
6023 1.1 jruoho { // Scope \_SB.C005.C013
6024 1.1 jruoho Device (C058)
6025 1.1 jruoho { // Device C058
6026 1.1 jruoho Name (_HID, "*PNP0A06")
6027 1.1 jruoho
6028 1.1 jruoho OperationRegion (C059, SystemIO, 0xE0, 2)
6029 1.1 jruoho Field (C059, ByteAcc, NoLock, Preserve)
6030 1.1 jruoho { // Field overlaying C059
6031 1.1 jruoho C05A, 8,
6032 1.1 jruoho C05B, 8
6033 1.1 jruoho } // Field overlaying C059
6034 1.1 jruoho
6035 1.1 jruoho OperationRegion (C05C, SystemIO, 0xE2, 2)
6036 1.1 jruoho Field (C05C, ByteAcc, NoLock, Preserve)
6037 1.1 jruoho { // Field overlaying C05C
6038 1.1 jruoho C05D, 8,
6039 1.1 jruoho C05E, 8
6040 1.1 jruoho } // Field overlaying C05C
6041 1.1 jruoho IndexField (C05D, C05E, ByteAcc, NoLock, Preserve)
6042 1.1 jruoho { // IndexField overlaying C05D/C05E
6043 1.1 jruoho , 0x410, // skip
6044 1.1 jruoho C05F, 8,
6045 1.1 jruoho C060, 8,
6046 1.1 jruoho C061, 8,
6047 1.1 jruoho C062, 8,
6048 1.1 jruoho C063, 8,
6049 1.1 jruoho C064, 8,
6050 1.1 jruoho C065, 8,
6051 1.1 jruoho C066, 8,
6052 1.1 jruoho C067, 8,
6053 1.1 jruoho C068, 8,
6054 1.1 jruoho C069, 8,
6055 1.1 jruoho C06A, 8,
6056 1.1 jruoho C06B, 8,
6057 1.1 jruoho C06C, 8,
6058 1.1 jruoho C06D, 8,
6059 1.1 jruoho C06E, 8,
6060 1.1 jruoho , 0x70, // skip
6061 1.1 jruoho C06F, 8,
6062 1.1 jruoho C070, 8,
6063 1.1 jruoho C071, 8,
6064 1.1 jruoho C072, 8,
6065 1.1 jruoho C073, 8,
6066 1.1 jruoho C074, 8,
6067 1.1 jruoho C075, 8,
6068 1.1 jruoho C076, 8,
6069 1.1 jruoho C077, 8,
6070 1.1 jruoho C078, 8,
6071 1.1 jruoho C079, 8,
6072 1.1 jruoho C07A, 8,
6073 1.1 jruoho C07B, 8,
6074 1.1 jruoho C07C, 8,
6075 1.1 jruoho C07D, 8,
6076 1.1 jruoho C07E, 8
6077 1.1 jruoho } // IndexField overlaying C05D/C05E
6078 1.1 jruoho
6079 1.1 jruoho OperationRegion (C07F, SystemIO, 0xE4, 2)
6080 1.1 jruoho Field (C07F, ByteAcc, NoLock, Preserve)
6081 1.1 jruoho { // Field overlaying C07F
6082 1.1 jruoho C080, 8,
6083 1.1 jruoho C081, 8
6084 1.1 jruoho } // Field overlaying C07F
6085 1.1 jruoho
6086 1.1 jruoho OperationRegion (C082, SystemIO, 0xE0, 1)
6087 1.1 jruoho Field (C082, ByteAcc, NoLock, Preserve)
6088 1.1 jruoho { // Field overlaying C082
6089 1.1 jruoho C083, 8
6090 1.1 jruoho } // Field overlaying C082
6091 1.1 jruoho
6092 1.1 jruoho OperationRegion (C084, SystemIO, 0xFF, 1)
6093 1.1 jruoho Field (C084, ByteAcc, NoLock, Preserve)
6094 1.1 jruoho { // Field overlaying C084
6095 1.1 jruoho C085, 8
6096 1.1 jruoho } // Field overlaying C084
6097 1.1 jruoho
6098 1.1 jruoho OperationRegion (C086, SystemIO, 0xFD, 1)
6099 1.1 jruoho Field (C086, ByteAcc, NoLock, Preserve)
6100 1.1 jruoho { // Field overlaying C086
6101 1.1 jruoho C087, 8
6102 1.1 jruoho } // Field overlaying C086
6103 1.1 jruoho
6104 1.1 jruoho Mutex (C088, 0)
6105 1.1 jruoho Mutex (C089, 0)
6106 1.1 jruoho Mutex (C08A, 0)
6107 1.1 jruoho Mutex (C08B, 0)
6108 1.1 jruoho Mutex (C08C, 0)
6109 1.1 jruoho Mutex (C08D, 0)
6110 1.1 jruoho
6111 1.1 jruoho Name (C08E, 0xFFFFFFFD)
6112 1.1 jruoho Name (C08F, 0)
6113 1.1 jruoho
6114 1.1 jruoho Method (C0AA, 4)
6115 1.1 jruoho { // C0AA control method
6116 1.1 jruoho Store (Buffer (4) {}, Local7)
6117 1.1 jruoho CreateByteField (Local7, 0, C0AB)
6118 1.1 jruoho CreateByteField (Local7, 1, C0AC)
6119 1.1 jruoho CreateByteField (Local7, 2, C0AD)
6120 1.1 jruoho CreateByteField (Local7, 3, C0AE)
6121 1.1 jruoho Acquire (^C08B, 0xFFFF)
6122 1.1 jruoho Acquire (\_GL, 0xFFFF)
6123 1.1 jruoho \C022 ()
6124 1.1 jruoho Store (1, \_SB.C005.C013.C058.C06B)
6125 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B)))
6126 1.1 jruoho { Stall (100) }
6127 1.1 jruoho Store (Arg3, \_SB.C005.C013.C058.C06E)
6128 1.1 jruoho Store (Arg2, \_SB.C005.C013.C058.C06D)
6129 1.1 jruoho Store (Arg1, \_SB.C005.C013.C058.C06C)
6130 1.1 jruoho Store (Arg0, \_SB.C005.C013.C058.C06B)
6131 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B)))
6132 1.1 jruoho { Stall (100) }
6133 1.1 jruoho Store (\_SB.C005.C013.C058.C06E, C0AB)
6134 1.1 jruoho Store (\_SB.C005.C013.C058.C06D, C0AC)
6135 1.1 jruoho Store (\_SB.C005.C013.C058.C06C, C0AD)
6136 1.1 jruoho Store (\_SB.C005.C013.C058.C06B, C0AE)
6137 1.1 jruoho If (LNot (LEqual (Arg0, 23)))
6138 1.1 jruoho {
6139 1.1 jruoho Store (2, \_SB.C005.C013.C058.C06B)
6140 1.1 jruoho Stall (100)
6141 1.1 jruoho }
6142 1.1 jruoho Release (\_GL)
6143 1.1 jruoho Release (^C08B)
6144 1.1 jruoho Return (Local7)
6145 1.1 jruoho } // C0AA control method
6146 1.1 jruoho } // Device C058
6147 1.1 jruoho } // Scope \_SB.C005.C013
6148 1.1 jruoho
6149 1.1 jruoho Scope (\_TZ)
6150 1.1 jruoho { // \_TZ thermal zone scope
6151 1.1 jruoho Name (C18B, Package (2)
6152 1.1 jruoho {
6153 1.1 jruoho Package (2)
6154 1.1 jruoho {
6155 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E},
6156 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2}
6157 1.1 jruoho },
6158 1.1 jruoho Package (2)
6159 1.1 jruoho {
6160 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E},
6161 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2}
6162 1.1 jruoho }
6163 1.1 jruoho }) // C18B
6164 1.1 jruoho
6165 1.1 jruoho Name (C18C, Package (2)
6166 1.1 jruoho {
6167 1.1 jruoho Package (2)
6168 1.1 jruoho {
6169 1.1 jruoho Package (3) {0x64, 0x4B, 0x32},
6170 1.1 jruoho Package (3) {0x64, 0x4B, 0x32}
6171 1.1 jruoho }
6172 1.1 jruoho }) // C81C
6173 1.1 jruoho
6174 1.1 jruoho Name (C18D, 0)
6175 1.1 jruoho Name (C18E, 0)
6176 1.1 jruoho Name (C18F, 0)
6177 1.1 jruoho Name (C190, 0)
6178 1.1 jruoho Name (C191, 3)
6179 1.1 jruoho Name (C192, 0)
6180 1.1 jruoho Name (C193, 1)
6181 1.1 jruoho Name (C194, 2)
6182 1.1 jruoho Mutex (C195, 0)
6183 1.1 jruoho Name (C196, 1)
6184 1.1 jruoho Name (C197, 0x0B9C)
6185 1.1 jruoho Name (C198, 0x0B9C)
6186 1.1 jruoho Name (C199, 0xFFFFFFFD)
6187 1.1 jruoho Name (C19A, 0)
6188 1.1 jruoho
6189 1.1 jruoho Device (C19B)
6190 1.1 jruoho { // Device C19B
6191 1.1 jruoho Name (RSLT, 0) // default to zero
6192 1.1 jruoho
6193 1.1 jruoho Method (XINI)
6194 1.1 jruoho { // _INI control method (Uses Global Lock -- can't run under AcpiExec)
6195 1.1 jruoho Store (\_SB.C115, C19A)
6196 1.1 jruoho \_TZ.C19C._SCP (0)
6197 1.1 jruoho Subtract (0x0EB2, 0x0AAC, Local1) // Local1 = AACh - EB2h
6198 1.1 jruoho Divide (Local1, 10, Local0, Local2) // Local0 = Local1 / 10
6199 1.1 jruoho // Local2 = Local1 % 10
6200 1.1 jruoho \_SB.C005.C013.C058.C0AA (14, Local2, 0, 0)
6201 1.1 jruoho Store
6202 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 0, )), C18D)
6203 1.1 jruoho Store
6204 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 1, )), C18E)
6205 1.1 jruoho Store
6206 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 2, )), C18F)
6207 1.1 jruoho
6208 1.1 jruoho Store (1, RSLT) // set RSLT to 1 if _INI control method completes
6209 1.1 jruoho } // _INI control method
6210 1.1 jruoho
6211 1.1 jruoho // PowerResource (C19D) {...}
6212 1.1 jruoho } // Device C19B
6213 1.1 jruoho
6214 1.1 jruoho ThermalZone (C19C)
6215 1.1 jruoho {
6216 1.1 jruoho Method (_SCP, 1)
6217 1.1 jruoho { // _SCP control method
6218 1.1 jruoho Store (Arg0, Local0)
6219 1.1 jruoho If (LEqual (Local0, 0))
6220 1.1 jruoho {
6221 1.1 jruoho Store (0, \_TZ.C192)
6222 1.1 jruoho Store (1, \_TZ.C193)
6223 1.1 jruoho Store (2, \_TZ.C194)
6224 1.1 jruoho Store (3, \_TZ.C191)
6225 1.1 jruoho }
6226 1.1 jruoho Else
6227 1.1 jruoho {
6228 1.1 jruoho Store (0, \_TZ.C191)
6229 1.1 jruoho Store (1, \_TZ.C192)
6230 1.1 jruoho Store (2, \_TZ.C193)
6231 1.1 jruoho Store (3, \_TZ.C194)
6232 1.1 jruoho }
6233 1.1 jruoho } // _SCP control method
6234 1.1 jruoho } // ThermalZone C19C
6235 1.1 jruoho } // \_TZ thermal zone scope
6236 1.1 jruoho
6237 1.1 jruoho
6238 1.1 jruoho //
6239 1.1 jruoho // test DwrdFld.asl
6240 1.1 jruoho //
6241 1.1 jruoho Name (BUFR, buffer(10) {0,0,0,0,0,0,0,0,0,0} )
6242 1.1 jruoho
6243 1.1 jruoho Device (DWDF)
6244 1.1 jruoho {
6245 1.1 jruoho Method (TEST)
6246 1.1 jruoho {
6247 1.1 jruoho Store ("++++++++ DwrdFld Test", Debug)
6248 1.1 jruoho
6249 1.1 jruoho CreateByteField (BUFR, 0, BYTE)
6250 1.1 jruoho Store (0xAA, BYTE)
6251 1.1 jruoho
6252 1.1 jruoho CreateWordField (BUFR, 1, WORD)
6253 1.1 jruoho Store (0xBBCC, WORD)
6254 1.1 jruoho
6255 1.1 jruoho CreateDWordField (BUFR, 3, DWRD)
6256 1.1 jruoho Store (0xDDEEFF00, DWRD)
6257 1.1 jruoho
6258 1.1 jruoho CreateByteField (BUFR, 7, BYT2)
6259 1.1 jruoho Store (0x11, BYT2)
6260 1.1 jruoho
6261 1.1 jruoho CreateWordField (BUFR, 8, WRD2)
6262 1.1 jruoho Store (0x2233, WRD2)
6263 1.1 jruoho
6264 1.1 jruoho Return (0)
6265 1.1 jruoho
6266 1.1 jruoho } // End Method TEST
6267 1.1 jruoho } // Device DWDF
6268 1.1 jruoho
6269 1.1 jruoho //
6270 1.1 jruoho // test DivAddx.asl
6271 1.1 jruoho //
6272 1.1 jruoho Name (B1LO, 0xAA)
6273 1.1 jruoho Name (B1HI, 0xBB)
6274 1.1 jruoho
6275 1.1 jruoho Method (MKW_, 2)
6276 1.1 jruoho { // This control method will take two bytes and make them into a WORD
6277 1.1 jruoho
6278 1.1 jruoho Multiply (B1HI, 256, Local0) // Make high byte.....high
6279 1.1 jruoho Or (Local0, B1LO, Local0) // OR in the low byte
6280 1.1 jruoho Return (Local0) // Return the WORD
6281 1.1 jruoho
6282 1.1 jruoho } // MKW_
6283 1.1 jruoho
6284 1.1 jruoho Device (DVAX)
6285 1.1 jruoho {
6286 1.1 jruoho Method (TEST)
6287 1.1 jruoho {
6288 1.1 jruoho
6289 1.1 jruoho Store ("++++++++ DivAddx Test", Debug)
6290 1.1 jruoho
6291 1.1 jruoho Store (25, B1LO)
6292 1.1 jruoho Store (0, B1HI)
6293 1.1 jruoho
6294 1.1 jruoho // We'll multiply 25 * 3 to get 75, add 99 to it then divide
6295 1.1 jruoho // by 100. We expect to get 74 for the remainder and 1 for
6296 1.1 jruoho // the quotient.
6297 1.1 jruoho Divide(
6298 1.1 jruoho Add (Multiply (3, MKW_ (B1LO, B1HI)), 0x63),
6299 1.1 jruoho // Dividend,
6300 1.1 jruoho 100, // Divisor
6301 1.1 jruoho Local4, // Remainder
6302 1.1 jruoho Local2) // Quotient
6303 1.1 jruoho
6304 1.1 jruoho If (LAnd (LEqual (74, Local4), LEqual (1, Local2)))
6305 1.1 jruoho { // Indicate Pass
6306 1.1 jruoho Store (0x00, Local0)
6307 1.1 jruoho }
6308 1.1 jruoho
6309 1.1 jruoho Else
6310 1.1 jruoho { // Indicate Fail
6311 1.1 jruoho Store (0x01, Local0)
6312 1.1 jruoho }
6313 1.1 jruoho
6314 1.1 jruoho Return (Local0)
6315 1.1 jruoho } // End Method TEST
6316 1.1 jruoho } // Device DVAX
6317 1.1 jruoho
6318 1.1 jruoho //
6319 1.1 jruoho // test IndexFld.asl (IndexOp6.asl)
6320 1.1 jruoho //
6321 1.1 jruoho // IndexFld test
6322 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
6323 1.1 jruoho // Tests index field element AccessAs macro.
6324 1.1 jruoho // Also tests name resolution of index field elements with same names
6325 1.1 jruoho // but different namespace scopes.
6326 1.1 jruoho //
6327 1.1 jruoho Device (IDX6)
6328 1.1 jruoho { // Test device name
6329 1.1 jruoho
6330 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2)
6331 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve)
6332 1.1 jruoho {
6333 1.1 jruoho INDX, 8,
6334 1.1 jruoho DATA, 8
6335 1.1 jruoho }
6336 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes)
6337 1.1 jruoho {
6338 1.1 jruoho AccessAs (ByteAcc, 0),
6339 1.1 jruoho IFE0, 8,
6340 1.1 jruoho IFE1, 8,
6341 1.1 jruoho IFE2, 8,
6342 1.1 jruoho IFE3, 8,
6343 1.1 jruoho IFE4, 8,
6344 1.1 jruoho IFE5, 8,
6345 1.1 jruoho IFE6, 8,
6346 1.1 jruoho IFE7, 8,
6347 1.1 jruoho IFE8, 8,
6348 1.1 jruoho IFE9, 8,
6349 1.1 jruoho }
6350 1.1 jruoho
6351 1.1 jruoho Device (TST_)
6352 1.1 jruoho { // TST_: provides a different namespace scope for IFE0 and IFE1
6353 1.1 jruoho OperationRegion (SIO2, SystemIO, 0x100, 2)
6354 1.1 jruoho Field (SIO2, ByteAcc, NoLock, Preserve)
6355 1.1 jruoho {
6356 1.1 jruoho IND2, 8,
6357 1.1 jruoho DAT2, 8
6358 1.1 jruoho }
6359 1.1 jruoho IndexField (IND2, DAT2, AnyAcc, NoLock, WriteAsOnes)
6360 1.1 jruoho {
6361 1.1 jruoho IFE0, 8, // duplicate IndexField name with different scope
6362 1.1 jruoho IFE1, 8
6363 1.1 jruoho }
6364 1.1 jruoho } // TST_: provides a different namespace scope for IFE0 and IFE1
6365 1.1 jruoho
6366 1.1 jruoho Method (TEST)
6367 1.1 jruoho {
6368 1.1 jruoho Store ("++++++++ IndexOp6 Test", Debug)
6369 1.1 jruoho
6370 1.1 jruoho Store (IFE0, Local0)
6371 1.1 jruoho Store (IFE1, Local1)
6372 1.1 jruoho Store (IFE2, Local2)
6373 1.1 jruoho
6374 1.1 jruoho // validate name resolution of IndexFields with different scopes
6375 1.1 jruoho Store (\IDX6.IFE0, Local3)
6376 1.1 jruoho Store (\IDX6.IFE1, Local4)
6377 1.1 jruoho // verioading of namespace can resolve following names
6378 1.1 jruoho Store (\IDX6.TST_.IFE0, Local5)
6379 1.1 jruoho Store (\IDX6.TST_.IFE1, Local6)
6380 1.1 jruoho
6381 1.1 jruoho Return (0)
6382 1.1 jruoho } // TEST
6383 1.1 jruoho } // IDX6
6384 1.1 jruoho
6385 1.1 jruoho //
6386 1.1 jruoho // test IndexOp5.asl
6387 1.1 jruoho //
6388 1.1 jruoho // IndexOp5 test
6389 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases.
6390 1.1 jruoho // Tests copying string into buffer then performing IndexOp on result.
6391 1.1 jruoho //
6392 1.1 jruoho Device (IDX5)
6393 1.1 jruoho { // Test device name
6394 1.1 jruoho
6395 1.1 jruoho Name (OSFL, 0) // 0 == Windows 98, 1 == Windows NT
6396 1.1 jruoho
6397 1.1 jruoho // MCTH is a control method to compare two strings. It returns
6398 1.1 jruoho // zero if the strings mismatch, or 1 if the strings match.
6399 1.1 jruoho // This exercises the test case of copying a string into a buffer
6400 1.1 jruoho // and performing an IndexOp on the resulting buffer.
6401 1.1.1.3 christos Method (MCTH, 2, Serialized) // Control Method to compare two strings
6402 1.1 jruoho { // MCTH: Control Method to compare two strings
6403 1.1 jruoho // Arg0: first string to compare
6404 1.1 jruoho // Arg1: second string to compare
6405 1.1 jruoho // Return: zero if strings mismatch, 1 if strings match
6406 1.1 jruoho
6407 1.1 jruoho // check if first string's length is less than second string's length
6408 1.1 jruoho If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
6409 1.1 jruoho { Return (0) }
6410 1.1 jruoho
6411 1.1 jruoho // increment length to include NULL termination character
6412 1.1 jruoho Add (SizeOf (Arg0), 1, Local0) // Local0 = strlen(Arg0) + 1
6413 1.1 jruoho
6414 1.1 jruoho // create two buffers of size Local0 [strlen(Arg0)+1]
6415 1.1 jruoho Name (BUF0, Buffer (Local0) {})
6416 1.1 jruoho Name (BUF1, Buffer (Local0) {})
6417 1.1 jruoho
6418 1.1 jruoho // copy strings into buffers
6419 1.1 jruoho Store (Arg0, BUF0)
6420 1.1 jruoho Store (Arg1, BUF1)
6421 1.1 jruoho
6422 1.1 jruoho // validate BUF0 and BUF1 are still buffers
6423 1.1 jruoho Store (ObjectType (BUF0), Local1)
6424 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3
6425 1.1 jruoho { Return (20) }
6426 1.1 jruoho Store (ObjectType (BUF1), Local1)
6427 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3
6428 1.1 jruoho { Return (21) }
6429 1.1 jruoho
6430 1.1 jruoho // Decrement because the Index base below is zero based
6431 1.1 jruoho // while Local0 length is one based.
6432 1.1 jruoho Decrement (Local0)
6433 1.1 jruoho
6434 1.1 jruoho While (Local0)
6435 1.1 jruoho { // loop through all BUF0 buffer elements
6436 1.1 jruoho Decrement (Local0)
6437 1.1 jruoho
6438 1.1 jruoho // check if BUF0[n] == BUF1[n]
6439 1.1 jruoho If (LEqual (DerefOf (Index (BUF0, Local0, )),
6440 1.1 jruoho DerefOf (Index (BUF1, Local0, ))))
6441 1.1 jruoho { } // this is how the code was really implemented
6442 1.1 jruoho Else
6443 1.1 jruoho { Return (Zero) }
6444 1.1 jruoho } // loop through all BUF0 buffer elements
6445 1.1 jruoho
6446 1.1 jruoho Return (One) // strings / buffers match
6447 1.1 jruoho } // MCTH: Control Method to compare two strings
6448 1.1 jruoho
6449 1.1 jruoho
6450 1.1 jruoho Method (TEST)
6451 1.1 jruoho {
6452 1.1 jruoho Store ("++++++++ IndexOp5 Test", Debug)
6453 1.1 jruoho
6454 1.1 jruoho If (MCTH (\_OS, "Microsoft Windows NT"))
6455 1.1 jruoho { Store (1, OSFL) }
6456 1.1 jruoho
6457 1.1 jruoho If (LNotEqual (OSFL, 1))
6458 1.1 jruoho { Return (11) }
6459 1.1 jruoho
6460 1.1 jruoho Return (0)
6461 1.1 jruoho } // TEST
6462 1.1 jruoho } // IDX5
6463 1.1 jruoho
6464 1.1 jruoho //
6465 1.1 jruoho // test IndexOp.asl
6466 1.1 jruoho //
6467 1.1 jruoho Scope (\_SB) // System Bus
6468 1.1 jruoho { // _SB system bus
6469 1.1 jruoho
6470 1.1 jruoho Method (C097)
6471 1.1 jruoho { Return (1) }
6472 1.1 jruoho
6473 1.1 jruoho Device (PCI2)
6474 1.1 jruoho { // Root PCI Bus
6475 1.1 jruoho Name (_HID, EISAID("PNP0A03"))
6476 1.1 jruoho Name (_ADR, 0x00000000)
6477 1.1 jruoho Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
6478 1.1 jruoho Method (_STA) {Return (0x0F)}
6479 1.1 jruoho
6480 1.1 jruoho Device (ISA)
6481 1.1 jruoho { // ISA bridge
6482 1.1 jruoho Name (_ADR, 0x00030000) // ISA bus ID
6483 1.1 jruoho
6484 1.1 jruoho Device (EC0)
6485 1.1 jruoho { // Embedded Controller
6486 1.1 jruoho Name (_GPE, 0) // EC use GPE0
6487 1.1 jruoho Name (_ADR, 0x0030000) // PCI address
6488 1.1 jruoho
6489 1.1 jruoho Method (_STA,0) // EC Status
6490 1.1 jruoho { Return(0xF) } // EC is functioning
6491 1.1 jruoho
6492 1.1 jruoho Name (_CRS, ResourceTemplate()
6493 1.1 jruoho {
6494 1.1 jruoho IO (Decode16, 0x62, 0x62, 1, 1)
6495 1.1 jruoho IO (Decode16, 0x66, 0x66, 1, 1)
6496 1.1 jruoho }
6497 1.1 jruoho )
6498 1.1 jruoho
6499 1.1 jruoho // create EC's region and field
6500 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100)
6501 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6502 1.1 jruoho {
6503 1.1 jruoho // AC information
6504 1.1 jruoho ADP, 1, // AC Adapter 1:On-line, 0:Off-line
6505 1.1 jruoho AFLT, 1, // AC Adapter Fault 1:Fault 0:Normal
6506 1.1 jruoho BAT0, 1, // BAT0 1:present, 0:not present
6507 1.1 jruoho , 1, // reserved
6508 1.1 jruoho , 28, // filler to force DWORD alignment
6509 1.1 jruoho
6510 1.1 jruoho // CMBatt information
6511 1.1 jruoho BPU0, 32, // Power Unit
6512 1.1 jruoho BDC0, 32, // Designed Capacity
6513 1.1 jruoho BFC0, 32, // Last Full Charge Capacity
6514 1.1 jruoho BTC0, 32, // Battery Technology
6515 1.1 jruoho BDV0, 32, // Design Voltage
6516 1.1 jruoho BST0, 32, // Battery State
6517 1.1 jruoho BPR0, 32, // Battery Present Rate
6518 1.1 jruoho // (Designed Capacity)x(%)/{(h)x100}
6519 1.1 jruoho BRC0, 32, // Battery Remaining Capacity
6520 1.1 jruoho // (Designed Capacity)(%)^100
6521 1.1 jruoho BPV0, 32, // Battery Present Voltage
6522 1.1 jruoho BTP0, 32, // Trip Point
6523 1.1 jruoho BCW0, 32, // Design capacity of Warning
6524 1.1 jruoho BCL0, 32, // Design capacity of Low
6525 1.1 jruoho BCG0, 32, // capacity granularity 1
6526 1.1 jruoho BG20, 32, // capacity granularity 2
6527 1.1 jruoho BMO0, 32, // Battery model number field
6528 1.1 jruoho BIF0, 32, // OEM Information(00h)
6529 1.1 jruoho BSN0, 32, // Battery Serial Number
6530 1.1 jruoho BTY0, 32, // Battery Type (e.g., "Li-Ion")
6531 1.1 jruoho BTY1, 32 // Battery Type (e.g., "Li-Ion")
6532 1.1 jruoho } // Field
6533 1.1 jruoho } // EC0: Embedded Controller
6534 1.1 jruoho } // ISA bridge
6535 1.1 jruoho } // PCI2 Root PCI Bus
6536 1.1 jruoho
6537 1.1 jruoho Device (IDX0)
6538 1.1 jruoho { // Test device name
6539 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID
6540 1.1 jruoho Name (_PCL, Package() {\_SB})
6541 1.1 jruoho Method (_STA)
6542 1.1 jruoho {
6543 1.1 jruoho // _STA bits 0-3 indicate existence of battery slot
6544 1.1 jruoho // _STA bit 4 indicates battery (not) present
6545 1.1 jruoho If (\_SB.PCI2.ISA.EC0.BAT0)
6546 1.1 jruoho { Return (0x1F) } // Battery present
6547 1.1 jruoho else
6548 1.1 jruoho { Return (0x0F) } // Battery not present
6549 1.1 jruoho } // _STA
6550 1.1 jruoho
6551 1.1.1.3 christos Method (_BIF,, Serialized)
6552 1.1 jruoho {
6553 1.1 jruoho Name (BUFR, Package(13) {})
6554 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BPU0, Index (BUFR,0)) // Power Unit
6555 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDC0, Index (BUFR,1)) // Designed Capacity
6556 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BFC0, Index (BUFR,2)) // Last Full Charge Capa.
6557 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BTC0, Index (BUFR,3)) // Battery Technology
6558 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDV0, Index (BUFR,4)) // Designed Voltage
6559 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCW0, Index (BUFR,5)) // Designed warning level
6560 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCL0, Index (BUFR,6)) // Designed Low level
6561 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCG0, Index (BUFR,7)) // Capacity granularity 1
6562 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BG20, Index (BUFR,8)) // Capacity granularity 2
6563 1.1 jruoho
6564 1.1 jruoho Store ("", Index (BUFR,9)) // Model Number
6565 1.1 jruoho
6566 1.1 jruoho Store ("", Index (BUFR,10)) // Serial Number
6567 1.1 jruoho
6568 1.1 jruoho Store ("LiOn", Index (BUFR,11)) // Battery Type
6569 1.1 jruoho
6570 1.1 jruoho Store ("Chicony", Index (BUFR,12)) // OEM Information
6571 1.1 jruoho
6572 1.1 jruoho Return (BUFR)
6573 1.1 jruoho } // _BIF
6574 1.1 jruoho
6575 1.1.1.3 christos Method (_BST,, Serialized)
6576 1.1 jruoho {
6577 1.1 jruoho Name (BUFR, Package(4) {1, 0x100, 0x76543210, 0x180})
6578 1.1 jruoho Return (BUFR)
6579 1.1 jruoho } // _BST
6580 1.1 jruoho
6581 1.1 jruoho Method (_BTP,1)
6582 1.1 jruoho {
6583 1.1 jruoho Store (arg0, \_SB.PCI2.ISA.EC0.BTP0) // Set Battery Trip point
6584 1.1 jruoho }
6585 1.1 jruoho
6586 1.1.1.3 christos Method (TEST,, Serialized)
6587 1.1 jruoho {
6588 1.1 jruoho
6589 1.1 jruoho Store ("++++++++ IndexOp Test", Debug)
6590 1.1 jruoho
6591 1.1 jruoho // test storing into uninitialized package elements
6592 1.1 jruoho Name (PBUF, Package(4) {}) // leave unitialized
6593 1.1 jruoho Store (0x01234567, Index (PBUF,0))
6594 1.1 jruoho Store (0x89ABCDEF, Index (PBUF,1))
6595 1.1 jruoho Store (0xFEDCBA98, Index (PBUF,2))
6596 1.1 jruoho Store (0x76543210, Index (PBUF,3))
6597 1.1 jruoho
6598 1.1 jruoho // verify values stored into uninitialized package elements
6599 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,0)), 0x01234567))
6600 1.1 jruoho { Return (0x10) }
6601 1.1 jruoho
6602 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,1)), 0x89ABCDEF))
6603 1.1 jruoho { Return (0x11) }
6604 1.1 jruoho
6605 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,2)), 0xFEDCBA98))
6606 1.1 jruoho { Return (0x12) }
6607 1.1 jruoho
6608 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,3)), 0x76543210))
6609 1.1 jruoho { Return (0x13) }
6610 1.1 jruoho
6611 1.1 jruoho
6612 1.1 jruoho // store _BIF package return value into Local0
6613 1.1 jruoho Store (_BIF, Local0)
6614 1.1 jruoho
6615 1.1 jruoho // save Local0 object type value into Local1
6616 1.1 jruoho Store (ObjectType (Local0), Local1)
6617 1.1 jruoho
6618 1.1 jruoho // validate Local0 is a Package
6619 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
6620 1.1 jruoho { Return (0x21) } // failure
6621 1.1 jruoho
6622 1.1 jruoho
6623 1.1 jruoho // test storing into buffer field elements
6624 1.1 jruoho Name (BUFR, Buffer(16)
6625 1.1 jruoho { // initial values
6626 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00,
6627 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00,
6628 1.1 jruoho }
6629 1.1 jruoho ) // BUFR
6630 1.1 jruoho // test storing into buffer field elements
6631 1.1 jruoho Store (0x01234567, Index (BUFR,0)) // should only store 0x67
6632 1.1 jruoho Store (0x89ABCDEF, Index (BUFR,4)) // should only store 0xEF
6633 1.1 jruoho Store (0xFEDCBA98, Index (BUFR,8)) // should only store 0x98
6634 1.1 jruoho Store (0x76543210, Index (BUFR,12)) // should only store 0x10
6635 1.1 jruoho
6636 1.1 jruoho // verify storing into buffer field elements
6637 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,0)), 0x67))
6638 1.1 jruoho { Return (0x30) }
6639 1.1 jruoho
6640 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,1)), 0))
6641 1.1 jruoho { Return (0x31) }
6642 1.1 jruoho
6643 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,4)), 0xEF))
6644 1.1 jruoho { Return (0x34) }
6645 1.1 jruoho
6646 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,8)), 0x98))
6647 1.1 jruoho { Return (0x38) }
6648 1.1 jruoho
6649 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,12)), 0x10))
6650 1.1 jruoho { Return (0x3C) }
6651 1.1 jruoho
6652 1.1 jruoho
6653 1.1 jruoho Return (0) // pass
6654 1.1 jruoho } // TEST
6655 1.1 jruoho } // IDX0
6656 1.1 jruoho } // _SB system bus
6657 1.1 jruoho
6658 1.1 jruoho //
6659 1.1 jruoho // test BitIndex.asl
6660 1.1 jruoho //
6661 1.1 jruoho // BitIndex test
6662 1.1 jruoho // This is a test case for accessing fields defined as single bits in
6663 1.1 jruoho // memory. This is done by creating two index fields that overlay the
6664 1.1 jruoho // same DWORD in memory. One field accesses the DWORD as a DWORD, the
6665 1.1 jruoho // other accesses individual bits of the same DWORD field in memory.
6666 1.1 jruoho //
6667 1.1 jruoho Scope (\_SB) // System Bus
6668 1.1 jruoho { // _SB system bus
6669 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 0x100)
6670 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6671 1.1 jruoho { // Any access
6672 1.1 jruoho TREE, 3,
6673 1.1 jruoho WRD0, 16,
6674 1.1 jruoho WRD1, 16,
6675 1.1 jruoho WRD2, 16,
6676 1.1 jruoho WRD3, 16,
6677 1.1 jruoho WRD4, 16,
6678 1.1 jruoho DWRD, 32, // DWORD field
6679 1.1 jruoho }
6680 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve)
6681 1.1 jruoho { // Any access
6682 1.1 jruoho THRE, 3,
6683 1.1 jruoho WD00, 16,
6684 1.1 jruoho WD01, 16,
6685 1.1 jruoho WD02, 16,
6686 1.1 jruoho WD03, 16,
6687 1.1 jruoho WD04, 16,
6688 1.1 jruoho BYT0, 8, // Start off with a BYTE
6689 1.1 jruoho BIT0, 1, // single-bit field
6690 1.1 jruoho BIT1, 1, // single-bit field
6691 1.1 jruoho BIT2, 1, // single-bit field
6692 1.1 jruoho BIT3, 1, // single-bit field
6693 1.1 jruoho BIT4, 1, // single-bit field
6694 1.1 jruoho BIT5, 1, // single-bit field
6695 1.1 jruoho BIT6, 1, // single-bit field
6696 1.1 jruoho BIT7, 1, // single-bit field
6697 1.1 jruoho BIT8, 1, // single-bit field
6698 1.1 jruoho BIT9, 1, // single-bit field
6699 1.1 jruoho BITA, 1, // single-bit field
6700 1.1 jruoho BITB, 1, // single-bit field
6701 1.1 jruoho BITC, 1, // single-bit field
6702 1.1 jruoho BITD, 1, // single-bit field
6703 1.1 jruoho BITE, 1, // single-bit field
6704 1.1 jruoho BITF, 1, // single-bit field
6705 1.1 jruoho BYTZ, 8, // End with a BYTE for a total of 32 bits
6706 1.1 jruoho }
6707 1.1 jruoho
6708 1.1 jruoho Device (BITI)
6709 1.1 jruoho { // Test device name
6710 1.1 jruoho
6711 1.1 jruoho Method (MBIT) // Test single bit memory accesses
6712 1.1 jruoho {
6713 1.1 jruoho
6714 1.1 jruoho If (LNotEqual (DWRD, 0x00))
6715 1.1 jruoho {
6716 1.1 jruoho Store (0xFF00, Local0)
6717 1.1 jruoho }
6718 1.1 jruoho Else
6719 1.1 jruoho {
6720 1.1 jruoho // Prime Local0 with 0...assume passing condition
6721 1.1 jruoho Store (0, Local0)
6722 1.1 jruoho
6723 1.1 jruoho // set memory contents to known values using DWORD field
6724 1.1 jruoho Store (0x5A5A5A5A, DWRD)
6725 1.1 jruoho
6726 1.1 jruoho // Given the value programmed into DWRD, only the odd bits
6727 1.1 jruoho // of the lower nibble should be set. BIT1, BIT3 should be set.
6728 1.1 jruoho // BIT0 and BIT2 should be clear
6729 1.1 jruoho
6730 1.1 jruoho If (BIT0)
6731 1.1 jruoho {
6732 1.1 jruoho Or (Local0, 0x01, Local0)
6733 1.1 jruoho }
6734 1.1 jruoho
6735 1.1 jruoho If (LNot (BIT1))
6736 1.1 jruoho {
6737 1.1 jruoho Or (Local0, 0x02, Local0)
6738 1.1 jruoho }
6739 1.1 jruoho
6740 1.1 jruoho If (BIT2)
6741 1.1 jruoho {
6742 1.1 jruoho Or (Local0, 0x04, Local0)
6743 1.1 jruoho }
6744 1.1 jruoho
6745 1.1 jruoho If (LNot (BIT3))
6746 1.1 jruoho {
6747 1.1 jruoho Or (Local0, 0x08, Local0)
6748 1.1 jruoho }
6749 1.1 jruoho
6750 1.1 jruoho // Now check the upper nibble. Only the "even" bits should
6751 1.1 jruoho // be set. BIT4, BIT6. BIT5 and BIT7 should be clear.
6752 1.1 jruoho If (LNot (BIT4))
6753 1.1 jruoho {
6754 1.1 jruoho Or (Local0, 0x10, Local0)
6755 1.1 jruoho }
6756 1.1 jruoho
6757 1.1 jruoho If (BIT5)
6758 1.1 jruoho {
6759 1.1 jruoho Or (Local0, 0x20, Local0)
6760 1.1 jruoho }
6761 1.1 jruoho
6762 1.1 jruoho If (LNot (BIT6))
6763 1.1 jruoho {
6764 1.1 jruoho Or (Local0, 0x40, Local0)
6765 1.1 jruoho }
6766 1.1 jruoho
6767 1.1 jruoho If (BIT7)
6768 1.1 jruoho {
6769 1.1 jruoho Or (Local0, 0x80, Local0)
6770 1.1 jruoho }
6771 1.1 jruoho } // End Else DWRD zeroed out
6772 1.1 jruoho
6773 1.1 jruoho Return (Local0)
6774 1.1 jruoho } // MBIT: Test single bit memory accesses
6775 1.1 jruoho
6776 1.1 jruoho Method (TEST)
6777 1.1 jruoho {
6778 1.1 jruoho
6779 1.1 jruoho Store ("++++++++ BitIndex Test", Debug)
6780 1.1 jruoho
6781 1.1 jruoho // Zero out DWRD
6782 1.1 jruoho Store (0x00000000, DWRD)
6783 1.1 jruoho
6784 1.1 jruoho // MBIT returns zero if successful
6785 1.1 jruoho // This may be causing problems -- Return (MBIT)
6786 1.1 jruoho Store (MBIT, Local0)
6787 1.1 jruoho
6788 1.1 jruoho Return (Local0)
6789 1.1 jruoho } // TEST
6790 1.1 jruoho } // BITI
6791 1.1 jruoho } // _SB system bus
6792 1.1 jruoho
6793 1.1 jruoho //
6794 1.1 jruoho // test IndexOp3.asl
6795 1.1 jruoho //
6796 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery
6797 1.1 jruoho // test) on Compaq laptops. Test cases include storing a package into
6798 1.1 jruoho // an IndexOp target and validating that changing source and destination
6799 1.1 jruoho // package contents are independent of each other.
6800 1.1 jruoho //
6801 1.1 jruoho Scope (\_SB) // System Bus
6802 1.1 jruoho { // _SB system bus
6803 1.1 jruoho
6804 1.1 jruoho Name (C174, 13)
6805 1.1 jruoho Name (C175, 8)
6806 1.1 jruoho
6807 1.1 jruoho Device (C158)
6808 1.1 jruoho { // C158: AC Adapter device
6809 1.1 jruoho Name (_HID, "ACPI0003") // AC Adapter device
6810 1.1 jruoho Name (_PCL, Package (1) {\_SB})
6811 1.1 jruoho
6812 1.1 jruoho Method (_PSR)
6813 1.1 jruoho {
6814 1.1 jruoho Acquire (\_GL, 0xFFFF)
6815 1.1 jruoho Release (\_GL)
6816 1.1 jruoho And (Local0, 1, Local0) // Local0 &= 1
6817 1.1 jruoho Return (Local0)
6818 1.1 jruoho } // _PSR
6819 1.1 jruoho } // C158: AC Adapter device
6820 1.1 jruoho
6821 1.1 jruoho Name (C176, Package (4) {"Primary", "MultiBay", "DockRight", "DockLeft"})
6822 1.1 jruoho
6823 1.1 jruoho Name (C177, Package (4) {0x99F5, 0x99F5, 0x995F, 0x995F})
6824 1.1 jruoho
6825 1.1 jruoho Name (C178, Package (4)
6826 1.1 jruoho {
6827 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190},
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 }) // C178
6832 1.1 jruoho
6833 1.1 jruoho Name (C179, Package (4) {0, 0, 0x966B, 0x4190})
6834 1.1 jruoho
6835 1.1 jruoho Name (C17A, Package (4)
6836 1.1 jruoho {
6837 1.1 jruoho Package (3) {0, 0, 0},
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 }) // C17A
6842 1.1 jruoho
6843 1.1.1.3 christos Method (C17B, 1, Serialized)
6844 1.1 jruoho { // C17B: _BIF implementation
6845 1.1 jruoho Name (C17C, Package (13)
6846 1.1 jruoho { // C17C: _BIF control method return package
6847 1.1 jruoho 0, // Power Unit (0 ==> mWh and mW)
6848 1.1 jruoho 0x99F5, // Design Capacity
6849 1.1 jruoho 0x99F5, // Last Full Charge Capacity
6850 1.1 jruoho 1, // Battery Technology (1 ==> rechargeable)
6851 1.1 jruoho 0x3840, // Design Voltage
6852 1.1 jruoho 0x1280, // Design Capacity of Warning
6853 1.1 jruoho 0x0AC7, // Design Capacity of Low
6854 1.1 jruoho 1, // Battery Capacity Granularity 1 (Low -- Warning)
6855 1.1 jruoho 1, // Battery Capacity Granularity 2 (Warning -- Full)
6856 1.1 jruoho "2891", // Model Number (ASCIIZ)
6857 1.1 jruoho "(-Unknown-)", // Serial Number (ASCIIZ)
6858 1.1 jruoho "LIon", // Battery Type (ASCIIZ)
6859 1.1 jruoho 0 // OEM Information (ASCIIZ)
6860 1.1 jruoho }) // C17C: _BIF control method return package
6861 1.1 jruoho
6862 1.1 jruoho And (Arg0, 7, Local0) // Local0 = Arg0 & 7
6863 1.1 jruoho
6864 1.1 jruoho ShiftRight (Local0, 1, Local4) // Local4 = Local0 >> 1
6865 1.1 jruoho
6866 1.1 jruoho Store (C179, Index (C178, Local4, )) // C178->Local4 = C179
6867 1.1 jruoho
6868 1.1 jruoho // verify source and destination packages can be altered independent
6869 1.1 jruoho // of each other (i.e., changing one's contents does NOT change other's
6870 1.1 jruoho // contents)
6871 1.1 jruoho Store (0x1234, Index (C179, 2, )) // C179[2] = 0x1234
6872 1.1 jruoho Store (DerefOf (Index (C179, 2, )), Local2) // Local2 = C179[2]
6873 1.1 jruoho if (LNotEqual (Local2, 0x1234))
6874 1.1 jruoho { Return (0x1234) }
6875 1.1 jruoho // Local2 = C178[0,2]
6876 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 2, )), Local2)
6877 1.1 jruoho if (LNotEqual (Local2, 0x966B))
6878 1.1 jruoho { Return (0x1234) }
6879 1.1 jruoho
6880 1.1 jruoho // Restore data to allow iterative execution
6881 1.1 jruoho Store (0x966B, Index (C179, 2, )) // C179[2] = 0x966B
6882 1.1 jruoho
6883 1.1 jruoho // C178[0,3] = 0x5678
6884 1.1 jruoho Store (0x5678, Index (DerefOf (Index (C178, 0, )), 3, ))
6885 1.1 jruoho // Local2 = C178[0,3]
6886 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 3, )), Local2)
6887 1.1 jruoho if (LNotEqual (Local2, 0x5678))
6888 1.1 jruoho { Return (0x5678) }
6889 1.1 jruoho
6890 1.1 jruoho Store (DerefOf (Index (C179, 3, )), Local2) // Local2 = C179[3]
6891 1.1 jruoho if (LNotEqual (Local2, 0x4190))
6892 1.1 jruoho { Return (0x5678) }
6893 1.1 jruoho
6894 1.1 jruoho // Restore data to allow iterative execution
6895 1.1 jruoho Store (0x4190, Index (DerefOf (Index (C178, 0, )), 3, )) // C179[2] = 0x4190
6896 1.1 jruoho
6897 1.1 jruoho Return (C17C)
6898 1.1 jruoho } // C17B: _BIF implementation
6899 1.1 jruoho
6900 1.1 jruoho Device (C154)
6901 1.1 jruoho { // C154: Battery 0
6902 1.1 jruoho Name (_HID, "*PNP0C0A") // Control Method Battey ID
6903 1.1 jruoho Name (_UID, 0) // first instance
6904 1.1 jruoho
6905 1.1 jruoho Method (_BIF)
6906 1.1 jruoho { // _BIF
6907 1.1 jruoho Return (C17B (48))
6908 1.1 jruoho } // _BIF
6909 1.1 jruoho } // C154: Battery 0
6910 1.1 jruoho
6911 1.1 jruoho Device (IDX3)
6912 1.1 jruoho {
6913 1.1.1.3 christos Method (LCLB,, Serialized)
6914 1.1 jruoho { // LCLB control method: test Index(Local#) where Local# is buffer
6915 1.1 jruoho // Local0 is index counter
6916 1.1 jruoho // Local1 is buffer
6917 1.1 jruoho // Local2 receives BUFR[Local0] via Deref(Index(Local1...))
6918 1.1 jruoho // Local3 is Local1 or Local2 object type
6919 1.1 jruoho // Local4 is return error code
6920 1.1 jruoho
6921 1.1 jruoho Name (BUFR, Buffer () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
6922 1.1 jruoho
6923 1.1 jruoho // save PKG into Local1
6924 1.1 jruoho Store (BUFR, Local1)
6925 1.1 jruoho
6926 1.1 jruoho // save Local2 object type value into Local3
6927 1.1 jruoho Store (ObjectType (Local1), Local3)
6928 1.1 jruoho
6929 1.1 jruoho // validate Local1 is a Buffer
6930 1.1 jruoho If (LNotEqual (Local3, 3)) // Buffer type is 3
6931 1.1 jruoho { Return (0x9F) }
6932 1.1 jruoho
6933 1.1 jruoho
6934 1.1 jruoho Store (0, Local0)
6935 1.1 jruoho While (LLess (Local0, 5))
6936 1.1 jruoho { // While (Local0 < 5)
6937 1.1 jruoho // Local2 = Local1[Local0]
6938 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2)
6939 1.1 jruoho
6940 1.1 jruoho // save Local2 object type value into Local3
6941 1.1 jruoho Store (ObjectType (Local2), Local3)
6942 1.1 jruoho
6943 1.1 jruoho // validate Local2 is a Number
6944 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
6945 1.1 jruoho { Return (0x9E) }
6946 1.1 jruoho
6947 1.1 jruoho // validate Local1[Local0] value == Local0
6948 1.1 jruoho If (LNotEqual (Local0, Local2))
6949 1.1 jruoho { // Local0 != Local2 == PKG[Local0]
6950 1.1 jruoho // Local4 = 0x90 + loop index (Local0)
6951 1.1 jruoho Add (0x90, Local0, Local4)
6952 1.1 jruoho
6953 1.1 jruoho // return 0x90 + loop index
6954 1.1 jruoho Return (Local4)
6955 1.1 jruoho }
6956 1.1 jruoho
6957 1.1 jruoho Increment (Local0)
6958 1.1 jruoho } // While (Local0 < 5)
6959 1.1 jruoho
6960 1.1 jruoho Store ("DerefOf(Index(LocalBuffer,,)) PASS", Debug)
6961 1.1 jruoho
6962 1.1 jruoho Return (0) // Pass
6963 1.1 jruoho } // LCLB control method: test Index(Local#) where Local# is buffer
6964 1.1 jruoho
6965 1.1.1.3 christos Method (LCLP,, Serialized)
6966 1.1 jruoho { // LCLP control method: test Index(Local#) where Local# is package
6967 1.1 jruoho // Local0 is index counter
6968 1.1 jruoho // Local1 is package
6969 1.1 jruoho // Local2 receives PKG[Local0] via Deref(Index(Local1...))
6970 1.1 jruoho // Local3 is Local1 or Local2 object type
6971 1.1 jruoho // Local4 is return error code
6972 1.1 jruoho
6973 1.1 jruoho Name (PKG, Package () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
6974 1.1 jruoho
6975 1.1 jruoho // save PKG into Local1
6976 1.1 jruoho Store (PKG, Local1)
6977 1.1 jruoho
6978 1.1 jruoho // save Local2 object type value into Local3
6979 1.1 jruoho Store (ObjectType (Local1), Local3)
6980 1.1 jruoho
6981 1.1 jruoho // validate Local1 is a Package
6982 1.1 jruoho If (LNotEqual (Local3, 4)) // Package type is 4
6983 1.1 jruoho { Return (0x8F) }
6984 1.1 jruoho
6985 1.1 jruoho
6986 1.1 jruoho Store (0, Local0)
6987 1.1 jruoho While (LLess (Local0, 5))
6988 1.1 jruoho { // While (Local0 < 5)
6989 1.1 jruoho // Local2 = Local1[Local0]
6990 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2)
6991 1.1 jruoho
6992 1.1 jruoho // save Local2 object type value into Local3
6993 1.1 jruoho Store (ObjectType (Local2), Local3)
6994 1.1 jruoho
6995 1.1 jruoho // validate Local2 is a Number
6996 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
6997 1.1 jruoho { Return (0x8E) }
6998 1.1 jruoho
6999 1.1 jruoho // validate Local1[Local0] value == Local0
7000 1.1 jruoho If (LNotEqual (Local0, Local2))
7001 1.1 jruoho { // Local0 != Local2 == PKG[Local0]
7002 1.1 jruoho // Local4 = 0x80 + loop index (Local0)
7003 1.1 jruoho Add (0x80, Local0, Local4)
7004 1.1 jruoho
7005 1.1 jruoho // return 0x80 + loop index
7006 1.1 jruoho Return (Local4)
7007 1.1 jruoho }
7008 1.1 jruoho
7009 1.1 jruoho Increment (Local0)
7010 1.1 jruoho } // While (Local0 < 5)
7011 1.1 jruoho
7012 1.1 jruoho Store ("DerefOf(Index(LocalPackage,,)) PASS", Debug)
7013 1.1 jruoho
7014 1.1 jruoho Return (0) // Pass
7015 1.1 jruoho } // LCLP control method: test Index(Local#) where Local# is package
7016 1.1 jruoho
7017 1.1 jruoho Method (TEST)
7018 1.1 jruoho {
7019 1.1 jruoho
7020 1.1 jruoho Store ("++++++++ IndexOp3 Test", Debug)
7021 1.1 jruoho
7022 1.1 jruoho // store _BIF package return value into Local0
7023 1.1 jruoho Store (\_SB.C154._BIF, Local0)
7024 1.1 jruoho
7025 1.1 jruoho // save Local0 object type value into Local1
7026 1.1 jruoho Store (ObjectType (Local0), Local1)
7027 1.1 jruoho
7028 1.1 jruoho // validate Local0 is a Package
7029 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
7030 1.1 jruoho { // failure: did not return a Package (type 4)
7031 1.1 jruoho // if Local0 is a Number, it contains an error code
7032 1.1 jruoho If (LEqual (Local1, 1)) // Number type is 1
7033 1.1 jruoho { Return (Local0) } // return Local0 error code
7034 1.1 jruoho Else // Local0 is not a Number
7035 1.1 jruoho { Return (1) } // return default error code
7036 1.1 jruoho } // failure: did not return a Package (type 4)
7037 1.1 jruoho
7038 1.1 jruoho // save LCLB control method return value into Local2
7039 1.1 jruoho Store (LCLB, Local2)
7040 1.1 jruoho If (LNotEqual (Local2, 0))
7041 1.1 jruoho { Return (Local2) } // return failure code
7042 1.1 jruoho
7043 1.1 jruoho // save LCLP control method return value into Local2
7044 1.1 jruoho Store (LCLP, Local2)
7045 1.1 jruoho If (LNotEqual (Local2, 0))
7046 1.1 jruoho { Return (Local2) } // return failure code
7047 1.1 jruoho
7048 1.1 jruoho Return (0) // Pass
7049 1.1 jruoho } // TEST
7050 1.1 jruoho } // IDX3: Test device name
7051 1.1 jruoho } // _SB system bus
7052 1.1 jruoho
7053 1.1 jruoho //
7054 1.1 jruoho // MTL developed test to exercise Indexes into buffers
7055 1.1 jruoho //
7056 1.1 jruoho Device(IDX7)
7057 1.1 jruoho {
7058 1.1 jruoho
7059 1.1 jruoho Name (PKG4, Package() {
7060 1.1 jruoho 0x2,
7061 1.1 jruoho "A short string",
7062 1.1 jruoho Buffer() {0xA, 0xB, 0xC, 0xD},
7063 1.1 jruoho 0x1234,
7064 1.1 jruoho Package() {IDX7, 0x3}
7065 1.1 jruoho })
7066 1.1 jruoho
7067 1.1 jruoho //
7068 1.1 jruoho // Generic Test method
7069 1.1 jruoho //
7070 1.1 jruoho // This test returns 0xE (14) - ObjectType = Buffer Field
7071 1.1.1.3 christos Method(TST1,, Serialized)
7072 1.1 jruoho {
7073 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7074 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7075 1.1 jruoho
7076 1.1 jruoho // verify object type returned by Index(Buffer,Element,)
7077 1.1 jruoho Store (Index (DEST, 2, ), Local1)
7078 1.1 jruoho Store (ObjectType (Local1), Local2)
7079 1.1 jruoho If (LEqual(Local2, 14))
7080 1.1 jruoho {
7081 1.1 jruoho Return(0)
7082 1.1 jruoho }
7083 1.1 jruoho Else
7084 1.1 jruoho {
7085 1.1 jruoho Return(0x1)
7086 1.1 jruoho }
7087 1.1 jruoho
7088 1.1 jruoho }
7089 1.1 jruoho
7090 1.1.1.3 christos Method(TST2,, Serialized)
7091 1.1 jruoho {
7092 1.1 jruoho Name (BUF0, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
7093 1.1 jruoho Store(0x55, Index(BUF0, 2))
7094 1.1 jruoho Store(DerefOf(Index(BUF0, 2)), Local0)
7095 1.1 jruoho If (LEqual(Local0, 0x55))
7096 1.1 jruoho {
7097 1.1 jruoho Return(0)
7098 1.1 jruoho }
7099 1.1 jruoho Else
7100 1.1 jruoho {
7101 1.1 jruoho Return(0x2)
7102 1.1 jruoho }
7103 1.1 jruoho
7104 1.1 jruoho
7105 1.1 jruoho }
7106 1.1 jruoho
7107 1.1.1.3 christos Method(TST3,, Serialized)
7108 1.1 jruoho {
7109 1.1 jruoho Name (BUF1, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
7110 1.1 jruoho Store(Index(BUF1, 1), Local0)
7111 1.1 jruoho Store(DerefOf(Local0), Local1)
7112 1.1 jruoho If (LEqual(Local1, 0x2))
7113 1.1 jruoho {
7114 1.1 jruoho Return(0)
7115 1.1 jruoho }
7116 1.1 jruoho Else
7117 1.1 jruoho {
7118 1.1 jruoho Return(0x3)
7119 1.1 jruoho }
7120 1.1 jruoho
7121 1.1 jruoho }
7122 1.1 jruoho
7123 1.1 jruoho Method(TST4)
7124 1.1 jruoho {
7125 1.1 jruoho // Index (PKG4, 0) is a Number
7126 1.1 jruoho Store (Index (PKG4, 0), Local0)
7127 1.1 jruoho Store (ObjectType(Local0), Local1)
7128 1.1 jruoho If (LEqual(Local1, 0x1))
7129 1.1 jruoho {
7130 1.1 jruoho Return(0)
7131 1.1 jruoho }
7132 1.1 jruoho Else
7133 1.1 jruoho {
7134 1.1 jruoho Return(0x4)
7135 1.1 jruoho }
7136 1.1 jruoho
7137 1.1 jruoho }
7138 1.1 jruoho
7139 1.1 jruoho Method(TST5)
7140 1.1 jruoho {
7141 1.1 jruoho // Index (PKG4, 1) is a String
7142 1.1 jruoho Store (Index (PKG4, 1), Local0)
7143 1.1 jruoho Store (ObjectType(Local0), Local1)
7144 1.1 jruoho If (LEqual(Local1, 0x2))
7145 1.1 jruoho {
7146 1.1 jruoho Return(0)
7147 1.1 jruoho }
7148 1.1 jruoho Else
7149 1.1 jruoho {
7150 1.1 jruoho Return(0x5)
7151 1.1 jruoho }
7152 1.1 jruoho
7153 1.1 jruoho }
7154 1.1 jruoho
7155 1.1 jruoho Method(TST6)
7156 1.1 jruoho {
7157 1.1 jruoho // Index (PKG4, 2) is a Buffer
7158 1.1 jruoho Store (Index (PKG4, 2), Local0)
7159 1.1 jruoho Store (ObjectType(Local0), Local1)
7160 1.1 jruoho If (LEqual(Local1, 0x3))
7161 1.1 jruoho {
7162 1.1 jruoho Return(0)
7163 1.1 jruoho }
7164 1.1 jruoho Else
7165 1.1 jruoho {
7166 1.1 jruoho Return(0x6)
7167 1.1 jruoho }
7168 1.1 jruoho
7169 1.1 jruoho }
7170 1.1 jruoho
7171 1.1 jruoho Method(TST7)
7172 1.1 jruoho {
7173 1.1 jruoho // Index (PKG4, 3) is a Number
7174 1.1 jruoho Store (Index (PKG4, 3), Local0)
7175 1.1 jruoho Store (ObjectType(Local0), Local1)
7176 1.1 jruoho If (LEqual(Local1, 0x1))
7177 1.1 jruoho {
7178 1.1 jruoho Return(0)
7179 1.1 jruoho }
7180 1.1 jruoho Else
7181 1.1 jruoho {
7182 1.1 jruoho Return(0x7)
7183 1.1 jruoho }
7184 1.1 jruoho
7185 1.1 jruoho }
7186 1.1 jruoho
7187 1.1 jruoho Method(TST8)
7188 1.1 jruoho {
7189 1.1 jruoho // Index (PKG4, 4) is a Package
7190 1.1 jruoho Store (Index (PKG4, 4), Local0)
7191 1.1 jruoho Store (ObjectType(Local0), Local1)
7192 1.1 jruoho If (LEqual(Local1, 0x4))
7193 1.1 jruoho {
7194 1.1 jruoho Return(0)
7195 1.1 jruoho }
7196 1.1 jruoho Else
7197 1.1 jruoho {
7198 1.1 jruoho Return(0x8)
7199 1.1 jruoho }
7200 1.1 jruoho
7201 1.1 jruoho }
7202 1.1 jruoho
7203 1.1 jruoho Method(TST9)
7204 1.1 jruoho {
7205 1.1 jruoho // DerefOf (Index (PKG4, 0)) is a Number
7206 1.1 jruoho Store (DerefOf (Index (PKG4, 0)), Local0)
7207 1.1 jruoho If (LEqual(Local0, 0x2))
7208 1.1 jruoho {
7209 1.1 jruoho Return(0)
7210 1.1 jruoho }
7211 1.1 jruoho Else
7212 1.1 jruoho {
7213 1.1 jruoho Return(0x9)
7214 1.1 jruoho }
7215 1.1 jruoho
7216 1.1 jruoho }
7217 1.1 jruoho
7218 1.1 jruoho Method(TSTA)
7219 1.1 jruoho {
7220 1.1 jruoho // DerefOf (Index (PKG4, 1)) is a String
7221 1.1 jruoho Store (DerefOf (Index (PKG4, 1)), Local0)
7222 1.1 jruoho Store (SizeOf(Local0), Local1)
7223 1.1 jruoho If (LEqual(Local1, 0xE))
7224 1.1 jruoho {
7225 1.1 jruoho Return(0)
7226 1.1 jruoho }
7227 1.1 jruoho Else
7228 1.1 jruoho {
7229 1.1 jruoho Return(0xA)
7230 1.1 jruoho }
7231 1.1 jruoho
7232 1.1 jruoho }
7233 1.1 jruoho
7234 1.1 jruoho Method(TSTB)
7235 1.1 jruoho {
7236 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer
7237 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0)
7238 1.1 jruoho Store (SizeOf(Local0), Local1)
7239 1.1 jruoho If (LEqual(Local1, 0x4))
7240 1.1 jruoho {
7241 1.1 jruoho Return(0)
7242 1.1 jruoho }
7243 1.1 jruoho Else
7244 1.1 jruoho {
7245 1.1 jruoho Return(0xB)
7246 1.1 jruoho }
7247 1.1 jruoho
7248 1.1 jruoho }
7249 1.1 jruoho
7250 1.1 jruoho Method(TSTC)
7251 1.1 jruoho {
7252 1.1 jruoho // DerefOf (Index (PKG4, 3)) is a Number
7253 1.1 jruoho Store (DerefOf (Index (PKG4, 3)), Local0)
7254 1.1 jruoho If (LEqual(Local0, 0x1234))
7255 1.1 jruoho {
7256 1.1 jruoho Return(0)
7257 1.1 jruoho }
7258 1.1 jruoho Else
7259 1.1 jruoho {
7260 1.1 jruoho Return(0xC)
7261 1.1 jruoho }
7262 1.1 jruoho
7263 1.1 jruoho }
7264 1.1 jruoho
7265 1.1 jruoho Method(TSTD)
7266 1.1 jruoho {
7267 1.1 jruoho // DerefOf (Index (PKG4, 4)) is a Package
7268 1.1 jruoho Store (DerefOf (Index (PKG4, 4)), Local0)
7269 1.1 jruoho Store (SizeOf(Local0), Local1)
7270 1.1 jruoho If (LEqual(Local1, 0x2))
7271 1.1 jruoho {
7272 1.1 jruoho Return(0)
7273 1.1 jruoho }
7274 1.1 jruoho Else
7275 1.1 jruoho {
7276 1.1 jruoho Return(0xD)
7277 1.1 jruoho }
7278 1.1 jruoho
7279 1.1 jruoho }
7280 1.1 jruoho
7281 1.1 jruoho Method(TSTE)
7282 1.1 jruoho {
7283 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer
7284 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0)
7285 1.1 jruoho // DerefOf (Index (Local0, 1)) is a Number
7286 1.1 jruoho Store (DerefOf (Index (Local0, 1)), Local1)
7287 1.1 jruoho If (LEqual(Local1, 0xB))
7288 1.1 jruoho {
7289 1.1 jruoho Return(0)
7290 1.1 jruoho }
7291 1.1 jruoho Else
7292 1.1 jruoho {
7293 1.1 jruoho Return(0xE)
7294 1.1 jruoho }
7295 1.1 jruoho
7296 1.1 jruoho }
7297 1.1 jruoho
7298 1.1.1.3 christos Method (TSTF,, Serialized)
7299 1.1 jruoho {
7300 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters
7301 1.1 jruoho Store ("Short Buffer", SRCB)
7302 1.1 jruoho
7303 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7304 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7305 1.1 jruoho
7306 1.1 jruoho // overwrite DEST contents, starting at buffer position 2
7307 1.1 jruoho Store (SRCB, Index (DEST, 2))
7308 1.1 jruoho
7309 1.1 jruoho //
7310 1.1 jruoho // The DEST buffer element should be replaced with the last element of
7311 1.1 jruoho // the SRCB element (i.e. 's'->'r')
7312 1.1 jruoho Store (DerefOf (Index (DEST, 2)), Local0)
7313 1.1 jruoho
7314 1.1 jruoho If (LNotEqual (Local0, 0x72)) // 'r'
7315 1.1 jruoho {
7316 1.1 jruoho // DEST element does not match the value from SRCB
7317 1.1 jruoho Return(Or(Local0, 0x1000))
7318 1.1 jruoho }
7319 1.1 jruoho
7320 1.1 jruoho Return(0)
7321 1.1 jruoho }
7322 1.1 jruoho
7323 1.1.1.3 christos Method (TSTG,, Serialized)
7324 1.1 jruoho {
7325 1.1 jruoho
7326 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters
7327 1.1 jruoho Store ("Short Buffer", SRCB)
7328 1.1 jruoho
7329 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
7330 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
7331 1.1 jruoho
7332 1.1 jruoho // overwrite DEST contents, starting at buffer position 2
7333 1.1 jruoho Store (SRCB, Index (DEST, 2))
7334 1.1 jruoho
7335 1.1 jruoho //
7336 1.1 jruoho // The next element of DEST should be unchanged
7337 1.1 jruoho //
7338 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0)
7339 1.1 jruoho
7340 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
7341 1.1 jruoho {
7342 1.1 jruoho // DEST has been changed
7343 1.1 jruoho Return(Or(Local0, 0x2000))
7344 1.1 jruoho }
7345 1.1 jruoho
7346 1.1 jruoho //
7347 1.1 jruoho // The next element of DEST should be unchanged
7348 1.1 jruoho //
7349 1.1 jruoho Store (DerefOf (Index (DEST, 4)), Local0)
7350 1.1 jruoho
7351 1.1 jruoho If (LNotEqual (Local0, 0x69)) // 'i'
7352 1.1 jruoho {
7353 1.1 jruoho // DEST has been changed
7354 1.1 jruoho Return(Or(Local0, 0x2100))
7355 1.1 jruoho }
7356 1.1 jruoho
7357 1.1 jruoho //
7358 1.1 jruoho // The next element of DEST should be unchanged
7359 1.1 jruoho //
7360 1.1 jruoho Store (DerefOf (Index (DEST, 5)), Local0)
7361 1.1 jruoho
7362 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n'
7363 1.1 jruoho {
7364 1.1 jruoho // DEST has been changed
7365 1.1 jruoho Return(Or(Local0, 0x2200))
7366 1.1 jruoho }
7367 1.1 jruoho
7368 1.1 jruoho //
7369 1.1 jruoho // The next element of DEST should be unchanged
7370 1.1 jruoho //
7371 1.1 jruoho Store (DerefOf (Index (DEST, 6)), Local0)
7372 1.1 jruoho
7373 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a'
7374 1.1 jruoho {
7375 1.1 jruoho // DEST has been changed
7376 1.1 jruoho Return(Or(Local0, 0x2300))
7377 1.1 jruoho }
7378 1.1 jruoho
7379 1.1 jruoho //
7380 1.1 jruoho // The next element of DEST should be unchanged
7381 1.1 jruoho //
7382 1.1 jruoho Store (DerefOf (Index (DEST, 7)), Local0)
7383 1.1 jruoho
7384 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
7385 1.1 jruoho {
7386 1.1 jruoho // DEST has been changed
7387 1.1 jruoho Return(Or(Local0, 0x2400))
7388 1.1 jruoho }
7389 1.1 jruoho
7390 1.1 jruoho //
7391 1.1 jruoho // Verify DEST elements beyond end of SRCB buffer copy
7392 1.1 jruoho // have not been changed
7393 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0)
7394 1.1 jruoho
7395 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7396 1.1 jruoho {
7397 1.1 jruoho // DEST has been changed
7398 1.1 jruoho Return(Or(Local0, 0x2400))
7399 1.1 jruoho }
7400 1.1 jruoho
7401 1.1 jruoho Return(0)
7402 1.1 jruoho }
7403 1.1 jruoho
7404 1.1 jruoho //
7405 1.1 jruoho // This test shows that MS ACPI.SYS stores only the lower 8-bits of a 32-bit
7406 1.1 jruoho // number into the index'ed buffer
7407 1.1 jruoho //
7408 1.1.1.3 christos Method (TSTH,, Serialized)
7409 1.1 jruoho {
7410 1.1 jruoho // Create a Destination Buffer
7411 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7412 1.1 jruoho
7413 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7414 1.1 jruoho Store (0x12345678, Index(DBUF, 2))
7415 1.1 jruoho
7416 1.1 jruoho // Check the results
7417 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7418 1.1 jruoho If (LNotEqual (Local0, 0x78)) // 0x78
7419 1.1 jruoho {
7420 1.1 jruoho Return(Or(Local0, 0x3000))
7421 1.1 jruoho }
7422 1.1 jruoho
7423 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7424 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7425 1.1 jruoho {
7426 1.1 jruoho Return(Or(Local0, 0x3100))
7427 1.1 jruoho }
7428 1.1 jruoho
7429 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7430 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7431 1.1 jruoho {
7432 1.1 jruoho Return(Or(Local0, 0x3200))
7433 1.1 jruoho }
7434 1.1 jruoho
7435 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7436 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7437 1.1 jruoho {
7438 1.1 jruoho Return(Or(Local0, 0x3300))
7439 1.1 jruoho }
7440 1.1 jruoho
7441 1.1 jruoho Return(0)
7442 1.1 jruoho }
7443 1.1 jruoho
7444 1.1.1.3 christos Method (TSTI,, Serialized)
7445 1.1 jruoho {
7446 1.1 jruoho // Create a Destination Buffer
7447 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7448 1.1 jruoho
7449 1.1 jruoho // Store a String into an index of the buffer
7450 1.1 jruoho Store ("ABCDEFGH", Index(DBUF, 2))
7451 1.1 jruoho
7452 1.1 jruoho // Check the results
7453 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7454 1.1 jruoho If (LNotEqual (Local0, 0x48)) // 'H'
7455 1.1 jruoho {
7456 1.1 jruoho Return(Or(Local0, 0x4000))
7457 1.1 jruoho }
7458 1.1 jruoho
7459 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7460 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7461 1.1 jruoho {
7462 1.1 jruoho Return(Or(Local0, 0x4100))
7463 1.1 jruoho }
7464 1.1 jruoho
7465 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7466 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7467 1.1 jruoho {
7468 1.1 jruoho Return(Or(Local0, 0x4200))
7469 1.1 jruoho }
7470 1.1 jruoho
7471 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7472 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7473 1.1 jruoho {
7474 1.1 jruoho Return(Or(Local0, 0x4300))
7475 1.1 jruoho }
7476 1.1 jruoho
7477 1.1 jruoho Return(0)
7478 1.1 jruoho }
7479 1.1 jruoho
7480 1.1.1.3 christos Method(TSTJ,, Serialized)
7481 1.1 jruoho {
7482 1.1 jruoho // Create a Destination Buffer
7483 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7484 1.1 jruoho
7485 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7486 1.1 jruoho Store (0x1234, Index(DBUF, 2))
7487 1.1 jruoho
7488 1.1 jruoho // Check the results
7489 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7490 1.1 jruoho If (LNotEqual (Local0, 0x34)) // 0x34
7491 1.1 jruoho {
7492 1.1 jruoho Return(Or(Local0, 0x3000))
7493 1.1 jruoho }
7494 1.1 jruoho
7495 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7496 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7497 1.1 jruoho {
7498 1.1 jruoho Return(Or(Local0, 0x3100))
7499 1.1 jruoho }
7500 1.1 jruoho
7501 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7502 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7503 1.1 jruoho {
7504 1.1 jruoho Return(Or(Local0, 0x3200))
7505 1.1 jruoho }
7506 1.1 jruoho
7507 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7508 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7509 1.1 jruoho {
7510 1.1 jruoho Return(Or(Local0, 0x3300))
7511 1.1 jruoho }
7512 1.1 jruoho
7513 1.1 jruoho Return(0)
7514 1.1 jruoho }
7515 1.1 jruoho
7516 1.1.1.3 christos Method(TSTK,, Serialized)
7517 1.1 jruoho {
7518 1.1 jruoho // Create a Destination Buffer
7519 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7520 1.1 jruoho
7521 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7522 1.1 jruoho Store (0x123456, Index(DBUF, 2))
7523 1.1 jruoho
7524 1.1 jruoho // Check the results
7525 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7526 1.1 jruoho If (LNotEqual (Local0, 0x56)) // 0x56
7527 1.1 jruoho {
7528 1.1 jruoho Return(Or(Local0, 0x3000))
7529 1.1 jruoho }
7530 1.1 jruoho
7531 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7532 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7533 1.1 jruoho {
7534 1.1 jruoho Return(Or(Local0, 0x3100))
7535 1.1 jruoho }
7536 1.1 jruoho
7537 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7538 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7539 1.1 jruoho {
7540 1.1 jruoho Return(Or(Local0, 0x3200))
7541 1.1 jruoho }
7542 1.1 jruoho
7543 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7544 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7545 1.1 jruoho {
7546 1.1 jruoho Return(Or(Local0, 0x3300))
7547 1.1 jruoho }
7548 1.1 jruoho
7549 1.1 jruoho Return(0)
7550 1.1 jruoho }
7551 1.1 jruoho
7552 1.1.1.3 christos Method(TSTL,, Serialized)
7553 1.1 jruoho {
7554 1.1 jruoho // Create a Destination Buffer
7555 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
7556 1.1 jruoho
7557 1.1 jruoho // Store a number > UINT8 into an index of the buffer
7558 1.1 jruoho Store (0x12, Index(DBUF, 2))
7559 1.1 jruoho
7560 1.1 jruoho // Check the results
7561 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0)
7562 1.1 jruoho If (LNotEqual (Local0, 0x12)) // 0x12
7563 1.1 jruoho {
7564 1.1 jruoho Return(Or(Local0, 0x3000))
7565 1.1 jruoho }
7566 1.1 jruoho
7567 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0)
7568 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd'
7569 1.1 jruoho {
7570 1.1 jruoho Return(Or(Local0, 0x3100))
7571 1.1 jruoho }
7572 1.1 jruoho
7573 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0)
7574 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e'
7575 1.1 jruoho {
7576 1.1 jruoho Return(Or(Local0, 0x3200))
7577 1.1 jruoho }
7578 1.1 jruoho
7579 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0)
7580 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f'
7581 1.1 jruoho {
7582 1.1 jruoho Return(Or(Local0, 0x3300))
7583 1.1 jruoho }
7584 1.1 jruoho
7585 1.1 jruoho Return(0)
7586 1.1 jruoho }
7587 1.1 jruoho
7588 1.1 jruoho Method(TEST)
7589 1.1 jruoho {
7590 1.1 jruoho Store ("++++++++ IndexOp7 Test", Debug)
7591 1.1 jruoho
7592 1.1 jruoho Store(TST1(), Local0)
7593 1.1 jruoho if (LGreater (Local0, 0))
7594 1.1 jruoho {
7595 1.1 jruoho Return(Local0)
7596 1.1 jruoho }
7597 1.1 jruoho
7598 1.1 jruoho Store(TST2(), Local0)
7599 1.1 jruoho if (LGreater (Local0, 0))
7600 1.1 jruoho {
7601 1.1 jruoho Return(Local0)
7602 1.1 jruoho }
7603 1.1 jruoho
7604 1.1 jruoho Store(TST3(), Local0)
7605 1.1 jruoho if (LGreater (Local0, 0))
7606 1.1 jruoho {
7607 1.1 jruoho Return(Local0)
7608 1.1 jruoho }
7609 1.1 jruoho
7610 1.1 jruoho Store(TST4(), Local0)
7611 1.1 jruoho if (LGreater (Local0, 0))
7612 1.1 jruoho {
7613 1.1 jruoho Return(Local0)
7614 1.1 jruoho }
7615 1.1 jruoho
7616 1.1 jruoho Store(TST5(), Local0)
7617 1.1 jruoho if (LGreater (Local0, 0))
7618 1.1 jruoho {
7619 1.1 jruoho Return(Local0)
7620 1.1 jruoho }
7621 1.1 jruoho
7622 1.1 jruoho Store(TST6(), Local0)
7623 1.1 jruoho if (LGreater (Local0, 0))
7624 1.1 jruoho {
7625 1.1 jruoho Return(Local0)
7626 1.1 jruoho }
7627 1.1 jruoho
7628 1.1 jruoho Store(TST7(), Local0)
7629 1.1 jruoho if (LGreater (Local0, 0))
7630 1.1 jruoho {
7631 1.1 jruoho Return(Local0)
7632 1.1 jruoho }
7633 1.1 jruoho
7634 1.1 jruoho Store(TST8(), Local0)
7635 1.1 jruoho if (LGreater (Local0, 0))
7636 1.1 jruoho {
7637 1.1 jruoho Return(Local0)
7638 1.1 jruoho }
7639 1.1 jruoho
7640 1.1 jruoho Store(TST9(), Local0)
7641 1.1 jruoho if (LGreater (Local0, 0))
7642 1.1 jruoho {
7643 1.1 jruoho Return(Local0)
7644 1.1 jruoho }
7645 1.1 jruoho
7646 1.1 jruoho Store(TSTA(), Local0)
7647 1.1 jruoho if (LGreater (Local0, 0))
7648 1.1 jruoho {
7649 1.1 jruoho Return(Local0)
7650 1.1 jruoho }
7651 1.1 jruoho
7652 1.1 jruoho Store(TSTB(), Local0)
7653 1.1 jruoho if (LGreater (Local0, 0))
7654 1.1 jruoho {
7655 1.1 jruoho Return(Local0)
7656 1.1 jruoho }
7657 1.1 jruoho
7658 1.1 jruoho Store(TSTC(), Local0)
7659 1.1 jruoho if (LGreater (Local0, 0))
7660 1.1 jruoho {
7661 1.1 jruoho Return(Local0)
7662 1.1 jruoho }
7663 1.1 jruoho
7664 1.1 jruoho Store(TSTD(), Local0)
7665 1.1 jruoho if (LGreater (Local0, 0))
7666 1.1 jruoho {
7667 1.1 jruoho Return(Local0)
7668 1.1 jruoho }
7669 1.1 jruoho
7670 1.1 jruoho Store(TSTE(), Local0)
7671 1.1 jruoho if (LGreater (Local0, 0))
7672 1.1 jruoho {
7673 1.1 jruoho Return(Local0)
7674 1.1 jruoho }
7675 1.1 jruoho
7676 1.1 jruoho /* No longer ACPI compliant */
7677 1.1 jruoho /*
7678 1.1 jruoho Store(TSTF(), Local0)
7679 1.1 jruoho if (LGreater (Local0, 0))
7680 1.1 jruoho {
7681 1.1 jruoho Return(Local0)
7682 1.1 jruoho }
7683 1.1 jruoho */
7684 1.1 jruoho
7685 1.1 jruoho Store(TSTG(), Local0)
7686 1.1 jruoho if (LGreater (Local0, 0))
7687 1.1 jruoho {
7688 1.1 jruoho Return(Local0)
7689 1.1 jruoho }
7690 1.1 jruoho
7691 1.1 jruoho Store(TSTH(), Local0)
7692 1.1 jruoho if (LGreater (Local0, 0))
7693 1.1 jruoho {
7694 1.1 jruoho Return(Local0)
7695 1.1 jruoho }
7696 1.1 jruoho
7697 1.1 jruoho /* No longer ACPI compliant */
7698 1.1 jruoho /*
7699 1.1 jruoho Store(TSTI(), Local0)
7700 1.1 jruoho if (LGreater (Local0, 0))
7701 1.1 jruoho {
7702 1.1 jruoho Return(Local0)
7703 1.1 jruoho }
7704 1.1 jruoho */
7705 1.1 jruoho Store(TSTJ(), Local0)
7706 1.1 jruoho if (LGreater (Local0, 0))
7707 1.1 jruoho {
7708 1.1 jruoho Return(Local0)
7709 1.1 jruoho }
7710 1.1 jruoho
7711 1.1 jruoho Store(TSTK(), Local0)
7712 1.1 jruoho if (LGreater (Local0, 0))
7713 1.1 jruoho {
7714 1.1 jruoho Return(Local0)
7715 1.1 jruoho }
7716 1.1 jruoho
7717 1.1 jruoho Store(TSTL(), Local0)
7718 1.1 jruoho if (LGreater (Local0, 0))
7719 1.1 jruoho {
7720 1.1 jruoho Return(Local0)
7721 1.1 jruoho }
7722 1.1 jruoho
7723 1.1 jruoho Return(Local0)
7724 1.1 jruoho
7725 1.1 jruoho }
7726 1.1 jruoho
7727 1.1 jruoho } // Device(IDX7)
7728 1.1 jruoho
7729 1.1 jruoho //
7730 1.1 jruoho // test MatchOp.asl
7731 1.1 jruoho //
7732 1.1 jruoho // MatchOp test cases that utilize nested DerefOf(Index(...)) to validate
7733 1.1 jruoho // MatchOp, DerefOfOp, and IndexOp of nested packages.
7734 1.1 jruoho //
7735 1.1 jruoho Device (MTCH)
7736 1.1 jruoho {
7737 1.1 jruoho
7738 1.1.1.3 christos Method (TEST,, Serialized)
7739 1.1 jruoho {
7740 1.1 jruoho Store ("++++++++ MatchOp Test", Debug)
7741 1.1 jruoho
7742 1.1 jruoho Name (TIM0, Package ()
7743 1.1 jruoho {
7744 1.1 jruoho Package () {0x78, 0xB4, 0xF0, 0x0384},
7745 1.1 jruoho Package () {0x23, 0x21, 0x10, 0},
7746 1.1 jruoho Package () {0x0B, 9, 4, 0},
7747 1.1 jruoho Package () {0x70, 0x49, 0x36, 0x27, 0x19},
7748 1.1 jruoho Package () {0, 1, 2, 1, 2},
7749 1.1 jruoho Package () {0, 0, 0, 1, 1},
7750 1.1 jruoho Package () {4, 3, 2, 0},
7751 1.1 jruoho Package () {2, 1, 0, 0}
7752 1.1 jruoho }) // TIM0
7753 1.1 jruoho
7754 1.1 jruoho Name (TMD0, Buffer (20) {0xFF, 0xFF, 0xFF, 0xFF })
7755 1.1 jruoho CreateDWordField (TMD0, 0, PIO0) // 0xFFFFFFFF
7756 1.1 jruoho CreateDWordField (TMD0, 4, DMA0)
7757 1.1 jruoho CreateDWordField (TMD0, 8, PIO1)
7758 1.1 jruoho CreateDWordField (TMD0, 12, DMA1)
7759 1.1 jruoho CreateDWordField (TMD0, 16, CHNF)
7760 1.1 jruoho
7761 1.1 jruoho
7762 1.1 jruoho // validate PIO0 value
7763 1.1 jruoho Store (PIO0, Local3)
7764 1.1 jruoho
7765 1.1 jruoho // save Local3 object type value into Local2
7766 1.1 jruoho Store (ObjectType (Local3), Local2)
7767 1.1 jruoho
7768 1.1 jruoho // validate Local3 is a Number
7769 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7770 1.1 jruoho { Return (2) } // failure
7771 1.1 jruoho
7772 1.1 jruoho // validate Local3 Number value
7773 1.1 jruoho If (LNotEqual (Local3, 0xFFFFFFFF)) // Number value 0xFFFFFFFF
7774 1.1 jruoho { Return (3) } // failure
7775 1.1 jruoho
7776 1.1 jruoho Store ("DWordField PASS", Debug)
7777 1.1 jruoho
7778 1.1 jruoho
7779 1.1 jruoho Store (0, Local5)
7780 1.1 jruoho Store (Match (DerefOf (Index (TIM0, 1, )), MLE, Local5, MTR, 0, 0), Local6)
7781 1.1 jruoho
7782 1.1 jruoho // save Local6 object type value into Local2
7783 1.1 jruoho Store (ObjectType (Local6), Local2)
7784 1.1 jruoho
7785 1.1 jruoho // validate Local6 is a Number
7786 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7787 1.1 jruoho { Return (4) } // failure
7788 1.1 jruoho
7789 1.1 jruoho Store ("Match(DerefOf(Index(TIM0,1)),... PASS", Debug)
7790 1.1 jruoho
7791 1.1 jruoho
7792 1.1 jruoho // validate following produces a nested package to validate
7793 1.1 jruoho // that MatchOp did not corrupt SearchPackage (TIM0)
7794 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7795 1.1 jruoho
7796 1.1 jruoho // save Local4 object type value into Local2
7797 1.1 jruoho Store (ObjectType (Local4), Local2)
7798 1.1 jruoho
7799 1.1 jruoho // validate Local4 is a Package
7800 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7801 1.1 jruoho { Return (5) } // failure
7802 1.1 jruoho
7803 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS", Debug)
7804 1.1 jruoho
7805 1.1 jruoho
7806 1.1 jruoho And (Match (DerefOf (Index (TIM0, 0, )), MGE, PIO0, MTR, 0, 0), 3, Local0)
7807 1.1 jruoho
7808 1.1 jruoho // save Local0 object type value into Local2
7809 1.1 jruoho Store (ObjectType (Local0), Local2)
7810 1.1 jruoho
7811 1.1 jruoho // validate Local0 is a Number
7812 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7813 1.1 jruoho { Return (6) } // failure
7814 1.1 jruoho
7815 1.1 jruoho // validate Local0 Number value
7816 1.1 jruoho If (LNotEqual (Local0, 3)) // Number value 3
7817 1.1 jruoho { Return (7) } // failure
7818 1.1 jruoho
7819 1.1 jruoho Store ("And(Match(DerefOf(Index(TIM0,0)),... PASS", Debug)
7820 1.1 jruoho
7821 1.1 jruoho
7822 1.1 jruoho // again, validate following produces a nested package
7823 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7824 1.1 jruoho
7825 1.1 jruoho // save Local4 object type value into Local2
7826 1.1 jruoho Store (ObjectType (Local4), Local2)
7827 1.1 jruoho
7828 1.1 jruoho // validate Local4 is a Package
7829 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7830 1.1 jruoho { Return (8) } // failure
7831 1.1 jruoho
7832 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7833 1.1 jruoho
7834 1.1 jruoho
7835 1.1 jruoho // again, validate following produces a nested package
7836 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7837 1.1 jruoho
7838 1.1 jruoho // save Local4 object type value into Local2
7839 1.1 jruoho Store (ObjectType (Local4), Local2)
7840 1.1 jruoho
7841 1.1 jruoho // validate Local4 is a Package
7842 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7843 1.1 jruoho { Return (9) } // failure
7844 1.1 jruoho
7845 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7846 1.1 jruoho
7847 1.1 jruoho
7848 1.1 jruoho // test nested DerefOf(Index) operators
7849 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1)
7850 1.1 jruoho
7851 1.1 jruoho // save Local1 object type value into Local2
7852 1.1 jruoho Store (ObjectType (Local1), Local2)
7853 1.1 jruoho
7854 1.1 jruoho // validate Local1 is a Number
7855 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7856 1.1 jruoho { Return (10) } // failure
7857 1.1 jruoho
7858 1.1 jruoho // zero indicates pass, non-zero is an error code
7859 1.1 jruoho If (LNotEqual (Local1, 0))
7860 1.1 jruoho { Return (11) } // failure
7861 1.1 jruoho
7862 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS", Debug)
7863 1.1 jruoho
7864 1.1 jruoho
7865 1.1 jruoho // again, validate following produces a nested package
7866 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7867 1.1 jruoho
7868 1.1 jruoho // save Local4 object type value into Local2
7869 1.1 jruoho Store (ObjectType (Local4), Local2)
7870 1.1 jruoho
7871 1.1 jruoho // validate Local4 is a Package
7872 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7873 1.1 jruoho { Return (12) } // failure
7874 1.1 jruoho
7875 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7876 1.1 jruoho
7877 1.1 jruoho
7878 1.1 jruoho // retest nested DerefOf(Index) operators
7879 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1)
7880 1.1 jruoho
7881 1.1 jruoho // save Local1 object type value into Local2
7882 1.1 jruoho Store (ObjectType (Local1), Local2)
7883 1.1 jruoho
7884 1.1 jruoho // validate Local1 is a Number
7885 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
7886 1.1 jruoho { Return (13) } // failure
7887 1.1 jruoho
7888 1.1 jruoho // zero indicates pass, non-zero is an error code
7889 1.1 jruoho If (LNotEqual (Local1, 0))
7890 1.1 jruoho { Return (14) } // failure
7891 1.1 jruoho
7892 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS again", Debug)
7893 1.1 jruoho
7894 1.1 jruoho
7895 1.1 jruoho // again, validate following produces a nested package
7896 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4)
7897 1.1 jruoho
7898 1.1 jruoho // save Local4 object type value into Local2
7899 1.1 jruoho Store (ObjectType (Local4), Local2)
7900 1.1 jruoho
7901 1.1 jruoho // validate Local4 is a Package
7902 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4
7903 1.1 jruoho { Return (15) } // failure
7904 1.1 jruoho
7905 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug)
7906 1.1 jruoho
7907 1.1 jruoho
7908 1.1 jruoho Return (0) // pass
7909 1.1 jruoho } // TEST
7910 1.1 jruoho } // MTCH
7911 1.1 jruoho
7912 1.1 jruoho //
7913 1.1 jruoho // test WhileBrk.asl
7914 1.1 jruoho //
7915 1.1 jruoho // This code tests the Break term and While term
7916 1.1 jruoho //
7917 1.1 jruoho // Syntax of Break term
7918 1.1 jruoho // BreakTerm := Break
7919 1.1 jruoho // The break operation causes the current package execution to complete.
7920 1.1 jruoho //
7921 1.1 jruoho // Syntax of While Term
7922 1.1 jruoho // WhileTerm := While(
7923 1.1 jruoho // Predicate //TermArg=>Integer
7924 1.1 jruoho // ) {TermList}
7925 1.1 jruoho // Predicate is evaluated as an integer.
7926 1.1 jruoho // If the integer is non-zero, the list of terms in TermList is executed.
7927 1.1 jruoho // The operation repeats until the Predicate evaluates to zero.
7928 1.1 jruoho //
7929 1.1 jruoho // MTL NOTE: This test has been modified to reflect ACPI 2.0 break
7930 1.1 jruoho // NOTE: This test, when run under the MS ACPI.SYS grinds the system to
7931 1.1 jruoho // a halt.
7932 1.1 jruoho //
7933 1.1 jruoho Device (WHLB)
7934 1.1 jruoho {
7935 1.1 jruoho Name (CNT0, 0)
7936 1.1 jruoho Name (CNT1, 0)
7937 1.1 jruoho
7938 1.1 jruoho Method (TEST)
7939 1.1 jruoho {
7940 1.1 jruoho // Check Break statement nested in If nested in While nested in
7941 1.1 jruoho // While only exits inner-most While loop
7942 1.1 jruoho Store (0, CNT0)
7943 1.1 jruoho
7944 1.1 jruoho While (LLess (CNT0, 4))
7945 1.1 jruoho {
7946 1.1 jruoho Store (0, CNT1)
7947 1.1 jruoho While (LLess (CNT1, 10))
7948 1.1 jruoho {
7949 1.1 jruoho if (LEqual (CNT1, 1))
7950 1.1 jruoho {
7951 1.1 jruoho Break // exit encompassing loop
7952 1.1 jruoho }
7953 1.1 jruoho
7954 1.1 jruoho Increment (CNT1)
7955 1.1 jruoho }
7956 1.1 jruoho
7957 1.1 jruoho If (LNotEqual (CNT1, 1))
7958 1.1 jruoho {
7959 1.1 jruoho // failure
7960 1.1 jruoho Return (7)
7961 1.1 jruoho }
7962 1.1 jruoho
7963 1.1 jruoho Increment (CNT0)
7964 1.1 jruoho }
7965 1.1 jruoho
7966 1.1 jruoho // Verify Break only exited inner-most While loop
7967 1.1 jruoho
7968 1.1 jruoho If (LNotEqual (CNT0, 4))
7969 1.1 jruoho {
7970 1.1 jruoho // failure
7971 1.1 jruoho Return (8)
7972 1.1 jruoho }
7973 1.1 jruoho
7974 1.1 jruoho Store ("While/While/If/Break PASS", Debug)
7975 1.1 jruoho
7976 1.1 jruoho Store ("++++++++ WhileBrk Test", Debug)
7977 1.1 jruoho
7978 1.1 jruoho // Check Break statement nested in While
7979 1.1 jruoho Store (0, CNT0)
7980 1.1 jruoho
7981 1.1 jruoho While (LLess (CNT0, 10))
7982 1.1 jruoho {
7983 1.1 jruoho Break // exit encompassing package
7984 1.1 jruoho Increment (CNT0)
7985 1.1 jruoho }
7986 1.1 jruoho
7987 1.1 jruoho If (LNotEqual (CNT0, 0)) // instruction after Break executed
7988 1.1 jruoho {
7989 1.1 jruoho Return (4)
7990 1.1 jruoho }
7991 1.1 jruoho
7992 1.1 jruoho
7993 1.1 jruoho Store (0, CNT0)
7994 1.1 jruoho
7995 1.1 jruoho // Test While Term
7996 1.1 jruoho While (LLess (CNT0, 10))
7997 1.1 jruoho {
7998 1.1 jruoho Increment (CNT0)
7999 1.1 jruoho }
8000 1.1 jruoho
8001 1.1 jruoho // Check if the while loop was executed until the condition is satisfied.
8002 1.1 jruoho If (LNotEqual (CNT0, 10))
8003 1.1 jruoho {
8004 1.1 jruoho Return (1)
8005 1.1 jruoho }
8006 1.1 jruoho
8007 1.1 jruoho
8008 1.1 jruoho // While loop in a reverse order
8009 1.1 jruoho While (LGreater (CNT0, 0))
8010 1.1 jruoho {
8011 1.1 jruoho Decrement (CNT0)
8012 1.1 jruoho }
8013 1.1 jruoho
8014 1.1 jruoho // Check if the while loop was executed until the condition is satisfied.
8015 1.1 jruoho If (LNotEqual (CNT0, 0))
8016 1.1 jruoho {
8017 1.1 jruoho Return (2)
8018 1.1 jruoho }
8019 1.1 jruoho
8020 1.1 jruoho
8021 1.1 jruoho Store ("While/Break PASS", Debug)
8022 1.1 jruoho
8023 1.1 jruoho
8024 1.1 jruoho // Check Break statement nested in If nested in While
8025 1.1 jruoho Store (0, CNT0)
8026 1.1 jruoho
8027 1.1 jruoho While (LLess (CNT0, 10))
8028 1.1 jruoho {
8029 1.1 jruoho if (LEqual (CNT0, 5))
8030 1.1 jruoho {
8031 1.1 jruoho Break // exit encompassing Package (If)
8032 1.1 jruoho
8033 1.1 jruoho // if we execute the next instruction,
8034 1.1 jruoho // Break did not exit the loop
8035 1.1 jruoho Store (20, CNT0) // exit While loop with value larger
8036 1.1 jruoho // than above
8037 1.1 jruoho }
8038 1.1 jruoho
8039 1.1 jruoho Increment (CNT0) // check if Break exited both If and While
8040 1.1 jruoho } // While
8041 1.1 jruoho
8042 1.1 jruoho If (LGreater (CNT0, 19))
8043 1.1 jruoho { // instruction after Break inside IfOp executed
8044 1.1 jruoho Return (5)
8045 1.1 jruoho }
8046 1.1 jruoho
8047 1.1 jruoho //
8048 1.1 jruoho // Break will exit out of the while loop, therefore
8049 1.1 jruoho // the CNT0 counter should still Increment until 5
8050 1.1 jruoho //
8051 1.1 jruoho If (LNotEqual (CNT0, 5))
8052 1.1 jruoho { // instruction after Break inside WhileOp executed
8053 1.1 jruoho Return (6)
8054 1.1 jruoho }
8055 1.1 jruoho Store ("While/If/Break PASS", Debug)
8056 1.1 jruoho
8057 1.1 jruoho
8058 1.1 jruoho // All the conditions passed
8059 1.1 jruoho Return (0)
8060 1.1 jruoho } // TEST
8061 1.1 jruoho } // WHLB
8062 1.1 jruoho
8063 1.1 jruoho
8064 1.1 jruoho //
8065 1.1 jruoho // test IndexOp2.asl
8066 1.1 jruoho //
8067 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery
8068 1.1 jruoho // test) on Toshiba Portege 7020CT. Test cases include appropriate bit
8069 1.1 jruoho // shifting of Field elements and reading Field elements greater than 64 bits.
8070 1.1 jruoho //
8071 1.1 jruoho // MTL NOTE: This test has been modified slightly from the original test
8072 1.1 jruoho // to take into account ACPI specification limitations.
8073 1.1 jruoho //
8074 1.1 jruoho Scope (\_SB) // System Bus
8075 1.1 jruoho { // _SB system bus
8076 1.1 jruoho
8077 1.1 jruoho Device (MEM)
8078 1.1 jruoho { // MEM
8079 1.1 jruoho Name (_HID, 0x010CD041)
8080 1.1 jruoho Name (_STA, 0x0F)
8081 1.1 jruoho
8082 1.1 jruoho OperationRegion (SMEM, SystemMemory, 0x800000, 0x100)
8083 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve)
8084 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements
8085 1.1 jruoho SMD0, 32, // 32-bits
8086 1.1 jruoho SMD1, 32, // 32-bits
8087 1.1 jruoho SMD2, 32, // 32-bits
8088 1.1 jruoho SMD3, 32 // 32-bits
8089 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements
8090 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve)
8091 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements
8092 1.1 jruoho SME0, 69, // larger than an integer (32 or 64)
8093 1.1 jruoho SME1, 97 // larger than an integer
8094 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements
8095 1.1 jruoho
8096 1.1 jruoho OperationRegion (SRAM, SystemMemory, 0x100B0000, 0xF000)
8097 1.1 jruoho Field (SRAM, AnyAcc, NoLock, Preserve)
8098 1.1 jruoho { // Field: SRAM overlay
8099 1.1 jruoho , 0x34000, // skip
8100 1.1 jruoho IEAX, 0x20,
8101 1.1 jruoho IEBX, 0x20,
8102 1.1 jruoho IECX, 0x20,
8103 1.1 jruoho IEDX, 0x20,
8104 1.1 jruoho IESI, 0x20,
8105 1.1 jruoho IEDI, 0x20,
8106 1.1 jruoho IEBP, 0x20,
8107 1.1 jruoho , 0x20,
8108 1.1 jruoho OEAX, 0x20,
8109 1.1 jruoho OEBX, 0x20,
8110 1.1 jruoho OECX, 0x20,
8111 1.1 jruoho OEDX, 0x20,
8112 1.1 jruoho OESI, 0x20,
8113 1.1 jruoho OEDI, 0x20,
8114 1.1 jruoho OEBP, 0x20,
8115 1.1 jruoho , 0x618, // skip
8116 1.1 jruoho ACST, 1,
8117 1.1 jruoho BES1, 1,
8118 1.1 jruoho BES2, 1,
8119 1.1 jruoho , 5, // skip
8120 1.1 jruoho BMN1, 0x68,
8121 1.1 jruoho BSN1, 0x58,
8122 1.1 jruoho BTP1, 0x48,
8123 1.1 jruoho BPU1, 0x20,
8124 1.1 jruoho BDC1, 0x20,
8125 1.1 jruoho BLF1, 0x20,
8126 1.1 jruoho BTC1, 0x20,
8127 1.1 jruoho BDV1, 0x20,
8128 1.1 jruoho BST1, 0x20,
8129 1.1 jruoho BPR1, 0x20,
8130 1.1 jruoho BRC1, 0x20,
8131 1.1 jruoho BPV1, 0x20,
8132 1.1 jruoho , 0x20,
8133 1.1 jruoho BCW1, 0x20,
8134 1.1 jruoho BCL1, 0x20,
8135 1.1 jruoho BG11, 0x20,
8136 1.1 jruoho BG21, 0x20,
8137 1.1 jruoho BOI1, 0x20,
8138 1.1 jruoho , 0x530, // skip
8139 1.1 jruoho BMN2, 0x68,
8140 1.1 jruoho BSN2, 0x58,
8141 1.1 jruoho BTP2, 0x48,
8142 1.1 jruoho BPU2, 0x20,
8143 1.1 jruoho BDC2, 0x20,
8144 1.1 jruoho BLF2, 0x20,
8145 1.1 jruoho BTC2, 0x20,
8146 1.1 jruoho BDV2, 0x20,
8147 1.1 jruoho BST2, 0x20,
8148 1.1 jruoho BPR2, 0x20,
8149 1.1 jruoho BRC2, 0x20,
8150 1.1 jruoho BPV2, 0x20,
8151 1.1 jruoho , 0x20,
8152 1.1 jruoho BCW2, 0x20,
8153 1.1 jruoho BCL2, 0x20,
8154 1.1 jruoho BG12, 0x20,
8155 1.1 jruoho BG22, 0x20,
8156 1.1 jruoho BOI2, 0x20,
8157 1.1 jruoho , 0x518, // skip
8158 1.1 jruoho AC01, 0x10,
8159 1.1 jruoho AC11, 0x10,
8160 1.1 jruoho PSV1, 0x10,
8161 1.1 jruoho CRT1, 0x10,
8162 1.1 jruoho TMP1, 0x10,
8163 1.1 jruoho AST1, 0x10,
8164 1.1 jruoho AC21, 0x10,
8165 1.1 jruoho AC31, 0x10,
8166 1.1 jruoho AC02, 0x10,
8167 1.1 jruoho AC12, 0x10,
8168 1.1 jruoho PSV2, 0x10,
8169 1.1 jruoho CRT2, 0x10,
8170 1.1 jruoho TMP2, 0x10,
8171 1.1 jruoho AST2, 0x10,
8172 1.1 jruoho AC22, 0x10,
8173 1.1 jruoho AC32, 0x10,
8174 1.1 jruoho AC03, 0x10,
8175 1.1 jruoho AC13, 0x10,
8176 1.1 jruoho PSV3, 0x10,
8177 1.1 jruoho CRT3, 0x10,
8178 1.1 jruoho TMP3, 0x10,
8179 1.1 jruoho AST3, 0x10,
8180 1.1 jruoho AC23, 0x10,
8181 1.1 jruoho AC33, 0x10,
8182 1.1 jruoho , 0x80, // skip
8183 1.1 jruoho TMPF, 0x10,
8184 1.1 jruoho , 0x570, // skip
8185 1.1 jruoho FANH, 1,
8186 1.1 jruoho FANL, 7,
8187 1.1 jruoho TF11, 1,
8188 1.1 jruoho TF21, 1,
8189 1.1 jruoho TF31, 1,
8190 1.1 jruoho , 1,
8191 1.1 jruoho TF10, 1,
8192 1.1 jruoho TF20, 1,
8193 1.1 jruoho TF30, 1,
8194 1.1 jruoho , 1,
8195 1.1 jruoho TP11, 1,
8196 1.1 jruoho TP21, 1,
8197 1.1 jruoho TP31, 1,
8198 1.1 jruoho , 0x6D, // 109
8199 1.1 jruoho GP50, 1,
8200 1.1 jruoho GP51, 1,
8201 1.1 jruoho GP52, 1,
8202 1.1 jruoho GP53, 1,
8203 1.1 jruoho , 4,
8204 1.1 jruoho GP60, 1,
8205 1.1 jruoho GP61, 1,
8206 1.1 jruoho GP62, 1,
8207 1.1 jruoho GP63, 1,
8208 1.1 jruoho GP64, 1,
8209 1.1 jruoho GP65, 1,
8210 1.1 jruoho GP66, 1,
8211 1.1 jruoho , 1,
8212 1.1 jruoho GP70, 1,
8213 1.1 jruoho GP71, 1,
8214 1.1 jruoho GP72, 1,
8215 1.1 jruoho GP73, 1,
8216 1.1 jruoho GP74, 1,
8217 1.1 jruoho GP75, 1,
8218 1.1 jruoho GP76, 1,
8219 1.1 jruoho , 1,
8220 1.1 jruoho WED0, 1,
8221 1.1 jruoho WED1, 1,
8222 1.1 jruoho WED2, 1,
8223 1.1 jruoho WED3, 1,
8224 1.1 jruoho WED4, 1,
8225 1.1 jruoho , 3,
8226 1.1 jruoho SBL0, 1,
8227 1.1 jruoho SBL1, 1,
8228 1.1 jruoho SBL2, 1,
8229 1.1 jruoho SBL3, 1,
8230 1.1 jruoho , 4,
8231 1.1 jruoho LIDS, 1,
8232 1.1 jruoho VALF, 1,
8233 1.1 jruoho , 2,
8234 1.1 jruoho DCKI, 1,
8235 1.1 jruoho DCKF, 1,
8236 1.1 jruoho BT1F, 1,
8237 1.1 jruoho BT2F, 1,
8238 1.1 jruoho , 0x7D0, // skip
8239 1.1 jruoho HKCD, 8,
8240 1.1 jruoho , 8,
8241 1.1 jruoho DLID, 0x20,
8242 1.1 jruoho DSRN, 0x20,
8243 1.1 jruoho , 0x20,
8244 1.1 jruoho BDID, 0x20,
8245 1.1 jruoho DSPW, 1,
8246 1.1 jruoho VGAF, 1,
8247 1.1 jruoho VWE0, 1,
8248 1.1 jruoho VWE1, 1,
8249 1.1 jruoho PPSC, 1,
8250 1.1 jruoho SPSC, 1,
8251 1.1 jruoho EWLD, 1,
8252 1.1 jruoho EWPS, 1,
8253 1.1 jruoho , 0x1768, // skip
8254 1.1 jruoho PRES, 0x8000
8255 1.1 jruoho } // Field: SRAM overlay
8256 1.1 jruoho } // MEM
8257 1.1 jruoho
8258 1.1 jruoho Device (BAT1)
8259 1.1 jruoho { // BAT1
8260 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID
8261 1.1 jruoho Name (_UID, 1)
8262 1.1 jruoho Name (_PCL, Package (1) {\_SB})
8263 1.1 jruoho
8264 1.1 jruoho Method (_STA)
8265 1.1 jruoho { // _STA
8266 1.1 jruoho If (\_SB.MEM.BES1)
8267 1.1 jruoho { Return (0x1F) } // battery present
8268 1.1 jruoho Else
8269 1.1 jruoho { Return (0x0F) } // battery not present
8270 1.1 jruoho } // _STA
8271 1.1 jruoho
8272 1.1.1.3 christos Method (_BIF,, Serialized)
8273 1.1 jruoho { // _BIF
8274 1.1 jruoho Name (BUFR, Package (13) {})
8275 1.1 jruoho
8276 1.1 jruoho Store (\_SB.MEM.BPU1, Index (BUFR, 0))
8277 1.1 jruoho Store (\_SB.MEM.BDC1, Index (BUFR, 1))
8278 1.1 jruoho Store (\_SB.MEM.BLF1, Index (BUFR, 2))
8279 1.1 jruoho Store (\_SB.MEM.BTC1, Index (BUFR, 3))
8280 1.1 jruoho Store (\_SB.MEM.BDV1, Index (BUFR, 4))
8281 1.1 jruoho Store (\_SB.MEM.BCW1, Index (BUFR, 5))
8282 1.1 jruoho Store (\_SB.MEM.BCL1, Index (BUFR, 6))
8283 1.1 jruoho Store (\_SB.MEM.BG11, Index (BUFR, 7))
8284 1.1 jruoho Store (\_SB.MEM.BG21, Index (BUFR, 8))
8285 1.1 jruoho Store (\_SB.MEM.BMN1, Index (BUFR, 9))
8286 1.1 jruoho Store (\_SB.MEM.BSN1, Index (BUFR, 10))
8287 1.1 jruoho Store (\_SB.MEM.BTP1, Index (BUFR, 11))
8288 1.1 jruoho Store (\_SB.MEM.BOI1, Index (BUFR, 12))
8289 1.1 jruoho
8290 1.1 jruoho Return (BUFR)
8291 1.1 jruoho } // _BIF
8292 1.1 jruoho } // BAT1
8293 1.1 jruoho
8294 1.1 jruoho Device (IDX2)
8295 1.1 jruoho {
8296 1.1.1.3 christos Method (B2IB,, Serialized)
8297 1.1 jruoho { // B2IB: store from Buffer into Index'ed Buffer
8298 1.1 jruoho
8299 1.1 jruoho Name (SRCB, Buffer () {"Short Buffer"}) // 12 characters plus NULL
8300 1.1 jruoho
8301 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL
8302 1.1 jruoho {"Destination buffer that is longer than the short source buffer"})
8303 1.1 jruoho
8304 1.1 jruoho
8305 1.1 jruoho // verify object type returned by Index(Buffer,Element,)
8306 1.1 jruoho
8307 1.1 jruoho Store (Index (DEST, 2, ), Local1)
8308 1.1 jruoho Store (ObjectType (Local1), Local2)
8309 1.1 jruoho
8310 1.1 jruoho If (LNotEqual (Local2, 14)) // Buffer Field is type 14
8311 1.1 jruoho {
8312 1.1 jruoho // Local2 indicates Local1 is not a Buffer Field
8313 1.1 jruoho
8314 1.1 jruoho Return (0x61)
8315 1.1 jruoho }
8316 1.1 jruoho
8317 1.1 jruoho // verify object type and value returned by DerefOf(Index(Buffer,Element,))
8318 1.1 jruoho // should return Number containing element value
8319 1.1 jruoho
8320 1.1 jruoho Store (DerefOf (Local1), Local3)
8321 1.1 jruoho Store (ObjectType (Local3), Local4)
8322 1.1 jruoho
8323 1.1 jruoho If (LNotEqual (Local4, 1)) // Number is type 1
8324 1.1 jruoho {
8325 1.1 jruoho // Local2 indicates Local1 is not a Number
8326 1.1 jruoho Return (0x62)
8327 1.1 jruoho }
8328 1.1 jruoho Else
8329 1.1 jruoho {
8330 1.1 jruoho If (LNotEqual (Local3, 0x73)) // expect 's' element from DEST
8331 1.1 jruoho {
8332 1.1 jruoho Return (0x63)
8333 1.1 jruoho }
8334 1.1 jruoho }
8335 1.1 jruoho
8336 1.1 jruoho Store ("DerefOf(Index(Buffer,,)) PASS", Debug)
8337 1.1 jruoho
8338 1.1 jruoho
8339 1.1 jruoho //
8340 1.1 jruoho // The following sections have been rewritten because storing into
8341 1.1 jruoho // an Indexed buffer only changes one byte - the FIRST byte of the
8342 1.1 jruoho // buffer is written to the source index. This is the ONLY byte
8343 1.1 jruoho // written -- as per ACPI 2.0
8344 1.1 jruoho //
8345 1.1 jruoho // Overwrite DEST contents, at buffer position 2 [only]
8346 1.1 jruoho
8347 1.1 jruoho Store (SRCB, Index (DEST, 2, ))
8348 1.1 jruoho
8349 1.1 jruoho //
8350 1.1 jruoho // Check that the next byte is not changed
8351 1.1 jruoho //
8352 1.1 jruoho Store (DerefOf (Index (DEST, 3, )), Local0)
8353 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
8354 1.1 jruoho {
8355 1.1 jruoho // DEST element is not matching original value
8356 1.1 jruoho If (LEqual (Local0, 0x68))
8357 1.1 jruoho {
8358 1.1 jruoho // DEST element was altered to 'h'
8359 1.1 jruoho Return (0x68)
8360 1.1 jruoho }
8361 1.1 jruoho Else
8362 1.1 jruoho {
8363 1.1 jruoho // DEST element is an unknown value
8364 1.1 jruoho Return (0x69)
8365 1.1 jruoho }
8366 1.1 jruoho }
8367 1.1 jruoho
8368 1.1 jruoho //
8369 1.1 jruoho // Check that the elements beyond the SRCB buffer copy
8370 1.1 jruoho // have not been altered.
8371 1.1 jruoho //
8372 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0)
8373 1.1 jruoho
8374 1.1 jruoho //
8375 1.1 jruoho // This should be an 'f'.
8376 1.1 jruoho //
8377 1.1 jruoho If (LNotEqual (Local0, 0x66))
8378 1.1 jruoho {
8379 1.1 jruoho // DEST element was zero'd by buffer copy
8380 1.1 jruoho If (LEqual (Local0, 0))
8381 1.1 jruoho {
8382 1.1 jruoho // DEST element is zero
8383 1.1 jruoho Return (0x6A)
8384 1.1 jruoho }
8385 1.1 jruoho Else
8386 1.1 jruoho {
8387 1.1 jruoho // DEST element is unknown value
8388 1.1 jruoho Return (0x6B)
8389 1.1 jruoho }
8390 1.1 jruoho }
8391 1.1 jruoho
8392 1.1 jruoho Store ("Store(SRCB,Index(Buffer,,)) PASS", Debug)
8393 1.1 jruoho
8394 1.1 jruoho //
8395 1.1 jruoho // verify altering SRCB does NOT alter DEST
8396 1.1 jruoho //
8397 1.1 jruoho Store (0x6A, Index (SRCB, 1)) // SRCB = "Sjort Buffer"
8398 1.1 jruoho
8399 1.1 jruoho Store (DerefOf (Index (SRCB, 1)), Local0)
8400 1.1 jruoho
8401 1.1 jruoho If (LNotEqual (Local0, 0x6A)) // 'j'
8402 1.1 jruoho {
8403 1.1 jruoho // SRCB element is unaltered
8404 1.1 jruoho Return (0x71)
8405 1.1 jruoho }
8406 1.1 jruoho
8407 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0) // DEST = "Destination buffer that...
8408 1.1 jruoho
8409 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't'
8410 1.1 jruoho {
8411 1.1 jruoho // DEST element is altered
8412 1.1 jruoho If (LEqual (Local0, 0x6A)) // 'j'
8413 1.1 jruoho {
8414 1.1 jruoho // SRCB change altered DEST element
8415 1.1 jruoho Return (0x72)
8416 1.1 jruoho }
8417 1.1 jruoho Else
8418 1.1 jruoho {
8419 1.1 jruoho // DEST element is unknown value
8420 1.1 jruoho Return (0x73)
8421 1.1 jruoho }
8422 1.1 jruoho }
8423 1.1 jruoho
8424 1.1 jruoho // verify altering DEST does NOT alter SRCB
8425 1.1 jruoho
8426 1.1 jruoho Store (0x6B, Index (DEST, 4, )) // DEST = "DeSkination buffer..."
8427 1.1 jruoho
8428 1.1 jruoho Store (DerefOf (Index (DEST, 4, )), Local0)
8429 1.1 jruoho
8430 1.1 jruoho If (LNotEqual (Local0, 0x6B)) // 'k'
8431 1.1 jruoho {
8432 1.1 jruoho // DEST element is unaltered
8433 1.1 jruoho Return (0x74)
8434 1.1 jruoho }
8435 1.1 jruoho
8436 1.1 jruoho Store (DerefOf (Index (SRCB, 2, )), Local0)
8437 1.1 jruoho
8438 1.1 jruoho If (LNotEqual (Local0, 0x6F)) // 'o'
8439 1.1 jruoho { // SRC element is altered
8440 1.1 jruoho If (LEqual (Local0, 0x6B)) // 'k'
8441 1.1 jruoho {
8442 1.1 jruoho // DEST change altered SRCB element
8443 1.1 jruoho Return (0x75)
8444 1.1 jruoho }
8445 1.1 jruoho Else
8446 1.1 jruoho {
8447 1.1 jruoho // SRCB element is unknown value
8448 1.1 jruoho Return (0x76)
8449 1.1 jruoho }
8450 1.1 jruoho }
8451 1.1 jruoho
8452 1.1 jruoho Store ("SRCB and DEST independent PASS", Debug)
8453 1.1 jruoho
8454 1.1 jruoho
8455 1.1 jruoho // verify string can be written to Index target/destination
8456 1.1 jruoho // Only FIRST byte is written
8457 1.1 jruoho
8458 1.1 jruoho Store ("New Buff", Index (DEST, 2, )) // DEST = "DeNkination buffer..."
8459 1.1 jruoho
8460 1.1 jruoho Store (DerefOf (Index (DEST, 2, )), Local0)
8461 1.1 jruoho
8462 1.1 jruoho If (LNotEqual (Local0, 0x4E)) // 'N'
8463 1.1 jruoho {
8464 1.1 jruoho // DEST element is unaltered
8465 1.1 jruoho Return (0x81)
8466 1.1 jruoho }
8467 1.1 jruoho
8468 1.1 jruoho Store (DerefOf (Index (DEST, 6, )), Local0)
8469 1.1 jruoho
8470 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a'
8471 1.1 jruoho {
8472 1.1 jruoho // DEST element is unaltered
8473 1.1 jruoho Return (0x82)
8474 1.1 jruoho }
8475 1.1 jruoho
8476 1.1 jruoho Store (DerefOf (Index (DEST, 10, )), Local0)
8477 1.1 jruoho
8478 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n'
8479 1.1 jruoho {
8480 1.1 jruoho // DEST element is unaltered
8481 1.1 jruoho Return (0x83)
8482 1.1 jruoho }
8483 1.1 jruoho
8484 1.1 jruoho Store ("Store(String,Index) PASS", Debug)
8485 1.1 jruoho
8486 1.1 jruoho
8487 1.1 jruoho Return (0) // pass
8488 1.1 jruoho } // B2IB: store from Buffer into Index'ed Buffer
8489 1.1 jruoho
8490 1.1.1.3 christos Method (FB2P,, Serialized)
8491 1.1 jruoho { // FB2P: store from Field Buffer into Index'ed Package
8492 1.1 jruoho Name (DEST, Package (2) {})
8493 1.1 jruoho
8494 1.1 jruoho // initialize memory using 32-bit field elements
8495 1.1 jruoho Store (0x01234567, \_SB.MEM.SMD0)
8496 1.1 jruoho Store (0x89ABCDEF, \_SB.MEM.SMD1)
8497 1.1 jruoho Store (0xFEDCBA98, \_SB.MEM.SMD2)
8498 1.1 jruoho Store (0x76543210, \_SB.MEM.SMD3)
8499 1.1 jruoho
8500 1.1 jruoho // move greater than 64-bit buffers into DEST package
8501 1.1 jruoho Store (\_SB.MEM.SME0, Index (DEST, 0))
8502 1.1 jruoho Store (\_SB.MEM.SME1, Index (DEST, 1))
8503 1.1 jruoho
8504 1.1 jruoho // validate DEST contents
8505 1.1 jruoho Store (DerefOf (Index (DEST, 0, )), Local0)
8506 1.1 jruoho Store (DerefOf (Index (DEST, 1, )), Local1)
8507 1.1 jruoho
8508 1.1 jruoho // verify Local0 and Local1 are Buffers
8509 1.1 jruoho Store (ObjectType (Local0), Local2)
8510 1.1 jruoho if (LNotEqual (Local2, 3)) // Buffer type is 3
8511 1.1 jruoho {
8512 1.1 jruoho Return (0x11)
8513 1.1 jruoho }
8514 1.1 jruoho
8515 1.1 jruoho Store (ObjectType (Local1), Local3)
8516 1.1 jruoho if (LNotEqual (Local3, 3)) // Buffer type is 3
8517 1.1 jruoho {
8518 1.1 jruoho Return (0x12)
8519 1.1 jruoho }
8520 1.1 jruoho
8521 1.1 jruoho // validate DEST buffer contents
8522 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 0)), Local4)
8523 1.1 jruoho If (LNotEqual (Local4, 0x67))
8524 1.1 jruoho {
8525 1.1 jruoho Return (0x13)
8526 1.1 jruoho }
8527 1.1 jruoho
8528 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 1)), Local4)
8529 1.1 jruoho If (LNotEqual (Local4, 0x45))
8530 1.1 jruoho {
8531 1.1 jruoho Return (0x14)
8532 1.1 jruoho }
8533 1.1 jruoho
8534 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 4)), Local4)
8535 1.1 jruoho If (LNotEqual (Local4, 0xEF))
8536 1.1 jruoho {
8537 1.1 jruoho Return (0x15)
8538 1.1 jruoho }
8539 1.1 jruoho
8540 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 5, )), Local4)
8541 1.1 jruoho If (LNotEqual (Local4, 0xCD))
8542 1.1 jruoho {
8543 1.1 jruoho Return (0x16)
8544 1.1 jruoho }
8545 1.1 jruoho
8546 1.1 jruoho Store ("Store(Mem,PkgElement) PASS", Debug)
8547 1.1 jruoho
8548 1.1 jruoho
8549 1.1 jruoho // validate changing source \_SB.MEM.SMD* does not impact DEST
8550 1.1 jruoho Store (0x12345678, \_SB.MEM.SMD0)
8551 1.1 jruoho
8552 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 0, )), Local5)
8553 1.1 jruoho If (LNotEqual (Local5, 0x67))
8554 1.1 jruoho {
8555 1.1 jruoho Return (0x21)
8556 1.1 jruoho }
8557 1.1 jruoho
8558 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 1, )), Local5)
8559 1.1 jruoho If (LNotEqual (Local5, 0x45))
8560 1.1 jruoho {
8561 1.1 jruoho Return (0x22)
8562 1.1 jruoho }
8563 1.1 jruoho
8564 1.1 jruoho // validate changing DEST does not impact source \_SB.MEM.SMD*
8565 1.1 jruoho Store (0x30, Index (DerefOf (Index (DEST, 0)), 0))
8566 1.1 jruoho
8567 1.1 jruoho Store (DerefOf(Index (DerefOf (Index (DEST, 0)), 0)), Local5)
8568 1.1 jruoho If (LNotEqual (Local5, 0x30))
8569 1.1 jruoho {
8570 1.1 jruoho Return (0x23)
8571 1.1 jruoho }
8572 1.1 jruoho
8573 1.1 jruoho //
8574 1.1 jruoho // This section was modified from the original iPCO code because
8575 1.1 jruoho // it attempted to compare two buffers. This is not allowed until
8576 1.1 jruoho // ACPI v2.0, so the test has been modified to just check the
8577 1.1 jruoho // changed \_SB.MEM.SMD0
8578 1.1 jruoho //
8579 1.1 jruoho Store (\_SB.MEM.SMD0, Local5)
8580 1.1 jruoho
8581 1.1 jruoho If(LNotEqual(Local5, 0x12345678))
8582 1.1 jruoho {
8583 1.1 jruoho Return (0x24)
8584 1.1 jruoho }
8585 1.1 jruoho
8586 1.1 jruoho Store ("Mem and Pkg independent PASS", Debug)
8587 1.1 jruoho
8588 1.1 jruoho
8589 1.1 jruoho Return (0)
8590 1.1 jruoho } // FB2P: store from Field Buffer into Index'ed Package
8591 1.1 jruoho
8592 1.1 jruoho Method (TEST)
8593 1.1 jruoho {
8594 1.1 jruoho Store ("++++++++ IndexOp2 Test", Debug)
8595 1.1 jruoho
8596 1.1 jruoho // store _BIF package return value into Local0
8597 1.1 jruoho
8598 1.1 jruoho Store (\_SB.BAT1._BIF, Local0)
8599 1.1 jruoho
8600 1.1 jruoho // save Local0 object type value into Local1
8601 1.1 jruoho Store (ObjectType (Local0), Local1)
8602 1.1 jruoho
8603 1.1 jruoho // validate Local0 is a Package
8604 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4
8605 1.1 jruoho {
8606 1.1 jruoho // failure
8607 1.1 jruoho Return (2)
8608 1.1 jruoho }
8609 1.1 jruoho
8610 1.1 jruoho // validate source and destination buffers are independent of each
8611 1.1 jruoho // of each other (i.e., changing one's contents does not change
8612 1.1 jruoho // other's contents) using B2IB (store from Buffer into Index'ed
8613 1.1 jruoho // Buffer) and FB2P (store from Field Buffer into Index'ed Package)
8614 1.1 jruoho
8615 1.1 jruoho // call B2IB (store from Buffer into Index'ed Buffer)
8616 1.1 jruoho Store (B2IB, Local2) // Local2 is B2IB return value
8617 1.1 jruoho
8618 1.1 jruoho // save Local2 object type value into Local3
8619 1.1 jruoho Store (ObjectType (Local2), Local3)
8620 1.1 jruoho
8621 1.1 jruoho // validate Local2 is a Number
8622 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
8623 1.1 jruoho {
8624 1.1 jruoho // failure
8625 1.1 jruoho Return (4)
8626 1.1 jruoho }
8627 1.1 jruoho
8628 1.1 jruoho // zero indicates pass, non-zero is an error code
8629 1.1 jruoho If (LNotEqual (Local2, 0))
8630 1.1 jruoho {
8631 1.1 jruoho // return B2IB error code
8632 1.1 jruoho Return (Local2)
8633 1.1 jruoho }
8634 1.1 jruoho
8635 1.1 jruoho // call FB2P (store from Field Buffer into Index'ed Package)
8636 1.1 jruoho Store (FB2P, Local2) // Local2 is FB2P return value
8637 1.1 jruoho
8638 1.1 jruoho // save Local2 object type value into Local3
8639 1.1 jruoho Store (ObjectType (Local2), Local3)
8640 1.1 jruoho
8641 1.1 jruoho // validate Local2 is a Number
8642 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1
8643 1.1 jruoho {
8644 1.1 jruoho // failure
8645 1.1 jruoho Return (5)
8646 1.1 jruoho }
8647 1.1 jruoho
8648 1.1 jruoho // zero indicates pass, non-zero is an error code
8649 1.1 jruoho If (LNotEqual (Local2, 0))
8650 1.1 jruoho {
8651 1.1 jruoho // return FB2P error code
8652 1.1 jruoho Return (Local2)
8653 1.1 jruoho }
8654 1.1 jruoho
8655 1.1 jruoho
8656 1.1 jruoho Return (0)
8657 1.1 jruoho } // TEST
8658 1.1 jruoho } // IDX2: Test device name
8659 1.1 jruoho } // _SB system bus
8660 1.1 jruoho
8661 1.1 jruoho //
8662 1.1 jruoho // test SizeOf.asl
8663 1.1 jruoho //
8664 1.1 jruoho // Test for SizeOf
8665 1.1 jruoho // test cases include following SizeOf arguments:
8666 1.1 jruoho // buffer, buffer field;
8667 1.1 jruoho // control method argument, control method local variable;
8668 1.1 jruoho // control method return values;
8669 1.1 jruoho // direct string, string;
8670 1.1 jruoho // package;
8671 1.1 jruoho // buffer, package, and string package elements
8672 1.1 jruoho //
8673 1.1 jruoho // MTL NOTE: This test has been modified to remove any SizeOf(Index(Buff,...
8674 1.1 jruoho // calls because it is not legal to perform a SizeOf operation on a Buffer Field.
8675 1.1 jruoho // This test has also been extended to test additional Package element sizes.
8676 1.1 jruoho //
8677 1.1 jruoho Device (SIZO)
8678 1.1 jruoho {
8679 1.1 jruoho // SAR0 control method validates SizeOf(Arg)
8680 1.1 jruoho // SAR0 should only be called by SARG
8681 1.1 jruoho Method (SAR0, 2)
8682 1.1 jruoho // Arg0 object to determine size of
8683 1.1 jruoho // Arg1 expected Arg length
8684 1.1 jruoho { // SAR0: SizeOf(Arg) test control method
8685 1.1 jruoho // Local0 Arg0 length
8686 1.1 jruoho // Local1 Local0 object type
8687 1.1 jruoho
8688 1.1 jruoho // Store first string size (Arg0) into Local7
8689 1.1 jruoho Store (SizeOf (Arg0), Local0)
8690 1.1 jruoho
8691 1.1 jruoho // save Local0 object type value into Local1
8692 1.1 jruoho Store (ObjectType (Local0), Local1)
8693 1.1 jruoho
8694 1.1 jruoho // validate Local0 is a Number
8695 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8696 1.1 jruoho { Return (0x21) }
8697 1.1 jruoho
8698 1.1 jruoho // If strings are not of equal size, return error code
8699 1.1 jruoho If (LNotEqual (Local0, Arg1))
8700 1.1 jruoho { Return (0x22) }
8701 1.1 jruoho
8702 1.1 jruoho Return (0)
8703 1.1 jruoho } // SAR0: SizeOf(Arg) test control method
8704 1.1 jruoho
8705 1.1.1.3 christos Method (SARG,, Serialized)
8706 1.1 jruoho { // SARG: SizeOf(Arg) test control method
8707 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer
8708 1.1 jruoho Name (BUF1, Buffer() {0x01, 0x02, 0x03, 0x04, 0x05})
8709 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package
8710 1.1 jruoho Name (STR0, "String")
8711 1.1 jruoho Name (PKG1, Package (4)
8712 1.1 jruoho {
8713 1.1 jruoho BUFR,
8714 1.1 jruoho "String2",
8715 1.1 jruoho STR0,
8716 1.1 jruoho PKG0
8717 1.1 jruoho }) // PKG1
8718 1.1 jruoho
8719 1.1 jruoho Name (PKG2, Package (4)
8720 1.1 jruoho {
8721 1.1 jruoho Buffer (15) {},
8722 1.1 jruoho "String 1",
8723 1.1 jruoho Package (2) {}
8724 1.1 jruoho }) // PKG2
8725 1.1 jruoho
8726 1.1 jruoho // Namespace entry buffer reference
8727 1.1 jruoho Store (SAR0 (BUFR, 12), Local0)
8728 1.1 jruoho
8729 1.1 jruoho // save Local0 object type value into Local1
8730 1.1 jruoho Store (ObjectType (Local0), Local1)
8731 1.1 jruoho
8732 1.1 jruoho // validate Local0 is a Number
8733 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8734 1.1 jruoho {
8735 1.1 jruoho Return (0x23)
8736 1.1 jruoho }
8737 1.1 jruoho
8738 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8739 1.1 jruoho {
8740 1.1 jruoho Return (Local0)
8741 1.1 jruoho }
8742 1.1 jruoho
8743 1.1 jruoho Store ("SizeOf(Arg=BUFR) PASS", Debug)
8744 1.1 jruoho
8745 1.1 jruoho
8746 1.1 jruoho // Namespace entry package reference
8747 1.1 jruoho Store (SAR0 (PKG0, 4), Local0)
8748 1.1 jruoho
8749 1.1 jruoho // save Local0 object type value into Local1
8750 1.1 jruoho Store (ObjectType (Local0), Local1)
8751 1.1 jruoho
8752 1.1 jruoho // validate Local0 is a Number
8753 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8754 1.1 jruoho {
8755 1.1 jruoho Return (0x24)
8756 1.1 jruoho }
8757 1.1 jruoho
8758 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8759 1.1 jruoho {
8760 1.1 jruoho Return (Local0)
8761 1.1 jruoho }
8762 1.1 jruoho
8763 1.1 jruoho Store ("SizeOf(Arg=PKG0) PASS", Debug)
8764 1.1 jruoho
8765 1.1 jruoho
8766 1.1 jruoho // Namespace entry string reference
8767 1.1 jruoho Store (SAR0 (STR0, 6), Local0)
8768 1.1 jruoho
8769 1.1 jruoho // save Local0 object type value into Local1
8770 1.1 jruoho Store (ObjectType (Local0), Local1)
8771 1.1 jruoho
8772 1.1 jruoho // validate Local0 is a Number
8773 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8774 1.1 jruoho {
8775 1.1 jruoho Return (0x25)
8776 1.1 jruoho }
8777 1.1 jruoho
8778 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8779 1.1 jruoho {
8780 1.1 jruoho Return (Local0)
8781 1.1 jruoho }
8782 1.1 jruoho
8783 1.1 jruoho Store ("SizeOf(Arg=STR0) PASS", Debug)
8784 1.1 jruoho
8785 1.1 jruoho
8786 1.1 jruoho // direct string reference
8787 1.1 jruoho Store (SAR0 ("String", 6), Local0)
8788 1.1 jruoho
8789 1.1 jruoho // save Local0 object type value into Local1
8790 1.1 jruoho Store (ObjectType (Local0), Local1)
8791 1.1 jruoho
8792 1.1 jruoho // validate Local0 is a Number
8793 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8794 1.1 jruoho {
8795 1.1 jruoho Return (0x26)
8796 1.1 jruoho }
8797 1.1 jruoho
8798 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8799 1.1 jruoho {
8800 1.1 jruoho Return (Local0)
8801 1.1 jruoho }
8802 1.1 jruoho
8803 1.1 jruoho Store ("SizeOf(Arg=String) PASS", Debug)
8804 1.1 jruoho
8805 1.1 jruoho Store (0x55, Index (BUF1, 2))
8806 1.1 jruoho
8807 1.1 jruoho /****************************************************
8808 1.1 jruoho //
8809 1.1 jruoho // This section is commented because it is illegal to
8810 1.1 jruoho // perform a SizeOf operation on a Buffer Field
8811 1.1 jruoho //
8812 1.1 jruoho // Namespace BufferField reference
8813 1.1 jruoho Store (SAR0 (Index (BUFR, 2, ), 10), Local0)
8814 1.1 jruoho
8815 1.1 jruoho // save Local0 object type value into Local1
8816 1.1 jruoho Store (ObjectType (Local0), Local1)
8817 1.1 jruoho
8818 1.1 jruoho // validate Local0 is a Number
8819 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8820 1.1 jruoho { Return (0x27) }
8821 1.1 jruoho
8822 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8823 1.1 jruoho { Return (Local0) }
8824 1.1 jruoho
8825 1.1 jruoho Store ("SizeOf(Arg=BufferField) PASS", Debug)
8826 1.1 jruoho ****************************************************/
8827 1.1 jruoho
8828 1.1 jruoho // Namespace BufferPackageElement reference
8829 1.1 jruoho //
8830 1.1 jruoho Store (SAR0 (Index(PKG1, 0), 12), Local0)
8831 1.1 jruoho
8832 1.1 jruoho // save Local0 object type value into Local1
8833 1.1 jruoho Store (ObjectType (Local0), Local1)
8834 1.1 jruoho
8835 1.1 jruoho // validate Local0 is a Number
8836 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8837 1.1 jruoho {
8838 1.1 jruoho Return (0x28)
8839 1.1 jruoho }
8840 1.1 jruoho
8841 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8842 1.1 jruoho {
8843 1.1 jruoho Return (Local0)
8844 1.1 jruoho }
8845 1.1 jruoho
8846 1.1 jruoho Store ("SizeOf(Arg=PackageBuffer NTE Reference Element) PASS", Debug)
8847 1.1 jruoho
8848 1.1 jruoho
8849 1.1 jruoho // Namespace StringPackageElement reference
8850 1.1 jruoho Store (SAR0 (Index (PKG1, 1, ), 7), Local0)
8851 1.1 jruoho
8852 1.1 jruoho // save Local0 object type value into Local1
8853 1.1 jruoho Store (ObjectType (Local0), Local1)
8854 1.1 jruoho
8855 1.1 jruoho // validate Local0 is a Number
8856 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8857 1.1 jruoho {
8858 1.1 jruoho Return (0x29)
8859 1.1 jruoho }
8860 1.1 jruoho
8861 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8862 1.1 jruoho {
8863 1.1 jruoho Return (Local0)
8864 1.1 jruoho }
8865 1.1 jruoho
8866 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug)
8867 1.1 jruoho
8868 1.1 jruoho
8869 1.1 jruoho // Namespace StringPackageElement reference
8870 1.1 jruoho Store (SAR0 (Index (PKG1, 2, ), 6), Local0)
8871 1.1 jruoho
8872 1.1 jruoho // save Local0 object type value into Local1
8873 1.1 jruoho Store (ObjectType (Local0), Local1)
8874 1.1 jruoho
8875 1.1 jruoho // validate Local0 is a Number
8876 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8877 1.1 jruoho {
8878 1.1 jruoho Return (0x2A)
8879 1.1 jruoho }
8880 1.1 jruoho
8881 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8882 1.1 jruoho {
8883 1.1 jruoho Return (Local0)
8884 1.1 jruoho }
8885 1.1 jruoho
8886 1.1 jruoho Store ("SizeOf(Arg=Package String NTE Reference Element) PASS", Debug)
8887 1.1 jruoho
8888 1.1 jruoho
8889 1.1 jruoho // Namespace PackagePackageElement reference
8890 1.1 jruoho Store (SAR0 (Index (PKG1, 3, ), 4), Local0)
8891 1.1 jruoho
8892 1.1 jruoho // save Local0 object type value into Local1
8893 1.1 jruoho Store (ObjectType (Local0), Local1)
8894 1.1 jruoho
8895 1.1 jruoho // validate Local0 is a Number
8896 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8897 1.1 jruoho {
8898 1.1 jruoho Return (0x2B)
8899 1.1 jruoho }
8900 1.1 jruoho
8901 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8902 1.1 jruoho {
8903 1.1 jruoho Return (Local0)
8904 1.1 jruoho }
8905 1.1 jruoho
8906 1.1 jruoho Store ("SizeOf(Arg=Package Package NTE Reference Element) PASS", Debug)
8907 1.1 jruoho
8908 1.1 jruoho // Package Buffer Element
8909 1.1 jruoho Store (SAR0 (Index (PKG2, 0), 15), Local0)
8910 1.1 jruoho
8911 1.1 jruoho // save Local0 object type value into Local1
8912 1.1 jruoho Store (ObjectType (Local0), Local1)
8913 1.1 jruoho
8914 1.1 jruoho // validate Local0 is a Number
8915 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8916 1.1 jruoho {
8917 1.1 jruoho Return (0x2B)
8918 1.1 jruoho }
8919 1.1 jruoho
8920 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8921 1.1 jruoho {
8922 1.1 jruoho Return (Local0)
8923 1.1 jruoho }
8924 1.1 jruoho
8925 1.1 jruoho Store ("SizeOf(Arg=Package Buffer Element) PASS", Debug)
8926 1.1 jruoho
8927 1.1 jruoho // Package String Element
8928 1.1 jruoho Store (SAR0 (Index (PKG2, 1), 8), Local0)
8929 1.1 jruoho
8930 1.1 jruoho // save Local0 object type value into Local1
8931 1.1 jruoho Store (ObjectType (Local0), Local1)
8932 1.1 jruoho
8933 1.1 jruoho // validate Local0 is a Number
8934 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8935 1.1 jruoho {
8936 1.1 jruoho Return (0x2B)
8937 1.1 jruoho }
8938 1.1 jruoho
8939 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8940 1.1 jruoho {
8941 1.1 jruoho Return (Local0)
8942 1.1 jruoho }
8943 1.1 jruoho
8944 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug)
8945 1.1 jruoho
8946 1.1 jruoho // Package Package Element
8947 1.1 jruoho Store (SAR0 (Index (PKG2, 2), 2), Local0)
8948 1.1 jruoho
8949 1.1 jruoho // save Local0 object type value into Local1
8950 1.1 jruoho Store (ObjectType (Local0), Local1)
8951 1.1 jruoho
8952 1.1 jruoho // validate Local0 is a Number
8953 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8954 1.1 jruoho {
8955 1.1 jruoho Return (0x2B)
8956 1.1 jruoho }
8957 1.1 jruoho
8958 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code
8959 1.1 jruoho {
8960 1.1 jruoho Return (Local0)
8961 1.1 jruoho }
8962 1.1 jruoho
8963 1.1 jruoho Store ("SizeOf(Arg=Package Package Element) PASS", Debug)
8964 1.1 jruoho
8965 1.1 jruoho Store ("SizeOf(Arg) PASS", Debug)
8966 1.1 jruoho
8967 1.1 jruoho Return (0)
8968 1.1 jruoho } // SARG: SizeOf(Arg) test control method
8969 1.1 jruoho
8970 1.1.1.3 christos Method (SBUF,, Serialized)
8971 1.1 jruoho { // SBUF: SizeOf(Buffer) test control method
8972 1.1 jruoho Name (BUFR, Buffer (12) {})
8973 1.1 jruoho
8974 1.1 jruoho // store size of BUFR buffer into Local0
8975 1.1 jruoho Store (SizeOf (BUFR), Local0)
8976 1.1 jruoho
8977 1.1 jruoho // save Local0 object type value into Local1
8978 1.1 jruoho Store (ObjectType (Local0), Local1)
8979 1.1 jruoho
8980 1.1 jruoho // validate Local0 is a Number
8981 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
8982 1.1 jruoho {
8983 1.1 jruoho Return (0x31)
8984 1.1 jruoho }
8985 1.1 jruoho
8986 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12
8987 1.1 jruoho {
8988 1.1 jruoho Return (0x32)
8989 1.1 jruoho }
8990 1.1 jruoho
8991 1.1 jruoho Store ("SizeOf(BUFR) PASS", Debug)
8992 1.1 jruoho
8993 1.1 jruoho Return (0)
8994 1.1 jruoho } // SBUF: SizeOf(Buffer) test control method
8995 1.1 jruoho
8996 1.1 jruoho
8997 1.1 jruoho /****************************************************
8998 1.1 jruoho //
8999 1.1 jruoho // This section is commented because it is illegal to
9000 1.1 jruoho // perform a SizeOf operation on a Buffer Field
9001 1.1 jruoho //
9002 1.1 jruoho Method (SIND)
9003 1.1 jruoho { // SIND: SizeOf(Index(,,)) test control method
9004 1.1 jruoho Name (BUFR, Buffer (12) {})
9005 1.1 jruoho
9006 1.1 jruoho // store size of Index(BUFR,2,) buffer into Local0
9007 1.1 jruoho Store (SizeOf (Index (BUFR, 2, )), Local0)
9008 1.1 jruoho
9009 1.1 jruoho // save Local0 object type value into Local1
9010 1.1 jruoho Store (ObjectType (Local0), Local1)
9011 1.1 jruoho
9012 1.1 jruoho // validate Local0 is a Number
9013 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9014 1.1 jruoho {
9015 1.1 jruoho Return (0x41)
9016 1.1 jruoho }
9017 1.1 jruoho
9018 1.1 jruoho If (LNotEqual (Local0, 10)) // 12 - 2 = 10
9019 1.1 jruoho {
9020 1.1 jruoho Return (0x42)
9021 1.1 jruoho }
9022 1.1 jruoho
9023 1.1 jruoho Store ("SizeOf(Index(BUFR,,)) PASS", Debug)
9024 1.1 jruoho
9025 1.1 jruoho // TBD: strings and packages
9026 1.1 jruoho
9027 1.1 jruoho Return (0)
9028 1.1 jruoho } // SIND: SizeOf(Index(,,)) test control method
9029 1.1 jruoho ****************************************************/
9030 1.1 jruoho
9031 1.1.1.3 christos Method (SLOC,, Serialized)
9032 1.1 jruoho { // SLOC: SizeOf(Local) test control method
9033 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer
9034 1.1 jruoho Name (STR0, "String")
9035 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package
9036 1.1 jruoho
9037 1.1 jruoho
9038 1.1 jruoho // store BUFR Buffer into Local2
9039 1.1 jruoho Store (BUFR, Local2)
9040 1.1 jruoho
9041 1.1 jruoho // store size of BUFR buffer into Local0
9042 1.1 jruoho Store (SizeOf (Local2), Local0)
9043 1.1 jruoho
9044 1.1 jruoho // save Local0 object type value into Local1
9045 1.1 jruoho Store (ObjectType (Local0), Local1)
9046 1.1 jruoho
9047 1.1 jruoho // validate Local0 is a Number
9048 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9049 1.1 jruoho {
9050 1.1 jruoho Return (0x51)
9051 1.1 jruoho }
9052 1.1 jruoho
9053 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12
9054 1.1 jruoho {
9055 1.1 jruoho Return (0x52)
9056 1.1 jruoho }
9057 1.1 jruoho
9058 1.1 jruoho Store ("SizeOf(Local2=Buffer) PASS", Debug)
9059 1.1 jruoho
9060 1.1 jruoho
9061 1.1 jruoho // store STR0 string into Local2
9062 1.1 jruoho Store (STR0, Local2)
9063 1.1 jruoho
9064 1.1 jruoho // store size of STR0 buffer into Local0
9065 1.1 jruoho Store (SizeOf (Local2), Local0)
9066 1.1 jruoho
9067 1.1 jruoho // save Local0 object type value into Local1
9068 1.1 jruoho Store (ObjectType (Local0), Local1)
9069 1.1 jruoho
9070 1.1 jruoho // validate Local0 is a Number
9071 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9072 1.1 jruoho {
9073 1.1 jruoho Return (0x53)
9074 1.1 jruoho }
9075 1.1 jruoho
9076 1.1 jruoho If (LNotEqual (Local0, 6)) // STR0 size is 6
9077 1.1 jruoho {
9078 1.1 jruoho Return (0x54)
9079 1.1 jruoho }
9080 1.1 jruoho
9081 1.1 jruoho Store ("SizeOf(Local2=String) PASS", Debug)
9082 1.1 jruoho
9083 1.1 jruoho
9084 1.1 jruoho // store PKG0 Package into Local2
9085 1.1 jruoho Store (PKG0, Local2)
9086 1.1 jruoho
9087 1.1 jruoho // store size of PKG0 buffer into Local0
9088 1.1 jruoho Store (SizeOf (Local2), Local0)
9089 1.1 jruoho
9090 1.1 jruoho // save Local0 object type value into Local1
9091 1.1 jruoho Store (ObjectType (Local0), Local1)
9092 1.1 jruoho
9093 1.1 jruoho // validate Local0 is a Number
9094 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1
9095 1.1 jruoho {
9096 1.1 jruoho Return (0x55)
9097 1.1 jruoho }
9098 1.1 jruoho
9099 1.1 jruoho If (LNotEqual (Local0, 4)) // PKG0 size is 4
9100 1.1 jruoho {
9101 1.1 jruoho Return (0x56)
9102 1.1 jruoho }
9103 1.1 jruoho
9104 1.1 jruoho Store ("SizeOf(Local2=Package) PASS", Debug)
9105 1.1 jruoho
9106 1.1 jruoho
9107 1.1 jruoho Return (0)
9108 1.1 jruoho } // SLOC: SizeOf(Local) test control method
9109 1.1 jruoho
9110 1.1 jruoho Method (TEST)
9111 1.1 jruoho {
9112 1.1 jruoho Store ("++++++++ SizeOf Test", Debug)
9113 1.1 jruoho
9114 1.1 jruoho // Store current operating system string into Local0
9115 1.1 jruoho Store (_OS, Local0)
9116 1.1 jruoho
9117 1.1 jruoho Store (SizeOf (_OS), Local3)
9118 1.1 jruoho
9119 1.1 jruoho // save Local3 object type value into Local4
9120 1.1 jruoho Store (ObjectType (Local3), Local4)
9121 1.1 jruoho
9122 1.1 jruoho // validate Local3 is a Number
9123 1.1 jruoho If (LNotEqual (Local4, 1)) // Number type is 1
9124 1.1 jruoho {
9125 1.1 jruoho // failure
9126 1.1 jruoho Return (0x61)
9127 1.1 jruoho }
9128 1.1 jruoho
9129 1.1 jruoho // Store current operating system string into Local0
9130 1.1 jruoho // This verifies above SizeOf(_OS) did not corrupt ACPI namespace
9131 1.1 jruoho Store (_OS, Local0)
9132 1.1 jruoho
9133 1.1 jruoho // Store SARG [Validate SizeOf(Arg)] return value into Local1
9134 1.1 jruoho Store (SARG, Local1)
9135 1.1 jruoho
9136 1.1 jruoho // save Local1 object type value into Local2
9137 1.1 jruoho Store (ObjectType (Local1), Local2)
9138 1.1 jruoho
9139 1.1 jruoho // validate Local1 is a Number
9140 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9141 1.1 jruoho {
9142 1.1 jruoho // failure
9143 1.1 jruoho Return (0x62)
9144 1.1 jruoho }
9145 1.1 jruoho
9146 1.1 jruoho // zero indicates pass, non-zero is an error code
9147 1.1 jruoho If (LNotEqual (Local1, 0))
9148 1.1 jruoho {
9149 1.1 jruoho // return SARG error code
9150 1.1 jruoho Return (Local1)
9151 1.1 jruoho }
9152 1.1 jruoho
9153 1.1 jruoho
9154 1.1 jruoho // Store SBUF [Validate SizeOf(Buffer)] return value into Local1
9155 1.1 jruoho Store (SBUF, Local1)
9156 1.1 jruoho
9157 1.1 jruoho // save Local1 object type value into Local2
9158 1.1 jruoho Store (ObjectType (Local1), Local2)
9159 1.1 jruoho
9160 1.1 jruoho // validate Local1 is a Number
9161 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9162 1.1 jruoho {
9163 1.1 jruoho // failure
9164 1.1 jruoho Return (0x63)
9165 1.1 jruoho }
9166 1.1 jruoho
9167 1.1 jruoho // zero indicates pass, non-zero is an error code
9168 1.1 jruoho If (LNotEqual (Local1, 0))
9169 1.1 jruoho {
9170 1.1 jruoho // return SBUF error code
9171 1.1 jruoho Return (Local1)
9172 1.1 jruoho }
9173 1.1 jruoho
9174 1.1 jruoho /****************************************************
9175 1.1 jruoho //
9176 1.1 jruoho // This section is commented because it is illegal to
9177 1.1 jruoho // perform a SizeOf operation on a Buffer Field
9178 1.1 jruoho //
9179 1.1 jruoho // Store SIND [verify SizeOf(Index(,,))] return value into Local1
9180 1.1 jruoho Store (SIND, Local1)
9181 1.1 jruoho
9182 1.1 jruoho // save Local1 object type value into Local2
9183 1.1 jruoho Store (ObjectType (Local1), Local2)
9184 1.1 jruoho
9185 1.1 jruoho // validate Local1 is a Number
9186 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9187 1.1 jruoho {
9188 1.1 jruoho // failure
9189 1.1 jruoho Return (0x64)
9190 1.1 jruoho }
9191 1.1 jruoho
9192 1.1 jruoho // zero indicates pass, non-zero is an error code
9193 1.1 jruoho If (LNotEqual (Local1, 0))
9194 1.1 jruoho {
9195 1.1 jruoho // return SARG error code
9196 1.1 jruoho Return (Local1)
9197 1.1 jruoho }
9198 1.1 jruoho ****************************************************/
9199 1.1 jruoho
9200 1.1 jruoho // Store SLOC [verify SizeOf(Local)] return value into Local1
9201 1.1 jruoho Store (SLOC, Local1)
9202 1.1 jruoho
9203 1.1 jruoho // save Local1 object type value into Local2
9204 1.1 jruoho Store (ObjectType (Local1), Local2)
9205 1.1 jruoho
9206 1.1 jruoho // validate Local1 is a Number
9207 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1
9208 1.1 jruoho {
9209 1.1 jruoho // failure
9210 1.1 jruoho Return (0x65)
9211 1.1 jruoho }
9212 1.1 jruoho
9213 1.1 jruoho // zero indicates pass, non-zero is an error code
9214 1.1 jruoho If (LNotEqual (Local1, 0))
9215 1.1 jruoho {
9216 1.1 jruoho // return SLOC error code
9217 1.1 jruoho Return (Local1)
9218 1.1 jruoho }
9219 1.1 jruoho
9220 1.1 jruoho
9221 1.1 jruoho // TBD: SizeOf (METH) -- where METH control method returns
9222 1.1 jruoho // buffer, BufferField, string, package, package element
9223 1.1 jruoho
9224 1.1 jruoho
9225 1.1 jruoho Return (0)
9226 1.1 jruoho } // TEST
9227 1.1 jruoho } // SIZO
9228 1.1 jruoho
9229 1.1 jruoho //
9230 1.1 jruoho // test SmiShare.asl
9231 1.1 jruoho //
9232 1.1 jruoho Scope (\_SB) // System Bus
9233 1.1 jruoho { // _SB system bus
9234 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long
9235 1.1 jruoho OperationRegion(RAM1, SystemMemory, 0x400000, 0xA)
9236 1.1 jruoho
9237 1.1 jruoho Field (RAM1, AnyAcc, NoLock, Preserve)
9238 1.1 jruoho {
9239 1.1 jruoho BI1T, 1, // Create some bits in memory to access
9240 1.1 jruoho BI2T, 2,
9241 1.1 jruoho BI3T, 3,
9242 1.1 jruoho LST2, 2
9243 1.1 jruoho } // End Field RAM1
9244 1.1 jruoho
9245 1.1 jruoho Field (RAM1, WordAcc, NoLock, WriteAsZeros)
9246 1.1 jruoho {
9247 1.1 jruoho WRD, 16
9248 1.1 jruoho } // End 2nd Field RAM1
9249 1.1 jruoho
9250 1.1 jruoho Field (RAM1, ByteAcc, NoLock, WriteAsOnes)
9251 1.1 jruoho {
9252 1.1 jruoho BYTE, 8
9253 1.1 jruoho } // End 3rd Field RAM1
9254 1.1 jruoho
9255 1.1 jruoho Field (RAM1, ByteAcc, NoLock, Preserve)
9256 1.1 jruoho {
9257 1.1 jruoho SMIC, 8,
9258 1.1 jruoho SMID, 8
9259 1.1 jruoho }
9260 1.1 jruoho
9261 1.1 jruoho Device (MBIT)
9262 1.1 jruoho {
9263 1.1 jruoho Method (_INI)
9264 1.1 jruoho {
9265 1.1 jruoho Store (0, BI1T)
9266 1.1 jruoho Store (3, BI2T)
9267 1.1 jruoho Store (7, BI3T)
9268 1.1 jruoho Store (0, LST2)
9269 1.1 jruoho } // End _INI Method
9270 1.1 jruoho } // End Device MBIT
9271 1.1 jruoho
9272 1.1 jruoho Device (MWRD)
9273 1.1 jruoho {
9274 1.1 jruoho Method (_INI)
9275 1.1 jruoho {
9276 1.1 jruoho Store (0, WRD)
9277 1.1 jruoho } // End _INI Method
9278 1.1 jruoho } // End Device MWRD
9279 1.1 jruoho
9280 1.1 jruoho Device (MBYT)
9281 1.1 jruoho {
9282 1.1 jruoho Method (_INI)
9283 1.1 jruoho {
9284 1.1 jruoho Store (0, BYTE)
9285 1.1 jruoho Store (0xC, SMIC)
9286 1.1 jruoho Store (0xD, SMID)
9287 1.1 jruoho } // End _INI Method
9288 1.1 jruoho } // End Device MBYT
9289 1.1 jruoho
9290 1.1 jruoho /*
9291 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long
9292 1.1 jruoho OperationRegion(\RAM1, SystemMemory, 0x400000, 0xA)
9293 1.1 jruoho
9294 1.1 jruoho Field (\RAM1, AnyAcc, NoLock, Preserve)
9295 1.1 jruoho {
9296 1.1 jruoho BI1T, 1, // Create some bits in memory to access
9297 1.1 jruoho BI2T, 2,
9298 1.1 jruoho BI3T, 3,
9299 1.1 jruoho LST2, 2
9300 1.1 jruoho } // End Field RAM1
9301 1.1 jruoho
9302 1.1 jruoho Field (\RAM1, WordAcc, NoLock, WriteAsZeros)
9303 1.1 jruoho {
9304 1.1 jruoho WRD, 16
9305 1.1 jruoho } // End 2nd Field RAM1
9306 1.1 jruoho
9307 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, WriteAsOnes)
9308 1.1 jruoho {
9309 1.1 jruoho BYTE, 8
9310 1.1 jruoho } // End 3rd Field RAM1
9311 1.1 jruoho
9312 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, Preserve)
9313 1.1 jruoho {
9314 1.1 jruoho SMIC, 8,
9315 1.1 jruoho SMID, 8
9316 1.1 jruoho }
9317 1.1 jruoho */
9318 1.1 jruoho Method (SMIX)
9319 1.1 jruoho {
9320 1.1 jruoho Return (BYTE)
9321 1.1 jruoho } // End SMIX
9322 1.1 jruoho
9323 1.1 jruoho Method (EVNT)
9324 1.1 jruoho {
9325 1.1 jruoho Store (SMIX, Local0)
9326 1.1 jruoho
9327 1.1.1.3 christos Notify (\_SB_, 0x29)
9328 1.1 jruoho If (And (Local0, 0x01))
9329 1.1 jruoho { Notify (\_SB_.SMIS, 0x21)}
9330 1.1 jruoho
9331 1.1 jruoho If (And (Local0, 0x02))
9332 1.1 jruoho { Notify (\_SB_.SMIS, 0x22)}
9333 1.1 jruoho
9334 1.1 jruoho If (And (Local0, 0x04))
9335 1.1 jruoho { Notify (\_SB_.SMIS, 0x24)}
9336 1.1 jruoho
9337 1.1 jruoho If (And (Local0, 0x08))
9338 1.1 jruoho { Notify (\_SB_.SMIS, 0x28)}
9339 1.1 jruoho
9340 1.1 jruoho } // End Method EVNT
9341 1.1 jruoho
9342 1.1.1.3 christos Method (NTFY)
9343 1.1.1.3 christos {
9344 1.1.1.3 christos Notify (\_SB_, 1)
9345 1.1.1.3 christos Notify (\_TZ_.TZ1, 2)
9346 1.1.1.3 christos Notify (\_PR_.CPU0, 3)
9347 1.1.1.3 christos
9348 1.1.1.3 christos Notify (\_SB_, 0x81)
9349 1.1.1.3 christos Notify (\_TZ_.TZ1, 0x82)
9350 1.1.1.3 christos Notify (\_PR_.CPU0, 0x83)
9351 1.1.1.3 christos }
9352 1.1.1.3 christos
9353 1.1 jruoho Device (SMIS)
9354 1.1 jruoho {
9355 1.1 jruoho Method (BINK)
9356 1.1 jruoho {
9357 1.1 jruoho Store (0, Local0) // Zero out Local0
9358 1.1 jruoho
9359 1.1 jruoho If (LNotEqual (SMID, 0xD))
9360 1.1 jruoho { Or (0x80, Local0, Local0)}
9361 1.1 jruoho
9362 1.1 jruoho If (LNotEqual (SMIC, 0xC))
9363 1.1 jruoho { Or (0x40, Local0, Local0)}
9364 1.1 jruoho
9365 1.1 jruoho If (LNotEqual (BYTE, 0))
9366 1.1 jruoho { Or (0x20, Local0, Local0)}
9367 1.1 jruoho
9368 1.1 jruoho If (LNotEqual (WRD, 0))
9369 1.1 jruoho { Or (0x10, Local0, Local0)}
9370 1.1 jruoho
9371 1.1 jruoho If (LNotEqual (LST2, 0))
9372 1.1 jruoho { Or (0x8, Local0, Local0)}
9373 1.1 jruoho
9374 1.1 jruoho If (LNotEqual (BI3T, 0x7))
9375 1.1 jruoho { Or (0x4, Local0, Local0)}
9376 1.1 jruoho
9377 1.1 jruoho If (LNotEqual (BI2T, 0x3))
9378 1.1 jruoho { Or (0x2, Local0, Local0)}
9379 1.1 jruoho
9380 1.1 jruoho If (LNotEqual (BI1T, 0))
9381 1.1 jruoho { Or (0x1, Local0, Local0)}
9382 1.1 jruoho
9383 1.1 jruoho Return (Local0)
9384 1.1 jruoho } // End Method BINK
9385 1.1 jruoho
9386 1.1 jruoho Method (TEST)
9387 1.1 jruoho {
9388 1.1 jruoho Store ("++++++++ SmiShare Test", Debug)
9389 1.1 jruoho
9390 1.1 jruoho // Expect EVNT to generate Notify value we just previously
9391 1.1 jruoho // stored in BYTE
9392 1.1.1.3 christos
9393 1.1 jruoho Store (0x20, BYTE)
9394 1.1 jruoho EVNT ()
9395 1.1 jruoho Store (0x21, BYTE)
9396 1.1 jruoho EVNT ()
9397 1.1 jruoho Store (0x22, BYTE)
9398 1.1 jruoho EVNT ()
9399 1.1 jruoho Store (0x23, BYTE)
9400 1.1 jruoho EVNT ()
9401 1.1 jruoho
9402 1.1.1.3 christos NTFY ()
9403 1.1 jruoho Return (0) // pass
9404 1.1 jruoho } // End Method TEST
9405 1.1 jruoho } // Device SMIS
9406 1.1 jruoho
9407 1.1 jruoho Device(CNDT)
9408 1.1 jruoho {
9409 1.1 jruoho Method(TEST)
9410 1.1 jruoho {
9411 1.1 jruoho If (ECOK)
9412 1.1 jruoho {
9413 1.1 jruoho return("Broken")
9414 1.1 jruoho }
9415 1.1 jruoho Else
9416 1.1 jruoho {
9417 1.1 jruoho return("Works")
9418 1.1 jruoho }
9419 1.1 jruoho }
9420 1.1 jruoho
9421 1.1 jruoho Method(ECOK)
9422 1.1 jruoho {
9423 1.1 jruoho Return(0x0)
9424 1.1 jruoho }
9425 1.1 jruoho }
9426 1.1 jruoho
9427 1.1 jruoho } // _SB system bus
9428 1.1 jruoho
9429 1.1 jruoho
9430 1.1 jruoho /* Test a very big buffer */
9431 1.1 jruoho
9432 1.1 jruoho Name(WQAB, Buffer(6756)
9433 1.1 jruoho {
9434 1.1 jruoho 0x46,0x4F,0x4D,0x42,0x01,0x00,0x00,0x00,
9435 1.1 jruoho 0x54,0x1A,0x00,0x00,0xBA,0xAD,0x00,0x00,
9436 1.1 jruoho 0x44,0x53,0x00,0x01,0x1A,0x7D,0xDA,0x54,
9437 1.1 jruoho 0x98,0xBD,0x92,0x00,0x01,0x06,0x18,0x42,
9438 1.1 jruoho 0x10,0x47,0x10,0x92,0x46,0x62,0x02,0x89,
9439 1.1 jruoho 0x80,0x90,0x18,0x18,0x14,0x81,0x85,0x00,
9440 1.1 jruoho 0x49,0x02,0x88,0xC4,0x41,0xE1,0x20,0xD4,
9441 1.1 jruoho 0x9F,0x40,0x7E,0x05,0x20,0x74,0x28,0x40,
9442 1.1 jruoho 0xA6,0x00,0x83,0x02,0x9C,0x22,0x88,0xA0,
9443 1.1 jruoho 0x57,0x01,0x36,0x05,0x98,0x14,0x60,0x51,
9444 1.1 jruoho 0x80,0x76,0x01,0x96,0x05,0xE8,0x16,0x20,
9445 1.1 jruoho 0x1D,0x96,0x88,0x04,0x47,0x89,0x01,0x47,
9446 1.1 jruoho 0xE9,0xC4,0x16,0x6E,0xD8,0xE0,0x85,0xA2,
9447 1.1 jruoho 0x68,0x06,0x51,0x12,0x94,0x8B,0x20,0x5D,
9448 1.1 jruoho 0x10,0x52,0x2E,0xC0,0x37,0x82,0x06,0x10,
9449 1.1 jruoho 0xA5,0x77,0x01,0xB6,0x05,0x98,0x86,0x27,
9450 1.1 jruoho 0xD2,0x20,0xE4,0x60,0x08,0x54,0xCE,0x80,
9451 1.1 jruoho 0x20,0x69,0x44,0x21,0x1E,0xA7,0x44,0x08,
9452 1.1 jruoho 0x0A,0x84,0x90,0xD4,0xF1,0xA0,0xA0,0x71,
9453 1.1 jruoho 0x88,0xAD,0xCE,0x46,0x93,0xA9,0x74,0x7E,
9454 1.1 jruoho 0x48,0x82,0x70,0xC6,0x2A,0x7E,0x3A,0x9A,
9455 1.1 jruoho 0xD0,0xD9,0x9C,0x60,0xE7,0x18,0x72,0x3C,
9456 1.1 jruoho 0x48,0xF4,0x20,0xB8,0x00,0x0F,0x1C,0x2C,
9457 1.1 jruoho 0x34,0x84,0x22,0x6B,0x80,0xC1,0x8C,0xDD,
9458 1.1 jruoho 0x63,0xB1,0x0B,0x4E,0x0A,0xEC,0x61,0xB3,
9459 1.1 jruoho 0x01,0x19,0xA2,0x24,0x38,0xD4,0x11,0xC0,
9460 1.1 jruoho 0x12,0x05,0x98,0x1F,0x87,0x0C,0x0F,0x95,
9461 1.1 jruoho 0x8C,0x25,0x24,0x1B,0xAB,0x87,0xC2,0xA5,
9462 1.1 jruoho 0x40,0x68,0x6C,0x27,0xED,0x19,0x45,0x2C,
9463 1.1 jruoho 0x79,0x4A,0x82,0x49,0xE0,0x51,0x44,0x36,
9464 1.1 jruoho 0x1A,0x27,0x28,0x1B,0x1A,0x25,0x03,0x42,
9465 1.1 jruoho 0x9E,0x05,0x58,0x07,0x26,0x04,0x76,0x2F,
9466 1.1 jruoho 0xC0,0x9A,0x00,0x73,0xB3,0x90,0xB1,0xB9,
9467 1.1 jruoho 0xE8,0xFF,0x0F,0x71,0xB0,0x31,0xDA,0x9A,
9468 1.1 jruoho 0xAE,0x90,0xC2,0xC4,0x88,0x12,0x2C,0x5E,
9469 1.1 jruoho 0xC5,0xC3,0x10,0xCA,0x93,0x42,0xA8,0x48,
9470 1.1 jruoho 0x95,0xA1,0x68,0xB4,0x51,0x2A,0x14,0xE0,
9471 1.1 jruoho 0x4C,0x80,0x30,0x5C,0x1D,0x03,0x82,0x46,
9472 1.1 jruoho 0x88,0x15,0x29,0x56,0xFB,0x83,0x20,0xF1,
9473 1.1 jruoho 0x2D,0x40,0x54,0x01,0xA2,0x48,0xA3,0x41,
9474 1.1 jruoho 0x9D,0x03,0x3C,0x5C,0x0F,0xF5,0xF0,0x3D,
9475 1.1 jruoho 0xF6,0x93,0x0C,0x72,0x90,0x67,0xF1,0xA8,
9476 1.1 jruoho 0x70,0x9C,0x06,0x49,0xE0,0x0B,0x80,0x4F,
9477 1.1 jruoho 0x08,0x1E,0x38,0xDE,0x35,0xA0,0x66,0x7C,
9478 1.1 jruoho 0xBC,0x4C,0x10,0x1C,0x6A,0x88,0x1E,0x68,
9479 1.1 jruoho 0xB8,0x13,0x38,0x44,0x06,0xE8,0x49,0x3D,
9480 1.1 jruoho 0x52,0x60,0x07,0x77,0x32,0xEF,0x01,0xAF,
9481 1.1 jruoho 0x0A,0xCD,0x5E,0x12,0x08,0xC1,0xF1,0xF8,
9482 1.1 jruoho 0x7E,0xC0,0x26,0x9C,0xC0,0xF2,0x07,0x81,
9483 1.1 jruoho 0x1A,0x99,0xA1,0x3D,0xCA,0xD3,0x8A,0x19,
9484 1.1 jruoho 0xF2,0x31,0xC1,0x04,0x16,0x0B,0x21,0x05,
9485 1.1 jruoho 0x10,0x1A,0x0F,0xF8,0x6F,0x00,0x8F,0x17,
9486 1.1 jruoho 0xBE,0x12,0xC4,0xF6,0x80,0x12,0x0C,0x0B,
9487 1.1 jruoho 0x21,0x23,0xAB,0xF0,0x78,0xE8,0x28,0x7C,
9488 1.1 jruoho 0x95,0x38,0x9C,0xD3,0x8A,0x67,0x82,0xE1,
9489 1.1 jruoho 0x20,0xF4,0x05,0x90,0x00,0x51,0xE7,0x0C,
9490 1.1 jruoho 0xD4,0x61,0xC1,0xE7,0x04,0x76,0x33,0x38,
9491 1.1 jruoho 0x83,0x47,0x00,0x8F,0xE4,0x84,0xFC,0x2B,
9492 1.1 jruoho 0xF1,0xC0,0xE0,0x03,0xE2,0xEF,0x1F,0xA7,
9493 1.1 jruoho 0xEC,0x11,0x9C,0xA9,0x01,0x7D,0x1C,0xF0,
9494 1.1 jruoho 0xFF,0x7F,0x28,0x7C,0x88,0x1E,0xDF,0x29,
9495 1.1 jruoho 0x1F,0xAF,0x4F,0x17,0x96,0x35,0x4E,0xE8,
9496 1.1 jruoho 0x77,0x08,0x9F,0x38,0x7C,0x64,0x71,0x44,
9497 1.1 jruoho 0x08,0x39,0x39,0x05,0xA0,0x81,0x4F,0xF7,
9498 1.1 jruoho 0xEC,0x22,0x9C,0xAE,0x27,0xE5,0x40,0xC3,
9499 1.1 jruoho 0xA0,0xE3,0x04,0xC7,0x79,0x00,0x1C,0xE3,
9500 1.1 jruoho 0x84,0x7F,0x2E,0x80,0x3F,0x40,0x7E,0xCA,
9501 1.1 jruoho 0x78,0xC5,0x48,0xE0,0x98,0x23,0x44,0x9F,
9502 1.1 jruoho 0x6B,0x3C,0x42,0x2C,0xFC,0x53,0x45,0xE1,
9503 1.1 jruoho 0x03,0x21,0x63,0x04,0x17,0xA0,0xC7,0x08,
9504 1.1 jruoho 0x7C,0x03,0x8E,0x11,0x7D,0x94,0xE0,0xEA,
9505 1.1 jruoho 0x0F,0x1A,0x74,0x80,0xB8,0xFF,0xFF,0x00,
9506 1.1 jruoho 0xE1,0x83,0x7A,0x80,0xC0,0x37,0xFA,0xD1,
9507 1.1 jruoho 0x03,0x3D,0x2E,0x8B,0x3E,0x0F,0xC8,0xF8,
9508 1.1 jruoho 0x89,0x46,0xF3,0xE2,0xA7,0x03,0x7E,0xF8,
9509 1.1 jruoho 0x00,0x0F,0xA8,0x87,0x84,0x03,0xC5,0x4C,
9510 1.1 jruoho 0x9B,0x83,0x3E,0xBB,0x1C,0x3A,0x76,0xB8,
9511 1.1 jruoho 0xE0,0x3F,0x81,0x80,0x4B,0xDE,0x21,0x0C,
9512 1.1 jruoho 0x14,0x23,0xC6,0x9F,0x83,0x7C,0x0A,0x03,
9513 1.1 jruoho 0xFF,0xFF,0xFF,0x14,0x06,0xFE,0xE1,0xF0,
9514 1.1 jruoho 0x20,0x4F,0x07,0x9F,0xB6,0xA8,0x74,0x18,
9515 1.1 jruoho 0xD4,0x81,0x0B,0xB0,0x32,0x89,0x08,0xCF,
9516 1.1 jruoho 0x12,0xB5,0x41,0xE8,0xD4,0xF0,0x36,0xF1,
9517 1.1 jruoho 0xB6,0xE5,0x5B,0x40,0x9C,0xD3,0xEC,0xED,
9518 1.1 jruoho 0xC0,0x45,0x30,0x22,0xD4,0x0C,0x45,0x4E,
9519 1.1 jruoho 0x5A,0x11,0x63,0x44,0x79,0xDC,0x32,0xCA,
9520 1.1 jruoho 0xDB,0xD6,0x0B,0x40,0xBC,0x13,0x7B,0xDE,
9521 1.1 jruoho 0x32,0x46,0xF0,0xC8,0x0F,0x5C,0x2C,0xC6,
9522 1.1 jruoho 0xEA,0xF5,0x5F,0xF3,0x81,0x0B,0x70,0xF6,
9523 1.1 jruoho 0xFF,0x3F,0x70,0x01,0x1C,0x0A,0x7A,0x18,
9524 1.1 jruoho 0x42,0x0F,0xC3,0x53,0x39,0x97,0x87,0xC8,
9525 1.1 jruoho 0x53,0x89,0x18,0x35,0x4C,0xD4,0x67,0x28,
9526 1.1 jruoho 0xDF,0x2D,0x7C,0x20,0x02,0xDF,0x99,0x0B,
9527 1.1 jruoho 0xF8,0xFD,0xFF,0x0F,0x44,0x70,0x8E,0x29,
9528 1.1 jruoho 0xB8,0x33,0x0D,0x78,0x7C,0xCE,0x40,0x20,
9529 1.1 jruoho 0xA7,0xE2,0x43,0x0D,0x60,0x41,0xF4,0x13,
9530 1.1 jruoho 0xC2,0x27,0x1A,0x2A,0x13,0x06,0x75,0xA8,
9531 1.1 jruoho 0x01,0xAC,0x5C,0x61,0x9E,0x46,0xCF,0xF9,
9532 1.1 jruoho 0x59,0xC6,0xA7,0x1A,0x1F,0x4A,0x8D,0x63,
9533 1.1 jruoho 0x88,0x97,0x99,0x87,0x1A,0x1F,0x0B,0x5E,
9534 1.1 jruoho 0x49,0x7D,0xA8,0x31,0x54,0x9C,0x87,0x1A,
9535 1.1 jruoho 0x0F,0x37,0x50,0xD4,0x37,0x9B,0x67,0x1B,
9536 1.1 jruoho 0xA3,0xC7,0xF7,0x0D,0xD5,0x10,0x0F,0x35,
9537 1.1 jruoho 0x4C,0xF2,0x4A,0x35,0x16,0x1F,0x6A,0xC0,
9538 1.1 jruoho 0xF1,0xFF,0x3F,0xD4,0x00,0xFC,0xFF,0xFF,
9539 1.1 jruoho 0x1F,0x6A,0x00,0x47,0x47,0x03,0x38,0x47,
9540 1.1 jruoho 0x46,0xDC,0xD1,0x00,0x5C,0x87,0x52,0xE0,
9541 1.1 jruoho 0x70,0x34,0x00,0x1E,0x47,0x21,0x30,0x5F,
9542 1.1 jruoho 0x68,0x7C,0x14,0x02,0x16,0xFF,0xFF,0xA3,
9543 1.1 jruoho 0x10,0xF8,0x65,0x9F,0x83,0x50,0x42,0x8F,
9544 1.1 jruoho 0x42,0x80,0xA0,0xDB,0xCF,0x53,0xC4,0xB3,
9545 1.1 jruoho 0x8F,0x2F,0x3F,0x0F,0x04,0x11,0x5E,0xF3,
9546 1.1 jruoho 0x7D,0x0A,0xF2,0x21,0xDF,0x47,0x21,0x06,
9547 1.1 jruoho 0x63,0x28,0x5F,0x83,0x7C,0x14,0x62,0x50,
9548 1.1 jruoho 0xAF,0x41,0xBE,0xEF,0x1B,0xE4,0xF1,0x22,
9549 1.1 jruoho 0x48,0xEC,0x67,0x02,0x1F,0x85,0x98,0xE8,
9550 1.1 jruoho 0xA3,0x10,0xA0,0xF0,0xFF,0x7F,0x14,0x02,
9551 1.1 jruoho 0xF8,0xFF,0xFF,0x3F,0x0A,0x01,0xCE,0x02,
9552 1.1 jruoho 0x1C,0x0D,0x40,0x37,0xAD,0x47,0x21,0xF0,
9553 1.1 jruoho 0xDE,0x59,0x4E,0xFB,0x04,0x7C,0x16,0x02,
9554 1.1 jruoho 0xCC,0xFE,0xFF,0xCF,0x42,0xC0,0xEC,0x28,
9555 1.1 jruoho 0x74,0x14,0x67,0xF9,0x2A,0xF4,0x04,0xF0,
9556 1.1 jruoho 0x02,0x10,0x23,0xCC,0x3B,0xD0,0x4B,0x26,
9557 1.1 jruoho 0xBB,0x8B,0x1B,0xE7,0xC9,0xE5,0x2C,0x9E,
9558 1.1 jruoho 0xC4,0x7D,0x09,0xF2,0x81,0xE2,0x59,0xC8,
9559 1.1 jruoho 0x50,0xA7,0x1B,0xF4,0x8D,0xDC,0x03,0x8B,
9560 1.1 jruoho 0x19,0x3F,0xC4,0xF3,0x90,0x21,0x9E,0x85,
9561 1.1 jruoho 0x00,0x76,0xFD,0xFF,0xCF,0x42,0x00,0xFF,
9562 1.1 jruoho 0xFF,0xFF,0x47,0x03,0xF8,0x2F,0x00,0x9F,
9563 1.1 jruoho 0x85,0x80,0xE7,0x09,0xE0,0x41,0xDB,0x67,
9564 1.1 jruoho 0x21,0x80,0x33,0x87,0xCB,0xF3,0x7F,0x05,
9565 1.1 jruoho 0x3A,0x96,0xF7,0x08,0xCF,0xFA,0x24,0x5F,
9566 1.1 jruoho 0x2F,0x3D,0xD3,0x87,0x82,0x67,0x21,0x86,
9567 1.1 jruoho 0x75,0x18,0x3E,0x0B,0x31,0x88,0x17,0x4D,
9568 1.1 jruoho 0x43,0xBC,0x70,0xFA,0x30,0xE0,0xFF,0x3F,
9569 1.1 jruoho 0x5E,0xE0,0x57,0x4E,0x03,0x05,0x09,0xF4,
9570 1.1 jruoho 0x2C,0x04,0x30,0xFE,0xFF,0x7F,0x16,0x02,
9571 1.1 jruoho 0xC8,0xB8,0x46,0x9D,0x85,0x80,0xE5,0x6D,
9572 1.1 jruoho 0xE5,0x19,0xDB,0xA7,0x95,0x04,0xFF,0xFF,
9573 1.1 jruoho 0x67,0x21,0xC0,0x41,0x2E,0x23,0x07,0x21,
9574 1.1 jruoho 0x4C,0xC4,0x87,0x83,0x8F,0x99,0x80,0x9E,
9575 1.1 jruoho 0x29,0xBE,0xB8,0x1B,0xE3,0x09,0xE0,0x45,
9576 1.1 jruoho 0xE2,0x31,0x93,0x1D,0x35,0x0D,0xF3,0x2C,
9577 1.1 jruoho 0x64,0xBC,0xB3,0x78,0x0D,0x78,0x82,0xF7,
9578 1.1 jruoho 0xE4,0x9F,0x85,0x18,0xD8,0x61,0x05,0x7B,
9579 1.1 jruoho 0x14,0x32,0xA8,0xC1,0x63,0x87,0x08,0x13,
9580 1.1 jruoho 0xE8,0x59,0x88,0xC5,0x7D,0xAE,0xE8,0x3C,
9581 1.1 jruoho 0xE1,0xB3,0x10,0xF0,0xFE,0xFF,0x9F,0x25,
9582 1.1 jruoho 0xE0,0x5E,0x0D,0x9E,0x85,0x00,0x13,0x87,
9583 1.1 jruoho 0x0D,0x9F,0x35,0xC0,0x33,0x7C,0x8F,0xEA,
9584 1.1 jruoho 0x1C,0x1E,0x8F,0x81,0x7F,0x56,0x1D,0xE7,
9585 1.1 jruoho 0x04,0x96,0x7B,0xD1,0xB2,0x71,0xA0,0xA1,
9586 1.1 jruoho 0x23,0xB2,0x3A,0x20,0x8D,0x0D,0x73,0x29,
9587 1.1 jruoho 0x89,0x7C,0x72,0x6C,0xD4,0x56,0x04,0xA7,
9588 1.1 jruoho 0x33,0x93,0x4F,0x00,0xD6,0x42,0x21,0x05,
9589 1.1 jruoho 0x34,0x1A,0x8B,0xE1,0x9D,0xF9,0xE8,0x44,
9590 1.1 jruoho 0x41,0x0C,0xE8,0xE3,0x90,0x6D,0x1C,0x0A,
9591 1.1 jruoho 0x50,0x7B,0xD1,0x14,0xC8,0x39,0x07,0xA3,
9592 1.1 jruoho 0x7F,0x76,0x74,0x36,0xBE,0x13,0x70,0x0D,
9593 1.1 jruoho 0x10,0x3A,0x25,0x18,0xDA,0x6A,0x04,0xFC,
9594 1.1 jruoho 0xFF,0x67,0x89,0x01,0x33,0xFE,0x53,0x8C,
9595 1.1 jruoho 0x09,0x7C,0x8E,0xC1,0x1F,0x0C,0xF0,0x03,
9596 1.1 jruoho 0x7F,0x31,0xA8,0xFA,0x5E,0xA0,0xFB,0x82,
9597 1.1 jruoho 0xD5,0xDD,0x64,0x20,0xCC,0xC8,0x04,0xF5,
9598 1.1 jruoho 0x9D,0x0E,0x40,0x01,0xE4,0x0B,0x81,0xCF,
9599 1.1 jruoho 0x51,0x0F,0x05,0x6C,0x22,0x21,0xC2,0x44,
9600 1.1 jruoho 0x33,0x3A,0x62,0xC2,0xA8,0xE8,0x13,0xA6,
9601 1.1 jruoho 0x20,0x9E,0xB0,0x63,0x4D,0x18,0x3D,0x13,
9602 1.1 jruoho 0x5F,0x74,0xD8,0x88,0x31,0x21,0xAE,0x1E,
9603 1.1 jruoho 0xD0,0x26,0x18,0xD4,0x97,0x22,0x58,0x43,
9604 1.1 jruoho 0xE6,0x63,0xF1,0x05,0x02,0x37,0x65,0x30,
9605 1.1 jruoho 0xCE,0x89,0x5D,0x13,0x7C,0xD9,0xC1,0xCD,
9606 1.1 jruoho 0x19,0x8C,0xF0,0x98,0xBB,0x18,0xBF,0x3A,
9607 1.1 jruoho 0x79,0x74,0xFC,0xA0,0xE0,0x1B,0x0E,0xC3,
9608 1.1 jruoho 0x7E,0x32,0xF3,0x8C,0xDE,0xCB,0x7C,0x8D,
9609 1.1 jruoho 0xC3,0xC0,0x7A,0xBC,0x1C,0xD6,0x68,0x61,
9610 1.1 jruoho 0x0F,0xED,0x3D,0xC4,0xFF,0xFF,0x43,0x8C,
9611 1.1 jruoho 0xCF,0x13,0xC6,0x08,0xEB,0xDB,0x0B,0x38,
9612 1.1 jruoho 0xEE,0x59,0xF0,0xEF,0x1A,0xE0,0xB9,0x84,
9613 1.1 jruoho 0xF8,0xAE,0x01,0x30,0xF0,0xFF,0x7F,0xD7,
9614 1.1 jruoho 0x00,0x4E,0xD7,0x04,0xDF,0x35,0x80,0xF7,
9615 1.1 jruoho 0xD0,0x7D,0xD7,0x00,0xAE,0xD9,0xEF,0x1A,
9616 1.1 jruoho 0xA8,0x63,0x80,0x15,0xDE,0x35,0xA0,0x5D,
9617 1.1 jruoho 0xD9,0xDE,0xD7,0x9E,0xB0,0xAC,0xE9,0xB2,
9618 1.1 jruoho 0x81,0x52,0x73,0xD9,0x00,0x14,0xFC,0xFF,
9619 1.1 jruoho 0x2F,0x1B,0x80,0x01,0x29,0x13,0x46,0x85,
9620 1.1 jruoho 0x9F,0x30,0x05,0xF1,0x84,0x1D,0xEC,0xB2,
9621 1.1 jruoho 0x01,0x8A,0x18,0x97,0x0D,0xD0,0x8F,0xED,
9622 1.1 jruoho 0x65,0x03,0x18,0xDC,0x13,0xF8,0x6D,0x03,
9623 1.1 jruoho 0x78,0x43,0xFA,0xB6,0x01,0xD6,0xFF,0xFF,
9624 1.1 jruoho 0x6D,0x03,0xAC,0xF9,0x6F,0x1B,0x28,0x0E,
9625 1.1 jruoho 0xAB,0xBC,0x6D,0x40,0x3C,0xC9,0x33,0x02,
9626 1.1 jruoho 0xAB,0xBA,0x6E,0xA0,0xF4,0x5C,0x37,0x00,
9627 1.1 jruoho 0x12,0x88,0x99,0x30,0x2A,0xFE,0x84,0x29,
9628 1.1 jruoho 0x88,0x27,0xEC,0x68,0xD7,0x0D,0x50,0x04,
9629 1.1 jruoho 0xB9,0x6E,0x80,0x7E,0x5E,0x09,0xFE,0xFF,
9630 1.1 jruoho 0xAF,0x1B,0xC0,0xE0,0xA2,0x80,0xB9,0x6F,
9631 1.1 jruoho 0x00,0x6F,0x58,0x7E,0xDF,0x00,0x7C,0xDC,
9632 1.1 jruoho 0xC4,0x31,0xF7,0x0D,0xC0,0xCC,0xFF,0xFF,
9633 1.1 jruoho 0xBE,0x01,0xB0,0xE7,0xA2,0x80,0xBB,0x6F,
9634 1.1 jruoho 0x00,0xEF,0x8B,0xB4,0xEF,0x1B,0x60,0xFE,
9635 1.1 jruoho 0xFF,0xDF,0x37,0xC0,0x28,0x6D,0xFD,0x1E,
9636 1.1 jruoho 0x1C,0x3D,0x21,0x78,0x7C,0xB8,0xFB,0xA5,
9637 1.1 jruoho 0xC7,0xE7,0xBB,0x39,0x38,0x06,0x79,0x8C,
9638 1.1 jruoho 0x87,0x76,0xC0,0xAF,0xEF,0x9E,0x98,0xEF,
9639 1.1 jruoho 0xE6,0xC0,0xFF,0x4C,0x70,0x3C,0x18,0x68,
9640 1.1 jruoho 0x1C,0x62,0xAB,0x97,0x06,0x72,0x34,0x38,
9641 1.1 jruoho 0x3F,0xDC,0x19,0x81,0x61,0x15,0x7F,0xF2,
9642 1.1 jruoho 0x47,0x38,0xC7,0xD0,0xD9,0xE1,0x20,0xB1,
9643 1.1 jruoho 0x83,0xE0,0xC1,0x56,0x6D,0x02,0x85,0x86,
9644 1.1 jruoho 0x50,0x14,0x18,0x14,0x8B,0x0F,0x18,0xF8,
9645 1.1 jruoho 0x61,0xB3,0xB3,0x00,0x93,0x04,0x87,0x3A,
9646 1.1 jruoho 0x02,0xF8,0x3E,0xD1,0xFC,0x38,0x74,0x37,
9647 1.1 jruoho 0x38,0x54,0x8F,0xE5,0xA1,0x80,0x9E,0x01,
9648 1.1 jruoho 0x71,0xC7,0x0C,0x32,0x69,0xCF,0x28,0xE2,
9649 1.1 jruoho 0x53,0xC2,0x29,0x85,0x49,0xE0,0xF3,0x03,
9650 1.1 jruoho 0x43,0xE3,0x04,0xAF,0x0D,0xA1,0xF9,0xFF,
9651 1.1 jruoho 0xFF,0xA4,0xC0,0x3C,0xDF,0x31,0x04,0x6C,
9652 1.1 jruoho 0x02,0xBB,0xBF,0x64,0xC8,0xDA,0xC0,0x75,
9653 1.1 jruoho 0x4B,0x32,0x44,0x6F,0x38,0xB2,0x85,0xA2,
9654 1.1 jruoho 0xE9,0x44,0x79,0xDF,0x88,0x62,0x67,0x08,
9655 1.1 jruoho 0xC2,0x88,0x12,0x2C,0xC8,0xA3,0x42,0xAC,
9656 1.1 jruoho 0x28,0x2F,0x05,0x46,0x88,0x18,0xE2,0x95,
9657 1.1 jruoho 0x23,0xD0,0x09,0x87,0x0F,0xF2,0xD8,0x14,
9658 1.1 jruoho 0xA7,0xFD,0x41,0x90,0x58,0x4F,0x02,0x8D,
9659 1.1 jruoho 0xC5,0x91,0x46,0x83,0x3A,0x07,0x78,0xB8,
9660 1.1 jruoho 0x3E,0xC4,0x78,0xF8,0x0F,0x21,0x06,0x39,
9661 1.1 jruoho 0xC8,0x73,0x7B,0x54,0x38,0x4E,0x5F,0x25,
9662 1.1 jruoho 0x4C,0xF0,0x02,0xE0,0x83,0x0A,0x1C,0xD7,
9663 1.1 jruoho 0x80,0x9A,0xF1,0x33,0x06,0x58,0x8E,0xE3,
9664 1.1 jruoho 0x3E,0xA9,0xC0,0x1D,0x8F,0xEF,0x07,0x6C,
9665 1.1 jruoho 0xC2,0x09,0x2C,0x7F,0x10,0xA8,0xE3,0x0C,
9666 1.1 jruoho 0x9F,0xE7,0x0B,0x8B,0x21,0x1F,0x13,0x4C,
9667 1.1 jruoho 0x60,0xB1,0x27,0x1B,0x3A,0x1E,0xF0,0xDF,
9668 1.1 jruoho 0x63,0x1E,0x2F,0x7C,0x32,0xF1,0x7C,0x4D,
9669 1.1 jruoho 0x30,0x22,0x84,0x9C,0x8C,0x07,0x7D,0x87,
9670 1.1 jruoho 0xC0,0x5C,0x6F,0xD8,0xB9,0x85,0x8B,0x3A,
9671 1.1 jruoho 0x68,0xA0,0x4E,0x0B,0x3E,0x28,0xB0,0x9B,
9672 1.1 jruoho 0x11,0xE6,0xB8,0xCE,0xCF,0x2A,0x60,0xF8,
9673 1.1 jruoho 0xFF,0x9F,0x55,0x60,0x8F,0x10,0xFE,0xED,
9674 1.1 jruoho 0xC1,0xF3,0xF2,0x95,0xE1,0xD5,0x21,0x81,
9675 1.1 jruoho 0x43,0x8E,0x10,0x3D,0x2E,0x8F,0x10,0x73,
9676 1.1 jruoho 0x3E,0xC2,0x0C,0x11,0x5C,0x67,0x01,0x70,
9677 1.1 jruoho 0x0C,0x11,0xF8,0x1C,0x70,0xC0,0x71,0x69,
9678 1.1 jruoho 0xE2,0x03,0xF5,0x01,0x07,0x70,0x70,0x4D,
9679 1.1 jruoho 0xC3,0x1D,0x70,0xC0,0x71,0x16,0x60,0xFF,
9680 1.1 jruoho 0xFF,0xC3,0x0D,0x2C,0x49,0x26,0x0E,0x23,
9681 1.1 jruoho 0x18,0x11,0x30,0x28,0x02,0x02,0xA4,0xB3,
9682 1.1 jruoho 0x80,0x0F,0x29,0x00,0x1F,0xAE,0x0C,0x0F,
9683 1.1 jruoho 0x29,0xD8,0x93,0x86,0x07,0x8E,0x1B,0x85,
9684 1.1 jruoho 0x07,0x8D,0x0B,0x30,0x68,0x7A,0xE2,0x80,
9685 1.1 jruoho 0x7F,0x4C,0xF0,0x19,0x05,0x1C,0xE3,0x06,
9686 1.1 jruoho 0xDF,0x2A,0x0C,0xFC,0xFF,0x3F,0x30,0xCC,
9687 1.1 jruoho 0xE1,0xC2,0x63,0x39,0x8A,0xA0,0x07,0x1E,
9688 1.1 jruoho 0xD4,0xF7,0x8C,0x33,0xF7,0x24,0x8F,0xD1,
9689 1.1 jruoho 0x51,0x0F,0x27,0xF4,0xE4,0x85,0x3B,0x57,
9690 1.1 jruoho 0xF9,0x0A,0x71,0x14,0x18,0xB8,0x77,0x29,
9691 1.1 jruoho 0x8F,0xCF,0x17,0x2B,0xC3,0x63,0x46,0xFB,
9692 1.1 jruoho 0x1E,0x72,0xD6,0x11,0x02,0xE2,0x2F,0x75,
9693 1.1 jruoho 0x6C,0xC0,0x60,0x39,0x18,0x00,0x87,0x01,
9694 1.1 jruoho 0xE3,0x13,0x0D,0x58,0x67,0x1B,0x3C,0xF4,
9695 1.1 jruoho 0x69,0x31,0xC4,0xE3,0x0B,0xFB,0x56,0x61,
9696 1.1 jruoho 0x82,0xEA,0x41,0x75,0x12,0xF4,0xD0,0xC0,
9697 1.1 jruoho 0x01,0xE8,0xA1,0xC1,0x3F,0xB9,0x90,0xFB,
9698 1.1 jruoho 0x2B,0x1D,0x82,0xB5,0xE2,0x69,0xDE,0x47,
9699 1.1 jruoho 0x1E,0xF3,0xDC,0xA2,0xBC,0x0D,0x3C,0x07,
9700 1.1 jruoho 0xF0,0xD3,0x82,0x87,0xE3,0x63,0x81,0xC7,
9701 1.1 jruoho 0xE9,0x4B,0x58,0x82,0xF7,0x1A,0x9F,0x6C,
9702 1.1 jruoho 0x1E,0x5C,0x58,0xB2,0x21,0xA0,0x06,0xEB,
9703 1.1 jruoho 0x21,0x60,0xA6,0x9A,0xC0,0x49,0x46,0x80,
9704 1.1 jruoho 0xCA,0x00,0xA1,0x1B,0xCB,0xE9,0x3E,0x8B,
9705 1.1 jruoho 0x84,0x38,0xCD,0x47,0x99,0xC7,0x02,0x8F,
9706 1.1 jruoho 0xF5,0xC1,0xC0,0xFF,0x7F,0xCD,0x23,0xD4,
9707 1.1 jruoho 0x7D,0xCD,0x33,0x7B,0x3A,0xC0,0xAC,0x22,
9708 1.1 jruoho 0xDC,0x7B,0xCE,0x1B,0x86,0xD1,0x9E,0x2D,
9709 1.1 jruoho 0x7C,0xCD,0x78,0xD6,0x34,0x42,0x38,0x76,
9710 1.1 jruoho 0x83,0xF3,0x48,0x8C,0xF0,0x82,0xC0,0x4E,
9711 1.1 jruoho 0x0C,0x0F,0x30,0xC6,0x39,0x79,0xC3,0xFA,
9712 1.1 jruoho 0xC2,0xCB,0x40,0x83,0x19,0xDB,0x97,0x01,
9713 1.1 jruoho 0x36,0x2A,0xDF,0x88,0xC0,0x97,0xFC,0x62,
9714 1.1 jruoho 0x00,0x65,0x16,0xBE,0x9E,0xF8,0xA0,0xC4,
9715 1.1 jruoho 0x2E,0x06,0x2C,0xE5,0xC5,0x00,0x54,0x37,
9716 1.1 jruoho 0x0C,0x5F,0x0C,0xE0,0x5F,0x89,0x5E,0x0C,
9717 1.1 jruoho 0xC0,0x70,0x71,0xF2,0x3D,0xC0,0x1E,0xEE,
9718 1.1 jruoho 0xA3,0x74,0x9C,0xBE,0xFD,0xBD,0x19,0xF8,
9719 1.1 jruoho 0x6C,0xC0,0x60,0x3C,0xC3,0x30,0xC6,0x08,
9720 1.1 jruoho 0xE3,0x51,0x86,0x31,0xC1,0xDC,0xB7,0x03,
9721 1.1 jruoho 0xE8,0x39,0x87,0x81,0x4A,0x78,0x3B,0x80,
9722 1.1 jruoho 0x72,0x0E,0xE8,0xF2,0x68,0x42,0x4F,0x01,
9723 1.1 jruoho 0x4F,0x07,0x3E,0x29,0x1A,0xA2,0xAF,0xB1,
9724 1.1 jruoho 0x0A,0x26,0x50,0xC4,0x07,0x0D,0x3E,0xB5,
9725 1.1 jruoho 0x28,0x3E,0x15,0x78,0x2D,0xCF,0x4E,0xE1,
9726 1.1 jruoho 0xE2,0x9C,0x89,0xA7,0x6A,0x38,0x03,0xBD,
9727 1.1 jruoho 0xE6,0x86,0x63,0xFF,0x7F,0x38,0xFC,0xA9,
9728 1.1 jruoho 0xE0,0x35,0x80,0x1D,0x24,0x3D,0x2D,0x23,
9729 1.1 jruoho 0xC2,0x38,0xA4,0x3C,0x32,0xF8,0xB6,0x18,
9730 1.1 jruoho 0xC7,0x90,0x0F,0x91,0xBE,0x13,0x18,0xF2,
9731 1.1 jruoho 0x21,0xEF,0x79,0xC7,0xC0,0xAF,0x08,0x71,
9732 1.1 jruoho 0x9E,0xB2,0x7C,0x67,0xF0,0x65,0x01,0x7C,
9733 1.1 jruoho 0x91,0x2E,0x0B,0x68,0x68,0x9F,0x64,0x7C,
9734 1.1 jruoho 0x41,0x30,0xEC,0x89,0xB3,0x00,0x77,0x05,
9735 1.1 jruoho 0x50,0x81,0xFA,0xAE,0x00,0xFF,0x42,0xF0,
9736 1.1 jruoho 0xAE,0x00,0x86,0x79,0xF9,0x56,0xC0,0x35,
9737 1.1 jruoho 0x1D,0x4A,0xD0,0x67,0x12,0x5F,0x17,0x70,
9738 1.1 jruoho 0x53,0x64,0xA9,0x8E,0x0A,0xD0,0x53,0x4C,
9739 1.1 jruoho 0x02,0x75,0x47,0xF7,0x51,0x01,0xC6,0x4D,
9740 1.1 jruoho 0xD9,0x07,0x54,0x76,0x5A,0x60,0x67,0x21,
9741 1.1 jruoho 0x76,0x1D,0xC1,0x5D,0x49,0x18,0xCA,0xB3,
9742 1.1 jruoho 0x81,0x2F,0x59,0xFC,0x70,0x00,0x03,0xDC,
9743 1.1 jruoho 0xB3,0x38,0xC4,0x08,0xB1,0xD9,0x81,0xEB,
9744 1.1 jruoho 0x75,0xD2,0x70,0x2F,0x44,0xEC,0xFF,0x7F,
9745 1.1 jruoho 0x32,0x00,0xE3,0x51,0x1B,0x1C,0x27,0x9D,
9746 1.1 jruoho 0xF0,0x91,0x9E,0x59,0xF8,0x49,0x19,0x30,
9747 1.1 jruoho 0x71,0xF2,0x03,0xE3,0xC9,0x1A,0xC6,0x00,
9748 1.1 jruoho 0xB8,0xBC,0x57,0x95,0x81,0xFC,0x43,0x90,
9749 1.1 jruoho 0x20,0x18,0xD4,0x29,0x19,0x38,0x1C,0xC5,
9750 1.1 jruoho 0x70,0xA7,0x64,0x78,0x50,0xF8,0xC3,0x00,
9751 1.1 jruoho 0xE6,0x46,0xE8,0x7B,0x82,0xA1,0xDE,0x93,
9752 1.1 jruoho 0x0E,0xE3,0x91,0xD0,0x04,0x3E,0x2D,0xC3,
9753 1.1 jruoho 0xFA,0xFF,0x9F,0x96,0x81,0xD5,0xB1,0xDD,
9754 1.1 jruoho 0x43,0xF6,0x59,0x01,0x77,0x76,0x80,0x3B,
9755 1.1 jruoho 0x3D,0x7E,0x7A,0x00,0x9C,0x00,0x3D,0x3D,
9756 1.1 jruoho 0x80,0xED,0xBC,0x01,0xF7,0x40,0x80,0x38,
9757 1.1 jruoho 0xFE,0xA3,0x82,0x5F,0x59,0x28,0x1C,0x3F,
9758 1.1 jruoho 0xB6,0xF3,0x63,0x09,0xEE,0x70,0xE0,0x23,
9759 1.1 jruoho 0x83,0x0F,0x90,0xB8,0xA1,0xF8,0x50,0x81,
9760 1.1 jruoho 0x3C,0x0B,0x80,0x62,0xF4,0x6C,0x04,0xEC,
9761 1.1 jruoho 0x06,0xF3,0xD2,0x12,0xE5,0xFF,0xFF,0xDE,
9762 1.1 jruoho 0xC0,0x4E,0x29,0xB8,0x83,0x00,0xF8,0x8E,
9763 1.1 jruoho 0x01,0xE0,0x1D,0x0C,0x97,0x35,0x66,0x94,
9764 1.1 jruoho 0x10,0x18,0x8D,0x19,0x77,0x08,0xE1,0x27,
9765 1.1 jruoho 0x02,0xDC,0x98,0x3D,0x6E,0x8F,0x19,0x77,
9766 1.1 jruoho 0x9C,0xE5,0xA3,0x7A,0xCA,0x08,0xE5,0x03,
9767 1.1 jruoho 0x07,0x3B,0x67,0xBC,0x11,0xF0,0xA1,0x03,
9768 1.1 jruoho 0x8F,0x03,0x0C,0xEE,0x48,0x01,0xC6,0xCB,
9769 1.1 jruoho 0x01,0x1B,0x3B,0xB8,0x83,0x90,0x53,0x20,
9770 1.1 jruoho 0x4B,0x87,0xD1,0xD8,0x71,0xB2,0x81,0x74,
9771 1.1 jruoho 0x8C,0xF1,0x21,0xD7,0x63,0xC7,0x0D,0xD6,
9772 1.1 jruoho 0x63,0xC7,0x1D,0x5F,0xB0,0xFF,0xFF,0xE3,
9773 1.1 jruoho 0x0B,0x18,0xC6,0xC0,0xC5,0x0F,0x03,0x7D,
9774 1.1 jruoho 0xF3,0xF3,0xE8,0x0C,0xEE,0x61,0xFB,0x04,
9775 1.1 jruoho 0x13,0xE3,0xF9,0x25,0xC4,0x23,0xCC,0x8B,
9776 1.1 jruoho 0x4B,0x84,0xA3,0x08,0xF2,0xE6,0x12,0xE7,
9777 1.1 jruoho 0xD5,0x20,0xCC,0x63,0x4B,0x94,0x10,0x11,
9778 1.1 jruoho 0x0E,0x26,0xCE,0x13,0x8C,0x11,0x0E,0x3C,
9779 1.1 jruoho 0x8A,0x21,0x22,0x9C,0x40,0x88,0x93,0x3E,
9780 1.1 jruoho 0xD9,0x20,0xE1,0x63,0x84,0x8D,0xF6,0x04,
9781 1.1 jruoho 0xC3,0xC7,0xC2,0xCF,0x2B,0x1E,0x3C,0x3F,
9782 1.1 jruoho 0xAD,0xF9,0x2E,0xE8,0xC9,0x9C,0xE3,0x43,
9783 1.1 jruoho 0x96,0xA7,0xF6,0x38,0xE9,0xC3,0x2C,0x6E,
9784 1.1 jruoho 0x50,0x0F,0x8E,0xEC,0xAE,0xE3,0xE3,0x35,
9785 1.1 jruoho 0xF6,0x14,0xE4,0x21,0xF0,0x13,0x81,0x2F,
9786 1.1 jruoho 0x88,0x9E,0xAC,0xEF,0x7A,0xEC,0x5E,0x66,
9787 1.1 jruoho 0x8C,0xEA,0xA7,0x80,0x3A,0xA6,0x9C,0xC1,
9788 1.1 jruoho 0x2B,0x04,0xBB,0xE7,0xF9,0x90,0xED,0xBB,
9789 1.1 jruoho 0x24,0x1B,0x05,0xEE,0x90,0xE0,0x33,0x12,
9790 1.1 jruoho 0x3F,0x55,0x78,0x18,0x1E,0x05,0x8C,0x19,
9791 1.1 jruoho 0xBC,0x23,0x1C,0x5A,0x88,0x03,0x7E,0xDF,
9792 1.1 jruoho 0x65,0x43,0x8D,0x71,0x7A,0x3E,0x7F,0xB0,
9793 1.1 jruoho 0x41,0xC0,0x87,0x3A,0x54,0x0F,0xF3,0xA8,
9794 1.1 jruoho 0x5E,0x0A,0x19,0xCE,0xD9,0xC1,0x1D,0x04,
9795 1.1 jruoho 0xF6,0xF8,0xE1,0x41,0xF0,0x9B,0x25,0x1F,
9796 1.1 jruoho 0x04,0x3B,0xDF,0xBC,0xC1,0x19,0xE4,0xFF,
9797 1.1 jruoho 0x7F,0x0C,0xB0,0xCF,0x54,0x3E,0x9A,0x20,
9798 1.1 jruoho 0x8E,0x80,0xE8,0xF3,0x87,0xC7,0xF0,0x26,
9799 1.1 jruoho 0xC7,0x87,0x83,0x3D,0x7A,0xE0,0x4E,0x22,
9800 1.1 jruoho 0x70,0x8F,0x5D,0x07,0xED,0x6B,0x9C,0x2F,
9801 1.1 jruoho 0x5A,0x30,0xEE,0x7B,0xCF,0x22,0xE0,0xC7,
9802 1.1 jruoho 0x78,0x6C,0x01,0xC7,0xA1,0x04,0xDC,0xC1,
9803 1.1 jruoho 0x8E,0x6B,0x1C,0x42,0x51,0x60,0x74,0x28,
9804 1.1 jruoho 0xC1,0xC5,0x00,0x12,0x8C,0x63,0x9C,0xD1,
9805 1.1 jruoho 0xD0,0x97,0x48,0x1F,0xD2,0xE0,0x0C,0x1A,
9806 1.1 jruoho 0xF6,0x3C,0x9F,0x50,0xB8,0x3D,0x01,0x8A,
9807 1.1 jruoho 0x4E,0x28,0x20,0xC3,0x7D,0x06,0xC1,0x9E,
9808 1.1 jruoho 0x10,0xF8,0x19,0x84,0xFD,0xFF,0x0F,0x8E,
9809 1.1 jruoho 0x1E,0xF7,0x7B,0xA3,0x4F,0x8D,0x6C,0xEE,
9810 1.1 jruoho 0x0F,0x01,0x27,0x70,0xEE,0xEC,0xD4,0x8C,
9811 1.1 jruoho 0x3B,0x33,0x60,0xCF,0x1F,0x1E,0x02,0x3F,
9812 1.1 jruoho 0x17,0x78,0xF8,0x1E,0x02,0x7E,0xF0,0x0F,
9813 1.1 jruoho 0xCC,0x06,0x07,0xE3,0x29,0xC2,0xD7,0x0E,
9814 1.1 jruoho 0x0E,0xCE,0x4F,0x03,0x06,0xE7,0xAF,0x50,
9815 1.1 jruoho 0x9F,0xE7,0x19,0x38,0xF6,0xD4,0xEB,0x7B,
9816 1.1 jruoho 0x87,0xE7,0xEB,0x43,0x05,0xFE,0xA6,0xE7,
9817 1.1 jruoho 0x43,0x05,0x38,0x0E,0x0F,0xFC,0xB0,0xC2,
9818 1.1 jruoho 0x86,0xF0,0x28,0x80,0x3F,0xB5,0xF8,0xF8,
9819 1.1 jruoho 0x17,0xE7,0x29,0x82,0xDD,0x46,0xB0,0x87,
9820 1.1 jruoho 0x0B,0xC0,0x51,0xB4,0xB3,0x18,0x2A,0xCC,
9821 1.1 jruoho 0x59,0x8C,0xFC,0xFF,0xCF,0x51,0xA8,0xB3,
9822 1.1 jruoho 0x18,0x3D,0x5C,0x00,0x2E,0x04,0x1F,0x0F,
9823 1.1 jruoho 0x40,0x73,0x10,0x78,0x5C,0xF0,0x85,0xE0,
9824 1.1 jruoho 0x48,0x0E,0xE4,0xE9,0x00,0xF0,0x19,0x4A,
9825 1.1 jruoho 0xC3,0xA1,0x09,0x13,0x03,0x06,0x75,0x3E,
9826 1.1 jruoho 0xF0,0x09,0xC5,0xC7,0x0E,0x7E,0x36,0xF0,
9827 1.1 jruoho 0x8D,0xDC,0x43,0xE5,0xA7,0x66,0x5F,0xF2,
9828 1.1 jruoho 0x11,0xE0,0x02,0x75,0xA0,0x61,0xA0,0x46,
9829 1.1 jruoho 0xE4,0x23,0xD2,0xFF,0xFF,0xB9,0x0D,0x1B,
9830 1.1 jruoho 0x60,0x68,0xF4,0x1C,0x0E,0xE3,0x80,0xEB,
9831 1.1 jruoho 0x73,0x38,0x76,0x40,0x3E,0x87,0xC3,0x3F,
9832 1.1 jruoho 0x47,0xC3,0x1F,0x1B,0x3B,0xDD,0xF3,0x81,
9833 1.1 jruoho 0xC1,0xBA,0x7E,0x63,0x06,0x06,0xB6,0x6F,
9834 1.1 jruoho 0x91,0x07,0x06,0x1C,0x51,0xCF,0xC6,0x57,
9835 1.1 jruoho 0x08,0x0F,0x0C,0x6C,0x80,0x1E,0x18,0xF0,
9836 1.1 jruoho 0x89,0x05,0x21,0x27,0x03,0x43,0x9D,0x32,
9837 1.1 jruoho 0x8C,0x1C,0xF3,0x89,0xC3,0xC3,0xF0,0xA1,
9838 1.1 jruoho 0x22,0xEA,0x33,0xC0,0x23,0x1E,0x1B,0x1B,
9839 1.1 jruoho 0xFB,0xFF,0x8F,0x0D,0x2C,0xC7,0x16,0x8F,
9840 1.1 jruoho 0x0D,0xFC,0x47,0x78,0xFC,0xD8,0xE0,0x8C,
9841 1.1 jruoho 0xE5,0xD1,0xC4,0x97,0x99,0x23,0x3B,0x8D,
9842 1.1 jruoho 0x33,0x7B,0x0D,0xF1,0xD1,0xEE,0xF1,0xDB,
9843 1.1 jruoho 0x63,0x03,0x97,0x85,0xB1,0x01,0xA5,0x90,
9844 1.1 jruoho 0x63,0x43,0x1F,0x52,0x7C,0x0A,0xB0,0x71,
9845 1.1 jruoho 0x54,0x32,0x0F,0x1F,0xAF,0x7C,0x62,0x38,
9846 1.1 jruoho 0xBA,0x20,0x6F,0xE8,0xBE,0x5C,0xF8,0x48,
9847 1.1 jruoho 0x63,0x30,0x5F,0x5A,0x7C,0x06,0xE5,0x43,
9848 1.1 jruoho 0x04,0xD7,0x57,0xC5,0x43,0x04,0x3E,0xA1,
9849 1.1 jruoho 0x86,0x88,0x1E,0xCF,0xFF,0xFF,0x11,0xCC,
9850 1.1 jruoho 0x43,0x64,0x43,0x03,0xAF,0x87,0xA1,0x01,
9851 1.1 jruoho 0xA5,0x98,0xC0,0x5E,0x85,0x87,0x46,0x4F,
9852 1.1 jruoho 0x3F,0x3E,0x04,0x30,0x08,0xDF,0x06,0xD8,
9853 1.1 jruoho 0x55,0xC0,0x57,0x21,0x83,0x24,0x18,0xE7,
9854 1.1 jruoho 0x64,0x41,0x07,0x07,0x8E,0x21,0x79,0x70,
9855 1.1 jruoho 0xF0,0x07,0xE3,0x21,0x70,0x60,0xCF,0xE0,
9856 1.1 jruoho 0xB9,0xE8,0x31,0xD8,0xA7,0x1D,0x9F,0x4A,
9857 1.1 jruoho 0xC0,0x77,0xE6,0x04,0xC7,0xE9,0x1D,0x7B,
9858 1.1 jruoho 0x29,0xF0,0x08,0x1E,0xAD,0x3C,0x02,0x7E,
9859 1.1 jruoho 0xB4,0x02,0x66,0xFF,0xFF,0xA3,0x15,0x30,
9860 1.1 jruoho 0x09,0x7A,0xE6,0xA4,0x03,0x77,0x34,0x18,
9861 1.1 jruoho 0xD4,0xD1,0x0A,0x5C,0x11,0xC0,0x75,0xDC,
9862 1.1 jruoho 0xF0,0xD1,0x02,0xCE,0x50,0x0F,0xDA,0x07,
9863 1.1 jruoho 0x65,0xCF,0xDA,0x97,0x21,0x76,0xB4,0x00,
9864 1.1 jruoho 0x97,0x89,0x43,0x08,0xD0,0x04,0x3E,0x89,
9865 1.1 jruoho 0x67,0xEF,0x43,0x03,0xB3,0x8A,0xA1,0x01,
9866 1.1 jruoho 0xA5,0xA3,0x01,0xEE,0x44,0x81,0xFD,0xFF,
9867 1.1 jruoho 0x9F,0x28,0x60,0xDE,0x30,0x70,0x07,0x0A,
9868 1.1 jruoho 0xC0,0xCD,0xE9,0xDB,0xE3,0xE2,0xD0,0x38,
9869 1.1 jruoho 0xC4,0xE7,0xA7,0x73,0xF6,0xD1,0xE8,0x4C,
9870 1.1 jruoho 0x71,0x67,0x11,0x30,0x9C,0x7D,0x11,0x8F,
9871 1.1 jruoho 0x18,0x03,0xF9,0x81,0x21,0x59,0x30,0x28,
9872 1.1 jruoho 0x16,0x0F,0xC5,0x07,0x03,0x0E,0xEC,0x23,
9873 1.1 jruoho 0x02,0x3B,0x17,0xB0,0x73,0xAD,0xE1,0xF8,
9874 1.1 jruoho 0x59,0xC0,0xA7,0x84,0xB7,0xA6,0x17,0x7B,
9875 1.1 jruoho 0x9F,0xD7,0x7D,0xD6,0x08,0xC9,0xCE,0xF4,
9876 1.1 jruoho 0x3E,0x89,0xE2,0x0E,0xA2,0x70,0x4E,0x9F,
9877 1.1 jruoho 0xE0,0x22,0xF0,0x65,0xDF,0xA3,0xE0,0xA7,
9878 1.1 jruoho 0x07,0xCF,0xF1,0x8D,0xC1,0xA7,0x07,0xE6,
9879 1.1 jruoho 0x7E,0xF8,0x9A,0xF1,0x33,0xC3,0xE3,0x43,
9880 1.1 jruoho 0x88,0x27,0xE2,0xDA,0xA6,0x20,0x5B,0x18,
9881 1.1 jruoho 0x42,0x09,0xF4,0xFF,0x8F,0x10,0xE5,0x6D,
9882 1.1 jruoho 0x20,0xCA,0x29,0x44,0x88,0x12,0xA4,0xB1,
9883 1.1 jruoho 0xC9,0x0B,0x35,0xCA,0xD9,0x45,0x6E,0x6D,
9884 1.1 jruoho 0xF6,0x82,0x0B,0x14,0x2A,0x66,0x9C,0x28,
9885 1.1 jruoho 0xEF,0x10,0xB1,0xDA,0x1F,0x04,0x91,0xF4,
9886 1.1 jruoho 0x32,0xD0,0x71,0xC9,0x91,0x0E,0x7D,0xE8,
9887 1.1 jruoho 0x61,0xFB,0x04,0x8C,0x3F,0x48,0xE2,0xAE,
9888 1.1 jruoho 0x2A,0x3E,0x28,0xF8,0x00,0x80,0x77,0x09,
9889 1.1 jruoho 0xA8,0x5B,0x9D,0xC7,0xED,0xF3,0x06,0xF8,
9890 1.1 jruoho 0xAF,0x17,0x58,0x82,0xF2,0x07,0x81,0x1A,
9891 1.1 jruoho 0x99,0xA1,0x3D,0xCC,0xB7,0x19,0x43,0xBE,
9892 1.1 jruoho 0x07,0x1C,0x16,0x3B,0x27,0xF9,0xF0,0x08,
9893 1.1 jruoho 0x1C,0x8E,0x01,0x4F,0x1B,0xBE,0x51,0x7B,
9894 1.1 jruoho 0xBE,0x3E,0x62,0x01,0x8E,0xFE,0xFF,0x47,
9895 1.1 jruoho 0x2C,0x30,0x9D,0xDF,0x7D,0x82,0x01,0xC7,
9896 1.1 jruoho 0xCD,0x82,0x9F,0x61,0x00,0x67,0x40,0xCF,
9897 1.1 jruoho 0x30,0x60,0x1F,0x2A,0x6E,0x08,0x5C,0xEE,
9898 1.1 jruoho 0x8A,0x28,0x90,0x05,0xC2,0xA0,0x0E,0xFD,
9899 1.1 jruoho 0xE4,0x08,0x42,0xCF,0x9C,0x70,0x86,0x72,
9900 1.1 jruoho 0xB2,0xBD,0x5F,0x1D,0xC8,0x2D,0xC2,0x43,
9901 1.1 jruoho 0x3D,0x8B,0xC7,0x04,0x76,0xDA,0x02,0x36,
9902 1.1 jruoho 0xFF,0xFF,0xE3,0x29,0xB0,0x98,0xF7,0xD3,
9903 1.1 jruoho 0x69,0x84,0x63,0x03,0xFB,0x71,0x0B,0x38,
9904 1.1 jruoho 0x1D,0xCC,0xE0,0xDC,0x7F,0xD8,0x2D,0x1A,
9905 1.1 jruoho 0x37,0x34,0xB0,0x0D,0xCC,0x43,0x03,0x3E,
9906 1.1 jruoho 0x27,0x47,0x30,0x9E,0x98,0xF8,0x55,0xE2,
9907 1.1 jruoho 0xE1,0x89,0x1F,0x43,0xC0,0xFA,0xFF,0x3F,
9908 1.1 jruoho 0x99,0x01,0xF6,0x84,0x1E,0xCB,0x50,0xD2,
9909 1.1 jruoho 0x4E,0x66,0x80,0xC0,0xFB,0xD8,0x3B,0xC3,
9910 1.1 jruoho 0x4B,0x83,0xE7,0x74,0xD2,0xCF,0x62,0x3E,
9911 1.1 jruoho 0x99,0x19,0x21,0x0A,0xBB,0x8F,0x19,0xAD,
9912 1.1 jruoho 0x37,0x14,0xCD,0x3C,0xE8,0x3B,0x99,0x51,
9913 1.1 jruoho 0x62,0x46,0x6A,0x0E,0x4C,0x48,0x11,0x0F,
9914 1.1 jruoho 0x27,0x4A,0x88,0x60,0xAF,0x13,0x6F,0x67,
9915 1.1 jruoho 0x4F,0x66,0x4C,0xD6,0xC9,0x0C,0x24,0xFF,
9916 1.1 jruoho 0xFF,0x93,0x19,0x98,0x5C,0x9F,0xCC,0x80,
9917 1.1 jruoho 0xCA,0x39,0x0A,0x7F,0x32,0x03,0x78,0x74,
9918 1.1 jruoho 0xC0,0xC2,0x9D,0xCC,0xC0,0xF2,0xFF,0x3F,
9919 1.1 jruoho 0xC4,0x00,0xCE,0xC7,0x0A,0x63,0x0C,0x3C,
9920 1.1 jruoho 0xDA,0xC1,0x0C,0x15,0xE6,0x6C,0x86,0x0E,
9921 1.1 jruoho 0x72,0x08,0xA1,0xC1,0x0E,0x21,0x50,0xE6,
9922 1.1 jruoho 0x72,0xA0,0xA7,0xF0,0x9A,0xE0,0x73,0x14,
9923 1.1 jruoho 0xD8,0x0F,0x67,0xC0,0xE1,0xD4,0x80,0x0F,
9924 1.1 jruoho 0x74,0xE2,0x42,0x8F,0xC2,0x23,0x0E,0x58,
9925 1.1 jruoho 0xFD,0xC0,0xC8,0xFF,0xFF,0x64,0x06,0x18,
9926 1.1 jruoho 0x78,0x6A,0xF8,0x40,0x82,0x63,0x31,0xEA,
9927 1.1 jruoho 0x1B,0xC4,0x21,0xBE,0x8D,0xF8,0xE8,0xFE,
9928 1.1 jruoho 0x6A,0xE2,0x4B,0x00,0xE6,0x42,0xE2,0xD3,
9929 1.1 jruoho 0x09,0xB3,0x70,0x38,0x03,0x5A,0x43,0x60,
9930 1.1 jruoho 0x57,0x26,0xCF,0x9C,0x0F,0xE1,0x6C,0x3C,
9931 1.1 jruoho 0x7A,0xDC,0xE9,0x04,0xDE,0x38,0x7C,0x3A,
9932 1.1 jruoho 0x01,0x5E,0x07,0x0C,0xCC,0x0C,0xC2,0x3F,
9933 1.1 jruoho 0x84,0xB0,0x21,0x9C,0xAA,0xC7,0x70,0xEE,
9934 1.1 jruoho 0xAF,0x38,0x3E,0x9D,0x80,0xF3,0xFF,0x7F,
9935 1.1 jruoho 0x62,0x03,0x0C,0x0A,0x7E,0x32,0xF8,0xB8,
9936 1.1 jruoho 0x46,0x25,0xC2,0xA0,0x8E,0xE6,0x80,0x7B,
9937 1.1 jruoho 0x98,0x27,0x36,0x26,0x6F,0xC5,0x1A,0x8B,
9938 1.1 jruoho 0x4F,0x6C,0x30,0xFF,0xFF,0x27,0x36,0x80,
9939 1.1 jruoho 0xD1,0x87,0x20,0xB0,0xFD,0xFF,0x0F,0x41,
9940 1.1 jruoho 0x60,0x1C,0xA0,0x0F,0x41,0x80,0x9B,0xD3,
9941 1.1 jruoho 0x09,0xEE,0xC4,0x07,0xB6,0x63,0x10,0x60,
9942 1.1 jruoho 0x6D,0xE8,0x3E,0x06,0x81,0xF9,0xFF,0x3F,
9943 1.1 jruoho 0x5A,0x98,0xA3,0xE0,0xC2,0x8E,0x7C,0x28,
9944 1.1 jruoho 0x29,0xA7,0x3E,0xB4,0x0C,0x20,0x69,0x38,
9945 1.1 jruoho 0xC9,0x01,0x9D,0xD3,0x3D,0x70,0x92,0x75,
9946 1.1 jruoho 0xEA,0x40,0x8F,0xC7,0xA0,0xAF,0x1C,0xBE,
9947 1.1 jruoho 0x12,0xF0,0x23,0x07,0x93,0x00,0xAA,0x41,
9948 1.1 jruoho 0xFA,0xCC,0x07,0x9C,0x8E,0x1C,0xE0,0x38,
9949 1.1 jruoho 0x26,0x05,0xC6,0xDE,0x0E,0xDE,0x22,0x3D,
9950 1.1 jruoho 0x89,0xA7,0xA1,0xE3,0x0C,0x51,0x38,0x26,
9951 1.1 jruoho 0x39,0x18,0x44,0x7A,0x95,0x62,0x03,0x7C,
9952 1.1 jruoho 0xAB,0xF1,0xD9,0xC8,0x07,0x10,0x78,0xE3,
9953 1.1 jruoho 0xF6,0xD8,0x61,0xFF,0xFF,0x0F,0x75,0xC0,
9954 1.1 jruoho 0x01,0xE2,0xA4,0xF8,0x21,0xC3,0x98,0x67,
9955 1.1 jruoho 0xC5,0x0F,0x75,0x80,0xF5,0x18,0x27,0x3A,
9956 1.1 jruoho 0x94,0xF0,0x43,0x1D,0x20,0xE8,0xFF,0x7F,
9957 1.1 jruoho 0xA8,0x03,0x86,0x38,0x6F,0x24,0xD1,0x1E,
9958 1.1 jruoho 0xEA,0x98,0xE8,0x43,0x1D,0x40,0xC8,0xFF,
9959 1.1 jruoho 0xFF,0xA1,0x0E,0x18,0x9E,0x87,0x00,0xAE,
9960 1.1 jruoho 0x9C,0xEF,0xC0,0x7C,0x22,0x02,0xEF,0xFF,
9961 1.1 jruoho 0xFF,0x7C,0x07,0xB8,0x1B,0x2D,0xCC,0x51,
9962 1.1 jruoho 0x70,0x41,0xAF,0x0E,0x03,0x51,0x09,0x30,
9963 1.1 jruoho 0x28,0x02,0xC7,0x5F,0x9B,0x60,0x1C,0xEA,
9964 1.1 jruoho 0x7C,0x87,0x3E,0x2F,0x78,0xD8,0x4F,0x05,
9965 1.1 jruoho 0x9E,0xC4,0xA9,0xFA,0x5A,0x70,0x14,0x4F,
9966 1.1 jruoho 0x00,0x3E,0xE1,0x01,0xFF,0xA1,0xC1,0x9A,
9967 1.1 jruoho 0x44,0xF1,0x43,0x03,0xF5,0x11,0xE4,0xFF,
9968 1.1 jruoho 0x7F,0x68,0xC0,0x28,0xEA,0xF9,0x06,0x7D,
9969 1.1 jruoho 0xCC,0xF2,0xD9,0x20,0xE6,0x0B,0x48,0x84,
9970 1.1 jruoho 0x07,0x10,0x5F,0x1F,0xD8,0x71,0xD2,0x67,
9971 1.1 jruoho 0xA0,0x40,0x51,0xDE,0x37,0xF8,0x09,0x07,
9972 1.1 jruoho 0x5C,0x83,0xF3,0x09,0x07,0xBC,0x87,0x23,
9973 1.1 jruoho 0x1F,0x4B,0xC0,0x77,0xD0,0x84,0x73,0x81,
9974 1.1 jruoho 0xF1,0x8D,0x8D,0x9D,0x06,0xC0,0x76,0x00,
9975 1.1 jruoho 0x06,0xDF,0x69,0x00,0x1C,0xC7,0x24,0x7E,
9976 1.1 jruoho 0x3A,0x04,0x13,0xCC,0xC1,0xBC,0x34,0xFB,
9977 1.1 jruoho 0xFF,0xEF,0xFD,0x94,0x43,0xCF,0x86,0x80,
9978 1.1 jruoho 0x75,0x49,0x07,0x43,0x94,0x88,0xB3,0x21,
9979 1.1 jruoho 0x20,0xFD,0xFF,0x7F,0x36,0xC4,0x20,0xC4,
9980 1.1 jruoho 0x09,0xFC,0x12,0xD1,0xDC,0xD9,0x90,0xAE,
9981 1.1 jruoho 0xD8,0x67,0x43,0x80,0xE1,0xFF,0xFF,0x23,
9982 1.1 jruoho 0x00,0xF6,0x7C,0x04,0x38,0x3D,0x64,0x83,
9983 1.1 jruoho 0xE7,0x14,0x08,0xE3,0xE4,0x03,0x38,0xFE,
9984 1.1 jruoho 0xFF,0x8F,0x15,0xE6,0x18,0x78,0xEA,0x97,
9985 1.1 jruoho 0x9B,0x8F,0x03,0x54,0xD4,0x2B,0xC2,0x30,
9986 1.1 jruoho 0x94,0xC5,0x87,0x05,0x1F,0x11,0xF8,0x61,
9987 1.1 jruoho 0xC1,0x23,0xA8,0x78,0x9C,0xF4,0x74,0xE3,
9988 1.1 jruoho 0x33,0x21,0x3B,0x24,0x38,0xFC,0x20,0xE9,
9989 1.1 jruoho 0x41,0x13,0x3C,0xE7,0x23,0x78,0xB7,0x1E,
9990 1.1 jruoho 0x38,0xA7,0x02,0xC0,0x4D,0xAE,0x27,0xA3,
9991 1.1 jruoho 0x4E,0x17,0x0E,0x70,0x8E,0x92,0x8D,0x63,
9992 1.1 jruoho 0x08,0xE5,0x70,0xCC,0xB7,0x87,0xA6,0xC9,
9993 1.1 jruoho 0x4E,0x56,0x30,0x63,0x41,0xEA,0x24,0xE0,
9994 1.1 jruoho 0x01,0x38,0x10,0x8C,0xB4,0x93,0x68,0x34,
9995 1.1 jruoho 0x86,0xB3,0x5A,0x18,0xC1,0x19,0xC4,0xC7,
9996 1.1 jruoho 0x11,0xE7,0x3A,0x19,0xA1,0x3F,0x07,0x3E,
9997 1.1 jruoho 0x15,0x61,0x82,0xDC,0x4B,0xE8,0xBC,0x7D,
9998 1.1 jruoho 0x37,0xE0,0x57,0x61,0x8F,0xC5,0xFF,0x7F,
9999 1.1 jruoho 0x60,0xDF,0x4E,0xC0,0x31,0x17,0xAB,0x01,
10000 1.1 jruoho 0x45,0x0D,0xC0,0x68,0x98,0x53,0xC0,0x53,
10001 1.1 jruoho 0x09,0xB8,0x82,0xCD,0x0D,0x7D,0x61,0xB1,
10002 1.1 jruoho 0xD6,0xA9,0xE8,0x14,0xF4,0x3E,0x70,0x70,
10003 1.1 jruoho 0xC0,0x63,0xF6,0x1E,0x1C,0x2C,0x34,0x0F,
10004 1.1 jruoho 0x0E,0x6C,0xD9,0x06,0x87,0x56,0x72,0x17,
10005 1.1 jruoho 0x21,0x87,0x0F,0xFC,0xEC,0x80,0x03,0xA0,
10006 1.1 jruoho 0x67,0x07,0x0B,0xC9,0xB3,0x03,0x9B,0xBE,
10007 1.1 jruoho 0xB3,0x08,0x28,0x70,0xFE,0xFF,0x11,0xDE,
10008 1.1 jruoho 0x3B,0x7C,0x6E,0x79,0xF6,0x60,0x63,0x78,
10009 1.1 jruoho 0x74,0x31,0x9A,0xD1,0xB9,0xA6,0xDB,0x04,
10010 1.1 jruoho 0x4A,0xC5,0x6D,0x82,0x82,0xF8,0x06,0xE0,
10011 1.1 jruoho 0x84,0x34,0xBA,0x75,0xE2,0x66,0x62,0xFC,
10012 1.1 jruoho 0x47,0x0C,0x1F,0x11,0x0E,0xE9,0x6C,0x4D,
10013 1.1 jruoho 0x30,0x0F,0xA4,0x9E,0x81,0xBE,0xB3,0xE1,
10014 1.1 jruoho 0x67,0x1F,0xF2,0xC1,0xC5,0xD3,0xF0,0xF5,
10015 1.1 jruoho 0x86,0xDC,0x3B,0xE8,0xB4,0x7D,0x66,0xC0,
10016 1.1 jruoho 0x1C,0x74,0x7D,0x9D,0x7A,0x83,0x27,0x57,
10017 1.1 jruoho 0x09,0xEA,0xE1,0x02,0x42,0x2F,0x34,0xBE,
10018 1.1 jruoho 0xDC,0x25,0x78,0xE0,0xF4,0xE9,0xEE,0xBD,
10019 1.1 jruoho 0x84,0x9D,0xF1,0x12,0xBC,0xE0,0x25,0x98,
10020 1.1 jruoho 0x77,0x10,0xA8,0x51,0x79,0x10,0x98,0xAB,
10021 1.1 jruoho 0x3C,0xCB,0x37,0x06,0x54,0xB2,0x8B,0x16,
10022 1.1 jruoho 0x3D,0xC3,0xBC,0xC3,0xF8,0x92,0xE0,0xEB,
10023 1.1 jruoho 0x87,0xCF,0x2D,0x5E,0xC0,0xEB,0x16,0x0C,
10024 1.1 jruoho 0x82,0x67,0xA0,0x57,0x17,0xDF,0xD9,0x0D,
10025 1.1 jruoho 0xFC,0x2A,0xF0,0x46,0x13,0x22,0x98,0x61,
10026 1.1 jruoho 0x0F,0xFF,0xDD,0xDD,0xA8,0xBE,0xE9,0x18,
10027 1.1 jruoho 0xEB,0x75,0xC4,0x23,0xE5,0xC7,0x96,0x03,
10028 1.1 jruoho 0x8A,0xF4,0xF2,0xE6,0x09,0xF8,0x2C,0xE3,
10029 1.1 jruoho 0x53,0xDD,0x49,0xF9,0x7A,0x68,0xF4,0x57,
10030 1.1 jruoho 0x08,0x1F,0x7E,0x8C,0xEC,0x73,0x0E,0x3B,
10031 1.1 jruoho 0xDF,0xB1,0x41,0x71,0xC4,0x07,0x86,0x97,
10032 1.1 jruoho 0x1A,0x4F,0x85,0x9D,0xBB,0x60,0x1C,0x1C,
10033 1.1 jruoho 0xD8,0xB1,0x08,0x73,0x7C,0x05,0xD7,0xC9,
10034 1.1 jruoho 0xE6,0xFF,0xFF,0xE4,0x00,0x6E,0x78,0xCC,
10035 1.1 jruoho 0xC1,0xD7,0xE7,0x0D,0xDF,0x0C,0x3C,0x2E,
10036 1.1 jruoho 0x7E,0xE4,0xF0,0x49,0xE3,0xA5,0xD3,0xD8,
10037 1.1 jruoho 0xA7,0xE9,0xA3,0xD1,0xCB,0x9B,0x4F,0x2F,
10038 1.1 jruoho 0x18,0x58,0x5F,0x1A,0x38,0xAC,0xD1,0xC2,
10039 1.1 jruoho 0x3E,0x06,0x9C,0xB9,0x2F,0x44,0xB8,0xC3,
10040 1.1 jruoho 0x23,0x58,0x00,0xF1,0xB7,0x92,0x47,0x0E,
10041 1.1 jruoho 0x4F,0xC0,0x80,0x4C,0xD3,0xBA,0x74,0x20,
10042 1.1 jruoho 0xE2,0xA7,0x3C,0x2B,0x5F,0x99,0x2E,0x43,
10043 1.1 jruoho 0x0C,0xE3,0xA9,0xF2,0xF1,0xC3,0xB3,0xF1,
10044 1.1 jruoho 0x51,0xC0,0xC7,0x28,0xCF,0xFC,0x8C,0x22,
10045 1.1 jruoho 0xBD,0x32,0x10,0x50,0x9D,0x88,0xB8,0x42,
10046 1.1 jruoho 0x18,0x89,0xA1,0xD1,0x9D,0x83,0xC7,0x1F,
10047 1.1 jruoho 0x22,0x05,0x31,0xA0,0x6F,0x2E,0xC0,0xF4,
10048 1.1 jruoho 0x4C,0x04,0x5C,0xFE,0xFF,0x37,0x17,0x80,
10049 1.1 jruoho 0xFF,0xFF,0xFF,0x9B,0x0B,0xE0,0xE6,0xFE,
10050 1.1 jruoho 0xE0,0x9B,0x0B,0x70,0x8D,0xB4,0x2A,0x7A,
10051 1.1 jruoho 0x61,0x77,0x08,0x18,0xD4,0x9D,0x1D,0x70,
10052 1.1 jruoho 0x78,0x2B,0x78,0x67,0x87,0xF5,0xFF,0xBF,
10053 1.1 jruoho 0xB3,0xC3,0xC3,0x8C,0x13,0xE5,0x85,0x21,
10054 1.1 jruoho 0xC6,0x3B,0x3B,0x0B,0xF0,0x26,0xD0,0x51,
10055 1.1 jruoho 0xC6,0x77,0x76,0x80,0x1F,0x67,0xD8,0x77,
10056 1.1 jruoho 0x69,0xF0,0x5E,0x75,0x81,0xF5,0xFF,0xFF,
10057 1.1 jruoho 0xAA,0x0B,0x3C,0x04,0xDF,0xA7,0x41,0x3E,
10058 1.1 jruoho 0x5E,0x30,0x8C,0x83,0x2B,0x27,0xA1,0xC7,
10059 1.1 jruoho 0x02,0x6B,0x85,0x41,0xDD,0xA9,0xC1,0xA5,
10060 1.1 jruoho 0x09,0x5C,0x17,0x5F,0x1F,0x6A,0x7C,0xA4,
10061 1.1 jruoho 0xC5,0x9F,0x2F,0x70,0x01,0x86,0x4C,0x4F,
10062 1.1 jruoho 0x65,0x30,0xAE,0x29,0x3E,0x95,0x61,0xEE,
10063 1.1 jruoho 0x0E,0x1E,0x90,0x8F,0x18,0xC0,0x67,0x15,
10064 1.1 jruoho 0x1E,0x18,0xEE,0xB4,0xE0,0x9B,0x92,0x41,
10065 1.1 jruoho 0xCF,0x31,0xA8,0x8F,0x3C,0x27,0xEF,0x7B,
10066 1.1 jruoho 0xC2,0xE3,0x84,0xA3,0x9E,0x83,0xE8,0xD8,
10067 1.1 jruoho 0xC0,0x71,0xDC,0xC0,0xFD,0xFF,0xC7,0x06,
10068 1.1 jruoho 0xEF,0x70,0x83,0x3B,0xE8,0xF8,0x62,0x70,
10069 1.1 jruoho 0x5C,0x18,0xB8,0xE7,0x02,0x0F,0xC3,0x37,
10070 1.1 jruoho 0x1D,0x8F,0x08,0x33,0xFE,0xD7,0x3F,0x23,
10071 1.1 jruoho 0x04,0xC4,0x5F,0x8C,0xD8,0x80,0xC1,0x78,
10072 1.1 jruoho 0x6B,0xF3,0xF5,0x0D,0x37,0x60,0x5F,0x1D,
10073 1.1 jruoho 0x7C,0xC1,0xF0,0x09,0xCC,0xE8,0x2F,0x30,
10074 1.1 jruoho 0x4F,0x62,0x3E,0x36,0x90,0x0B,0x1C,0x1D,
10075 1.1 jruoho 0x30,0x38,0x00,0x3D,0x60,0xF8,0x87,0x8B,
10076 1.1 jruoho 0x77,0x39,0x30,0x5C,0x05,0x7D,0x5C,0xF0,
10077 1.1 jruoho 0xB1,0xC7,0x8A,0xEE,0x72,0xE8,0x9B,0x9C,
10078 1.1 jruoho 0x61,0xE2,0x18,0xE2,0x0D,0x8C,0xDD,0x25,
10079 1.1 jruoho 0xC8,0x61,0x0E,0xEA,0x5D,0xC2,0x73,0xE0,
10080 1.1 jruoho 0x67,0x0B,0x9F,0xE0,0x7C,0xF3,0x09,0x71,
10081 1.1 jruoho 0xAA,0x8F,0x56,0xEF,0x01,0x3E,0x7A,0xBC,
10082 1.1 jruoho 0x77,0xF9,0xEC,0xC4,0x2E,0x02,0x3E,0x72,
10083 1.1 jruoho 0x19,0xC7,0xD3,0xF4,0x15,0xD0,0x43,0x36,
10084 1.1 jruoho 0xD8,0xAB,0x86,0x4F,0x60,0x3E,0xBA,0xE1,
10085 1.1 jruoho 0x8E,0x51,0x9E,0x89,0xA7,0xEF,0x3B,0x08,
10086 1.1 jruoho 0x3B,0x92,0x1C,0x75,0xA8,0x6B,0x7A,0x44,
10087 1.1 jruoho 0xF9,0xFF,0x9F,0xD0,0x81,0xF8,0xD6,0x06,
10088 1.1 jruoho 0xCE,0x68,0xF7,0x0F,0xF4,0x36,0x3D,0x32,
10089 1.1 jruoho 0xCC,0xD1,0x00,0xD6,0x25,0x04,0x5C,0x77,
10090 1.1 jruoho 0x0C,0x5F,0x42,0x80,0x4F,0xD0,0x4B,0x04,
10091 1.1 jruoho 0xFA,0x9A,0xE1,0xD1,0x3D,0x02,0x60,0xAE,
10092 1.1 jruoho 0x18,0xEC,0x58,0xE0,0xC3,0x86,0xAF,0x01,
10093 1.1 jruoho 0xEC,0x5E,0xE0,0x30,0xF7,0x08,0x50,0x81,
10094 1.1 jruoho 0x7A,0x78,0xF0,0xD5,0xDE,0x23,0x40,0x71,
10095 1.1 jruoho 0xB2,0xF4,0xA1,0xC1,0x03,0xB5,0xAA,0x33,
10096 1.1 jruoho 0x26,0x94,0x23,0x26,0x3F,0x9B,0xF9,0x26,
10097 1.1 jruoho 0x81,0xB9,0x5D,0xFA,0x26,0x01,0x37,0xCF,
10098 1.1 jruoho 0x2C,0x50,0x49,0x20,0xF4,0xFF,0xBF,0x49,
10099 1.1 jruoho 0xC0,0x85,0xE9,0xF2,0x32,0x43,0xE7,0x7F,
10100 1.1 jruoho 0xE0,0xBE,0xD5,0x79,0x84,0x3E,0x44,0x30,
10101 1.1 jruoho 0x94,0xF7,0x3C,0x9F,0xC2,0xF8,0x19,0xC2,
10102 1.1 jruoho 0x07,0x4C,0x76,0xA6,0xE0,0x67,0x4D,0xDC,
10103 1.1 jruoho 0x1D,0xC0,0x28,0x6F,0x9E,0x9E,0x00,0x3B,
10104 1.1 jruoho 0x7F,0x1A,0xF9,0xDD,0xE0,0x5D,0xC0,0xD3,
10105 1.1 jruoho 0xF7,0xBD,0x88,0x9F,0x28,0xC0,0x17,0xEC,
10106 1.1 jruoho 0x4E,0x07,0x05,0xFA,0x84,0x3C,0x22,0xA3,
10107 1.1 jruoho 0xFA,0x88,0xC0,0x2F,0x49,0x60,0x3C,0x92,
10108 1.1 jruoho 0xF8,0x40,0x01,0x84,0xEE,0x05,0xA8,0xD3,
10109 1.1 jruoho 0x07,0x47,0x3D,0xE3,0x17,0x54,0x63,0xBE,
10110 1.1 jruoho 0x5B,0x3D,0xC2,0x79,0x72,0x98,0xCB,0x01,
10111 1.1 jruoho 0x8B,0x73,0x4D,0x02,0xD5,0x71,0x97,0x8F,
10112 1.1 jruoho 0x0E,0xEE,0xB5,0x15,0xFB,0xFF,0x27,0x38,
10113 1.1 jruoho 0xB8,0x77,0x96,0x77,0x3E,0x43,0x79,0x90,
10114 1.1 jruoho 0xE0,0xBB,0xB6,0x82,0xE3,0xAA,0x06,0xE3,
10115 1.1 jruoho 0xD8,0xC2,0x2F,0x79,0x80,0x9D,0x61,0x71,
10116 1.1 jruoho 0xC1,0x7F,0x0F,0x03,0x51,0x89,0x30,0x28,
10117 1.1 jruoho 0x02,0xCB,0xBB,0xB7,0x52,0xF8,0x43,0x06,
10118 1.1 jruoho 0xE3,0x4D,0x81,0x4F,0x1A,0x3B,0x6A,0xE0,
10119 1.1 jruoho 0xFB,0xFF,0x1F,0x35,0xD8,0x86,0x8A,0xBB,
10120 1.1 jruoho 0x29,0x82,0x75,0xAA,0x98,0x21,0xF0,0x60,
10121 1.1 jruoho 0x0F,0x00,0x9F,0xAF,0x7C,0x06,0x50,0x14,
10122 1.1 jruoho 0x18,0xD4,0xA1,0x1D,0xCE,0x6D,0x18,0x70,
10123 1.1 jruoho 0x30,0x62,0xDC,0xA5,0x10,0xEE,0x94,0xDF,
10124 1.1 jruoho 0x51,0x62,0x3F,0x97,0xB3,0xE9,0xE2,0xAE,
10125 1.1 jruoho 0xE6,0x3E,0x9D,0xB0,0x0B,0x32,0x8C,0xB3,
10126 1.1 jruoho 0xC0,0x23,0xC0,0xAB,0x39,0xBF,0x20,0x3F,
10127 1.1 jruoho 0x17,0xBF,0x10,0x3C,0x26,0x85,0x78,0x53,
10128 1.1 jruoho 0x7A,0x25,0x36,0xC6,0x93,0x71,0x73,0xB7,
10129 1.1 jruoho 0x62,0x72,0xDE,0x79,0x41,0x36,0xC6,0xD1,
10130 1.1 jruoho 0x44,0x8C,0x72,0x6E,0x0F,0x03,0x91,0x5F,
10131 1.1 jruoho 0x90,0x7D,0x3F,0x79,0x21,0x88,0x18,0xCD,
10132 1.1 jruoho 0x10,0x41,0x9F,0x97,0x8D,0x15,0x28,0xDE,
10133 1.1 jruoho 0x0B,0x32,0x13,0xF8,0x56,0xD0,0xC1,0xC5,
10134 1.1 jruoho 0x17,0x64,0xEC,0xFF,0xFF,0x82,0x0C,0x30,
10135 1.1 jruoho 0xE2,0x64,0x04,0xF8,0x3C,0x71,0xE0,0xCE,
10136 1.1 jruoho 0x35,0x30,0xFE,0xFF,0x97,0x6A,0xD8,0x27,
10137 1.1 jruoho 0x1B,0xC0,0xD9,0xD0,0x7D,0xB2,0x01,0xF7,
10138 1.1 jruoho 0x68,0xE1,0x1D,0x4D,0x10,0x27,0x1B,0x0A,
10139 1.1 jruoho 0xE4,0xE0,0xEB,0xA2,0x70,0x3C,0xF4,0x49,
10140 1.1 jruoho 0x84,0x1E,0x9D,0x7C,0x94,0xC4,0x9D,0x19,
10141 1.1 jruoho 0x3C,0x91,0x77,0x16,0x8F,0xE2,0x65,0xD0,
10142 1.1 jruoho 0xF7,0x82,0x13,0x79,0x7D,0xB0,0x9C,0x63,
10143 1.1 jruoho 0x24,0xA8,0x46,0xE2,0xE3,0x03,0xFC,0xEB,
10144 1.1 jruoho 0x8B,0x8F,0x91,0xF0,0xF9,0xFC,0xC3,0xF2,
10145 1.1 jruoho 0x60,0x0C,0xF9,0xFF,0x7F,0x8A,0xC4,0x80,
10146 1.1 jruoho 0x3C,0xBB,0x3C,0x86,0xF0,0x0B,0x24,0xDC,
10147 1.1 jruoho 0xD3,0xCC,0x01,0x60,0x64,0x5D,0x1E,0xD1,
10148 1.1 jruoho 0x67,0x47,0x8E,0x11,0xD7,0x17,0x45,0x5F,
10149 1.1 jruoho 0x81,0x7D,0x10,0x38,0x9F,0xE7,0x44,0xB0,
10150 1.1 jruoho 0x8E,0x9A,0x1F,0x6D,0xF8,0xF8,0x39,0xF8,
10151 1.1 jruoho 0x5B,0xC1,0x03,0xA5,0x8F,0x45,0x21,0x1E,
10152 1.1 jruoho 0x91,0xF8,0x39,0x11,0x5C,0x26,0xCE,0x89,
10153 1.1 jruoho 0x40,0xE2,0xD0,0x0B,0xE3,0xB4,0x80,0x1B,
10154 1.1 jruoho 0x88,0xCF,0x94,0xD8,0x29,0x9F,0x08,0x3B,
10155 1.1 jruoho 0x97,0x60,0x46,0x07,0xAE,0xCB,0xBD,0x47,
10156 1.1 jruoho 0x07,0xFE,0x93,0x00,0x1E,0xEB,0xFF,0xFF,
10157 1.1 jruoho 0x78,0x07,0xBE,0x93,0xBA,0xEF,0x26,0xBE,
10158 1.1 jruoho 0xC8,0xF8,0x50,0xF4,0x7C,0x07,0xF8,0x0F,
10159 1.1 jruoho 0x77,0xB8,0x43,0xC5,0x39,0xDF,0x01,0xD2,
10160 1.1 jruoho 0xFE,0xFF,0xE7,0x3B,0x60,0x79,0xB6,0x7E,
10161 1.1 jruoho 0xBE,0x03,0xBB,0xC8,0xF3,0x1D,0x40,0xAC,
10162 1.1 jruoho 0xFF,0xFF,0xF9,0x0E,0xB0,0x73,0x46,0xC3,
10163 1.1 jruoho 0x9D,0xEF,0xC0,0x76,0xB4,0x01,0xCC,0x4D,
10164 1.1 jruoho 0xE3,0xD1,0x06,0xDC,0xC3,0x85,0x3D,0x0C,
10165 1.1 jruoho 0xAE,0xD0,0xA6,0x4F,0x8D,0x46,0xAD,0x1A,
10166 1.1 jruoho 0x94,0xA9,0x51,0xE6,0xFF,0xDF,0xA0,0x56,
10167 1.1 jruoho 0x9F,0x4A,0x8D,0x19,0xCB,0x0E,0xA5,0x80,
10168 1.1 jruoho 0x8F,0x0A,0x8D,0xCD,0xF2,0x28,0x04,0x62,
10169 1.1 jruoho 0x31,0xAF,0x06,0x81,0x38,0x2C,0x08,0x8D,
10170 1.1 jruoho 0xF4,0xCA,0x11,0x88,0x25,0x3F,0xFB,0x05,
10171 1.1 jruoho 0x62,0xB9,0x6F,0x06,0x81,0x38,0xE0,0x1B,
10172 1.1 jruoho 0x4C,0xE0,0xE4,0x61,0x25,0x70,0xF2,0x6E,
10173 1.1 jruoho 0x10,0x88,0x23,0x83,0x50,0xA1,0x3A,0x40,
10174 1.1 jruoho 0x58,0x4C,0x10,0x1A,0xCA,0x07,0x08,0x93,
10175 1.1 jruoho 0xFE,0x48,0x10,0x20,0x31,0x02,0xC2,0xC2,
10176 1.1 jruoho 0xBD,0xBF,0x04,0x62,0x69,0xEF,0x09,0x81,
10177 1.1 jruoho 0x58,0x88,0x15,0x10,0x16,0x17,0x84,0x86,
10178 1.1 jruoho 0xD3,0x02,0xC2,0x24,0x99,0x01,0x61,0x81,
10179 1.1 jruoho 0x40,0xA8,0x7C,0x35,0x20,0x4C,0xA4,0x1B,
10180 1.1 jruoho 0x40,0xBA,0x7A,0x81,0x38,0x88,0x1E,0x10,
10181 1.1 jruoho 0x26,0xC3,0x0F,0x08,0x0B,0x0D,0x42,0xA3,
10182 1.1 jruoho 0x3D,0x30,0x04,0x48,0x0C,0x81,0xB0,0xF8,
10183 1.1 jruoho 0x8E,0x40,0x98,0xF8,0x57,0x91,0x40,0x9C,
10184 1.1 jruoho 0xDF,0x12,0xC4,0x4D,0x69,0x88,0x35,0x01,
10185 1.1 jruoho 0x31,0x0D,0x9E,0x80,0x98,0x22,0x10,0x01,
10186 1.1 jruoho 0x39,0xF6,0xD3,0x43,0x40,0xD6,0x60,0x0A,
10187 1.1 jruoho 0x88,0x45,0x07,0x11,0x90,0x85,0xA8,0x02,
10188 1.1 jruoho 0x62,0x79,0x5D,0x01,0xB1,0xF0,0x20,0x02,
10189 1.1 jruoho 0x72,0xE6,0x97,0x9F,0x80,0xAC,0xE0,0xA5,
10190 1.1 jruoho 0xF3,0x10,0xC0,0xDE,0x10,0x81,0x48,0x72,
10191 1.1 jruoho 0x10,0x01,0x39,0xB0,0x2F,0x20,0x16,0x1F,
10192 1.1 jruoho 0x44,0x40,0xCE,0xFA,0x28,0x14,0x90,0x83,
10193 1.1 jruoho 0x83,0x68,0x10,0xE4,0x6B,0x26,0x20,0xA7,
10194 1.1 jruoho 0x07,0x11,0x10,0xF9,0x04,0x05,0x21,0x6A,
10195 1.1 jruoho 0xBD,0x81,0x30,0x3D,0x8F,0x42,0x0D,0x85,
10196 1.1 jruoho 0x80,0x50,0xE5,0xEA,0xCE,0x31,0x2C,0x07,
10197 1.1 jruoho 0x08,0xCD,0x05,0x22,0x30,0xAB,0x70,0x07,
10198 1.1 jruoho 0xC4,0x54,0x81,0x08,0xC8,0x09,0x80,0xC8,
10199 1.1 jruoho 0xFF,0x9F,0x60,0x2A,0x10,0x9A,0x12,0x8C,
10200 1.1 jruoho 0xEA,0x92,0x07,0xC4,0x12,0x80,0xD0,0x54,
10201 1.1 jruoho 0x20,0x34,0x25,0x88,0x00,0xAD,0xCA,0x1E,
10202 1.1 jruoho 0x10,0x53,0x0A,0x42,0x95,0x83,0xD0,0x74,
10203 1.1 jruoho 0x20,0x54,0xB6,0xBE,0xC3,0x02,0x05,0x11,
10204 1.1 jruoho 0x90,0xA3,0x83,0x50,0xE1,0xFE,0x40,0x98,
10205 1.1 jruoho 0xDE,0x97,0x86,0x00,0x9D,0x0E,0x44,0x40,
10206 1.1 jruoho 0x4E,0x0C,0x42,0x15,0x7C,0x32,0x82,0x10,
10207 1.1 jruoho 0xB1,0x20,0x54,0xC1,0x27,0x23,0x28,0xD1,
10208 1.1 jruoho 0xF2,0xB2,0x13,0x90,0xF5,0x81,0x50,0xBD,
10209 1.1 jruoho 0x20,0x02,0x73,0x36,0x20,0x9A,0x17,0x84,
10210 1.1 jruoho 0xE6,0x07,0xA3,0x5A,0x8D,0x02,0x31,0xFD,
10211 1.1 jruoho 0x20,0x34,0x0F,0x88,0xC0,0xAC,0xE0,0xF9,
10212 1.1 jruoho 0x71,0xC0,0x0C,0x84,0xAA,0x04,0x11,0x98,
10213 1.1 jruoho 0x73,0x01,0xD1,0xAC,0x20,0x34,0x3B,0x18,
10214 1.1 jruoho 0xD5,0xFE,0x0F,0xD1,0x00,0x08,0x08,0xCD,
10215 1.1 jruoho 0x07,0xA2,0xC3,0x00,0x79,0x96,0x09,0xC8,
10216 1.1 jruoho 0x1A,0x41,0xA8,0x66,0x10,0x81,0x39,0x27,
10217 1.1 jruoho 0x10,0xCD,0x0E,0x42,0x95,0xFD,0x4D,0x82,
10218 1.1 jruoho 0x91,0x8C,0x0F,0xD0,0x40,0x24,0x37,0x08,
10219 1.1 jruoho 0xD5,0xF1,0x0C,0x0A,0x46,0x74,0x83,0x08,
10220 1.1 jruoho 0xC8,0x59,0x40,0x68,0x36,0x30,0x9A,0x4C,
10221 1.1 jruoho 0xED,0x91,0x80,0xBA,0x05,0x61,0xE9,0x41,
10222 1.1 jruoho 0x68,0x3A,0xBB,0x83,0xA7,0x20,0x54,0x81,
10223 1.1 jruoho 0x5E,0x30,0xA6,0x19,0x44,0x87,0x05,0x02,
10224 1.1 jruoho 0x42,0x73,0x81,0x51,0x1D,0xAF,0x96,0x40,
10225 1.1 jruoho 0x44,0x1B,0x08,0xD5,0x0A,0xA2,0x81,0x93,
10226 1.1 jruoho 0x1F,0x53,0x10,0x92,0x14,0x84,0xFC,0xFF,
10227 1.1 jruoho 0x07,0xAA,0xC7,0x9C,0x40,0xAC,0xFA,0x5B,
10228 1.1 jruoho 0x25,0x50,0x27,0x01,0xA1,0xC9,0x40,0x74,
10229 1.1 jruoho 0x7C,0x20,0x0F,0xB8,0x83,0x64,0x20,0x54,
10230 1.1 jruoho 0x29,0x88,0xC0,0xAC,0xF4,0x63,0xA4,0x23,
10231 1.1 jruoho 0x05,0x51,0x7D,0xBC,0xA0,0x20,0x34,0xD1,
10232 1.1 jruoho 0x3B,0x2C,0x08,0x7B,0xB8,0x69,0xA8,0xE4,
10233 1.1 jruoho 0x59,0xA5,0xA1,0x12,0x10,0x9A,0x0D,0x44,
10234 1.1 jruoho 0xC7,0x04,0xF2,0xAA,0x79,0x4C,0x60,0x20,
10235 1.1 jruoho 0x54,0x2F,0x08,0xCD,0x01,0x42,0x13,0x83,
10236 1.1 jruoho 0x08,0xD4,0xA9,0xBF,0x37,0x1A,0x2A,0xF9,
10237 1.1 jruoho 0x5B,0x09,0xC4,0xCA,0x5E,0x69,0x02,0xB1,
10238 1.1 jruoho 0xDE,0xA7,0x4E,0x20,0xE6,0x1D,0x98,0xA9,
10239 1.1 jruoho 0x05,0xA1,0xEA,0x41,0x04,0xE6,0xB4,0x40,
10240 1.1 jruoho 0x54,0x81,0x78,0x10,0xA6,0x08,0x44,0x60,
10241 1.1 jruoho 0x4E,0x02,0x44,0xD3,0x81,0xD0,0xEC,0x60,
10242 1.1 jruoho 0x54,0xE7,0xA3,0x4D,0x40,0xD6,0x0E,0x42,
10243 1.1 jruoho 0xB3,0x80,0x08,0xCC,0x59,0x1E,0x69,0x02,
10244 1.1 jruoho 0xB1,0x92,0x2F,0x9D,0x0E,0x24,0x04,0x84,
10245 1.1 jruoho 0x26,0xD3,0x7F,0x68,0xA1,0x05,0x80,0x99,
10246 1.1 jruoho 0x84,0x04,0x20,0x4C,0x16,0x88,0x0E,0x27,
10247 1.1 jruoho 0xD6,0x08,0x22,0x40,0xC7,0x01,0xA3,0xD1,
10248 1.1 jruoho 0x40,0x68,0x5C,0x40,0x9A,0x1D,0x90,0x2A,
10249 1.1 jruoho 0x6D,0x00,0xC6,0x54,0x83,0xD0,0x24,0x20,
10250 1.1 jruoho 0x02,0x74,0x2C,0x10,0x01,0x5A,0x74,0x04,
10251 1.1 jruoho 0x30,0x16,0x01,0x84,0x46,0x05,0xA1,0xC9,
10252 1.1 jruoho 0x2A,0x80,0xB2,0x9C,0x20,0x1A,0x20,0xC9,
10253 1.1 jruoho 0x30,0x60,0x0A,0x42,0x33,0x81,0xD0,0x8C,
10254 1.1 jruoho 0x20,0x54,0x7C,0x07,0x10,0x16,0x04,0x84,
10255 1.1 jruoho 0x86,0x03,0xD1,0x00,0xFE,0xFF,0x8F,0x0C,
10256 1.1 jruoho 0x02,0xD1,0x00,0x9C,0x23,0xC4,0x61,0x85,
10257 1.1 jruoho 0x82,0xD0,0xF4,0x20,0x34,0x6C,0x09,0x50,
10258 1.1 jruoho 0x16,0x1D,0x44,0xC7,0x23,0x92,0x02,0x8C,
10259 1.1 jruoho 0x05,0x02,0xA1,0x31,0x41,0x68,0x6C,0x10,
10260 1.1 jruoho 0x1A,0x29,0x06,0x28,0x13,0x54,0xE3,0x50,
10261 1.1 jruoho 0x44,0x7B,0x80,0x31,0x99,0x20,0x54,0x36,
10262 1.1 jruoho 0x88,0xC0,0x1C,0x14,0x88,0x86,0x07,0xA1,
10263 1.1 jruoho 0x62,0x82,0x00,0x52,0x10,0x01,0x12,0x20,
10264 1.1 jruoho 0x1A,0x1E,0x84,0x8A,0x29,0x32,0x74,0x0A,
10265 1.1 jruoho 0x42,0x55,0x24,0x39,0x9A,0x50,0x10,0x1D,
10266 1.1 jruoho 0x4D,0x08,0x08,0xCD,0x07,0x46,0x75,0x35,
10267 1.1 jruoho 0x39,0x6E,0x50,0x10,0xAA,0x1D,0x84,0x06,
10268 1.1 jruoho 0x05,0xA1,0x39,0xA2,0x80,0xB2,0xEC,0x20,
10269 1.1 jruoho 0x02,0xB2,0x9E,0x2A,0x87,0x0A,0x0A,0x22,
10270 1.1 jruoho 0x30,0xA7,0x02,0xA2,0x49,0x41,0xA8,0x8E,
10271 1.1 jruoho 0x2C,0x47,0x0A,0x9A,0x06,0x84,0x25,0x06,
10272 1.1 jruoho 0xA1,0xC9,0xDA,0x80,0xB0,0x0C,0x75,0x0E,
10273 1.1 jruoho 0x24,0x14,0x84,0xE6,0x04,0xA1,0x4A,0xF2,
10274 1.1 jruoho 0x0C,0x8F,0x82,0xE8,0x38,0x42,0x80,0x68,
10275 1.1 jruoho 0x7A,0x10,0xAA,0xA6,0xCF,0x00,0x28,0x88,
10276 1.1 jruoho 0x06,0x40,0x40,0x68,0x4E,0x30,0xAA,0xA8,
10277 1.1 jruoho 0xD1,0xD1,0x84,0x82,0x50,0xDD,0x2F,0x4E,
10278 1.1 jruoho 0x81,0xF8,0xFF,0x0F,
10279 1.1 jruoho }) // END MBUF
10280 1.1 jruoho
10281 1.1 jruoho } //end DefinitionBlock
10282 1.1 jruoho
10283