1 1.1 jruoho /* 2 1.1.1.11 christos * Some or all of this work - Copyright (c) 2006 - 2020, 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.1.10 christos // Grammar.asl - Minimally exercises 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.1.10 christos CreateWordField(PRT0, BUS0._MIN, BMIN) //Minimum bus number supported under this bridge. 727 1.1 jruoho 728 1.1 jruoho Store(3, BMIN) 729 1.1 jruoho Return(PRT0) 730 1.1 jruoho 731 1.1 jruoho } // _CRS 732 1.1 jruoho 733 1.1 jruoho Method(_SRS) 734 1.1 jruoho { 735 1.1 jruoho Return () 736 1.1 jruoho } 737 1.1 jruoho 738 1.1 jruoho Device(EIO) 739 1.1 jruoho { 740 1.1 jruoho OperationRegion(FJIO,SystemIO,0xFD60,0x6) 741 1.1 jruoho Field(FJIO,ByteAcc,NoLock,Preserve) 742 1.1 jruoho { 743 1.1 jruoho GIDX,8, 744 1.1 jruoho 745 1.1 jruoho GDTA,8, 746 1.1 jruoho 747 1.1 jruoho PIDX,8, 748 1.1 jruoho 749 1.1 jruoho PDTA,8, 750 1.1 jruoho 751 1.1 jruoho SIDX,8, 752 1.1 jruoho 753 1.1 jruoho SDTA,8 754 1.1 jruoho } 755 1.1 jruoho IndexField(GIDX,GDTA,ByteAcc,NoLock,Preserve) 756 1.1 jruoho { 757 1.1 jruoho Offset(0x2), 758 1.1 jruoho ,5, 759 1.1 jruoho VGAS,2, 760 1.1 jruoho Offset(0x4), 761 1.1 jruoho ,4, 762 1.1 jruoho DCKE,1, 763 1.1 jruoho Offset(0x5), 764 1.1 jruoho ,6, 765 1.1 jruoho ACPW,1, 766 1.1 jruoho 767 1.1 jruoho Offset(0xA), 768 1.1 jruoho B1P,1, 769 1.1 jruoho 770 1.1 jruoho B2P,1, 771 1.1 jruoho 772 1.1 jruoho B1C,1, 773 1.1 jruoho 774 1.1 jruoho B2C,1, 775 1.1 jruoho 776 1.1 jruoho B1ER,1, 777 1.1 jruoho 778 1.1 jruoho B2ER,1, 779 1.1 jruoho 780 1.1 jruoho Offset(0xB), 781 1.1 jruoho B1CP,8, 782 1.1 jruoho 783 1.1 jruoho B2CP,8, 784 1.1 jruoho 785 1.1 jruoho BCP,8, 786 1.1 jruoho 787 1.1 jruoho B1VH,8, 788 1.1 jruoho 789 1.1 jruoho B1VL,8, 790 1.1 jruoho 791 1.1 jruoho B2VH,8, 792 1.1 jruoho 793 1.1 jruoho B2VL,8, 794 1.1 jruoho 795 1.1 jruoho B1TM,8, 796 1.1 jruoho 797 1.1 jruoho B2TM,8, 798 1.1 jruoho 799 1.1 jruoho B1CH,8, 800 1.1 jruoho 801 1.1 jruoho B1CL,8, 802 1.1 jruoho 803 1.1 jruoho B2CH,8, 804 1.1 jruoho 805 1.1 jruoho B2CL,8 806 1.1 jruoho } 807 1.1 jruoho } 808 1.1 jruoho } 809 1.1 jruoho } 810 1.1 jruoho 811 1.1 jruoho Method(RDBT,3,Serialized){ 812 1.1 jruoho Store(0x1FFF,Local1) 813 1.1 jruoho If( Arg0 ){ 814 1.1 jruoho Store(0x2FFF,Local1) 815 1.1 jruoho } 816 1.1 jruoho Store(0x18,Local2) 817 1.1 jruoho If( Arg1 ){ 818 1.1 jruoho Store(0x10,Local2) 819 1.1 jruoho } 820 1.1 jruoho If(LNot(SMRE(0x09,0x15,1,RefOf(Local0)))){ 821 1.1 jruoho If(LNot(SMWE(0x08,0x14,1,Local1))){ 822 1.1 jruoho If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){ 823 1.1 jruoho Store(Local1,Arg2) 824 1.1 jruoho } 825 1.1 jruoho } 826 1.1 jruoho Or(Local0,0xFFF,Local0) 827 1.1 jruoho SMWE(0x08,0x14,1,Local0) 828 1.1 jruoho } 829 1.1 jruoho } 830 1.1 jruoho Method(MKWD,2) 831 1.1 jruoho { 832 1.1 jruoho If(And(Arg1,0x80)) { 833 1.1 jruoho Or(0xFFFF0000,Arg0,Local0) 834 1.1 jruoho Or(Local0,ShiftLeft(Arg1,8),Local0) 835 1.1 jruoho Subtract(Zero,Local0,Local0) 836 1.1 jruoho } else { 837 1.1 jruoho Store(Arg0,Local0) 838 1.1 jruoho Or(Local0,ShiftLeft(Arg1,8),Local0) 839 1.1 jruoho } 840 1.1 jruoho Return(Local0) 841 1.1 jruoho } 842 1.1 jruoho 843 1.1 jruoho Device(CMB1) 844 1.1 jruoho { 845 1.1 jruoho Name(_HID,EISAID("PNP0C0A")) 846 1.1 jruoho Name(_UID,0x1) 847 1.1 jruoho Alias(\_SB.PCI0.EIO.B1P,\_SB_.PCI0.XXXX) 848 1.1 jruoho Alias(\_SB.PCI0.EIO.B1P,B1P) 849 1.1 jruoho Alias(\_SB.PCI0.EIO.B1C,B1C) 850 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CH,B1CH) 851 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CL,B1CL) 852 1.1 jruoho Alias(\_SB.PCI0.EIO.B1VH,B1VH) 853 1.1 jruoho Alias(\_SB.PCI0.EIO.B1VL,B1VL) 854 1.1 jruoho Alias(\_SB.PCI0.EIO.B1CP,B1CP) 855 1.1 jruoho 856 1.1 jruoho Method(_INI) 857 1.1 jruoho { 858 1.1 jruoho Store(B1P, B1PS) 859 1.1 jruoho Store(B1CP,B1RS) 860 1.1 jruoho Store(B1C, B1CS) 861 1.1 jruoho } 862 1.1 jruoho 863 1.1 jruoho Method(_BIF){ 864 1.1 jruoho RDBT(Zero,Zero,RefOf(B1DC)) 865 1.1 jruoho RDBT(Zero,One,RefOf(B1LF)) 866 1.1 jruoho Store(B1DC,Index(RBIF,1)) 867 1.1 jruoho Store(B1LF,Index(RBIF,2)) 868 1.1 jruoho Store("CA54200-5003/5",Index(RBIF,9)) 869 1.1 jruoho Store("1",Index(RBIF,10)) 870 1.1 jruoho Return(RBIF) 871 1.1 jruoho } 872 1.1 jruoho 873 1.1.1.3 christos Method(_BST,, Serialized) { 874 1.1 jruoho 875 1.1 jruoho _INI() 876 1.1 jruoho 877 1.1 jruoho Store(Zero,Local0) 878 1.1 jruoho 879 1.1 jruoho if (LAnd(B1P,LNot(B1C))){ 880 1.1 jruoho Or(Local0,1,Local0) 881 1.1 jruoho } 882 1.1 jruoho 883 1.1 jruoho if (LAnd(B1P,B1C)) { 884 1.1 jruoho Or(Local0,2,Local0) 885 1.1 jruoho } 886 1.1 jruoho 887 1.1 jruoho if (LLessEqual(B1CP,1)) { 888 1.1 jruoho Or(Local0,4,Local0) 889 1.1 jruoho } 890 1.1 jruoho 891 1.1 jruoho Store(MKWD(B1CL,B1CH),Local1) 892 1.1 jruoho 893 1.1 jruoho Store(Divide(Add(Multiply(B1CP,B1LF),99),100),Local2) 894 1.1 jruoho 895 1.1 jruoho Store(MKWD(B1VL,B1VH),Local3) 896 1.1 jruoho 897 1.1 jruoho Name(STAT,Package(4){}) 898 1.1 jruoho Store(Local0,Index(STAT,0)) 899 1.1 jruoho Store(Local1,Index(STAT,1)) 900 1.1 jruoho Store(Local2,Index(STAT,2)) 901 1.1 jruoho Store(Local3,Index(STAT,3)) 902 1.1 jruoho 903 1.1 jruoho If(LNot(BPIF)){ 904 1.1 jruoho // \_SB.PCI0.EIO.EC0.IECT() 905 1.1 jruoho // \_SB.PCI0.EIO.EC0.SECT() 906 1.1 jruoho Store(One,BPIF) 907 1.1 jruoho } 908 1.1 jruoho return(STAT) 909 1.1 jruoho } 910 1.1 jruoho 911 1.1 jruoho } 912 1.1 jruoho 913 1.1 jruoho Device (DEV1) 914 1.1 jruoho { 915 1.1 jruoho } 916 1.1 jruoho 917 1.1 jruoho Scope(\_TZ) 918 1.1 jruoho { 919 1.1 jruoho ThermalZone(TZ1) 920 1.1 jruoho { 921 1.1 jruoho Name(_PSL,Package() 922 1.1 jruoho { 923 1.1 jruoho \_PR.CPU0 924 1.1 jruoho }) 925 1.1 jruoho } 926 1.1 jruoho } 927 1.1 jruoho 928 1.1 jruoho Method (TZ2, 0, SERIALIZED) 929 1.1 jruoho { 930 1.1 jruoho Name(_PSL,Package() 931 1.1 jruoho { 932 1.1 jruoho \_PR.CPU0 933 1.1 jruoho }) 934 1.1 jruoho 935 1.1 jruoho Return (_PSL) 936 1.1 jruoho } 937 1.1 jruoho 938 1.1 jruoho ThermalZone (THM1) 939 1.1 jruoho { 940 1.1 jruoho } 941 1.1 jruoho 942 1.1 jruoho Method (NOTI) 943 1.1 jruoho { 944 1.1 jruoho Notify (\DEV1, 0) 945 1.1 jruoho Notify (\THM1, 0) 946 1.1 jruoho Notify (\_PR.CPU0, 0) 947 1.1 jruoho } 948 1.1 jruoho 949 1.1.1.8 christos Method (_ERR, 3) 950 1.1 jruoho { 951 1.1 jruoho Increment (ERRS) 952 1.1 jruoho Store ("Run-time exception:", Debug) 953 1.1 jruoho Store (Arg0, Debug) 954 1.1 jruoho Store (Arg1, Debug) 955 1.1 jruoho 956 1.1 jruoho Return (0) // Map error to AE_OK 957 1.1 jruoho } 958 1.1 jruoho 959 1.1 jruoho Method (DIV0) 960 1.1 jruoho { 961 1.1 jruoho Store (1, Local0) 962 1.1 jruoho Store (0, Local1) 963 1.1 jruoho Divide (Local0, Local1, Local3) 964 1.1 jruoho 965 1.1 jruoho Store ("DIV0 - noabort", Debug) 966 1.1 jruoho } 967 1.1 jruoho 968 1.1.1.7 christos Method (ERR_, 2) 969 1.1 jruoho { 970 1.1.1.7 christos Local0 = ToDecimalString (Arg1) 971 1.1 jruoho if (LEqual (Arg0, 0)) 972 1.1 jruoho { 973 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Results not equal!", Local0) 974 1.1 jruoho } 975 1.1 jruoho if (LEqual (Arg0, 1)) 976 1.1 jruoho { 977 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Numeric result is incorrect!", Local0) 978 1.1 jruoho } 979 1.1 jruoho if (LEqual (Arg0, 2)) 980 1.1 jruoho { 981 1.1.1.7 christos Printf ("+*+*+*+* MTHD_ERROR at line %o: Operand was clobbered!", Local0) 982 1.1 jruoho } 983 1.1 jruoho 984 1.1 jruoho Notify (DEV1, Arg0) 985 1.1 jruoho Increment (ERRS) 986 1.1 jruoho } 987 1.1 jruoho 988 1.1 jruoho Method (R226, 2) 989 1.1 jruoho { 990 1.1 jruoho } 991 1.1 jruoho Method (R225, 2) 992 1.1 jruoho { 993 1.1 jruoho R226 (Arg0, Arg1) 994 1.1 jruoho } 995 1.1 jruoho Method (R224, 2) 996 1.1 jruoho { 997 1.1 jruoho R225 (Arg1, Arg0) 998 1.1 jruoho } 999 1.1 jruoho Method (R223, 2) 1000 1.1 jruoho { 1001 1.1 jruoho R224 (Arg0, Arg1) 1002 1.1 jruoho } 1003 1.1 jruoho Method (R222, 2) 1004 1.1 jruoho { 1005 1.1 jruoho R223 (Arg1, Arg0) 1006 1.1 jruoho } 1007 1.1 jruoho Method (R111) 1008 1.1 jruoho { 1009 1.1 jruoho Store (0x01010101, Local0) 1010 1.1 jruoho R222 (0xABAB, Local0) 1011 1.1 jruoho Store (Local0, Local1) 1012 1.1 jruoho } 1013 1.1 jruoho 1014 1.1 jruoho Method (MAIN) 1015 1.1 jruoho { 1016 1.1 jruoho 1017 1.1 jruoho // SIZE() 1018 1.1 jruoho Store (NUM1(), Local0) 1019 1.1 jruoho \CMB1._BST() 1020 1.1 jruoho RDBT(1,2,3) 1021 1.1 jruoho OBJ1(1) 1022 1.1 jruoho OBJ2(2) 1023 1.1 jruoho CHEK() 1024 1.1 jruoho RETZ() 1025 1.1 jruoho BITZ() 1026 1.1 jruoho LOGS() 1027 1.1 jruoho REFS() 1028 1.1 jruoho COND() 1029 1.1 jruoho TZ2() 1030 1.1 jruoho 1031 1.1 jruoho // 1032 1.1 jruoho // iPCO tests added 1033 1.1 jruoho // 1034 1.1 jruoho Store (\IFEL.TEST(), Local0) 1035 1.1 jruoho if (LGreater (Local0, 0)) 1036 1.1 jruoho { 1037 1.1.1.7 christos ERR_ (1, __LINE__) 1038 1.1 jruoho Return(Local0) 1039 1.1 jruoho } 1040 1.1 jruoho 1041 1.1 jruoho Store (\NOSV.TEST(), Local0) 1042 1.1 jruoho if (LGreater (Local0, 0)) 1043 1.1 jruoho { 1044 1.1.1.7 christos ERR_ (1, __LINE__) 1045 1.1 jruoho Return(Local0) 1046 1.1 jruoho } 1047 1.1 jruoho 1048 1.1 jruoho Store (\IDXF.TEST(), Local0) 1049 1.1 jruoho if (LGreater (Local0, 0)) 1050 1.1 jruoho { 1051 1.1.1.7 christos ERR_ (1, __LINE__) 1052 1.1 jruoho Return(Local0) 1053 1.1 jruoho } 1054 1.1 jruoho 1055 1.1 jruoho Store (\_SB_.NSTL.TEST(), Local0) 1056 1.1 jruoho if (LGreater (Local0, 0)) 1057 1.1 jruoho { 1058 1.1.1.7 christos ERR_ (1, __LINE__) 1059 1.1 jruoho Return(Local0) 1060 1.1 jruoho } 1061 1.1 jruoho 1062 1.1 jruoho Store (\RTBF.TEST(), Local0) 1063 1.1 jruoho if (LGreater (Local0, 0)) 1064 1.1 jruoho { 1065 1.1.1.7 christos ERR_ (1, __LINE__) 1066 1.1 jruoho Return(Local0) 1067 1.1 jruoho } 1068 1.1 jruoho 1069 1.1 jruoho Store (\_SB_.RTLV.TEST(), Local0) 1070 1.1 jruoho if (LGreater (Local0, 0)) 1071 1.1 jruoho { 1072 1.1.1.7 christos ERR_ (1, __LINE__) 1073 1.1 jruoho Return(Local0) 1074 1.1 jruoho } 1075 1.1 jruoho 1076 1.1 jruoho Store (\_SB_.RETP.TEST(), Local0) 1077 1.1 jruoho if (LGreater (Local0, 0)) 1078 1.1 jruoho { 1079 1.1.1.7 christos ERR_ (1, __LINE__) 1080 1.1 jruoho Return(Local0) 1081 1.1 jruoho } 1082 1.1 jruoho 1083 1.1 jruoho Store (\WHLR.TEST(), Local0) 1084 1.1 jruoho if (LGreater (Local0, 0)) 1085 1.1 jruoho { 1086 1.1.1.7 christos ERR_ (1, __LINE__) 1087 1.1 jruoho Return(Local0) 1088 1.1 jruoho } 1089 1.1 jruoho 1090 1.1 jruoho Store (\ANDO.TEST(), Local0) 1091 1.1 jruoho if (LGreater (Local0, 0)) 1092 1.1 jruoho { 1093 1.1.1.7 christos ERR_ (1, __LINE__) 1094 1.1 jruoho Return(Local0) 1095 1.1 jruoho } 1096 1.1 jruoho 1097 1.1 jruoho Store (\BRKP.TEST(), Local0) 1098 1.1 jruoho if (LGreater (Local0, 0)) 1099 1.1 jruoho { 1100 1.1.1.7 christos ERR_ (1, __LINE__) 1101 1.1 jruoho Return(Local0) 1102 1.1 jruoho } 1103 1.1 jruoho 1104 1.1 jruoho Store (\ADSU.TEST(), Local0) 1105 1.1 jruoho if (LGreater (Local0, 0)) 1106 1.1 jruoho { 1107 1.1.1.7 christos ERR_ (1, __LINE__) 1108 1.1 jruoho Return(Local0) 1109 1.1 jruoho } 1110 1.1 jruoho 1111 1.1 jruoho Store (\INDC.TEST(), Local0) 1112 1.1 jruoho if (LGreater (Local0, 0)) 1113 1.1 jruoho { 1114 1.1.1.7 christos ERR_ (1, __LINE__) 1115 1.1 jruoho Return(Local0) 1116 1.1 jruoho } 1117 1.1 jruoho 1118 1.1 jruoho Store (\LOPS.TEST(), Local0) 1119 1.1 jruoho if (LGreater (Local0, 0)) 1120 1.1 jruoho { 1121 1.1.1.7 christos ERR_ (1, __LINE__) 1122 1.1 jruoho Return(Local0) 1123 1.1 jruoho } 1124 1.1 jruoho 1125 1.1 jruoho Store (\FDSO.TEST(), Local0) 1126 1.1 jruoho if (LGreater (Local0, 0)) 1127 1.1 jruoho { 1128 1.1.1.7 christos ERR_ (1, __LINE__) 1129 1.1 jruoho Return(Local0) 1130 1.1 jruoho } 1131 1.1 jruoho 1132 1.1 jruoho Store (\MLDV.TEST(), Local0) 1133 1.1 jruoho if (LGreater (Local0, 0)) 1134 1.1 jruoho { 1135 1.1.1.7 christos ERR_ (1, __LINE__) 1136 1.1 jruoho Return(Local0) 1137 1.1 jruoho } 1138 1.1 jruoho 1139 1.1 jruoho Store (\NBIT.TEST(), Local0) 1140 1.1 jruoho if (LGreater (Local0, 0)) 1141 1.1 jruoho { 1142 1.1.1.7 christos ERR_ (1, __LINE__) 1143 1.1 jruoho Return(Local0) 1144 1.1 jruoho } 1145 1.1 jruoho 1146 1.1 jruoho Store (\SHFT.TEST(), Local0) 1147 1.1 jruoho if (LGreater (Local0, 0)) 1148 1.1 jruoho { 1149 1.1.1.7 christos ERR_ (1, __LINE__) 1150 1.1 jruoho Return(Local0) 1151 1.1 jruoho } 1152 1.1 jruoho 1153 1.1 jruoho Store (\XORD.TEST(), Local0) 1154 1.1 jruoho if (LGreater (Local0, 0)) 1155 1.1 jruoho { 1156 1.1.1.7 christos ERR_ (1, __LINE__) 1157 1.1 jruoho Return(Local0) 1158 1.1 jruoho } 1159 1.1 jruoho 1160 1.1 jruoho Store (\CRBF.TEST(), Local0) 1161 1.1 jruoho if (LGreater (Local0, 0)) 1162 1.1 jruoho { 1163 1.1.1.7 christos ERR_ (1, __LINE__) 1164 1.1 jruoho Return(Local0) 1165 1.1 jruoho } 1166 1.1 jruoho 1167 1.1 jruoho Store (\IDX4.TEST(), Local0) 1168 1.1 jruoho if (LGreater (Local0, 0)) 1169 1.1 jruoho { 1170 1.1.1.7 christos ERR_ (1, __LINE__) 1171 1.1 jruoho Return(Local0) 1172 1.1 jruoho } 1173 1.1 jruoho 1174 1.1 jruoho Store (\EVNT.TEST(), Local0) 1175 1.1 jruoho if (LGreater (Local0, 0)) 1176 1.1 jruoho { 1177 1.1.1.7 christos ERR_ (1, __LINE__) 1178 1.1 jruoho Return(Local0) 1179 1.1 jruoho } 1180 1.1 jruoho 1181 1.1 jruoho Store (\SZLV.TEST(), Local0) 1182 1.1 jruoho if (LGreater (Local0, 0)) 1183 1.1 jruoho { 1184 1.1.1.7 christos ERR_ (1, __LINE__) 1185 1.1 jruoho Return(Local0) 1186 1.1 jruoho } 1187 1.1 jruoho 1188 1.1 jruoho Store (\_SB_.BYTF.TEST(), Local0) 1189 1.1 jruoho if (LGreater (Local0, 0)) 1190 1.1 jruoho { 1191 1.1.1.7 christos ERR_ (1, __LINE__) 1192 1.1 jruoho Return(Local0) 1193 1.1 jruoho } 1194 1.1 jruoho 1195 1.1 jruoho Store (\DWDF.TEST(), Local0) 1196 1.1 jruoho if (LGreater (Local0, 0)) 1197 1.1 jruoho { 1198 1.1.1.7 christos ERR_ (1, __LINE__) 1199 1.1 jruoho Return(Local0) 1200 1.1 jruoho } 1201 1.1 jruoho 1202 1.1 jruoho Store (\DVAX.TEST(), Local0) 1203 1.1 jruoho if (LGreater (Local0, 0)) 1204 1.1 jruoho { 1205 1.1.1.7 christos ERR_ (1, __LINE__) 1206 1.1 jruoho Return(Local0) 1207 1.1 jruoho } 1208 1.1 jruoho 1209 1.1 jruoho Store (\IDX6.TEST(), Local0) 1210 1.1 jruoho if (LGreater (Local0, 0)) 1211 1.1 jruoho { 1212 1.1.1.7 christos ERR_ (1, __LINE__) 1213 1.1 jruoho Return(Local0) 1214 1.1 jruoho } 1215 1.1 jruoho 1216 1.1 jruoho Store (\IDX5.TEST(), Local0) 1217 1.1 jruoho if (LGreater (Local0, 0)) 1218 1.1 jruoho { 1219 1.1.1.7 christos ERR_ (1, __LINE__) 1220 1.1 jruoho Return(Local0) 1221 1.1 jruoho } 1222 1.1 jruoho 1223 1.1 jruoho Store (\_SB_.IDX0.TEST(), Local0) 1224 1.1 jruoho if (LGreater (Local0, 0)) 1225 1.1 jruoho { 1226 1.1.1.7 christos ERR_ (1, __LINE__) 1227 1.1 jruoho Return(Local0) 1228 1.1 jruoho } 1229 1.1 jruoho 1230 1.1 jruoho Store (\_SB_.IDX3.TEST(), Local0) 1231 1.1 jruoho if (LGreater (Local0, 0)) 1232 1.1 jruoho { 1233 1.1.1.7 christos ERR_ (1, __LINE__) 1234 1.1 jruoho Return(Local0) 1235 1.1 jruoho } 1236 1.1 jruoho 1237 1.1 jruoho Store (\IDX7.TEST(), Local0) 1238 1.1 jruoho if (LGreater (Local0, 0)) 1239 1.1 jruoho { 1240 1.1.1.7 christos ERR_ (1, __LINE__) 1241 1.1 jruoho Return(Local0) 1242 1.1 jruoho } 1243 1.1 jruoho 1244 1.1 jruoho Store (\MTCH.TEST(), Local0) 1245 1.1 jruoho if (LGreater (Local0, 0)) 1246 1.1 jruoho { 1247 1.1.1.7 christos ERR_ (1, __LINE__) 1248 1.1 jruoho Return(Local0) 1249 1.1 jruoho } 1250 1.1 jruoho 1251 1.1 jruoho Store (\WHLB.TEST(), Local0) 1252 1.1 jruoho if (LGreater (Local0, 0)) 1253 1.1 jruoho { 1254 1.1.1.7 christos ERR_ (1, __LINE__) 1255 1.1 jruoho Return(Local0) 1256 1.1 jruoho } 1257 1.1 jruoho 1258 1.1 jruoho Store (\_SB_.IDX2.TEST(), Local0) 1259 1.1 jruoho if (LGreater (Local0, 0)) 1260 1.1 jruoho { 1261 1.1.1.7 christos ERR_ (1, __LINE__) 1262 1.1 jruoho Return(Local0) 1263 1.1 jruoho } 1264 1.1 jruoho 1265 1.1 jruoho Store (\SIZO.TEST(), Local0) 1266 1.1 jruoho if (LGreater (Local0, 0)) 1267 1.1 jruoho { 1268 1.1.1.7 christos ERR_ (1, __LINE__) 1269 1.1 jruoho Return(Local0) 1270 1.1 jruoho } 1271 1.1 jruoho 1272 1.1 jruoho Store (\_SB_.SMIS.TEST(), Local0) 1273 1.1 jruoho if (LGreater (Local0, 0)) 1274 1.1 jruoho { 1275 1.1.1.7 christos ERR_ (1, __LINE__) 1276 1.1 jruoho Return(Local0) 1277 1.1 jruoho } 1278 1.1 jruoho 1279 1.1 jruoho if (LGreater (ERRS, 0)) 1280 1.1 jruoho { 1281 1.1 jruoho Store ("****** There were errors during the execution of the test ******", Debug) 1282 1.1 jruoho } 1283 1.1 jruoho 1284 1.1.1.6 christos // Flush all notifies 1285 1.1.1.6 christos 1286 1.1.1.6 christos Sleep (250) 1287 1.1.1.6 christos 1288 1.1 jruoho // 1289 1.1 jruoho // Last Test 1290 1.1 jruoho // 1291 1.1 jruoho 1292 1.1 jruoho Return(0) // Success 1293 1.1 jruoho } 1294 1.1 jruoho 1295 1.1 jruoho 1296 1.1 jruoho Method (OBJ1, 1, SERIALIZED) 1297 1.1 jruoho { 1298 1.1 jruoho 1299 1.1 jruoho Store (3, Local0) 1300 1.1 jruoho Name(BUFR, Buffer (Local0) {}) 1301 1.1 jruoho Name(BUF1, Buffer (4) {1,2,3,4}) 1302 1.1 jruoho Name(BUF2, Buffer (4) {}) 1303 1.1 jruoho 1304 1.1 jruoho Store (BUF1, BUF2) 1305 1.1 jruoho Mutex (MTX1, 4) 1306 1.1 jruoho 1307 1.1 jruoho Alias (MTX1, MTX2) 1308 1.1 jruoho } 1309 1.1 jruoho 1310 1.1 jruoho 1311 1.1 jruoho Mutex (MTXT, 0) 1312 1.1 jruoho Mutex (MTXX, 0) 1313 1.1 jruoho 1314 1.1 jruoho /* 1315 1.1 jruoho * Field Creation 1316 1.1 jruoho */ 1317 1.1 jruoho 1318 1.1.1.3 christos Method (FLDS,, Serialized) 1319 1.1 jruoho { 1320 1.1 jruoho Store ("++++++++ Creating BufferFields", Debug) 1321 1.1 jruoho Name (BUF2, Buffer (128) {}) 1322 1.1 jruoho 1323 1.1 jruoho CreateBitField (BUF2, 3, BIT2) 1324 1.1 jruoho CreateByteField (BUF2, 1, BYT2) 1325 1.1 jruoho CreateWordField (BUF2, 2, WRD2) 1326 1.1 jruoho CreateDwordField (BUF2, 4, DWD2) 1327 1.1 jruoho CreateQwordField (BUF2, 8, QWD2) 1328 1.1 jruoho CreateField (BUF2, 128, 12, FLD2) 1329 1.1 jruoho CreateField (BUF2, 148, 96, FLD3) 1330 1.1 jruoho 1331 1.1 jruoho Store (0x1, BIT2) 1332 1.1 jruoho Store (BIT2, Local0) 1333 1.1 jruoho if (LNotEqual (Local0, 0x1)) 1334 1.1 jruoho { 1335 1.1.1.7 christos ERR_ (1, __LINE__) 1336 1.1 jruoho } 1337 1.1 jruoho else 1338 1.1 jruoho { 1339 1.1 jruoho Store (DerefOf (Index (BUF2, 0)), Local0) 1340 1.1 jruoho if (LNotEqual (Local0, 0x08)) 1341 1.1 jruoho { 1342 1.1.1.7 christos ERR_ (1, __LINE__) 1343 1.1 jruoho } 1344 1.1 jruoho else 1345 1.1 jruoho { 1346 1.1 jruoho Store ("++++++++ Bit BufferField I/O PASS", Debug) 1347 1.1 jruoho } 1348 1.1 jruoho } 1349 1.1 jruoho 1350 1.1 jruoho Store (0x1A, BYT2) 1351 1.1 jruoho Store (BYT2, Local0) 1352 1.1 jruoho if (LNotEqual (Local0, 0x1A)) 1353 1.1 jruoho { 1354 1.1.1.7 christos ERR_ (1, __LINE__) 1355 1.1 jruoho } 1356 1.1 jruoho else 1357 1.1 jruoho { 1358 1.1 jruoho Store ("++++++++ Byte BufferField I/O PASS", Debug) 1359 1.1 jruoho } 1360 1.1 jruoho 1361 1.1 jruoho Store (0x1234, WRD2) 1362 1.1 jruoho Store (WRD2, Local0) 1363 1.1 jruoho if (LNotEqual (Local0, 0x1234)) 1364 1.1 jruoho { 1365 1.1.1.7 christos ERR_ (1, __LINE__) 1366 1.1 jruoho } 1367 1.1 jruoho else 1368 1.1 jruoho { 1369 1.1 jruoho Store ("++++++++ Word BufferField I/O PASS", Debug) 1370 1.1 jruoho } 1371 1.1 jruoho 1372 1.1 jruoho Store (0x123, FLD2) 1373 1.1 jruoho Store (FLD2, Local0) 1374 1.1 jruoho if (LNotEqual (Local0, 0x123)) 1375 1.1 jruoho { 1376 1.1.1.7 christos ERR_ (1, __LINE__) 1377 1.1 jruoho } 1378 1.1 jruoho else 1379 1.1 jruoho { 1380 1.1 jruoho Store ("++++++++ 12-bit BufferField I/O PASS", Debug) 1381 1.1 jruoho } 1382 1.1 jruoho 1383 1.1 jruoho Store (0x12345678, DWD2) 1384 1.1 jruoho Store (DWD2, Local0) 1385 1.1 jruoho if (LNotEqual (Local0, 0x12345678)) 1386 1.1 jruoho { 1387 1.1.1.7 christos ERR_ (1, __LINE__) 1388 1.1 jruoho } 1389 1.1 jruoho else 1390 1.1 jruoho { 1391 1.1 jruoho Store ("++++++++ Dword BufferField I/O PASS", Debug) 1392 1.1 jruoho } 1393 1.1 jruoho 1394 1.1 jruoho Store (0x1234567887654321, QWD2) 1395 1.1 jruoho Store (QWD2, Local0) 1396 1.1 jruoho if (LNotEqual (Local0, 0x1234567887654321)) 1397 1.1 jruoho { 1398 1.1.1.7 christos ERR_ (1, __LINE__) 1399 1.1 jruoho } 1400 1.1 jruoho else 1401 1.1 jruoho { 1402 1.1 jruoho Store ("++++++++ Qword BufferField I/O PASS", Debug) 1403 1.1 jruoho } 1404 1.1 jruoho } 1405 1.1 jruoho 1406 1.1 jruoho 1407 1.1 jruoho /* Field execution */ 1408 1.1 jruoho 1409 1.1.1.3 christos Method (FLDX,, Serialized) 1410 1.1 jruoho { 1411 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve) 1412 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements 1413 1.1 jruoho SMD0, 32, // 32-bits 1414 1.1 jruoho SMD1, 32, // 32-bits 1415 1.1 jruoho SMD2, 32, // 32-bits 1416 1.1 jruoho SMD3, 32 // 32-bits 1417 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements 1418 1.1 jruoho Field (\_SB_.MEM.SMEM, AnyAcc, NoLock, Preserve) 1419 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements 1420 1.1 jruoho SME0, 69, // larger than an integer (32 or 64) 1421 1.1 jruoho SME1, 97 // larger than an integer 1422 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements 1423 1.1 jruoho } 1424 1.1 jruoho 1425 1.1 jruoho 1426 1.1 jruoho Method (MTX_, ) 1427 1.1 jruoho { 1428 1.1 jruoho /* Test "Force release" of mutex on method exit */ 1429 1.1 jruoho 1430 1.1 jruoho Acquire (MTXT, 0xFFFF) 1431 1.1 jruoho Acquire (MTXX, 0xFFFF) 1432 1.1 jruoho 1433 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug) 1434 1.1 jruoho Acquire (_GL_, 0xFFFF) 1435 1.1 jruoho 1436 1.1 jruoho 1437 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug) 1438 1.1 jruoho Release (_GL_) 1439 1.1 jruoho } 1440 1.1 jruoho 1441 1.1 jruoho 1442 1.1.1.3 christos Method (OBJ2, 1, Serialized) 1443 1.1 jruoho { 1444 1.1 jruoho Store ("++++++++ Creating Buffer BUFO", Debug) 1445 1.1 jruoho Name (BUFO, Buffer (32) {}) 1446 1.1 jruoho 1447 1.1 jruoho Store ("++++++++ Creating OpRegion OPR2", Debug) 1448 1.1 jruoho OperationRegion (OPR2, SystemMemory, Arg0, 256) 1449 1.1 jruoho 1450 1.1 jruoho Store ("++++++++ Creating Field(s) in OpRegion OPR2", Debug) 1451 1.1 jruoho Field (OPR2, ByteAcc, NoLock, Preserve) 1452 1.1 jruoho { 1453 1.1 jruoho IDX2, 8, 1454 1.1 jruoho DAT2, 8, 1455 1.1 jruoho BNK2, 4 1456 1.1 jruoho } 1457 1.1 jruoho 1458 1.1 jruoho Store ("++++++++ Creating BankField BNK2 in OpRegion OPR2", Debug) 1459 1.1 jruoho // 1460 1.1 jruoho // mcw 3/20/00 - changed FET0, 4, FET1, 3 to FET0, 1, FET1, 1 1461 1.1 jruoho // 1462 1.1 jruoho BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve) 1463 1.1 jruoho { 1464 1.1 jruoho FET0, 4, 1465 1.1 jruoho FET1, 3 1466 1.1 jruoho } 1467 1.1 jruoho 1468 1.1 jruoho Store ("++++++++ Creating IndexField", Debug) 1469 1.1 jruoho IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve) 1470 1.1 jruoho { 1471 1.1 jruoho FET2, 4, 1472 1.1 jruoho FET3, 3 1473 1.1 jruoho } 1474 1.1 jruoho 1475 1.1 jruoho Store ("++++++++ SizeOf (BUFO)", Debug) 1476 1.1 jruoho SizeOf (BUFO) 1477 1.1 jruoho 1478 1.1 jruoho Store ("++++++++ Store (SizeOf (BUFO), Local0)", Debug) 1479 1.1 jruoho Store (SizeOf (BUFO), Local0) 1480 1.1 jruoho 1481 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", \"def\", Local0)", Debug) 1482 1.1 jruoho Concatenate ("abd", "def", Local0) 1483 1.1 jruoho Store (Local0, Debug) 1484 1.1 jruoho 1485 1.1 jruoho Store ("++++++++ Concatenate (\"abd\", 0x7B, Local0)", Debug) 1486 1.1 jruoho Concatenate ("abd", 0x7B, Local0) 1487 1.1 jruoho Store (Local0, Debug) 1488 1.1 jruoho 1489 1.1 jruoho Store ("++++++++ Creating Event EVT2", Debug) 1490 1.1 jruoho Event (EVT2) 1491 1.1 jruoho 1492 1.1 jruoho Store ("++++++++ Creating Mutex MTX2", Debug) 1493 1.1 jruoho Mutex (MTX2, 0) 1494 1.1 jruoho 1495 1.1 jruoho Store ("++++++++ Creating Alias MTXA to MTX2", Debug) 1496 1.1 jruoho Alias (MTX2, MTXA) 1497 1.1 jruoho 1498 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2", Debug) 1499 1.1 jruoho Acquire (MTX2, 0xFFFF) 1500 1.1 jruoho 1501 1.1 jruoho Store ("++++++++ Acquiring Mutex MTX2 (2nd acquire)", Debug) 1502 1.1 jruoho Acquire (MTX2, 1) 1503 1.1 jruoho 1504 1.1 jruoho Store ("++++++++ Releasing Mutex MTX2", Debug) 1505 1.1 jruoho Release (MTX2) 1506 1.1 jruoho 1507 1.1 jruoho // Type 1 opcodes 1508 1.1 jruoho 1509 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug) 1510 1.1 jruoho Signal (EVT2) 1511 1.1 jruoho 1512 1.1 jruoho Store ("++++++++ Resetting Event EVT2", Debug) 1513 1.1 jruoho Reset (EVT2) 1514 1.1 jruoho 1515 1.1 jruoho Store ("++++++++ Signalling Event EVT2", Debug) 1516 1.1 jruoho Signal (EVT2) 1517 1.1 jruoho 1518 1.1 jruoho Store ("++++++++ Waiting Event EVT2", Debug) 1519 1.1 jruoho Wait (EVT2, 0xFFFF) 1520 1.1 jruoho 1521 1.1 jruoho Store ("++++++++ Sleep", Debug) 1522 1.1 jruoho Sleep (100) 1523 1.1 jruoho 1524 1.1 jruoho Store ("++++++++ Stall", Debug) 1525 1.1 jruoho Stall (254) 1526 1.1 jruoho 1527 1.1 jruoho Store ("++++++++ NoOperation", Debug) 1528 1.1 jruoho Noop 1529 1.1 jruoho 1530 1.1 jruoho // Type 2 Opcodes 1531 1.1 jruoho 1532 1.1 jruoho Store ("++++++++ Return from Method OBJ2", Debug) 1533 1.1 jruoho return (4) 1534 1.1 jruoho } 1535 1.1 jruoho 1536 1.1 jruoho 1537 1.1 jruoho Method (NUM1, 0) 1538 1.1 jruoho { 1539 1.1 jruoho /* ADD */ 1540 1.1 jruoho 1541 1.1 jruoho Store ("++++++++ Add (0x12345678, 0x11111111, Local0)", Debug) 1542 1.1 jruoho Add (0x12345678, 0x11111111, Local0) 1543 1.1 jruoho 1544 1.1 jruoho Store ("++++++++ Store (Add (0x12345678, 0x11111111), Local1)", Debug) 1545 1.1 jruoho Store (Add (0x12345678, 0x11111111), Local1) 1546 1.1 jruoho 1547 1.1 jruoho Store ("++++++++ Checking result from ADD", Debug) 1548 1.1 jruoho if (LNotEqual (Local0, Local1)) 1549 1.1 jruoho { 1550 1.1.1.7 christos ERR_ (0, __LINE__) 1551 1.1 jruoho } 1552 1.1 jruoho 1553 1.1 jruoho 1554 1.1 jruoho /* SUBTRACT */ 1555 1.1 jruoho 1556 1.1 jruoho Store ("++++++++ Subtract (0x87654321, 0x11111111, Local4)", Debug) 1557 1.1 jruoho Subtract (0x87654321, 0x11111111, Local4) 1558 1.1 jruoho 1559 1.1 jruoho Store ("++++++++ Store (Subtract (0x87654321, 0x11111111), Local5)", Debug) 1560 1.1 jruoho Store (Subtract (0x87654321, 0x11111111), Local5) 1561 1.1 jruoho 1562 1.1 jruoho Store ("++++++++ Checking result from SUBTRACT", Debug) 1563 1.1 jruoho if (LNotEqual (Local4, Local5)) 1564 1.1 jruoho { 1565 1.1.1.7 christos ERR_ (0, __LINE__) 1566 1.1 jruoho } 1567 1.1 jruoho 1568 1.1 jruoho 1569 1.1 jruoho /* MULTIPLY */ 1570 1.1 jruoho 1571 1.1 jruoho Store ("++++++++ Multiply (33, 10, Local6)", Debug) 1572 1.1 jruoho Multiply (33, 10, Local6) 1573 1.1 jruoho 1574 1.1 jruoho Store ("++++++++ Store (Multiply (33, 10), Local7)", Debug) 1575 1.1 jruoho Store (Multiply (33, 10), Local7) 1576 1.1 jruoho 1577 1.1 jruoho 1578 1.1 jruoho Store ("++++++++ Checking result from MULTIPLY", Debug) 1579 1.1 jruoho if (LNotEqual (Local6, Local7)) 1580 1.1 jruoho { 1581 1.1.1.7 christos ERR_ (0, __LINE__) 1582 1.1 jruoho } 1583 1.1 jruoho 1584 1.1 jruoho 1585 1.1 jruoho /* DIVIDE */ 1586 1.1 jruoho 1587 1.1 jruoho Store ("++++++++ Divide (100, 9, Local1, Local2)", Debug) 1588 1.1 jruoho Divide (100, 9, Local1, Local2) 1589 1.1 jruoho 1590 1.1 jruoho Store ("++++++++ Store (Divide (100, 9), Local3)", Debug) 1591 1.1 jruoho Store (Divide (100, 9), Local3) 1592 1.1 jruoho 1593 1.1 jruoho Store ("++++++++ Checking (quotient) result from DIVIDE", Debug) 1594 1.1 jruoho if (LNotEqual (Local2, Local3)) 1595 1.1 jruoho { 1596 1.1.1.7 christos ERR_ (0, __LINE__) 1597 1.1 jruoho } 1598 1.1 jruoho 1599 1.1 jruoho 1600 1.1 jruoho /* INCREMENT */ 1601 1.1 jruoho 1602 1.1 jruoho Store ("++++++++ Increment (Local0)", Debug) 1603 1.1 jruoho Store (1, Local0) 1604 1.1 jruoho Store (2, Local1) 1605 1.1 jruoho Increment (Local0) 1606 1.1 jruoho 1607 1.1 jruoho Store ("++++++++ Checking result from INCREMENT", Debug) 1608 1.1 jruoho if (LNotEqual (Local0, Local1)) 1609 1.1 jruoho { 1610 1.1.1.7 christos ERR_ (0, __LINE__) 1611 1.1 jruoho } 1612 1.1 jruoho 1613 1.1 jruoho 1614 1.1 jruoho /* DECREMENT */ 1615 1.1 jruoho 1616 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug) 1617 1.1 jruoho Store (2, Local0) 1618 1.1 jruoho Store (1, Local1) 1619 1.1 jruoho Decrement (Local0) 1620 1.1 jruoho 1621 1.1 jruoho Store ("++++++++ Checking result from DECREMENT", Debug) 1622 1.1 jruoho if (LNotEqual (Local0, Local1)) 1623 1.1 jruoho { 1624 1.1.1.7 christos ERR_ (0, __LINE__) 1625 1.1 jruoho } 1626 1.1 jruoho 1627 1.1 jruoho 1628 1.1 jruoho /* TOBCD */ 1629 1.1 jruoho /* FROMBCD */ 1630 1.1 jruoho 1631 1.1 jruoho Store ("++++++++ ToBCD (0x1234, Local5)", Debug) 1632 1.1 jruoho ToBCD (0x1234, Local5) 1633 1.1 jruoho 1634 1.1 jruoho Store ("++++++++ FromBCD (Local5, Local6)", Debug) 1635 1.1 jruoho FromBCD (Local5, Local6) 1636 1.1 jruoho 1637 1.1 jruoho Store ("++++++++ Return (Local6)", Debug) 1638 1.1 jruoho Return (Local6) 1639 1.1 jruoho } 1640 1.1 jruoho 1641 1.1 jruoho 1642 1.1 jruoho Method (CHEK) 1643 1.1 jruoho { 1644 1.1 jruoho 1645 1.1 jruoho Store (3, Local0) 1646 1.1 jruoho Store (3, Debug) 1647 1.1 jruoho Store (Local0, Debug) 1648 1.1 jruoho Store (7, Local1) 1649 1.1 jruoho 1650 1.1 jruoho Add (Local0, Local1) 1651 1.1 jruoho if (LNotEqual (Local0, 3)) 1652 1.1 jruoho { 1653 1.1.1.7 christos ERR_ (2, __LINE__) 1654 1.1 jruoho } 1655 1.1 jruoho if (LNotEqual (Local1, 7)) 1656 1.1 jruoho { 1657 1.1.1.7 christos ERR_ (2, __LINE__) 1658 1.1 jruoho } 1659 1.1 jruoho 1660 1.1 jruoho 1661 1.1 jruoho Add (Local0, Local1, Local2) 1662 1.1 jruoho if (LNotEqual (Local0, 3)) 1663 1.1 jruoho { 1664 1.1.1.7 christos ERR_ (2, __LINE__) 1665 1.1 jruoho } 1666 1.1 jruoho if (LNotEqual (Local1, 7)) 1667 1.1 jruoho { 1668 1.1.1.7 christos ERR_ (2, __LINE__) 1669 1.1 jruoho } 1670 1.1 jruoho } 1671 1.1 jruoho 1672 1.1 jruoho 1673 1.1 jruoho Method (RET1) 1674 1.1 jruoho { 1675 1.1 jruoho Store (3, Local0) 1676 1.1 jruoho Return (Local0) 1677 1.1 jruoho } 1678 1.1 jruoho 1679 1.1 jruoho Method (RET2) 1680 1.1 jruoho { 1681 1.1 jruoho Return (RET1()) 1682 1.1 jruoho } 1683 1.1 jruoho 1684 1.1 jruoho Method (RETZ) 1685 1.1 jruoho { 1686 1.1 jruoho RET2 () 1687 1.1 jruoho } 1688 1.1 jruoho 1689 1.1 jruoho 1690 1.1 jruoho Method (BITZ) 1691 1.1 jruoho { 1692 1.1 jruoho Store ("++++++++ FindSetLeftBit (0x00100100, Local0)", Debug) 1693 1.1 jruoho FindSetLeftBit (0x00100100, Local0) 1694 1.1 jruoho if (LNotEqual (Local0, 21)) 1695 1.1 jruoho { 1696 1.1.1.7 christos ERR_ (1, __LINE__) 1697 1.1 jruoho } 1698 1.1 jruoho 1699 1.1 jruoho Store ("++++++++ FindSetRightBit (0x00100100, Local1)", Debug) 1700 1.1 jruoho FindSetRightBit (0x00100100, Local1) 1701 1.1 jruoho if (LNotEqual (Local1, 9)) 1702 1.1 jruoho { 1703 1.1.1.7 christos ERR_ (1, __LINE__) 1704 1.1 jruoho } 1705 1.1 jruoho 1706 1.1 jruoho Store ("++++++++ And (0xF0F0F0F0, 0x11111111, Local2)", Debug) 1707 1.1 jruoho And (0xF0F0F0F0, 0x11111111, Local2) 1708 1.1 jruoho if (LNotEqual (Local2, 0x10101010)) 1709 1.1 jruoho { 1710 1.1.1.7 christos ERR_ (1, __LINE__) 1711 1.1 jruoho } 1712 1.1 jruoho 1713 1.1 jruoho Store ("++++++++ NAnd (0xF0F0F0F0, 0x11111111, Local3)", Debug) 1714 1.1 jruoho NAnd (0xF0F0F0F0, 0x11111111, Local3) 1715 1.1 jruoho if (LNotEqual (Local3, 0xEFEFEFEF)) 1716 1.1 jruoho { 1717 1.1.1.7 christos ERR_ (1, __LINE__) 1718 1.1 jruoho } 1719 1.1 jruoho 1720 1.1 jruoho Store ("++++++++ Or (0x11111111, 0x22222222, Local4)", Debug) 1721 1.1 jruoho Or (0x11111111, 0x22222222, Local4) 1722 1.1 jruoho if (LNotEqual (Local4, 0x33333333)) 1723 1.1 jruoho { 1724 1.1.1.7 christos ERR_ (1, __LINE__) 1725 1.1 jruoho } 1726 1.1 jruoho 1727 1.1 jruoho Store ("++++++++ NOr (0x11111111, 0x22222222, Local5)", Debug) 1728 1.1 jruoho NOr (0x11111111, 0x22222222, Local5) 1729 1.1 jruoho if (LNotEqual (Local5, 0xCCCCCCCC)) 1730 1.1 jruoho { 1731 1.1.1.7 christos ERR_ (1, __LINE__) 1732 1.1 jruoho } 1733 1.1 jruoho 1734 1.1 jruoho Store ("++++++++ XOr (0x11113333, 0x22222222, Local6)", Debug) 1735 1.1 jruoho XOr (0x11113333, 0x22222222, Local6) 1736 1.1 jruoho if (LNotEqual (Local6, 0x33331111)) 1737 1.1 jruoho { 1738 1.1.1.7 christos ERR_ (1, __LINE__) 1739 1.1 jruoho } 1740 1.1 jruoho 1741 1.1 jruoho Store ("++++++++ ShiftLeft (0x11112222, 2, Local7)", Debug) 1742 1.1 jruoho ShiftLeft (0x11112222, 2, Local7) 1743 1.1 jruoho if (LNotEqual (Local7, 0x44448888)) 1744 1.1 jruoho { 1745 1.1.1.7 christos ERR_ (1, __LINE__) 1746 1.1 jruoho } 1747 1.1 jruoho 1748 1.1 jruoho Store ("++++++++ ShiftRight (Local7, 2, Local7)", Debug) 1749 1.1 jruoho ShiftRight (Local7, 2, Local7) 1750 1.1 jruoho if (LNotEqual (Local7, 0x11112222)) 1751 1.1 jruoho { 1752 1.1.1.7 christos ERR_ (1, __LINE__) 1753 1.1 jruoho } 1754 1.1 jruoho 1755 1.1 jruoho 1756 1.1 jruoho Store ("++++++++ Not (Local0, Local1)", Debug) 1757 1.1 jruoho Store (0x22224444, Local0) 1758 1.1 jruoho Not (Local0, Local1) 1759 1.1 jruoho if (LNotEqual (Local0, 0x22224444)) 1760 1.1 jruoho { 1761 1.1.1.7 christos ERR_ (2, __LINE__) 1762 1.1 jruoho } 1763 1.1 jruoho 1764 1.1 jruoho if (LNotEqual (Local1, 0xDDDDBBBB)) 1765 1.1 jruoho { 1766 1.1.1.7 christos ERR_ (1, __LINE__) 1767 1.1 jruoho } 1768 1.1 jruoho 1769 1.1 jruoho Return (Local7) 1770 1.1 jruoho } 1771 1.1 jruoho 1772 1.1 jruoho 1773 1.1 jruoho Method (LOGS) 1774 1.1 jruoho { 1775 1.1 jruoho 1776 1.1 jruoho Store ("++++++++ Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)", Debug) 1777 1.1 jruoho Store (LAnd (0xFFFFFFFF, 0x11111111), Local0) 1778 1.1 jruoho 1779 1.1 jruoho Store ("++++++++ Store (LEqual (0xFFFFFFFF, 0x11111111), Local)", Debug) 1780 1.1 jruoho Store (LEqual (0xFFFFFFFF, 0x11111111), Local1) 1781 1.1 jruoho 1782 1.1 jruoho Store ("++++++++ Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)", Debug) 1783 1.1 jruoho Store (LGreater (0xFFFFFFFF, 0x11111111), Local2) 1784 1.1 jruoho 1785 1.1 jruoho Store ("++++++++ Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)", Debug) 1786 1.1 jruoho Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3) 1787 1.1 jruoho 1788 1.1 jruoho Store ("++++++++ Store (LLess (0xFFFFFFFF, 0x11111111), Local4)", Debug) 1789 1.1 jruoho Store (LLess (0xFFFFFFFF, 0x11111111), Local4) 1790 1.1 jruoho 1791 1.1 jruoho Store ("++++++++ Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)", Debug) 1792 1.1 jruoho Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5) 1793 1.1 jruoho 1794 1.1 jruoho Store ("++++++++ Store (LNot (0x31313131), Local6)", Debug) 1795 1.1 jruoho Store (0x00001111, Local6) 1796 1.1 jruoho Store (LNot (Local6), Local7) 1797 1.1 jruoho if (LNotEqual (Local6, 0x00001111)) 1798 1.1 jruoho { 1799 1.1.1.7 christos ERR_ (2, __LINE__) 1800 1.1 jruoho } 1801 1.1 jruoho 1802 1.1 jruoho if (LNotEqual (Local7, 0x0)) 1803 1.1 jruoho { 1804 1.1.1.7 christos ERR_ (1, __LINE__) 1805 1.1 jruoho } 1806 1.1 jruoho 1807 1.1 jruoho 1808 1.1 jruoho Store ("++++++++ Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7)", Debug) 1809 1.1 jruoho Store (LNotEqual (0xFFFFFFFF, 0x11111111), Local7) 1810 1.1 jruoho 1811 1.1 jruoho Store ("++++++++ Lor (0x0, 0x1)", Debug) 1812 1.1 jruoho if (Lor (0x0, 0x1)) 1813 1.1 jruoho { 1814 1.1 jruoho Store ("+_+_+_+_+ Lor (0x0, 0x1) returned TRUE", Debug) 1815 1.1 jruoho } 1816 1.1 jruoho 1817 1.1 jruoho return (Local7) 1818 1.1 jruoho } 1819 1.1 jruoho 1820 1.1 jruoho 1821 1.1 jruoho Method (COND) 1822 1.1 jruoho { 1823 1.1 jruoho Store ("++++++++ Store (0x4, Local0)", Debug) 1824 1.1 jruoho Store (0x4, Local0) 1825 1.1 jruoho 1826 1.1 jruoho Store ("++++++++ While (Local0)", Debug) 1827 1.1 jruoho While (Local0) 1828 1.1 jruoho { 1829 1.1 jruoho Store ("++++++++ Decrement (Local0)", Debug) 1830 1.1 jruoho Decrement (Local0) 1831 1.1 jruoho } 1832 1.1 jruoho 1833 1.1 jruoho 1834 1.1 jruoho Store ("++++++++ Store (0x3, Local6)", Debug) 1835 1.1 jruoho Store (0x3, Local6) 1836 1.1 jruoho 1837 1.1 jruoho Store ("++++++++ While (Subtract (Local6, 1))", Debug) 1838 1.1 jruoho While (Subtract (Local6, 1)) 1839 1.1 jruoho { 1840 1.1 jruoho Store ("++++++++ Decrement (Local6)", Debug) 1841 1.1 jruoho Decrement (Local6) 1842 1.1 jruoho } 1843 1.1 jruoho 1844 1.1 jruoho 1845 1.1 jruoho Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug) 1846 1.1 jruoho If (LGreater (0x2, 0x1)) 1847 1.1 jruoho { 1848 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug) 1849 1.1 jruoho If (LEqual (0x11111111, 0x22222222)) 1850 1.1 jruoho { 1851 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug) 1852 1.1 jruoho } 1853 1.1 jruoho 1854 1.1 jruoho else 1855 1.1 jruoho { 1856 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug) 1857 1.1 jruoho If (LNot (0x0)) 1858 1.1 jruoho { 1859 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug) 1860 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2)) 1861 1.1 jruoho { 1862 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug) 1863 1.1 jruoho If (LLess (0x44444444, 0x3)) 1864 1.1 jruoho { 1865 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug) 1866 1.1 jruoho } 1867 1.1 jruoho 1868 1.1 jruoho else 1869 1.1 jruoho { 1870 1.1 jruoho Store ("++++++++ Exiting from nested IF/ELSE statements", Debug) 1871 1.1 jruoho } 1872 1.1 jruoho } 1873 1.1 jruoho } 1874 1.1 jruoho } 1875 1.1 jruoho } 1876 1.1 jruoho 1877 1.1 jruoho 1878 1.1 jruoho Store ("++++++++ [LVL1] If (LGreater (0x2, 0x1))", Debug) 1879 1.1 jruoho If (LGreater (0x2, 0x1)) 1880 1.1 jruoho { 1881 1.1 jruoho Store ("++++++++ [LVL2] If (LEqual (0x11111111, 0x22222222))", Debug) 1882 1.1 jruoho If (LEqual (0x11111111, 0x22222222)) 1883 1.1 jruoho { 1884 1.1 jruoho Store ("++++++++ ERROR: If (LEqual (0x11111111, 0x22222222)) returned TRUE", Debug) 1885 1.1 jruoho } 1886 1.1 jruoho 1887 1.1 jruoho else 1888 1.1 jruoho { 1889 1.1 jruoho Store ("++++++++ [LVL3] If (LNot (0x0))", Debug) 1890 1.1 jruoho If (LNot (0x0)) 1891 1.1 jruoho { 1892 1.1 jruoho Store ("++++++++ [LVL4] If (LAnd (0xEEEEEEEE, 0x2))", Debug) 1893 1.1 jruoho If (LAnd (0xEEEEEEEE, 0x2)) 1894 1.1 jruoho { 1895 1.1 jruoho Store ("++++++++ [LVL5] If (LLess (0x44444444, 0x3))", Debug) 1896 1.1 jruoho If (LLess (0x44444444, 0x3)) 1897 1.1 jruoho { 1898 1.1 jruoho Store ("++++++++ ERROR: If (LLess (0x44444444, 0x3)) returned TRUE", Debug) 1899 1.1 jruoho } 1900 1.1 jruoho 1901 1.1 jruoho else 1902 1.1 jruoho { 1903 1.1 jruoho Store ("++++++++ Returning from nested IF/ELSE statements", Debug) 1904 1.1 jruoho Return (Local6) 1905 1.1 jruoho } 1906 1.1 jruoho } 1907 1.1 jruoho } 1908 1.1 jruoho } 1909 1.1 jruoho } 1910 1.1 jruoho 1911 1.1 jruoho } 1912 1.1 jruoho 1913 1.1 jruoho 1914 1.1.1.3 christos Method (REFS,, Serialized) 1915 1.1 jruoho { 1916 1.1 jruoho Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7}) 1917 1.1 jruoho 1918 1.1 jruoho Name (NEST, Package () 1919 1.1 jruoho { 1920 1.1 jruoho Package () 1921 1.1 jruoho { 1922 1.1 jruoho 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 1923 1.1 jruoho }, 1924 1.1 jruoho Package () 1925 1.1 jruoho { 1926 1.1 jruoho 0x11, 0x12, 0x12, 0x14, 0x15, 0x16 1927 1.1 jruoho } 1928 1.1 jruoho }) 1929 1.1 jruoho 1930 1.1 jruoho Store (RefOf (MAIN), Local5) 1931 1.1 jruoho 1932 1.1 jruoho // For this to work, ABCD must NOT exist. 1933 1.1 jruoho 1934 1.1 jruoho Store (CondRefOf (ABCD, Local0), Local1) 1935 1.1 jruoho if (LNotEqual (Local1, 0)) 1936 1.1 jruoho { 1937 1.1.1.7 christos ERR_ (2, __LINE__) 1938 1.1 jruoho } 1939 1.1 jruoho 1940 1.1 jruoho Store (CondRefOf (BBUF, Local0), Local1) 1941 1.1 jruoho if (LNotEqual (Local1, Ones)) 1942 1.1 jruoho { 1943 1.1.1.7 christos ERR_ (2, __LINE__) 1944 1.1 jruoho } 1945 1.1 jruoho 1946 1.1 jruoho Store (DeRefOf (Index (BBUF, 3)), Local6) 1947 1.1 jruoho if (LNotEqual (Local6, 0xB3)) 1948 1.1 jruoho { 1949 1.1.1.7 christos ERR_ (2, __LINE__) 1950 1.1 jruoho } 1951 1.1 jruoho 1952 1.1 jruoho Store (DeRefOf (Index (DeRefOf (Index (NEST, 1)), 3)), Local0) 1953 1.1 jruoho if (LNotEqual (Local0, 0x14)) 1954 1.1 jruoho { 1955 1.1.1.7 christos ERR_ (2, __LINE__) 1956 1.1 jruoho } 1957 1.1 jruoho 1958 1.1 jruoho 1959 1.1 jruoho Store (0x11223344, Local0) 1960 1.1 jruoho Store (RefOf (Local0), Local1) 1961 1.1 jruoho 1962 1.1 jruoho Store (DerefOf (Local1), Local2) 1963 1.1 jruoho If (LNotEqual (Local2, 0x11223344)) 1964 1.1 jruoho { 1965 1.1.1.7 christos ERR_ (2, __LINE__) 1966 1.1 jruoho } 1967 1.1 jruoho 1968 1.1 jruoho 1969 1.1 jruoho /* Parser thinks this is a method invocation!! */ 1970 1.1 jruoho 1971 1.1 jruoho // RefOf (MAIN) 1972 1.1 jruoho 1973 1.1 jruoho 1974 1.1 jruoho // RefOf (R___) 1975 1.1 jruoho // RefOf (BBUF) 1976 1.1 jruoho 1977 1.1 jruoho // Store (RefOf (Local0), Local1) 1978 1.1 jruoho 1979 1.1 jruoho // CondRefOf (BBUF, Local2) 1980 1.1 jruoho // CondRefOf (R___, Local3) 1981 1.1 jruoho 1982 1.1 jruoho // Store (DerefOf (Local1), Local4) 1983 1.1 jruoho 1984 1.1 jruoho // Return (Local4) 1985 1.1 jruoho } 1986 1.1 jruoho 1987 1.1 jruoho 1988 1.1.1.3 christos Method (INDX, 0, Serialized) 1989 1.1 jruoho { 1990 1.1 jruoho Name(STAT,Package(4){}) 1991 1.1 jruoho Store(0x44443333,Index(STAT,0)) 1992 1.1 jruoho } 1993 1.1 jruoho 1994 1.1 jruoho //================================================================= 1995 1.1 jruoho //================================================================= 1996 1.1 jruoho //===================== iPCO TESTS ================================ 1997 1.1 jruoho //================================================================= 1998 1.1 jruoho //================================================================= 1999 1.1 jruoho // 2000 1.1 jruoho // 2001 1.1 jruoho // test IfElseOp.asl 2002 1.1 jruoho // 2003 1.1 jruoho // test for IfOp and ElseOp, including validation of object stack cleanup 2004 1.1 jruoho // 2005 1.1 jruoho Device (IFEL) 2006 1.1 jruoho { 2007 1.1 jruoho Name (DWRD, 1) 2008 1.1 jruoho Name (RSLT, 0) 2009 1.1 jruoho 2010 1.1 jruoho // IFNR control method executes IfOp branch with NO nested Return 2011 1.1 jruoho // and no Else branch 2012 1.1 jruoho Method (IFNR) 2013 1.1 jruoho { 2014 1.1 jruoho Store (DWRD, RSLT) 2015 1.1 jruoho If (LEqual (DWRD, 1)) 2016 1.1 jruoho { 2017 1.1 jruoho Store (0, RSLT) 2018 1.1 jruoho } 2019 1.1 jruoho } // IFNR 2020 1.1 jruoho 2021 1.1 jruoho // NINR control method does not execute If branch and has no Else branch 2022 1.1 jruoho Method (NINR) 2023 1.1 jruoho { 2024 1.1 jruoho Store (0, RSLT) 2025 1.1 jruoho If (LNotEqual (DWRD, 1)) 2026 1.1 jruoho { 2027 1.1 jruoho Store (DWRD, RSLT) 2028 1.1 jruoho } 2029 1.1 jruoho } // NINR 2030 1.1 jruoho 2031 1.1 jruoho // IENR control method executes IfOp branch with NO nested Return 2032 1.1 jruoho Method (IENR) 2033 1.1 jruoho { 2034 1.1 jruoho If (LEqual (DWRD, 1)) 2035 1.1 jruoho { 2036 1.1 jruoho Store (0, RSLT) 2037 1.1 jruoho } 2038 1.1 jruoho Else 2039 1.1 jruoho { 2040 1.1 jruoho Store (DWRD, RSLT) 2041 1.1 jruoho } 2042 1.1 jruoho } // IENR 2043 1.1 jruoho 2044 1.1 jruoho // ELNR control method executes ElseOp branch with NO nested Return 2045 1.1 jruoho Method (ELNR) 2046 1.1 jruoho { 2047 1.1 jruoho If (LNotEqual (DWRD, 1)) 2048 1.1 jruoho { 2049 1.1 jruoho Store (DWRD, RSLT) 2050 1.1 jruoho } 2051 1.1 jruoho Else 2052 1.1 jruoho { 2053 1.1 jruoho Store (0, RSLT) 2054 1.1 jruoho } 2055 1.1 jruoho } // ELNR 2056 1.1 jruoho 2057 1.1 jruoho // IFRT control method executes IfOp branch with nested Return with 2058 1.1 jruoho // no Else branch 2059 1.1 jruoho Method (IFRT) 2060 1.1 jruoho 2061 1.1 jruoho { 2062 1.1 jruoho If (LEqual (DWRD, 1)) 2063 1.1 jruoho { 2064 1.1 jruoho Return (0) 2065 1.1 jruoho } 2066 1.1 jruoho Return (DWRD) 2067 1.1 jruoho } // IFRT 2068 1.1 jruoho 2069 1.1 jruoho // IERT control method executes IfOp branch with nested Return with 2070 1.1 jruoho // Else branch 2071 1.1 jruoho Method (IERT) 2072 1.1 jruoho { 2073 1.1 jruoho If (LEqual (DWRD, 1)) 2074 1.1 jruoho { 2075 1.1 jruoho Return (0) 2076 1.1 jruoho } 2077 1.1 jruoho Else 2078 1.1 jruoho { 2079 1.1 jruoho Return (DWRD) 2080 1.1 jruoho } 2081 1.1 jruoho } // IERT 2082 1.1 jruoho 2083 1.1 jruoho // ELRT control method executes ElseOp branch with nested Return 2084 1.1 jruoho Method (ELRT) 2085 1.1 jruoho { 2086 1.1 jruoho If (LNotEqual (DWRD, 1)) 2087 1.1 jruoho { 2088 1.1 jruoho Return (DWRD) 2089 1.1 jruoho } 2090 1.1 jruoho Else 2091 1.1 jruoho { 2092 1.1 jruoho Return (0) 2093 1.1 jruoho } 2094 1.1 jruoho } // ELRT 2095 1.1 jruoho 2096 1.1 jruoho Method (TEST) 2097 1.1 jruoho { 2098 1.1 jruoho Store ("++++++++ IfElseOp Test", Debug) 2099 1.1 jruoho 2100 1.1 jruoho // IfOp with NO return value 2101 1.1 jruoho IFNR() 2102 1.1 jruoho If (LNotEqual (RSLT, 0)) 2103 1.1 jruoho { 2104 1.1 jruoho Return (RSLT) 2105 1.1 jruoho } 2106 1.1 jruoho 2107 1.1 jruoho // IfOp with NO return value 2108 1.1 jruoho NINR() 2109 1.1 jruoho If (LNotEqual (RSLT, 0)) 2110 1.1 jruoho { 2111 1.1 jruoho Return (RSLT) 2112 1.1 jruoho } 2113 1.1 jruoho 2114 1.1 jruoho // IfOp with NO return value 2115 1.1 jruoho IENR() 2116 1.1 jruoho If (LNotEqual (RSLT, 0)) 2117 1.1 jruoho { 2118 1.1 jruoho Return (RSLT) 2119 1.1 jruoho } 2120 1.1 jruoho 2121 1.1 jruoho // ElseOp with NO return value 2122 1.1 jruoho ELNR() 2123 1.1 jruoho If (LNotEqual (RSLT, 0)) 2124 1.1 jruoho { 2125 1.1 jruoho Return (RSLT) 2126 1.1 jruoho } 2127 1.1 jruoho 2128 1.1 jruoho // IfOp with return value 2129 1.1 jruoho Store (IFRT, RSLT) 2130 1.1 jruoho If (LNotEqual (RSLT, 0)) 2131 1.1 jruoho { 2132 1.1 jruoho Return (RSLT) 2133 1.1 jruoho } 2134 1.1 jruoho 2135 1.1 jruoho // IfOp with return value 2136 1.1 jruoho Store (IERT, RSLT) 2137 1.1 jruoho If (LNotEqual (RSLT, 0)) 2138 1.1 jruoho { 2139 1.1 jruoho Return (RSLT) 2140 1.1 jruoho } 2141 1.1 jruoho 2142 1.1 jruoho // ElseOp with return value 2143 1.1 jruoho Store (ELRT, RSLT) 2144 1.1 jruoho If (LNotEqual (RSLT, 0)) 2145 1.1 jruoho { 2146 1.1 jruoho Return (RSLT) 2147 1.1 jruoho } 2148 1.1 jruoho 2149 1.1 jruoho Return (0) 2150 1.1 jruoho } // TEST 2151 1.1 jruoho } // IFEL 2152 1.1 jruoho 2153 1.1 jruoho // 2154 1.1 jruoho // test NoSave.asl 2155 1.1 jruoho // 2156 1.1 jruoho // 2157 1.1 jruoho // Internal test cases to validate IfOp (Operator (,,)) where Operator 2158 1.1 jruoho // target is ZeroOp to throw away the results. 2159 1.1 jruoho // Includes internal test cases for logical operators with no destination 2160 1.1 jruoho // operands. 2161 1.1 jruoho // 2162 1.1 jruoho Device (NOSV) 2163 1.1 jruoho { 2164 1.1.1.3 christos Method (TEST,, Serialized) 2165 1.1 jruoho { 2166 1.1 jruoho Store ("++++++++ NoSave Test", Debug) 2167 1.1 jruoho 2168 1.1 jruoho Name (WRD, 0x1234) 2169 1.1 jruoho 2170 1.1 jruoho // 2171 1.1 jruoho // Begin test of nested operators without saving results 2172 1.1 jruoho // 2173 1.1 jruoho 2174 1.1 jruoho // Test If (And ()) with no save of And result 2175 1.1 jruoho If (And (3, 1, )) 2176 1.1 jruoho { 2177 1.1 jruoho Store (1, WRD) // pass -- just do something 2178 1.1 jruoho } 2179 1.1 jruoho else 2180 1.1 jruoho { 2181 1.1 jruoho Return (1) // fail 2182 1.1 jruoho } 2183 1.1 jruoho 2184 1.1 jruoho // Test If (And ()) with no save of And result 2185 1.1 jruoho If (And (4, 1, )) 2186 1.1 jruoho { 2187 1.1 jruoho Return (2) // fail 2188 1.1 jruoho } 2189 1.1 jruoho else 2190 1.1 jruoho { 2191 1.1 jruoho Store (2, WRD) // pass -- just do something 2192 1.1 jruoho } 2193 1.1 jruoho 2194 1.1 jruoho 2195 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result 2196 1.1 jruoho If (NAnd (3, 1, )) 2197 1.1 jruoho { 2198 1.1 jruoho Store (3, WRD) // pass -- just do something 2199 1.1 jruoho } 2200 1.1 jruoho else 2201 1.1 jruoho { 2202 1.1 jruoho Return (3) // fail 2203 1.1 jruoho } 2204 1.1 jruoho 2205 1.1 jruoho // Test If (NAnd ()) with no save of NAnd result 2206 1.1 jruoho If (NAnd (0xFFFFFFFF, 0xFFFFFFFF, )) 2207 1.1 jruoho { 2208 1.1 jruoho Return (4) // fail 2209 1.1 jruoho } 2210 1.1 jruoho else 2211 1.1 jruoho { 2212 1.1 jruoho Store (4, WRD) // pass -- just do something 2213 1.1 jruoho } 2214 1.1 jruoho 2215 1.1 jruoho 2216 1.1 jruoho // Test If (NOr ()) with no save of NOr result 2217 1.1 jruoho If (NOr (0, 1, )) 2218 1.1 jruoho { 2219 1.1 jruoho Store (5, WRD) // pass -- just do something 2220 1.1 jruoho } 2221 1.1 jruoho else 2222 1.1 jruoho { 2223 1.1 jruoho Return (5) // fail 2224 1.1 jruoho } 2225 1.1 jruoho 2226 1.1 jruoho // Test If (NOr ()) with no save of NOr result 2227 1.1 jruoho If (NOr (0xFFFFFFFE, 1, )) 2228 1.1 jruoho { 2229 1.1 jruoho Return (6) // fail 2230 1.1 jruoho } 2231 1.1 jruoho else 2232 1.1 jruoho { 2233 1.1 jruoho Store (6, WRD) // pass -- just do something 2234 1.1 jruoho } 2235 1.1 jruoho 2236 1.1 jruoho 2237 1.1 jruoho // Test If (Not ()) with no save of Not result 2238 1.1 jruoho If (Not (1, )) 2239 1.1 jruoho { 2240 1.1 jruoho Store (7, WRD) // pass -- just do something 2241 1.1 jruoho } 2242 1.1 jruoho else 2243 1.1 jruoho { 2244 1.1 jruoho Return (7) // fail 2245 1.1 jruoho } 2246 1.1 jruoho 2247 1.1 jruoho // Test If (Not ()) with no save of Not result 2248 1.1 jruoho If (Not (0xFFFFFFFF, )) 2249 1.1 jruoho { 2250 1.1 jruoho Return (8) // fail 2251 1.1 jruoho } 2252 1.1 jruoho else 2253 1.1 jruoho { 2254 1.1 jruoho Store (8, WRD) // pass -- just do something 2255 1.1 jruoho } 2256 1.1 jruoho 2257 1.1 jruoho 2258 1.1 jruoho // Test If (Or ()) with no save of Or result 2259 1.1 jruoho If (Or (3, 1, )) 2260 1.1 jruoho { 2261 1.1 jruoho Store (9, WRD) // pass -- just do something 2262 1.1 jruoho } 2263 1.1 jruoho else 2264 1.1 jruoho { 2265 1.1 jruoho Return (9) // fail 2266 1.1 jruoho } 2267 1.1 jruoho 2268 1.1 jruoho // Test If (Or ()) with no save of Or result 2269 1.1 jruoho If (Or (0, 0, )) 2270 1.1 jruoho { 2271 1.1 jruoho Return (10) // fail 2272 1.1 jruoho } 2273 1.1 jruoho else 2274 1.1 jruoho { 2275 1.1 jruoho Store (10, WRD) // pass -- just do something 2276 1.1 jruoho } 2277 1.1 jruoho 2278 1.1 jruoho 2279 1.1 jruoho // Test If (XOr ()) with no save of XOr result 2280 1.1 jruoho If (XOr (3, 1, )) 2281 1.1 jruoho { 2282 1.1 jruoho Store (11, WRD) // pass -- just do something 2283 1.1 jruoho } 2284 1.1 jruoho else 2285 1.1 jruoho { 2286 1.1 jruoho Return (11) // fail 2287 1.1 jruoho } 2288 1.1 jruoho 2289 1.1 jruoho // Test If (XOr ()) with no save of XOr result 2290 1.1 jruoho If (XOr (3, 3, )) 2291 1.1 jruoho { 2292 1.1 jruoho Return (12) // fail 2293 1.1 jruoho } 2294 1.1 jruoho else 2295 1.1 jruoho { 2296 1.1 jruoho Store (12, WRD) // pass -- just do something 2297 1.1 jruoho } 2298 1.1 jruoho 2299 1.1 jruoho 2300 1.1 jruoho // 2301 1.1 jruoho // Begin test of logical operators with no destination operands 2302 1.1 jruoho // 2303 1.1 jruoho 2304 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result 2305 1.1 jruoho If (LAnd (3, 3)) 2306 1.1 jruoho { 2307 1.1 jruoho Store (21, WRD) // pass -- just do something 2308 1.1 jruoho } 2309 1.1 jruoho else 2310 1.1 jruoho { 2311 1.1 jruoho Return (21) // fail 2312 1.1 jruoho } 2313 1.1 jruoho 2314 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result 2315 1.1 jruoho If (LAnd (3, 0)) 2316 1.1 jruoho { 2317 1.1 jruoho Return (22) // fail 2318 1.1 jruoho } 2319 1.1 jruoho else 2320 1.1 jruoho { 2321 1.1 jruoho Store (22, WRD) // pass -- just do something 2322 1.1 jruoho } 2323 1.1 jruoho 2324 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result 2325 1.1 jruoho If (LAnd (0, 3)) 2326 1.1 jruoho { 2327 1.1 jruoho Return (23) // fail 2328 1.1 jruoho } 2329 1.1 jruoho else 2330 1.1 jruoho { 2331 1.1 jruoho Store (23, WRD) // pass -- just do something 2332 1.1 jruoho } 2333 1.1 jruoho 2334 1.1 jruoho // Test If (LAnd ()) with no save of LAnd result 2335 1.1 jruoho If (LAnd (0, 0)) 2336 1.1 jruoho { 2337 1.1 jruoho Return (24) // fail 2338 1.1 jruoho } 2339 1.1 jruoho else 2340 1.1 jruoho { 2341 1.1 jruoho Store (24, WRD) // pass -- just do something 2342 1.1 jruoho } 2343 1.1 jruoho 2344 1.1 jruoho 2345 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result 2346 1.1 jruoho If (LEqual (3, 3)) 2347 1.1 jruoho { 2348 1.1 jruoho Store (31, WRD) // pass -- just do something 2349 1.1 jruoho } 2350 1.1 jruoho else 2351 1.1 jruoho { 2352 1.1 jruoho Return (31) // fail 2353 1.1 jruoho } 2354 1.1 jruoho 2355 1.1 jruoho // Test If (LEqual ()) with no save of LEqual result 2356 1.1 jruoho If (LEqual (1, 3)) 2357 1.1 jruoho { 2358 1.1 jruoho Return (32) // fail 2359 1.1 jruoho } 2360 1.1 jruoho else 2361 1.1 jruoho { 2362 1.1 jruoho Store (32, WRD) // pass -- just do something 2363 1.1 jruoho } 2364 1.1 jruoho 2365 1.1 jruoho 2366 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result 2367 1.1 jruoho If (LGreater (3, 1)) 2368 1.1 jruoho { 2369 1.1 jruoho Store (41, WRD) // pass -- just do something 2370 1.1 jruoho } 2371 1.1 jruoho else 2372 1.1 jruoho { 2373 1.1 jruoho Return (41) // fail 2374 1.1 jruoho } 2375 1.1 jruoho 2376 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result 2377 1.1 jruoho If (LGreater (4, 4)) 2378 1.1 jruoho { 2379 1.1 jruoho Return (42) // fail 2380 1.1 jruoho } 2381 1.1 jruoho else 2382 1.1 jruoho { 2383 1.1 jruoho Store (42, WRD) // pass -- just do something 2384 1.1 jruoho } 2385 1.1 jruoho 2386 1.1 jruoho // Test If (LGreater ()) with no save of LGreater result 2387 1.1 jruoho If (LGreater (1, 4)) 2388 1.1 jruoho { 2389 1.1 jruoho Return (43) // fail 2390 1.1 jruoho } 2391 1.1 jruoho else 2392 1.1 jruoho { 2393 1.1 jruoho Store (43, WRD) // pass -- just do something 2394 1.1 jruoho } 2395 1.1 jruoho 2396 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result 2397 1.1 jruoho If (LGreaterEqual (3, 1)) 2398 1.1 jruoho { 2399 1.1 jruoho Store (44, WRD) // pass -- just do something 2400 1.1 jruoho } 2401 1.1 jruoho else 2402 1.1 jruoho { 2403 1.1 jruoho Return (44) // fail 2404 1.1 jruoho } 2405 1.1 jruoho 2406 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result 2407 1.1 jruoho If (LGreaterEqual (3, 3)) 2408 1.1 jruoho { 2409 1.1 jruoho Store (45, WRD) // pass -- just do something 2410 1.1 jruoho } 2411 1.1 jruoho else 2412 1.1 jruoho { 2413 1.1 jruoho Return (45) // fail 2414 1.1 jruoho } 2415 1.1 jruoho 2416 1.1 jruoho // Test If (LGreaterEqual ()) with no save of LGreaterEqual result 2417 1.1 jruoho If (LGreaterEqual (3, 4)) 2418 1.1 jruoho { 2419 1.1 jruoho Return (46) // fail 2420 1.1 jruoho } 2421 1.1 jruoho else 2422 1.1 jruoho { 2423 1.1 jruoho Store (46, WRD) // pass -- just do something 2424 1.1 jruoho } 2425 1.1 jruoho 2426 1.1 jruoho 2427 1.1 jruoho // Test If (LLess ()) with no save of LLess result 2428 1.1 jruoho If (LLess (1, 3)) 2429 1.1 jruoho { 2430 1.1 jruoho Store (51, WRD) // pass -- just do something 2431 1.1 jruoho } 2432 1.1 jruoho else 2433 1.1 jruoho { 2434 1.1 jruoho Return (51) // fail 2435 1.1 jruoho } 2436 1.1 jruoho 2437 1.1 jruoho // Test If (LLess ()) with no save of LLess result 2438 1.1 jruoho If (LLess (2, 2)) 2439 1.1 jruoho { 2440 1.1 jruoho Return (52) // fail 2441 1.1 jruoho } 2442 1.1 jruoho else 2443 1.1 jruoho { 2444 1.1 jruoho Store (52, WRD) // pass -- just do something 2445 1.1 jruoho } 2446 1.1 jruoho 2447 1.1 jruoho // Test If (LLess ()) with no save of LLess result 2448 1.1 jruoho If (LLess (4, 2)) 2449 1.1 jruoho { 2450 1.1 jruoho Return (53) // fail 2451 1.1 jruoho } 2452 1.1 jruoho else 2453 1.1 jruoho { 2454 1.1 jruoho Store (53, WRD) // pass -- just do something 2455 1.1 jruoho } 2456 1.1 jruoho 2457 1.1 jruoho 2458 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result 2459 1.1 jruoho If (LLessEqual (1, 3)) 2460 1.1 jruoho { 2461 1.1 jruoho Store (54, WRD) // pass -- just do something 2462 1.1 jruoho } 2463 1.1 jruoho else 2464 1.1 jruoho { 2465 1.1 jruoho Return (54) // fail 2466 1.1 jruoho } 2467 1.1 jruoho 2468 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result 2469 1.1 jruoho If (LLessEqual (2, 2)) 2470 1.1 jruoho { 2471 1.1 jruoho Store (55, WRD) // pass -- just do something 2472 1.1 jruoho } 2473 1.1 jruoho else 2474 1.1 jruoho { 2475 1.1 jruoho Return (55) // fail 2476 1.1 jruoho } 2477 1.1 jruoho 2478 1.1 jruoho // Test If (LLessEqual ()) with no save of LLessEqual result 2479 1.1 jruoho If (LLessEqual (4, 2)) 2480 1.1 jruoho { 2481 1.1 jruoho Return (56) // fail 2482 1.1 jruoho } 2483 1.1 jruoho else 2484 1.1 jruoho { 2485 1.1 jruoho Store (56, WRD) // pass -- just do something 2486 1.1 jruoho } 2487 1.1 jruoho 2488 1.1 jruoho 2489 1.1 jruoho // Test If (LNot ()) with no save of LNot result 2490 1.1 jruoho If (LNot (0)) 2491 1.1 jruoho { 2492 1.1 jruoho Store (61, WRD) // pass -- just do something 2493 1.1 jruoho } 2494 1.1 jruoho else 2495 1.1 jruoho { 2496 1.1 jruoho Return (61) // fail 2497 1.1 jruoho } 2498 1.1 jruoho 2499 1.1 jruoho // Test If (LNot ()) with no save of LNot result 2500 1.1 jruoho If (LNot (1)) 2501 1.1 jruoho { 2502 1.1 jruoho Return (62) // fail 2503 1.1 jruoho } 2504 1.1 jruoho else 2505 1.1 jruoho { 2506 1.1 jruoho Store (62, WRD) // pass -- just do something 2507 1.1 jruoho } 2508 1.1 jruoho 2509 1.1 jruoho 2510 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result 2511 1.1 jruoho If (LNotEqual (3, 3)) 2512 1.1 jruoho { 2513 1.1 jruoho Return (63) // fail 2514 1.1 jruoho } 2515 1.1 jruoho else 2516 1.1 jruoho { 2517 1.1 jruoho Store (63, WRD) // pass -- just do something 2518 1.1 jruoho } 2519 1.1 jruoho 2520 1.1 jruoho // Test If (LNotEqual ()) with no save of LNotEqual result 2521 1.1 jruoho If (LNotEqual (1, 3)) 2522 1.1 jruoho { 2523 1.1 jruoho Store (64, WRD) // pass -- just do something 2524 1.1 jruoho } 2525 1.1 jruoho else 2526 1.1 jruoho { 2527 1.1 jruoho Return (64) // fail 2528 1.1 jruoho } 2529 1.1 jruoho 2530 1.1 jruoho 2531 1.1 jruoho // Test If (LOr ()) with no save of LOr result 2532 1.1 jruoho If (LOr (3, 1)) 2533 1.1 jruoho { 2534 1.1 jruoho Store (71, WRD) // pass -- just do something 2535 1.1 jruoho } 2536 1.1 jruoho else 2537 1.1 jruoho { 2538 1.1 jruoho Return (71) // fail 2539 1.1 jruoho } 2540 1.1 jruoho 2541 1.1 jruoho // Test If (LOr ()) with no save of LOr result 2542 1.1 jruoho If (LOr (0, 1)) 2543 1.1 jruoho { 2544 1.1 jruoho Store (72, WRD) // pass -- just do something 2545 1.1 jruoho } 2546 1.1 jruoho else 2547 1.1 jruoho { 2548 1.1 jruoho Return (72) // fail 2549 1.1 jruoho } 2550 1.1 jruoho 2551 1.1 jruoho // Test If (LOr ()) with no save of LOr result 2552 1.1 jruoho If (LOr (3, 0)) 2553 1.1 jruoho { 2554 1.1 jruoho Store (73, WRD) // pass -- just do something 2555 1.1 jruoho } 2556 1.1 jruoho else 2557 1.1 jruoho { 2558 1.1 jruoho Return (73) // fail 2559 1.1 jruoho } 2560 1.1 jruoho 2561 1.1 jruoho // Test If (LOr ()) with no save of LOr result 2562 1.1 jruoho If (LOr (0, 0)) 2563 1.1 jruoho { 2564 1.1 jruoho Return (74) // fail 2565 1.1 jruoho } 2566 1.1 jruoho else 2567 1.1 jruoho { 2568 1.1 jruoho Store (74, WRD) // pass -- just do something 2569 1.1 jruoho } 2570 1.1 jruoho 2571 1.1 jruoho Return (0) 2572 1.1 jruoho } // TEST 2573 1.1 jruoho } // NOSV 2574 1.1 jruoho 2575 1.1 jruoho 2576 1.1 jruoho // 2577 1.1 jruoho // test IndxFld.asl 2578 1.1 jruoho // 2579 1.1 jruoho // IndexFld test 2580 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases. 2581 1.1 jruoho // Tests index field element AccessAs macro. 2582 1.1 jruoho // 2583 1.1 jruoho Device (IDXF) 2584 1.1 jruoho { // Test device name 2585 1.1 jruoho 2586 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2) 2587 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve) 2588 1.1 jruoho { 2589 1.1 jruoho INDX, 8, 2590 1.1 jruoho DATA, 8 2591 1.1 jruoho } 2592 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes) 2593 1.1 jruoho { 2594 1.1 jruoho AccessAs (ByteAcc, 0), 2595 1.1 jruoho IFE0, 8, 2596 1.1 jruoho IFE1, 8, 2597 1.1 jruoho IFE2, 8, 2598 1.1 jruoho IFE3, 8, 2599 1.1 jruoho IFE4, 8, 2600 1.1 jruoho IFE5, 8, 2601 1.1 jruoho IFE6, 8, 2602 1.1 jruoho IFE7, 8, 2603 1.1 jruoho IFE8, 8, 2604 1.1 jruoho IFE9, 8, 2605 1.1 jruoho } 2606 1.1 jruoho 2607 1.1 jruoho Method (TEST) 2608 1.1 jruoho { 2609 1.1 jruoho Store ("++++++++ IndxFld Test", Debug) 2610 1.1 jruoho 2611 1.1 jruoho Store (IFE0, Local0) 2612 1.1 jruoho Store (IFE1, Local1) 2613 1.1 jruoho Store (IFE2, Local2) 2614 1.1 jruoho 2615 1.1 jruoho Return (0) 2616 1.1 jruoho } // TEST 2617 1.1 jruoho } // IDXF 2618 1.1 jruoho 2619 1.1 jruoho // 2620 1.1 jruoho // test NestdLor.asl 2621 1.1 jruoho // 2622 1.1 jruoho Scope (\_SB) // System Bus 2623 1.1 jruoho { // _SB system bus 2624 1.1 jruoho 2625 1.1 jruoho Name (ZER0, 0) 2626 1.1 jruoho Name (ZER1, 0) 2627 1.1 jruoho Name (ZER2, 0) 2628 1.1 jruoho Name (ONE0, 1) 2629 1.1 jruoho 2630 1.1 jruoho Device (NSTL) 2631 1.1 jruoho { 2632 1.1 jruoho Method (TEST) 2633 1.1 jruoho { 2634 1.1 jruoho Store ("++++++++ NestdLor Test", Debug) 2635 1.1 jruoho 2636 1.1 jruoho If (Lor (ZER0, Lor (ZER1, Lor (ZER2, ONE0)))) 2637 1.1 jruoho { // Indicate Pass 2638 1.1 jruoho Store (0x00, Local0) 2639 1.1 jruoho } 2640 1.1 jruoho 2641 1.1 jruoho Else 2642 1.1 jruoho { // Indicate Fail 2643 1.1 jruoho Store (0x01, Local0) 2644 1.1 jruoho } 2645 1.1 jruoho 2646 1.1 jruoho Return (Local0) 2647 1.1 jruoho } // End Method TEST 2648 1.1 jruoho } // Device NSTL 2649 1.1 jruoho } // _SB system bus 2650 1.1 jruoho 2651 1.1 jruoho // 2652 1.1 jruoho // test RetBuf.asl 2653 1.1 jruoho // 2654 1.1 jruoho // Test ReturnOp(Buffer) 2655 1.1 jruoho // This is required to support Control Method Batteries on 2656 1.1 jruoho // Dell Latitude Laptops (e.g., CP1-A) 2657 1.1 jruoho // 2658 1.1 jruoho Device (RTBF) 2659 1.1 jruoho { 2660 1.1 jruoho Method (SUBR, 1) 2661 1.1 jruoho { 2662 1.1 jruoho Return (Arg0) 2663 1.1 jruoho } 2664 1.1 jruoho 2665 1.1.1.3 christos Method (RBUF,, Serialized) 2666 1.1 jruoho { // RBUF: Return Buffer from local variable 2667 1.1 jruoho Name (ABUF, Buffer() {"ARBITRARY_BUFFER"}) 2668 1.1 jruoho 2669 1.1 jruoho // store local buffer ABUF into Local0 2670 1.1 jruoho Store (ABUF, Local0) 2671 1.1 jruoho 2672 1.1 jruoho // save Local0 object type value into Local1 2673 1.1 jruoho Store (ObjectType (Local0), Local1) 2674 1.1 jruoho 2675 1.1 jruoho // validate Local0 is a Buffer 2676 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3 2677 1.1 jruoho { 2678 1.1 jruoho Return (1) // failure 2679 1.1 jruoho } 2680 1.1 jruoho 2681 1.1 jruoho // store value returned by control method SUBR into Local0 2682 1.1 jruoho Store (SUBR (ABUF), Local0) 2683 1.1 jruoho 2684 1.1 jruoho // save Local0 object type value into Local1 2685 1.1 jruoho Store (ObjectType (Local0), Local1) 2686 1.1 jruoho 2687 1.1 jruoho // validate Local0 is a Buffer 2688 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3 2689 1.1 jruoho { 2690 1.1 jruoho Return (2) // failure 2691 1.1 jruoho } 2692 1.1 jruoho 2693 1.1 jruoho // allocate buffer using Local1 as buffer size (run-time evaluation) 2694 1.1 jruoho Store (5, Local1) 2695 1.1 jruoho Name (BUFR, Buffer(Local1) {}) 2696 1.1 jruoho 2697 1.1 jruoho // store value returned by control method SUBR into Local0 2698 1.1 jruoho Store (SUBR (BUFR), Local0) 2699 1.1 jruoho 2700 1.1 jruoho // save Local0 object type value into Local1 2701 1.1 jruoho Store (ObjectType (Local0), Local1) 2702 1.1 jruoho 2703 1.1 jruoho // validate Local0 is a Buffer 2704 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3 2705 1.1 jruoho { 2706 1.1 jruoho Return (3) // failure 2707 1.1 jruoho } 2708 1.1 jruoho 2709 1.1 jruoho // store BUFR Buffer into Local0 2710 1.1 jruoho Store (BUFR, Local0) 2711 1.1 jruoho 2712 1.1 jruoho // save Local0 object type value into Local1 2713 1.1 jruoho Store (ObjectType (Local0), Local1) 2714 1.1 jruoho 2715 1.1 jruoho // validate Local0 is a Buffer 2716 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3 2717 1.1 jruoho { 2718 1.1 jruoho Return (4) // failure 2719 1.1 jruoho } 2720 1.1 jruoho 2721 1.1 jruoho 2722 1.1 jruoho // return Local0 Buffer 2723 1.1 jruoho Return (Local0) 2724 1.1 jruoho } // RBUF 2725 1.1 jruoho 2726 1.1 jruoho Method (TEST) 2727 1.1 jruoho { 2728 1.1 jruoho Store ("++++++++ RetBuf Test", Debug) 2729 1.1 jruoho 2730 1.1 jruoho // store RBUF Buffer return value into Local0 2731 1.1 jruoho Store (RBUF, Local0) 2732 1.1 jruoho 2733 1.1 jruoho // save Local0 object type value into Local1 2734 1.1 jruoho Store (ObjectType (Local0), Local1) 2735 1.1 jruoho 2736 1.1 jruoho // validate Local0 is a Buffer 2737 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer type is 3 2738 1.1 jruoho { 2739 1.1 jruoho Return (10) // failure 2740 1.1 jruoho } 2741 1.1 jruoho Else 2742 1.1 jruoho { 2743 1.1 jruoho Return (0) // success 2744 1.1 jruoho } 2745 1.1 jruoho } // TEST 2746 1.1 jruoho } // RTBF 2747 1.1 jruoho 2748 1.1 jruoho // 2749 1.1 jruoho // test RetLVal.asl 2750 1.1 jruoho // 2751 1.1 jruoho // Test ReturnOp(Lvalue) 2752 1.1 jruoho // This is required to support _PSR on IBM ThinkPad 560D and 2753 1.1 jruoho // _DCK on Toshiba Tecra 8000. 2754 1.1 jruoho // 2755 1.1 jruoho 2756 1.1 jruoho Device (GPE2) 2757 1.1 jruoho { 2758 1.1 jruoho Method (_L03) 2759 1.1 jruoho { 2760 1.1 jruoho Store ("Method GPE2._L03 invoked", Debug) 2761 1.1 jruoho Return () 2762 1.1 jruoho } 2763 1.1 jruoho 2764 1.1 jruoho Method (_E05) 2765 1.1 jruoho { 2766 1.1 jruoho Store ("Method GPE2._E05 invoked", Debug) 2767 1.1 jruoho Return () 2768 1.1 jruoho } 2769 1.1 jruoho } 2770 1.1 jruoho 2771 1.1 jruoho Device (PRW2) 2772 1.1 jruoho { 2773 1.1 jruoho Name (_PRW, Package(2) {Package(2){\GPE2, 0x05}, 3}) 2774 1.1 jruoho } 2775 1.1 jruoho 2776 1.1 jruoho 2777 1.1 jruoho Scope (\_GPE) 2778 1.1 jruoho { 2779 1.1 jruoho Name (ACST, 0xFF) 2780 1.1 jruoho 2781 1.1 jruoho Method (_L08) 2782 1.1 jruoho { 2783 1.1 jruoho Store ("Method _GPE._L08 invoked", Debug) 2784 1.1 jruoho Return () 2785 1.1 jruoho } 2786 1.1 jruoho 2787 1.1 jruoho Method (_E09) 2788 1.1 jruoho { 2789 1.1 jruoho Store ("Method _GPE._E09 invoked", Debug) 2790 1.1 jruoho Return () 2791 1.1 jruoho } 2792 1.1 jruoho 2793 1.1 jruoho Method (_E11) 2794 1.1 jruoho { 2795 1.1 jruoho Store ("Method _GPE._E11 invoked", Debug) 2796 1.1 jruoho Notify (\PRW1, 2) 2797 1.1 jruoho } 2798 1.1 jruoho 2799 1.1 jruoho Method (_L22) 2800 1.1 jruoho { 2801 1.1 jruoho Store ("Method _GPE._L22 invoked", Debug) 2802 1.1 jruoho Return () 2803 1.1 jruoho } 2804 1.1 jruoho 2805 1.1 jruoho Method (_L33) 2806 1.1 jruoho { 2807 1.1 jruoho Store ("Method _GPE._L33 invoked", Debug) 2808 1.1 jruoho Return () 2809 1.1 jruoho } 2810 1.1 jruoho 2811 1.1 jruoho Method (_E64) 2812 1.1 jruoho { 2813 1.1 jruoho Store ("Method _GPE._E64 invoked", Debug) 2814 1.1 jruoho Return () 2815 1.1 jruoho } 2816 1.1 jruoho 2817 1.1 jruoho } // _GPE 2818 1.1 jruoho 2819 1.1 jruoho Device (PRW1) 2820 1.1 jruoho { 2821 1.1 jruoho Name (_PRW, Package(2) {0x11, 3}) 2822 1.1 jruoho } 2823 1.1 jruoho 2824 1.1 jruoho Device (PWRB) 2825 1.1 jruoho { 2826 1.1 jruoho Name (_HID, EISAID("PNP0C0C")) 2827 1.1 jruoho Name (_PRW, Package(2) {0x33, 3}) 2828 1.1 jruoho } 2829 1.1 jruoho 2830 1.1 jruoho 2831 1.1 jruoho Scope (\_SB) // System Bus 2832 1.1 jruoho { // _SB system bus 2833 1.1 jruoho 2834 1.1 jruoho Device (ACAD) 2835 1.1 jruoho { // ACAD: AC adapter device 2836 1.1 jruoho Name (_HID, "ACPI0003") // AC adapter device 2837 1.1 jruoho 2838 1.1 jruoho Name (_PCL, Package () {\_SB}) 2839 1.1 jruoho 2840 1.1 jruoho OperationRegion (AREG, SystemIO, 0x0372, 2) 2841 1.1 jruoho Field (AREG, ByteAcc, NoLock, Preserve) 2842 1.1 jruoho { 2843 1.1 jruoho AIDX, 8, 2844 1.1 jruoho ADAT, 8 2845 1.1 jruoho } 2846 1.1 jruoho IndexField (AIDX, ADAT, ByteAcc, NoLock, Preserve) 2847 1.1 jruoho { 2848 1.1 jruoho , 1, // skips 2849 1.1 jruoho ACIN, 1, 2850 1.1 jruoho , 2, // skips 2851 1.1 jruoho CHAG, 1, 2852 1.1 jruoho , 3, // skips 2853 1.1 jruoho , 7, // skips 2854 1.1 jruoho ABAT, 1, 2855 1.1 jruoho } // IndexField 2856 1.1 jruoho 2857 1.1 jruoho Method (_PSR) 2858 1.1 jruoho { 2859 1.1 jruoho Store (\_GPE.ACST, Local0) 2860 1.1 jruoho Store (ACIN, Local1) 2861 1.1 jruoho If (LNotEqual (\_GPE.ACST, Local1)) 2862 1.1 jruoho { 2863 1.1 jruoho Store (Local1, \_GPE.ACST) 2864 1.1 jruoho // This Notify is commented because it causes a 2865 1.1 jruoho // method error when running on a system without the 2866 1.1 jruoho // specific device. 2867 1.1 jruoho // Notify (\_SB_.ACAD, 0) 2868 1.1 jruoho } 2869 1.1 jruoho Return (Local0) 2870 1.1 jruoho } // _PSR 2871 1.1 jruoho 2872 1.1 jruoho Method (_STA) 2873 1.1 jruoho { 2874 1.1 jruoho Return (0x0F) 2875 1.1 jruoho } 2876 1.1 jruoho 2877 1.1 jruoho Method (_INI) 2878 1.1 jruoho { 2879 1.1 jruoho Store (ACIN, \_GPE.ACST) 2880 1.1 jruoho } 2881 1.1 jruoho } // ACAD: AC adapter device 2882 1.1 jruoho 2883 1.1 jruoho // test implicit return from control method 2884 1.1 jruoho Method (DIS_, 1) 2885 1.1 jruoho { 2886 1.1 jruoho Store (Arg0, Local0) 2887 1.1 jruoho } 2888 1.1 jruoho 2889 1.1 jruoho Device (RTLV) 2890 1.1 jruoho { 2891 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue 2892 1.1 jruoho Method (_DCK, 1) 2893 1.1 jruoho // Arg0: 1 == dock, 0 == undock 2894 1.1 jruoho { 2895 1.1 jruoho If (Arg0) 2896 1.1 jruoho { // dock 2897 1.1 jruoho Store (0x87, Local0) 2898 1.1 jruoho 2899 1.1 jruoho If (Local0) 2900 1.1 jruoho { 2901 1.1 jruoho DIS_ (0x23) 2902 1.1 jruoho Return (1) 2903 1.1 jruoho } 2904 1.1 jruoho 2905 1.1 jruoho Return (0) 2906 1.1 jruoho } // dock 2907 1.1 jruoho Else 2908 1.1 jruoho { // undock 2909 1.1 jruoho Store (Arg0, Local0) 2910 1.1 jruoho 2911 1.1 jruoho If (Local0) 2912 1.1 jruoho { 2913 1.1 jruoho DIS_ (0x23) 2914 1.1 jruoho Return (1) 2915 1.1 jruoho } 2916 1.1 jruoho 2917 1.1 jruoho Return (0) 2918 1.1 jruoho } // undock 2919 1.1 jruoho } // _DCK control method 2920 1.1 jruoho 2921 1.1 jruoho Method (TEST) 2922 1.1 jruoho { 2923 1.1 jruoho Store ("++++++++ RetLVal Test", Debug) 2924 1.1 jruoho 2925 1.1 jruoho // store _PSR return value into Local0 2926 1.1 jruoho Store (\_SB_.ACAD._PSR, Local0) 2927 1.1 jruoho 2928 1.1 jruoho // save Local0 object type value into Local1 2929 1.1 jruoho Store (ObjectType (Local0), Local1) 2930 1.1 jruoho 2931 1.1 jruoho // validate Local0 is a Number 2932 1.1 jruoho If (LNotEqual (Local1, 1)) // Number/Integer type is 1 2933 1.1 jruoho { 2934 1.1 jruoho Return (1) // failure 2935 1.1 jruoho } 2936 1.1 jruoho 2937 1.1 jruoho // test implicit return inside nested if with explicit return of Lvalue 2938 1.1 jruoho Store (_DCK (1), Local2) 2939 1.1 jruoho 2940 1.1 jruoho // save Local2 object type value into Local3 2941 1.1 jruoho Store (ObjectType (Local2), Local3) 2942 1.1 jruoho 2943 1.1 jruoho // validate Local2 is a Number 2944 1.1 jruoho If (LNotEqual (Local3, 1)) // Number/Integer type is 1 2945 1.1 jruoho { 2946 1.1 jruoho Return (2) // failure 2947 1.1 jruoho } 2948 1.1 jruoho 2949 1.1 jruoho If (LNotEqual (Local2, 1)) 2950 1.1 jruoho { 2951 1.1 jruoho Return (3) // failure 2952 1.1 jruoho } 2953 1.1 jruoho 2954 1.1 jruoho Return (0) // success 2955 1.1 jruoho } // TEST 2956 1.1 jruoho } // RTLV 2957 1.1 jruoho } // _SB system bus 2958 1.1 jruoho 2959 1.1 jruoho // 2960 1.1 jruoho // test RetPkg.asl 2961 1.1 jruoho // 2962 1.1 jruoho // Test ReturnOp(Package) 2963 1.1 jruoho // This is required to support _PRT on Dell Optiplex Workstations (e.g. GX1) 2964 1.1 jruoho // 2965 1.1 jruoho 2966 1.1 jruoho Scope (\_SB) // System Bus 2967 1.1 jruoho { // _SB system bus 2968 1.1 jruoho Device(LNKA) 2969 1.1 jruoho { 2970 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link 2971 1.1 jruoho Name (_UID, 1) 2972 1.1 jruoho } 2973 1.1 jruoho Device(LNKB) 2974 1.1 jruoho { 2975 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link 2976 1.1 jruoho Name (_UID, 2) 2977 1.1 jruoho } 2978 1.1 jruoho Device(LNKC) 2979 1.1 jruoho { 2980 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link 2981 1.1 jruoho Name (_UID, 3) 2982 1.1 jruoho } 2983 1.1 jruoho Device(LNKD) 2984 1.1 jruoho { 2985 1.1 jruoho Name (_HID, EISAID("PNP0C0F")) // PCI interrupt link 2986 1.1 jruoho Name (_UID, 4) 2987 1.1 jruoho } 2988 1.1 jruoho 2989 1.1 jruoho Device (PCI1) 2990 1.1 jruoho { // PCI1: Root PCI Bus 2991 1.1 jruoho Name (_HID, "PNP0A03") // Need _HID for root device (String format) 2992 1.1 jruoho Name (_ADR,0x00000000) 2993 1.1 jruoho Name (_CRS,0) 2994 1.1 jruoho 2995 1.1 jruoho Name (_PRT, Package () 2996 1.1 jruoho { 2997 1.1 jruoho Package () {0x0004ffff, 0, LNKA, 0}, // Slot 1, INTA 2998 1.1 jruoho Package () {0x0004ffff, 1, LNKB, 0}, // Slot 1, INTB 2999 1.1 jruoho Package () {0x0004ffff, 2, LNKC, 0}, // Slot 1, INTC 3000 1.1 jruoho Package () {0x0004ffff, 3, LNKD, 0}, // Slot 1, INTD 3001 1.1 jruoho Package () {0x0005ffff, 0, \_SB_.LNKB, 0}, // Slot 2, INTA 3002 1.1 jruoho Package () {0x0005ffff, 1, \_SB_.LNKC, 0}, // Slot 2, INTB 3003 1.1 jruoho Package () {0x0005ffff, 2, \_SB_.LNKD, 0}, // Slot 2, INTC 3004 1.1 jruoho Package () {0x0006ffff, 3, \_SB_.LNKA, 0}, // Slot 2, INTD 3005 1.1 jruoho Package () {0x0006ffff, 0, LNKC, 0}, // Slot 3, INTA 3006 1.1 jruoho Package () {0x0006ffff, 1, LNKD, 0}, // Slot 3, INTB 3007 1.1 jruoho Package () {0x0006ffff, 2, LNKA, 0}, // Slot 3, INTC 3008 1.1 jruoho Package () {0x0006ffff, 3, LNKB, 0}, // Slot 3, INTD 3009 1.1 jruoho }) 3010 1.1 jruoho 3011 1.1 jruoho Device (PX40) 3012 1.1 jruoho { // Map f0 space, Start PX40 3013 1.1 jruoho Name (_ADR,0x00070000) // Address+function. 3014 1.1 jruoho } 3015 1.1 jruoho } // PCI0: Root PCI Bus 3016 1.1 jruoho 3017 1.1 jruoho Device (RETP) 3018 1.1 jruoho { 3019 1.1 jruoho Method (RPKG) 3020 1.1 jruoho { // RPKG: Return Package from local variable 3021 1.1 jruoho 3022 1.1 jruoho // store _PRT package into Local0 3023 1.1 jruoho Store (\_SB_.PCI1._PRT, Local0) 3024 1.1 jruoho 3025 1.1 jruoho // return Local0 Package 3026 1.1 jruoho Return (Local0) 3027 1.1 jruoho } // RPKG 3028 1.1 jruoho 3029 1.1 jruoho Method (TEST) 3030 1.1 jruoho { 3031 1.1 jruoho Store ("++++++++ RetPkg Test", Debug) 3032 1.1 jruoho 3033 1.1 jruoho // store RPKG package return value into Local0 3034 1.1 jruoho Store (RPKG, Local0) 3035 1.1 jruoho 3036 1.1 jruoho // save Local0 object type value into Local1 3037 1.1 jruoho Store (ObjectType (Local0), Local1) 3038 1.1 jruoho 3039 1.1 jruoho // validate Local0 is a Package 3040 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4 3041 1.1 jruoho { Return (1) } // failure 3042 1.1 jruoho Else 3043 1.1 jruoho { Return (0) } // success 3044 1.1 jruoho } // TEST 3045 1.1 jruoho } // RETP 3046 1.1 jruoho } // _SB_ 3047 1.1 jruoho 3048 1.1 jruoho // 3049 1.1 jruoho // test WhileRet.asl 3050 1.1 jruoho // 3051 1.1 jruoho // WhileRet.asl tests a ReturnOp nested in a IfOp nested in a WhileOp. 3052 1.1 jruoho // 3053 1.1 jruoho Device (WHLR) 3054 1.1 jruoho { 3055 1.1 jruoho Name (LCNT, 0) 3056 1.1 jruoho Method (WIR) 3057 1.1 jruoho { // WIR: control method that returns inside of IfOp inside of WhileOp 3058 1.1 jruoho While (LLess (LCNT, 4)) 3059 1.1 jruoho { 3060 1.1 jruoho If (LEqual (LCNT, 2)) 3061 1.1 jruoho { 3062 1.1 jruoho Return (0) 3063 1.1 jruoho } 3064 1.1 jruoho 3065 1.1 jruoho Increment (LCNT) 3066 1.1 jruoho } 3067 1.1 jruoho 3068 1.1 jruoho Return (LCNT) 3069 1.1 jruoho } // WIR: control method that returns inside of IfOp inside of WhileOp 3070 1.1 jruoho 3071 1.1 jruoho Method (TEST) 3072 1.1 jruoho { 3073 1.1 jruoho Store ("++++++++ WhileRet Test", Debug) 3074 1.1 jruoho 3075 1.1 jruoho Store (WIR, Local0) 3076 1.1 jruoho 3077 1.1 jruoho Return (Local0) 3078 1.1 jruoho } // TEST 3079 1.1 jruoho } // WHLR 3080 1.1 jruoho 3081 1.1 jruoho // 3082 1.1 jruoho // test AndOrOp.asl 3083 1.1 jruoho // 3084 1.1 jruoho //This code tests the bitwise AndOp and OrOp Operator terms 3085 1.1 jruoho // 3086 1.1 jruoho //Syntax of Andop term 3087 1.1 jruoho //And - Bitwise And 3088 1.1 jruoho //AndTerm := And( 3089 1.1 jruoho // Source1, //TermArg=>Integer 3090 1.1 jruoho // Source2, //TermArg=>Integer 3091 1.1 jruoho // Result //Nothing | SuperName 3092 1.1 jruoho //) => Integer 3093 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, 3094 1.1 jruoho // a bit-wise AND is performed, and the result is optionally 3095 1.1 jruoho //stored into Result. 3096 1.1 jruoho // 3097 1.1 jruoho // 3098 1.1 jruoho //Syntax of OrOp 3099 1.1 jruoho //Or - Bit-wise Or 3100 1.1 jruoho //OrTerm := Or( 3101 1.1 jruoho // Source1, //TermArg=>Integer 3102 1.1 jruoho // Source2 //TermArg=>Integer 3103 1.1 jruoho // Result //Nothing | SuperName 3104 1.1 jruoho //) => Integer 3105 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, 3106 1.1 jruoho // a bit-wide OR is performed, and the result is optionally 3107 1.1 jruoho //stored in Result 3108 1.1 jruoho // 3109 1.1 jruoho Device (ANDO) 3110 1.1 jruoho { 3111 1.1 jruoho OperationRegion (TMEM, SystemMemory, 0xC4, 0x02) 3112 1.1 jruoho Field (TMEM, ByteAcc, NoLock, Preserve) 3113 1.1 jruoho { 3114 1.1 jruoho , 3, 3115 1.1 jruoho TOUD, 13 3116 1.1 jruoho } 3117 1.1 jruoho 3118 1.1 jruoho //Create System Memory Operation Region and field overlays 3119 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 3120 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 3121 1.1 jruoho { 3122 1.1 jruoho SMDW, 32, // 32-bit DWORD 3123 1.1 jruoho SMWD, 16, // 16-bit WORD 3124 1.1 jruoho SMBY, 8, // 8-bit BYTE 3125 1.1 jruoho }// Field(RAM) 3126 1.1 jruoho 3127 1.1 jruoho 3128 1.1 jruoho //And with Byte Data 3129 1.1 jruoho Name (BYT1, 0xff) 3130 1.1 jruoho Name (BYT2, 0xff) 3131 1.1 jruoho Name (BRSL, 0x00) 3132 1.1 jruoho 3133 1.1 jruoho //And with Word Data 3134 1.1 jruoho Name (WRD1, 0xffff) 3135 1.1 jruoho Name (WRD2, 0xffff) 3136 1.1 jruoho Name (WRSL, 0x0000) 3137 1.1 jruoho 3138 1.1 jruoho //And with DWord Data 3139 1.1 jruoho Name (DWD1, 0xffffffff) 3140 1.1 jruoho Name (DWD2, 0xffffffff) 3141 1.1 jruoho Name (DRSL, 0x00000000) 3142 1.1 jruoho 3143 1.1 jruoho Method (ANDP) 3144 1.1 jruoho { 3145 1.1 jruoho //Check with 1 And 1 on byte data 3146 1.1 jruoho And(BYT1, BYT2, BRSL) 3147 1.1 jruoho if(LNotEqual(BRSL,0xff)) 3148 1.1 jruoho {Return(1)} 3149 1.1 jruoho 3150 1.1 jruoho //Check with 1 And 1 on Word data 3151 1.1 jruoho And(WRD1, WRD2, WRSL) 3152 1.1 jruoho if(LNotEqual(WRSL,0xffff)) 3153 1.1 jruoho { 3154 1.1 jruoho Return (1) // failure 3155 1.1 jruoho } 3156 1.1 jruoho 3157 1.1 jruoho //Check with 1 And 1 Dword 3158 1.1 jruoho And(DWD1, DWD2, DRSL) 3159 1.1 jruoho if(LNotEqual(DRSL,0xffffffff)) 3160 1.1 jruoho { 3161 1.1 jruoho Return (1) // failure 3162 1.1 jruoho } 3163 1.1 jruoho 3164 1.1 jruoho //Check with 0 And 0 on byte data 3165 1.1 jruoho Store(0x00,BYT1) 3166 1.1 jruoho Store(0x00,BYT2) 3167 1.1 jruoho Store(0x00,BRSL) 3168 1.1 jruoho And(BYT1, BYT2, BRSL) 3169 1.1 jruoho if(LNotEqual(BRSL,0x00)) 3170 1.1 jruoho { 3171 1.1 jruoho Return (1) // failure 3172 1.1 jruoho } 3173 1.1 jruoho 3174 1.1 jruoho //Check with 0 And 0 on Word data 3175 1.1 jruoho Store (0x0000,WRD1) 3176 1.1 jruoho Store (0x0000,WRD2) 3177 1.1 jruoho Store (0x0000,WRSL) 3178 1.1 jruoho And(WRD1, WRD2, WRSL) 3179 1.1 jruoho if(LNotEqual(WRSL,0x0000)) 3180 1.1 jruoho { 3181 1.1 jruoho Return (1) // failure 3182 1.1 jruoho } 3183 1.1 jruoho 3184 1.1 jruoho //Check with 0 And 0 Dword 3185 1.1 jruoho Store (0x00000000,DWD1) 3186 1.1 jruoho Store (0x00000000,DWD2) 3187 1.1 jruoho Store (0x00000000,DRSL) 3188 1.1 jruoho And(DWD1, DWD2, DRSL) 3189 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 3190 1.1 jruoho { 3191 1.1 jruoho Return (1) // failure 3192 1.1 jruoho } 3193 1.1 jruoho 3194 1.1 jruoho 3195 1.1 jruoho //Check with 1 And 0 on byte data 3196 1.1 jruoho Store(0x55,BYT1) 3197 1.1 jruoho Store(0xAA,BYT2) 3198 1.1 jruoho Store(0x00,BRSL) 3199 1.1 jruoho And(BYT1, BYT2, BRSL) 3200 1.1 jruoho if(LNotEqual(BRSL,0x00)) 3201 1.1 jruoho { 3202 1.1 jruoho Return (1) // failure 3203 1.1 jruoho } 3204 1.1 jruoho 3205 1.1 jruoho //Check with 1 And 0 on Word data 3206 1.1 jruoho Store (0x5555,WRD1) 3207 1.1 jruoho Store (0xAAAA,WRD2) 3208 1.1 jruoho Store (0x0000,WRSL) 3209 1.1 jruoho And(WRD1, WRD2, WRSL) 3210 1.1 jruoho if(LNotEqual(WRSL,0x0000)) 3211 1.1 jruoho { 3212 1.1 jruoho Return (1) // failure 3213 1.1 jruoho } 3214 1.1 jruoho 3215 1.1 jruoho //Check with 1 And 0 on Dword 3216 1.1 jruoho Store (0x55555555,DWD1) 3217 1.1 jruoho Store (0xAAAAAAAA,DWD2) 3218 1.1 jruoho Store (0x00000000,DRSL) 3219 1.1 jruoho And(DWD1, DWD2, DRSL) 3220 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 3221 1.1 jruoho { 3222 1.1 jruoho Return (1) // failure 3223 1.1 jruoho } 3224 1.1 jruoho 3225 1.1 jruoho Store (0x1FFF, TOUD) 3226 1.1 jruoho Store (TOUD, Local0) 3227 1.1 jruoho if(LNotEqual(Local0,0x1FFF)) 3228 1.1 jruoho { 3229 1.1 jruoho Return (1) // failure 3230 1.1 jruoho } 3231 1.1 jruoho 3232 1.1 jruoho //TBD- Do We need to check for system memory data also for each test case ?? 3233 1.1 jruoho 3234 1.1 jruoho Return(0) 3235 1.1 jruoho 3236 1.1 jruoho }//ANDP 3237 1.1 jruoho 3238 1.1 jruoho Method (OROP) 3239 1.1 jruoho { 3240 1.1 jruoho 3241 1.1 jruoho //Check with 1 Ored with 1 on byte data 3242 1.1 jruoho Store(0xff,BYT1) 3243 1.1 jruoho Store(0xff,BYT2) 3244 1.1 jruoho Store(0x00,BRSL) 3245 1.1 jruoho Or(BYT1, BYT2, BRSL) 3246 1.1 jruoho if(LNotEqual(BRSL,0xff)) 3247 1.1 jruoho { 3248 1.1 jruoho Return (1) // failure 3249 1.1 jruoho } 3250 1.1 jruoho 3251 1.1 jruoho 3252 1.1 jruoho //Check with 1 Ored with 1 on Word data 3253 1.1 jruoho Store(0xffff,WRD1) 3254 1.1 jruoho Store(0xffff,WRD2) 3255 1.1 jruoho Store(0x0000,WRSL) 3256 1.1 jruoho Or(WRD1, WRD2, WRSL) 3257 1.1 jruoho if(LNotEqual(WRSL,0xffff)) 3258 1.1 jruoho { 3259 1.1 jruoho Return (1) // failure 3260 1.1 jruoho } 3261 1.1 jruoho 3262 1.1 jruoho //Check with 1 Ored with 1 on Dword data 3263 1.1 jruoho Store(0xffffffff,DWD1) 3264 1.1 jruoho Store(0xffffffff,DWD2) 3265 1.1 jruoho Store(0x00000000,DRSL) 3266 1.1 jruoho Or(DWD1, DWD2, DRSL) 3267 1.1 jruoho if(LNotEqual(DRSL,0xffffffff)) 3268 1.1 jruoho { 3269 1.1 jruoho Return (1) // failure 3270 1.1 jruoho } 3271 1.1 jruoho 3272 1.1 jruoho //Check with 0 Ored with 0 on byte data 3273 1.1 jruoho Store(0x00,BYT1) 3274 1.1 jruoho Store(0x00,BYT2) 3275 1.1 jruoho Store(0x00,BRSL) 3276 1.1 jruoho Or(BYT1, BYT2, BRSL) 3277 1.1 jruoho if(LNotEqual(BRSL,0x00)) 3278 1.1 jruoho { 3279 1.1 jruoho Return (1) // failure 3280 1.1 jruoho } 3281 1.1 jruoho 3282 1.1 jruoho //Check with 0 Ored with 0 on Word data 3283 1.1 jruoho Store (0x0000,WRD1) 3284 1.1 jruoho Store (0x0000,WRD2) 3285 1.1 jruoho Store (0x0000,WRSL) 3286 1.1 jruoho Or(WRD1, WRD2, WRSL) 3287 1.1 jruoho if(LNotEqual(WRSL,0x0000)) 3288 1.1 jruoho { 3289 1.1 jruoho Return (1) // failure 3290 1.1 jruoho } 3291 1.1 jruoho 3292 1.1 jruoho //Check with 0 Ored with 0 Dword data 3293 1.1 jruoho Store (0x00000000,DWD1) 3294 1.1 jruoho Store (0x00000000,DWD2) 3295 1.1 jruoho Store (0x00000000,DRSL) 3296 1.1 jruoho Or(DWD1, DWD2, DRSL) 3297 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 3298 1.1 jruoho { 3299 1.1 jruoho Return (1) // failure 3300 1.1 jruoho } 3301 1.1 jruoho 3302 1.1 jruoho 3303 1.1 jruoho //Check with 1 Ored with 0 on byte data 3304 1.1 jruoho Store(0x55,BYT1) 3305 1.1 jruoho Store(0xAA,BYT2) 3306 1.1 jruoho Store(0x00,BRSL) 3307 1.1 jruoho Or(BYT1, BYT2, BRSL) 3308 1.1 jruoho if(LNotEqual(BRSL,0xff)) 3309 1.1 jruoho { 3310 1.1 jruoho Return (1) // failure 3311 1.1 jruoho } 3312 1.1 jruoho 3313 1.1 jruoho //Check with 1 Ored with 0 on Word data 3314 1.1 jruoho Store (0x5555,WRD1) 3315 1.1 jruoho Store (0xAAAA,WRD2) 3316 1.1 jruoho Store (0x0000,WRSL) 3317 1.1 jruoho Or(WRD1, WRD2, WRSL) 3318 1.1 jruoho if(LNotEqual(WRSL,0xffff)) 3319 1.1 jruoho { 3320 1.1 jruoho Return (1) // failure 3321 1.1 jruoho } 3322 1.1 jruoho 3323 1.1 jruoho //Check with 1 Ored with 0 on Dword data 3324 1.1 jruoho Store (0x55555555,DWD1) 3325 1.1 jruoho Store (0xAAAAAAAA,DWD2) 3326 1.1 jruoho Store (0x00000000,DRSL) 3327 1.1 jruoho Or(DWD1, DWD2, DRSL) 3328 1.1 jruoho if(LNotEqual(DRSL,0xffffffff)) 3329 1.1 jruoho { 3330 1.1 jruoho Return (1) // failure 3331 1.1 jruoho } 3332 1.1 jruoho 3333 1.1 jruoho //TBD - Do We need to check for system memory data also for each test case ?? 3334 1.1 jruoho 3335 1.1 jruoho Return(0) 3336 1.1 jruoho 3337 1.1 jruoho }//OROP 3338 1.1 jruoho 3339 1.1.1.3 christos Method(TEST,, Serialized) 3340 1.1 jruoho { 3341 1.1 jruoho Store ("++++++++ AndOrOp Test", Debug) 3342 1.1 jruoho 3343 1.1 jruoho Name(RSLT,1) 3344 1.1 jruoho //Call Andop method 3345 1.1 jruoho Store(ANDP,RSLT) 3346 1.1 jruoho if(LEqual(RSLT,1)) 3347 1.1 jruoho { 3348 1.1 jruoho Return (RSLT) 3349 1.1 jruoho } 3350 1.1 jruoho 3351 1.1 jruoho //Call OrOp Method 3352 1.1 jruoho Store(OROP,RSLT) 3353 1.1 jruoho if(LEqual(RSLT,1)) 3354 1.1 jruoho { 3355 1.1 jruoho Return(RSLT) 3356 1.1 jruoho } 3357 1.1 jruoho 3358 1.1 jruoho // 3359 1.1 jruoho // Return original conditions to allow iterative execution 3360 1.1 jruoho // 3361 1.1 jruoho Store(0xff,BYT1) 3362 1.1 jruoho Store(0xff,BYT2) 3363 1.1 jruoho Store(0x00,BRSL) 3364 1.1 jruoho Store (0xffff,WRD1) 3365 1.1 jruoho Store (0xffff,WRD2) 3366 1.1 jruoho Store (0x0000,WRSL) 3367 1.1 jruoho Store (0xffffffff,DWD1) 3368 1.1 jruoho Store (0xffffffff,DWD2) 3369 1.1 jruoho Store (0x00000000,DRSL) 3370 1.1 jruoho 3371 1.1 jruoho Return(0) 3372 1.1 jruoho } //TEST 3373 1.1 jruoho } //ANDO 3374 1.1 jruoho 3375 1.1 jruoho // 3376 1.1 jruoho // test BreakPnt.asl 3377 1.1 jruoho // 3378 1.1 jruoho // This code tests the BreakPoint opcode term. The syntax of BreakPoint Term is 3379 1.1 jruoho // BreakPointTerm := BreakPoint 3380 1.1 jruoho // Used for debugging, the Breakpoint opcode stops the execution and enters the AML debugger. 3381 1.1 jruoho // In the non-debug version of the interpreter, BreakPoint is equivalent to Noop. 3382 1.1 jruoho // 3383 1.1 jruoho Device (BRKP) 3384 1.1 jruoho { 3385 1.1 jruoho Name(CNT0,0) 3386 1.1 jruoho 3387 1.1 jruoho Method (BK1) 3388 1.1 jruoho { 3389 1.1 jruoho BreakPoint 3390 1.1 jruoho Return(0) 3391 1.1 jruoho } 3392 1.1 jruoho 3393 1.1 jruoho Method (TEST) 3394 1.1 jruoho { 3395 1.1 jruoho Store ("++++++++ BreakPnt Test", Debug) 3396 1.1 jruoho 3397 1.1 jruoho Store(0,CNT0) 3398 1.1 jruoho 3399 1.1 jruoho //Check BreakPoint statement 3400 1.1 jruoho While(LLess(CNT0,10)) 3401 1.1 jruoho { 3402 1.1 jruoho Increment(CNT0) 3403 1.1 jruoho } 3404 1.1 jruoho 3405 1.1 jruoho //Check the BreakPoint statement 3406 1.1 jruoho If(LEqual(CNT0,10)) 3407 1.1 jruoho { 3408 1.1 jruoho // BreakPoint 3409 1.1 jruoho Return(0) 3410 1.1 jruoho } 3411 1.1 jruoho 3412 1.1 jruoho //failed 3413 1.1 jruoho Return(1) 3414 1.1 jruoho } 3415 1.1 jruoho } 3416 1.1 jruoho 3417 1.1 jruoho // 3418 1.1 jruoho // test AddSubOp.asl 3419 1.1 jruoho // 3420 1.1 jruoho Device (ADSU) 3421 1.1 jruoho { 3422 1.1 jruoho // create System Memory Operation Region and field overlays 3423 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 3424 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 3425 1.1 jruoho { 3426 1.1 jruoho SMDW, 32, // 32-bit DWORD 3427 1.1 jruoho SMWD, 16, // 16-bit WORD 3428 1.1 jruoho SMBY, 8, // 8-bit BYTE 3429 1.1 jruoho } // Field(RAM) 3430 1.1 jruoho 3431 1.1.1.3 christos Method (TEST,, Serialized) 3432 1.1 jruoho { 3433 1.1 jruoho Store ("++++++++ AddSubOp Test", Debug) 3434 1.1 jruoho 3435 1.1 jruoho Name (DWRD, 0x12345678) 3436 1.1 jruoho Name (WRD, 0x1234) 3437 1.1 jruoho Name (BYT, 0x12) 3438 1.1 jruoho 3439 1.1 jruoho // Test AddOp with DWORD data 3440 1.1 jruoho Store (0x12345678, DWRD) 3441 1.1 jruoho Add (DWRD, 7, DWRD) 3442 1.1 jruoho If (LNotEqual (DWRD, 0x1234567F)) 3443 1.1 jruoho { Return (DWRD) } 3444 1.1 jruoho 3445 1.1 jruoho // Test AddOp with WORD data 3446 1.1 jruoho Add (WRD, 5, WRD) 3447 1.1 jruoho If (LNotEqual (WRD, 0x1239)) 3448 1.1 jruoho { Return (WRD) } 3449 1.1 jruoho 3450 1.1 jruoho // Test AddOp with BYTE data 3451 1.1 jruoho Add (BYT, 3, BYT) 3452 1.1 jruoho If (LNotEqual (BYT, 0x15)) 3453 1.1 jruoho { Return (BYT) } 3454 1.1 jruoho 3455 1.1 jruoho // Test SubtractOp with DWORD data 3456 1.1 jruoho Subtract (DWRD, 7, DWRD) 3457 1.1 jruoho If (LNotEqual (DWRD, 0x12345678)) 3458 1.1 jruoho { Return (DWRD) } 3459 1.1 jruoho 3460 1.1 jruoho // Test SubtractOp with WORD data 3461 1.1 jruoho Subtract (WRD, 3, WRD) 3462 1.1 jruoho If (LNotEqual (WRD, 0x1236)) 3463 1.1 jruoho { Return (WRD) } 3464 1.1 jruoho 3465 1.1 jruoho // Test SubtractOp with BYTE data 3466 1.1 jruoho Subtract (BYT, 3, BYT) 3467 1.1 jruoho If (LNotEqual (BYT, 0x12)) 3468 1.1 jruoho { Return (BYT) } 3469 1.1 jruoho 3470 1.1 jruoho 3471 1.1 jruoho // test AddOp with DWORD SystemMemory OpRegion 3472 1.1 jruoho Store (0x01234567, SMDW) 3473 1.1 jruoho Add (SMDW, 8, SMDW) 3474 1.1 jruoho If (LNotEqual (SMDW, 0x0123456F)) 3475 1.1 jruoho { Return (SMDW) } 3476 1.1 jruoho 3477 1.1 jruoho // test SubtractOp with DWORD SystemMemory OpRegion 3478 1.1 jruoho Subtract (SMDW, 7, SMDW) 3479 1.1 jruoho If (LNotEqual (SMDW, 0x01234568)) 3480 1.1 jruoho { Return (SMDW) } 3481 1.1 jruoho 3482 1.1 jruoho 3483 1.1 jruoho // test AddOp with WORD SystemMemory OpRegion 3484 1.1 jruoho Store (0x0123, SMWD) 3485 1.1 jruoho Add (SMWD, 6, SMWD) 3486 1.1 jruoho If (LNotEqual (SMWD, 0x0129)) 3487 1.1 jruoho { Return (SMWD) } 3488 1.1 jruoho 3489 1.1 jruoho // test SubtractOp with WORD SystemMemory OpRegion 3490 1.1 jruoho Subtract (SMWD, 5, SMWD) 3491 1.1 jruoho If (LNotEqual (SMWD, 0x0124)) 3492 1.1 jruoho { Return (SMWD) } 3493 1.1 jruoho 3494 1.1 jruoho 3495 1.1 jruoho // test AddOp with BYTE SystemMemory OpRegion 3496 1.1 jruoho Store (0x01, SMBY) 3497 1.1 jruoho Add (SMBY, 4, SMBY) 3498 1.1 jruoho If (LNotEqual (SMBY, 0x05)) 3499 1.1 jruoho { Return (SMBY) } 3500 1.1 jruoho 3501 1.1 jruoho // test SubtractOp with BYTE SystemMemory OpRegion 3502 1.1 jruoho Subtract (SMBY, 3, SMBY) 3503 1.1 jruoho If (LNotEqual (SMBY, 0x02)) 3504 1.1 jruoho { Return (SMBY) } 3505 1.1 jruoho 3506 1.1 jruoho Return (0) 3507 1.1 jruoho } // TEST 3508 1.1 jruoho } // ADSU 3509 1.1 jruoho 3510 1.1 jruoho // 3511 1.1 jruoho // test IncDecOp.asl 3512 1.1 jruoho // 3513 1.1 jruoho Device (INDC) 3514 1.1 jruoho { 3515 1.1 jruoho // create System Memory Operation Region and field overlays 3516 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 3517 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 3518 1.1 jruoho { 3519 1.1 jruoho SMDW, 32, // 32-bit DWORD 3520 1.1 jruoho SMWD, 16, // 16-bit WORD 3521 1.1 jruoho SMBY, 8, // 8-bit BYTE 3522 1.1 jruoho } // Field(RAM) 3523 1.1 jruoho 3524 1.1.1.3 christos Method (TEST,, Serialized) 3525 1.1 jruoho { 3526 1.1 jruoho Store ("++++++++ IncDecOp Test", Debug) 3527 1.1 jruoho 3528 1.1 jruoho Name (DWRD, 0x12345678) 3529 1.1 jruoho Name (WRD, 0x1234) 3530 1.1 jruoho Name (BYT, 0x12) 3531 1.1 jruoho 3532 1.1 jruoho // Test IncrementOp with DWORD data 3533 1.1 jruoho Store (0x12345678, DWRD) 3534 1.1 jruoho Increment (DWRD) 3535 1.1 jruoho If (LNotEqual (DWRD, 0x12345679)) 3536 1.1 jruoho { Return (DWRD) } 3537 1.1 jruoho 3538 1.1 jruoho // Test IncrementOp with WORD data 3539 1.1 jruoho Increment (WRD) 3540 1.1 jruoho If (LNotEqual (WRD, 0x1235)) 3541 1.1 jruoho { Return (WRD) } 3542 1.1 jruoho 3543 1.1 jruoho // Test IncrementOp with BYTE data 3544 1.1 jruoho Increment (BYT) 3545 1.1 jruoho If (LNotEqual (BYT, 0x13)) 3546 1.1 jruoho { Return (BYT) } 3547 1.1 jruoho 3548 1.1 jruoho // Test DecrementOp with DWORD data 3549 1.1 jruoho Decrement (DWRD) 3550 1.1 jruoho If (LNotEqual (DWRD, 0x12345678)) 3551 1.1 jruoho { Return (DWRD) } 3552 1.1 jruoho 3553 1.1 jruoho // Test DecrementOp with WORD data 3554 1.1 jruoho Decrement (WRD) 3555 1.1 jruoho If (LNotEqual (WRD, 0x1234)) 3556 1.1 jruoho { Return (WRD) } 3557 1.1 jruoho 3558 1.1 jruoho // Test DecrementOp with BYTE data 3559 1.1 jruoho Decrement (BYT) 3560 1.1 jruoho If (LNotEqual (BYT, 0x12)) 3561 1.1 jruoho { Return (BYT) } 3562 1.1 jruoho 3563 1.1 jruoho 3564 1.1 jruoho // test IncrementOp with DWORD SystemMemory OpRegion 3565 1.1 jruoho Store (0x01234567, SMDW) 3566 1.1 jruoho Increment (SMDW) 3567 1.1 jruoho If (LNotEqual (SMDW, 0x01234568)) 3568 1.1 jruoho { Return (SMDW) } 3569 1.1 jruoho 3570 1.1 jruoho // test DecrementOp with DWORD SystemMemory OpRegion 3571 1.1 jruoho Decrement (SMDW) 3572 1.1 jruoho If (LNotEqual (SMDW, 0x01234567)) 3573 1.1 jruoho { Return (SMDW) } 3574 1.1 jruoho 3575 1.1 jruoho 3576 1.1 jruoho // test IncrementOp with WORD SystemMemory OpRegion 3577 1.1 jruoho Store (0x0123, SMWD) 3578 1.1 jruoho Increment (SMWD) 3579 1.1 jruoho If (LNotEqual (SMWD, 0x0124)) 3580 1.1 jruoho { Return (SMWD) } 3581 1.1 jruoho 3582 1.1 jruoho // test DecrementOp with WORD SystemMemory OpRegion 3583 1.1 jruoho Decrement (SMWD) 3584 1.1 jruoho If (LNotEqual (SMWD, 0x0123)) 3585 1.1 jruoho { Return (SMWD) } 3586 1.1 jruoho 3587 1.1 jruoho 3588 1.1 jruoho // test IncrementOp with BYTE SystemMemory OpRegion 3589 1.1 jruoho Store (0x01, SMBY) 3590 1.1 jruoho Increment (SMBY) 3591 1.1 jruoho If (LNotEqual (SMBY, 0x02)) 3592 1.1 jruoho { Return (SMBY) } 3593 1.1 jruoho 3594 1.1 jruoho // test DecrementOp with BYTE SystemMemory OpRegion 3595 1.1 jruoho Decrement (SMBY) 3596 1.1 jruoho If (LNotEqual (SMBY, 0x01)) 3597 1.1 jruoho { Return (SMBY) } 3598 1.1 jruoho 3599 1.1 jruoho Return (0) 3600 1.1 jruoho } // TEST 3601 1.1 jruoho } // INDC 3602 1.1 jruoho 3603 1.1 jruoho // 3604 1.1 jruoho // test LOps.asl 3605 1.1 jruoho // 3606 1.1 jruoho //This source tests all the logical operators. Logical operators in ASL are as follows. 3607 1.1 jruoho //LAnd, LEqual, LGreater, LLess, LNot, LNotEqual, LOr. 3608 1.1 jruoho // Success will return 0 and failure will return a non zero number. Check the source code for 3609 1.1 jruoho // non zero number to find where the test failed 3610 1.1 jruoho 3611 1.1 jruoho Device (LOPS) 3612 1.1 jruoho { 3613 1.1 jruoho //Create System Memory Operation Region and field overlays 3614 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 3615 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 3616 1.1 jruoho { 3617 1.1 jruoho SMDW, 32, // 32-bit DWORD 3618 1.1 jruoho SMWD, 16, // 16-bit WORD 3619 1.1 jruoho SMBY, 8, // 8-bit BYTE 3620 1.1 jruoho }// Field(RAM) 3621 1.1 jruoho 3622 1.1 jruoho //And with Byte Data 3623 1.1 jruoho Name (BYT1, 0xff) 3624 1.1 jruoho Name (BYT2, 0xff) 3625 1.1 jruoho Name (BRSL, 0x00) 3626 1.1 jruoho 3627 1.1 jruoho //And with Word Data 3628 1.1 jruoho Name (WRD1, 0xffff) 3629 1.1 jruoho Name (WRD2, 0xffff) 3630 1.1 jruoho Name (WRSL, 0x0000) 3631 1.1 jruoho 3632 1.1 jruoho //And with DWord Data 3633 1.1 jruoho Name (DWD1, 0xffffffff) 3634 1.1 jruoho Name (DWD2, 0xffffffff) 3635 1.1 jruoho Name (DRSL, 0x00000000) 3636 1.1 jruoho 3637 1.1 jruoho Name(RSLT,1) 3638 1.1 jruoho 3639 1.1 jruoho Method (ANDL,2) // Test Logical And 3640 1.1 jruoho { 3641 1.1 jruoho //test with the arguments passed 3642 1.1 jruoho if(LEqual(Arg0,Arg1)) 3643 1.1 jruoho { Store(LAnd(Arg0,Arg1),RSLT) 3644 1.1 jruoho if(LNotEqual(Ones,RSLT)) 3645 1.1 jruoho {Return(11)} 3646 1.1 jruoho } 3647 1.1 jruoho 3648 1.1 jruoho //test with he locals 3649 1.1 jruoho Store(Arg0,Local0) 3650 1.1 jruoho Store(Arg1,Local1) 3651 1.1 jruoho 3652 1.1 jruoho if(LEqual(Local0,Local1)) 3653 1.1 jruoho { 3654 1.1 jruoho Store(LAnd(Local0,Local1),RSLT) 3655 1.1 jruoho if(LNotEqual(Ones,RSLT)) 3656 1.1 jruoho {Return(12)} 3657 1.1 jruoho } 3658 1.1 jruoho 3659 1.1 jruoho //test with BYTE data 3660 1.1 jruoho if(LEqual(BYT1,BYT2)) 3661 1.1 jruoho { Store(LAnd(BYT1,BYT2),BRSL) 3662 1.1 jruoho if(LNotEqual(Ones,BRSL)) 3663 1.1 jruoho {Return(13)} 3664 1.1 jruoho } 3665 1.1 jruoho 3666 1.1 jruoho //test with WORD data 3667 1.1 jruoho if(LEqual(WRD1,WRD2)) 3668 1.1 jruoho { Store(LAnd(WRD1,WRD2),WRSL) 3669 1.1 jruoho if(LNotEqual(Ones,WRSL)) 3670 1.1 jruoho {Return(14)} 3671 1.1 jruoho } 3672 1.1 jruoho 3673 1.1 jruoho //test with DWORD data 3674 1.1 jruoho if(LEqual(DWD1,DWD2)) 3675 1.1 jruoho { Store(LAnd(DWD1,DWD2),DRSL) 3676 1.1 jruoho if(LNotEqual(Ones,DRSL)) 3677 1.1 jruoho {Return(15)} 3678 1.1 jruoho } 3679 1.1 jruoho 3680 1.1 jruoho //Test for system memory data for each test case. 3681 1.1 jruoho 3682 1.1 jruoho Store(0xff,BYT1) 3683 1.1 jruoho Store(0xff,SMBY) 3684 1.1 jruoho Store(0x00,BRSL) 3685 1.1 jruoho 3686 1.1 jruoho //test with BYTE system memory data 3687 1.1 jruoho if(LEqual(BYT1,SMBY)) 3688 1.1 jruoho { Store(LAnd(BYT1,SMBY),BRSL) 3689 1.1 jruoho if(LNotEqual(Ones,BRSL)) 3690 1.1 jruoho {Return(16)} 3691 1.1 jruoho } 3692 1.1 jruoho 3693 1.1 jruoho Store (0xffff,WRD1) 3694 1.1 jruoho Store(0xffff,SMWD) 3695 1.1 jruoho Store(0x0000,WRSL) 3696 1.1 jruoho //test with WORD system memory data 3697 1.1 jruoho if(LEqual(WRD1,SMWD)) 3698 1.1 jruoho { Store(LAnd(WRD1,SMWD),WRSL) 3699 1.1 jruoho if(LNotEqual(Ones,WRSL)) 3700 1.1 jruoho {Return(17)} 3701 1.1 jruoho } 3702 1.1 jruoho 3703 1.1 jruoho Store(0x000000,DRSL) 3704 1.1 jruoho Store (0xffffff,DWD1) 3705 1.1 jruoho Store(0xffffff,SMDW) 3706 1.1 jruoho 3707 1.1 jruoho //test with DWORD system memory data 3708 1.1 jruoho if(LEqual(DWD1,SMDW)) 3709 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL) 3710 1.1 jruoho if(LNotEqual(Ones,DRSL)) 3711 1.1 jruoho {Return(18)} 3712 1.1 jruoho } 3713 1.1 jruoho 3714 1.1 jruoho Return(0) 3715 1.1 jruoho 3716 1.1 jruoho }//ANDL 3717 1.1 jruoho 3718 1.1 jruoho //Test the LOr Operator 3719 1.1 jruoho 3720 1.1 jruoho Method (ORL_,2) 3721 1.1 jruoho {//ORL_ 3722 1.1 jruoho 3723 1.1 jruoho //test with the arguments passed 3724 1.1 jruoho if(LEqual(Arg0,Arg1)) 3725 1.1 jruoho { 3726 1.1 jruoho Store(LOr(Arg0,Arg1),RSLT) 3727 1.1 jruoho if(LNotEqual(Ones,RSLT)) 3728 1.1 jruoho { 3729 1.1 jruoho Return(21) 3730 1.1 jruoho } 3731 1.1 jruoho } 3732 1.1 jruoho 3733 1.1 jruoho //test with he locals 3734 1.1 jruoho Store(Arg0,Local0) 3735 1.1 jruoho Store(Arg1,Local1) 3736 1.1 jruoho 3737 1.1 jruoho if(LEqual(Local0,Local1)) 3738 1.1 jruoho { 3739 1.1 jruoho Store(LOr(Local0,Local1),RSLT) 3740 1.1 jruoho if(LNotEqual(Ones,RSLT)) 3741 1.1 jruoho {Return(22)} 3742 1.1 jruoho } 3743 1.1 jruoho 3744 1.1 jruoho //Check with 1 LOred with 0 on byte data 3745 1.1 jruoho Store(0xff,BYT1) 3746 1.1 jruoho Store(0x00,BYT2) 3747 1.1 jruoho Store(0x00,BRSL) 3748 1.1 jruoho 3749 1.1 jruoho if(LNotEqual(BYT1, BYT2)) 3750 1.1 jruoho { 3751 1.1 jruoho Store(LOr(BYT1, BYT2), BRSL) 3752 1.1 jruoho if(LNotEqual(Ones,BRSL)) 3753 1.1 jruoho {Return(23)} 3754 1.1 jruoho } 3755 1.1 jruoho 3756 1.1 jruoho //Check with 1 LOred with 0 on WORD data 3757 1.1 jruoho Store(0xffff,WRD1) 3758 1.1 jruoho Store(0x0000,WRD2) 3759 1.1 jruoho Store(0x0000,WRSL) 3760 1.1 jruoho 3761 1.1 jruoho if(LNotEqual(WRD1, WRD2)) 3762 1.1 jruoho { 3763 1.1 jruoho Store(LOr(WRD1, WRD2), WRSL) 3764 1.1 jruoho if(LNotEqual(Ones,WRSL)) 3765 1.1 jruoho {Return(24)} 3766 1.1 jruoho } 3767 1.1 jruoho 3768 1.1 jruoho //Check with 1 LOred with 0 on DWORD data 3769 1.1 jruoho Store(0xffffffff,DWD1) 3770 1.1 jruoho Store(0x00000000,DWD2) 3771 1.1 jruoho Store(0x00000000,DRSL) 3772 1.1 jruoho 3773 1.1 jruoho if(LNotEqual(DWD1, DWD2)) 3774 1.1 jruoho { 3775 1.1 jruoho Store(LOr(DWD1, DWD2), DRSL) 3776 1.1 jruoho if(LNotEqual(Ones,DRSL)) 3777 1.1 jruoho {Return(25)} 3778 1.1 jruoho } 3779 1.1 jruoho 3780 1.1 jruoho Store(0x00,BYT1) 3781 1.1 jruoho Store(0xff,SMBY) 3782 1.1 jruoho Store(0x00,BRSL) 3783 1.1 jruoho 3784 1.1 jruoho //test with BYTE system memory data 3785 1.1 jruoho if(LEqual(BYT1,SMBY)) 3786 1.1 jruoho { Store(LOr(BYT1,SMBY),BRSL) 3787 1.1 jruoho if(LNotEqual(Ones,BRSL)) 3788 1.1 jruoho {Return(26)} 3789 1.1 jruoho } 3790 1.1 jruoho 3791 1.1 jruoho Store (0x0000,WRD1) 3792 1.1 jruoho Store(0xffff,SMWD) 3793 1.1 jruoho Store(0x0000,WRSL) 3794 1.1 jruoho 3795 1.1 jruoho //test with WORD system memory data 3796 1.1 jruoho if(LEqual(WRD1,SMWD)) 3797 1.1 jruoho { Store(LOr(WRD1,SMWD),WRSL) 3798 1.1 jruoho if(LNotEqual(Ones,WRSL)) 3799 1.1 jruoho {Return(27)} 3800 1.1 jruoho } 3801 1.1 jruoho 3802 1.1 jruoho 3803 1.1 jruoho Store(0x00000000,DWD1) 3804 1.1 jruoho Store(0xffffffff,SMDW) 3805 1.1 jruoho Store(0x00000000,DRSL) 3806 1.1 jruoho 3807 1.1 jruoho //test with DWORD system memory data 3808 1.1 jruoho if(LEqual(DWD1,SMDW)) 3809 1.1 jruoho { Store(LAnd(DWD1,SMDW),DRSL) 3810 1.1 jruoho if(LNotEqual(Ones,DRSL)) 3811 1.1 jruoho {Return(28)} 3812 1.1 jruoho } 3813 1.1 jruoho Return(0) 3814 1.1 jruoho 3815 1.1 jruoho }//ORL_ 3816 1.1 jruoho 3817 1.1 jruoho //This method tests LGreater and LNot operator 3818 1.1 jruoho Method(LSGR,2) 3819 1.1 jruoho {//LSGR 3820 1.1 jruoho 3821 1.1.1.10 christos //Test on arguments passed 3822 1.1 jruoho 3823 1.1 jruoho //in test data, Arg1 > Arg0 3824 1.1 jruoho if(LEqual(Ones,LNot(LGreater(Arg1,Arg0)))) 3825 1.1 jruoho {Return(31)} 3826 1.1 jruoho 3827 1.1 jruoho //test LLessEqual 3828 1.1 jruoho if(LEqual(Ones,LNot(LGreaterEqual(Arg1,Arg0)))) 3829 1.1 jruoho {Return(32)} 3830 1.1 jruoho 3831 1.1 jruoho if(LEqual(Ones,LLess(Arg1,Arg0))) 3832 1.1 jruoho {Return(33)} 3833 1.1 jruoho 3834 1.1 jruoho //test LLessEqual 3835 1.1 jruoho if(LEqual(Ones,LLessEqual(Arg1,Arg0))) 3836 1.1 jruoho {Return(34)} 3837 1.1 jruoho 3838 1.1 jruoho Store(Arg0,Local0) 3839 1.1 jruoho Store(Arg1,Local1) 3840 1.1 jruoho 3841 1.1 jruoho //test with the locals 3842 1.1 jruoho if(LNot(LGreater(Local1,Local0))) 3843 1.1 jruoho {Return(35)} 3844 1.1 jruoho 3845 1.1 jruoho //test on Byte data 3846 1.1 jruoho Store(0x12,BYT1) 3847 1.1 jruoho Store(0x21,BYT2) 3848 1.1 jruoho 3849 1.1 jruoho if(LNot(LGreater(BYT2,BYT1))) 3850 1.1 jruoho {Return(36)} 3851 1.1 jruoho 3852 1.1 jruoho if(LNot(LLess(BYT1,BYT2))) 3853 1.1 jruoho {Return(37)} 3854 1.1 jruoho 3855 1.1 jruoho //test LGreaterEqual with byte data 3856 1.1 jruoho if(LNot(LGreaterEqual(BYT2,BYT1))) 3857 1.1 jruoho {Return(38)} 3858 1.1 jruoho 3859 1.1 jruoho //test LLessEqual byte data 3860 1.1 jruoho if(LNot(LLessEqual(BYT1,BYT2))) 3861 1.1 jruoho {Return(39)} 3862 1.1 jruoho 3863 1.1 jruoho 3864 1.1 jruoho //test on Word data 3865 1.1 jruoho Store(0x1212,WRD1) 3866 1.1 jruoho Store(0x2121,WRD2) 3867 1.1 jruoho 3868 1.1 jruoho if(LNot(LGreater(WRD2,WRD1))) 3869 1.1 jruoho {Return(310)} 3870 1.1 jruoho 3871 1.1 jruoho if(LNot(LLess(WRD1,WRD2))) 3872 1.1 jruoho {Return(311)} 3873 1.1 jruoho 3874 1.1 jruoho //Test LGreaterEqual with Word Data 3875 1.1 jruoho if(LNot(LGreaterEqual(WRD2,WRD1))) 3876 1.1 jruoho {Return(312)} 3877 1.1 jruoho 3878 1.1 jruoho 3879 1.1 jruoho //Test LLessEqual with Word Data 3880 1.1 jruoho if(LNot(LLessEqual(WRD1,WRD2))) 3881 1.1 jruoho {Return(313)} 3882 1.1 jruoho 3883 1.1 jruoho //test on DWord data 3884 1.1 jruoho Store(0x12121212,DWD1) 3885 1.1 jruoho Store(0x21212121,DWD2) 3886 1.1 jruoho 3887 1.1 jruoho if(LNot(LGreater(DWD2,DWD1))) 3888 1.1 jruoho {Return(314)} 3889 1.1 jruoho 3890 1.1 jruoho if(LNot(LLess(DWD1,DWD2))) 3891 1.1 jruoho {Return(315)} 3892 1.1 jruoho 3893 1.1 jruoho 3894 1.1 jruoho //Test LGreaterEqual with Dword 3895 1.1 jruoho if(LNot(LGreaterEqual(DWD2,DWD1))) 3896 1.1 jruoho {Return(316)} 3897 1.1 jruoho 3898 1.1 jruoho //Test LLessEqual DWord 3899 1.1 jruoho if(LNot(LLessEqual(DWD1,DWD2))) 3900 1.1 jruoho {Return(317)} 3901 1.1 jruoho 3902 1.1 jruoho Return(0) 3903 1.1 jruoho }//LSGR 3904 1.1 jruoho 3905 1.1 jruoho //The test method 3906 1.1 jruoho Method(TEST) 3907 1.1 jruoho { 3908 1.1 jruoho Store ("++++++++ LOps Test", Debug) 3909 1.1 jruoho 3910 1.1 jruoho Store(0,RSLT) 3911 1.1 jruoho //Call LAndOp method 3912 1.1 jruoho Store(ANDL(2,2),RSLT) 3913 1.1 jruoho if(LNotEqual(RSLT,0)) 3914 1.1 jruoho {Return(RSLT)} 3915 1.1 jruoho 3916 1.1 jruoho //Call LOrOp Method 3917 1.1 jruoho Store(ORL_(5,5),RSLT) 3918 1.1 jruoho if(LNotEqual(RSLT,0)) 3919 1.1 jruoho {Return(RSLT)} 3920 1.1 jruoho 3921 1.1 jruoho //Call LSGR Method 3922 1.1 jruoho Store(LSGR(5,7),RSLT) 3923 1.1 jruoho if(LNotEqual(RSLT,0)) 3924 1.1 jruoho {Return(RSLT)} 3925 1.1 jruoho 3926 1.1 jruoho Return(0) 3927 1.1 jruoho }//TEST 3928 1.1 jruoho }//LOPS 3929 1.1 jruoho 3930 1.1 jruoho // 3931 1.1 jruoho // test FdSetOps.asl 3932 1.1 jruoho // 3933 1.1 jruoho // FindSetLeftBit - Find Set Left Bit 3934 1.1 jruoho // FindSetLeftBitTerm := FindSetLeftBit 3935 1.1 jruoho // ( Source, //TermArg=>Integer 3936 1.1 jruoho // Result //Nothing | SuperName 3937 1.1 jruoho // ) => Integer 3938 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of 3939 1.1 jruoho // the first MSb (most significant set bit) is optionally stored into Result. 3940 1.1 jruoho // The result of 0 means no bit was set, 1 means the left-most bit set is the 3941 1.1 jruoho // first bit, 2 means the left-most bit set is the second bit, and so on. 3942 1.1 jruoho // FindSetRightBit - Find Set Right Bit 3943 1.1 jruoho 3944 1.1 jruoho // FindSetRightBitTerm := FindSetRightBit 3945 1.1 jruoho // ( Source, //TermArg=>Integer 3946 1.1 jruoho // Result //Nothing | SuperName 3947 1.1 jruoho // ) => Integer 3948 1.1 jruoho // Source is evaluated as integer data type, and the one-based bit location of 3949 1.1 jruoho // the most LSb (least significant set bit) is optionally stored in Result. 3950 1.1 jruoho // The result of 0 means no bit was set, 32 means the first bit set is the 3951 1.1 jruoho // 32nd bit, 31 means the first bit set is the 31st bit, and so on. 3952 1.1 jruoho 3953 1.1 jruoho // If the Control method is success Zero is returned. Otherwise a non-zero 3954 1.1 jruoho // number is returned. 3955 1.1 jruoho // 3956 1.1 jruoho Device (FDSO) 3957 1.1 jruoho { // FDSO 3958 1.1 jruoho 3959 1.1 jruoho // Create System Memory Operation Region and field overlays 3960 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 3961 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 3962 1.1 jruoho { 3963 1.1 jruoho SMDW, 32, // 32-bit DWORD 3964 1.1 jruoho SMWD, 16, // 16-bit WORD 3965 1.1 jruoho SMBY, 8, // 8-bit BYTE 3966 1.1 jruoho } // Field(RAM) 3967 1.1 jruoho 3968 1.1 jruoho // Byte Data 3969 1.1 jruoho Name (BYT1, 1) 3970 1.1 jruoho Name (BRSL, 0x00) 3971 1.1 jruoho 3972 1.1 jruoho // Word Data 3973 1.1 jruoho Name (WRD1, 0x100) 3974 1.1 jruoho Name (WRSL, 0x0000) 3975 1.1 jruoho 3976 1.1 jruoho // DWord Data 3977 1.1 jruoho Name (DWD1, 0x10000) 3978 1.1 jruoho Name (DRSL, 0x00000000) 3979 1.1 jruoho Name (RSLT, 1) 3980 1.1 jruoho Name (CNTR, 1) 3981 1.1 jruoho 3982 1.1 jruoho Method (SHFT,2) 3983 1.1 jruoho // Arg0 is the actual data and Arg1 is the bit position 3984 1.1 jruoho { // SHFT 3985 1.1 jruoho Store (Arg0, Local0) 3986 1.1 jruoho Store (Arg1, Local1) 3987 1.1 jruoho 3988 1.1 jruoho FindSetLeftBit (Arg0, BRSL) 3989 1.1 jruoho If (LNotEqual (BRSL, Arg1)) 3990 1.1 jruoho { Return (0x11) } 3991 1.1 jruoho If (LNotEqual (Arg0, Local0)) 3992 1.1 jruoho { Return (0x12) } 3993 1.1 jruoho 3994 1.1 jruoho FindSetLeftBit (Local0, BRSL) 3995 1.1 jruoho If (LNotEqual (BRSL, Local1)) 3996 1.1 jruoho { Return (0x13) } 3997 1.1 jruoho If (LNotEqual (Arg0, Local0)) 3998 1.1 jruoho { Return (0x14) } 3999 1.1 jruoho 4000 1.1 jruoho // test the byte value for SetLeftBit 4001 1.1 jruoho Store (7, BYT1) 4002 1.1 jruoho FindSetLeftBit (BYT1, BRSL) 4003 1.1 jruoho If (LNotEqual (BRSL, 3)) 4004 1.1 jruoho { Return (0x15) } 4005 1.1 jruoho If (LNotEqual (BYT1, 7)) 4006 1.1 jruoho { Return (0x16) } 4007 1.1 jruoho 4008 1.1 jruoho Store (1, BYT1) 4009 1.1 jruoho Store (1, CNTR) 4010 1.1 jruoho While (LLessEqual (CNTR, 8)) 4011 1.1 jruoho { // FindSetLeftBit check loop for byte data 4012 1.1 jruoho FindSetLeftBit (BYT1, BRSL) 4013 1.1 jruoho If (LNotEqual (BRSL, CNTR)) 4014 1.1 jruoho { Return (0x17) } 4015 1.1 jruoho 4016 1.1 jruoho // Shift the bits to check the same 4017 1.1 jruoho ShiftLeft (BYT1, 1, BYT1) 4018 1.1 jruoho Increment (CNTR) 4019 1.1 jruoho } // FindSetLeftBit check loop for byte data 4020 1.1 jruoho 4021 1.1 jruoho 4022 1.1 jruoho // Check BYTE value for SetRightBit 4023 1.1 jruoho Store (7, BYT1) 4024 1.1 jruoho FindSetRightBit (BYT1, BRSL) 4025 1.1 jruoho If (LNotEqual (BRSL, 1)) 4026 1.1 jruoho { Return (0x21) } 4027 1.1 jruoho If (LNotEqual (BYT1, 7)) 4028 1.1 jruoho { Return (0x22) } 4029 1.1 jruoho 4030 1.1 jruoho Store (1, CNTR) 4031 1.1 jruoho Store (0xFF, BYT1) 4032 1.1 jruoho While (LLessEqual (CNTR, 8)) 4033 1.1 jruoho { // FindSetRightBit check loop for byte data 4034 1.1 jruoho FindSetRightBit (BYT1, BRSL) 4035 1.1 jruoho If (LNotEqual (BRSL, CNTR)) 4036 1.1 jruoho { Return (0x23) } 4037 1.1 jruoho 4038 1.1 jruoho ShiftLeft (BYT1, 1, BYT1) 4039 1.1 jruoho Increment (CNTR) 4040 1.1 jruoho } // FindSetRightBit check loop for byte data 4041 1.1 jruoho 4042 1.1 jruoho 4043 1.1 jruoho // Test Word value for SetLeftBit 4044 1.1 jruoho Store (9, CNTR) 4045 1.1 jruoho Store (0x100, WRD1) 4046 1.1 jruoho While (LLessEqual (CNTR, 16)) 4047 1.1 jruoho { 4048 1.1 jruoho // FindSetLeftBit check loop for Word data 4049 1.1 jruoho FindSetLeftBit (WRD1, WRSL) 4050 1.1 jruoho If (LNotEqual (WRSL, CNTR)) 4051 1.1 jruoho { Return (0x31) } 4052 1.1 jruoho 4053 1.1 jruoho // Shift the bits to check the same 4054 1.1 jruoho ShiftLeft (WRD1, 1, WRD1) 4055 1.1 jruoho Increment (CNTR) 4056 1.1 jruoho } // FindSetLeftBit check loop for Word data 4057 1.1 jruoho 4058 1.1 jruoho // Check Word value for SetRightBit 4059 1.1 jruoho Store (9, CNTR) 4060 1.1 jruoho Store (0xFF00, WRD1) 4061 1.1 jruoho While (LLessEqual (CNTR, 16)) 4062 1.1 jruoho { 4063 1.1 jruoho // FindSetRightBit check loop for Word data 4064 1.1 jruoho FindSetRightBit (WRD1, WRSL) 4065 1.1 jruoho If (LNotEqual (WRSL, CNTR)) 4066 1.1 jruoho { Return (0x32) } 4067 1.1 jruoho 4068 1.1 jruoho ShiftLeft (WRD1, 1, WRD1) 4069 1.1 jruoho Increment (CNTR) 4070 1.1 jruoho } // FindSetRightBit check loop for Word data 4071 1.1 jruoho 4072 1.1 jruoho // Test the DWord value for SetLeftBit 4073 1.1 jruoho Store (17, CNTR) 4074 1.1 jruoho Store (0x10000, DWD1) 4075 1.1 jruoho While (LLessEqual (CNTR, 32)) 4076 1.1 jruoho { 4077 1.1 jruoho // FindSetLeftBit check loop for Dword 4078 1.1 jruoho FindSetLeftBit (DWD1, DRSL) 4079 1.1 jruoho If (LNotEqual (DRSL, CNTR)) 4080 1.1 jruoho { Return (0x41) } 4081 1.1 jruoho 4082 1.1 jruoho // Shift the bits to check the same 4083 1.1 jruoho ShiftLeft (DWD1, 1, DWD1) 4084 1.1 jruoho Increment (CNTR) 4085 1.1 jruoho } // FindSetLeftBit check loop for Dword 4086 1.1 jruoho 4087 1.1 jruoho // Check DWord value for SetRightBit 4088 1.1 jruoho Store (17, CNTR) 4089 1.1 jruoho Store (0xFFFF0000, DWD1) 4090 1.1 jruoho While (LLessEqual (CNTR, 32)) 4091 1.1 jruoho { // FindSetRightBit Check loop for DWORD 4092 1.1 jruoho FindSetRightBit (DWD1, DRSL) 4093 1.1 jruoho If (LNotEqual (DRSL, CNTR)) 4094 1.1 jruoho { Return (0x42) } 4095 1.1 jruoho 4096 1.1 jruoho ShiftLeft (DWD1, 1, DWD1) 4097 1.1 jruoho Increment (CNTR) 4098 1.1 jruoho } // FindSetRightBit Check loop for DWORD 4099 1.1 jruoho 4100 1.1 jruoho Return (0) 4101 1.1 jruoho } // SHFT 4102 1.1 jruoho 4103 1.1 jruoho // Test method called from amlexec 4104 1.1 jruoho Method (TEST) 4105 1.1 jruoho { // TEST 4106 1.1 jruoho 4107 1.1 jruoho Store ("++++++++ FdSetOps Test", Debug) 4108 1.1 jruoho 4109 1.1 jruoho Store (SHFT (0x80, 8), RSLT) 4110 1.1 jruoho If (LNotEqual (RSLT, 0)) 4111 1.1 jruoho { Return (RSLT) } 4112 1.1 jruoho 4113 1.1 jruoho Return (0) // pass 4114 1.1 jruoho } // TEST 4115 1.1 jruoho } // Device FDSO 4116 1.1 jruoho 4117 1.1 jruoho // 4118 1.1 jruoho // test MulDivOp.asl 4119 1.1 jruoho // 4120 1.1 jruoho Device (MLDV) 4121 1.1 jruoho { 4122 1.1 jruoho // create System Memory Operation Region and field overlays 4123 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 4124 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 4125 1.1 jruoho { 4126 1.1 jruoho SMDW, 32, // 32-bit DWORD 4127 1.1 jruoho SMWD, 16, // 16-bit WORD 4128 1.1 jruoho SMBY, 8, // 8-bit BYTE 4129 1.1 jruoho } // Field(RAM) 4130 1.1 jruoho 4131 1.1.1.3 christos Method (TEST,, Serialized) 4132 1.1 jruoho { 4133 1.1 jruoho Store ("++++++++ MulDivOp Test", Debug) 4134 1.1 jruoho 4135 1.1 jruoho Name (RMDR, 0) 4136 1.1 jruoho Name (DWRD, 0x12345678) 4137 1.1 jruoho Name (WRD, 0x1234) 4138 1.1 jruoho Name (BYT, 0x12) 4139 1.1 jruoho 4140 1.1 jruoho // Test MultiplyOp with DWORD data 4141 1.1 jruoho Store (0x12345678, DWRD) 4142 1.1 jruoho Multiply (DWRD, 3, DWRD) 4143 1.1 jruoho If (LNotEqual (DWRD, 0x369D0368)) 4144 1.1 jruoho { Return (DWRD) } 4145 1.1 jruoho 4146 1.1 jruoho // Test MultiplyOp with WORD data 4147 1.1 jruoho Multiply (WRD, 4, WRD) 4148 1.1 jruoho If (LNotEqual (WRD, 0x48D0)) 4149 1.1 jruoho { Return (WRD) } 4150 1.1 jruoho 4151 1.1 jruoho // Test MultiplyOp with BYTE data 4152 1.1 jruoho Multiply (BYT, 5, BYT) 4153 1.1 jruoho If (LNotEqual (BYT, 0x5A)) 4154 1.1 jruoho { Return (BYT) } 4155 1.1 jruoho 4156 1.1 jruoho // Test DivideOp with DWORD data 4157 1.1 jruoho Divide (DWRD, 3, DWRD, RMDR) 4158 1.1 jruoho If (LNotEqual (DWRD, 0x12345678)) 4159 1.1 jruoho { Return (DWRD) } 4160 1.1 jruoho If (LNotEqual (RMDR, 0)) 4161 1.1 jruoho { Return (RMDR) } 4162 1.1 jruoho 4163 1.1 jruoho // Test DivideOp with WORD data 4164 1.1 jruoho Divide (WRD, 4, WRD, RMDR) 4165 1.1 jruoho If (LNotEqual (WRD, 0x1234)) 4166 1.1 jruoho { Return (WRD) } 4167 1.1 jruoho If (LNotEqual (RMDR, 0)) 4168 1.1 jruoho { Return (RMDR) } 4169 1.1 jruoho 4170 1.1 jruoho // Test DivideOp with BYTE data 4171 1.1 jruoho Divide (BYT, 5, BYT, RMDR) 4172 1.1 jruoho If (LNotEqual (BYT, 0x12)) 4173 1.1 jruoho { Return (BYT) } 4174 1.1 jruoho If (LNotEqual (RMDR, 0)) 4175 1.1 jruoho { Return (RMDR) } 4176 1.1 jruoho 4177 1.1 jruoho 4178 1.1 jruoho // test MultiplyOp with DWORD SystemMemory OpRegion 4179 1.1 jruoho Store (0x01234567, SMDW) 4180 1.1 jruoho Multiply (SMDW, 2, SMDW) 4181 1.1 jruoho If (LNotEqual (SMDW, 0x02468ACE)) 4182 1.1 jruoho { Return (SMDW) } 4183 1.1 jruoho 4184 1.1 jruoho // test DivideOp with DWORD SystemMemory OpRegion 4185 1.1 jruoho Divide (SMDW, 3, SMDW, RMDR) 4186 1.1 jruoho If (LNotEqual (SMDW, 0x00C22E44)) 4187 1.1 jruoho { Return (SMDW) } 4188 1.1 jruoho If (LNotEqual (RMDR, 2)) 4189 1.1 jruoho { Return (RMDR) } 4190 1.1 jruoho 4191 1.1 jruoho 4192 1.1 jruoho // test MultiplyOp with WORD SystemMemory OpRegion 4193 1.1 jruoho Store (0x0123, SMWD) 4194 1.1 jruoho Multiply (SMWD, 3, SMWD) 4195 1.1 jruoho If (LNotEqual (SMWD, 0x369)) 4196 1.1 jruoho { Return (SMWD) } 4197 1.1 jruoho 4198 1.1 jruoho // test DivideOp with WORD SystemMemory OpRegion 4199 1.1 jruoho Divide (SMWD, 2, SMWD, RMDR) 4200 1.1 jruoho If (LNotEqual (SMWD, 0x01B4)) 4201 1.1 jruoho { Return (SMWD) } 4202 1.1 jruoho If (LNotEqual (RMDR, 1)) 4203 1.1 jruoho { Return (RMDR) } 4204 1.1 jruoho 4205 1.1 jruoho 4206 1.1 jruoho // test MultiplyOp with BYTE SystemMemory OpRegion 4207 1.1 jruoho Store (0x01, SMBY) 4208 1.1 jruoho Multiply (SMBY, 7, SMBY) 4209 1.1 jruoho If (LNotEqual (SMBY, 0x07)) 4210 1.1 jruoho { Return (SMBY) } 4211 1.1 jruoho 4212 1.1 jruoho // test DivideOp with BYTE SystemMemory OpRegion 4213 1.1 jruoho Divide (SMBY, 4, SMBY, RMDR) 4214 1.1 jruoho If (LNotEqual (SMBY, 0x01)) 4215 1.1 jruoho { Return (SMBY) } 4216 1.1 jruoho If (LNotEqual (RMDR, 3)) 4217 1.1 jruoho { Return (RMDR) } 4218 1.1 jruoho 4219 1.1 jruoho Return (0) 4220 1.1 jruoho } // TEST 4221 1.1 jruoho } // MLDV 4222 1.1 jruoho 4223 1.1 jruoho // 4224 1.1 jruoho // test NBitOps.asl 4225 1.1 jruoho // 4226 1.1 jruoho //NAnd - Bit-wise NAnd 4227 1.1 jruoho //NAndTerm := NAnd( 4228 1.1 jruoho // Source1, //TermArg=>Integer 4229 1.1 jruoho // Source2 //TermArg=>Integer 4230 1.1 jruoho // Result //Nothing | SuperName 4231 1.1 jruoho //) => Integer 4232 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NAND is performed, and the result is optionally 4233 1.1 jruoho //stored in Result. 4234 1.1 jruoho 4235 1.1 jruoho //NOr - Bitwise NOr 4236 1.1 jruoho //NOrTerm := NOr( 4237 1.1 jruoho // Source1, //TermArg=>Integer 4238 1.1 jruoho // Source2 //TermArg=>Integer 4239 1.1 jruoho // Result //Nothing | SuperName 4240 1.1 jruoho //) => Integer 4241 1.1 jruoho //Source1 and Source2 are evaluated as integer data types, a bit-wise NOR is performed, and the result is optionally 4242 1.1 jruoho //stored in Result. 4243 1.1 jruoho // Not - Not 4244 1.1 jruoho //NotTerm := Not( 4245 1.1 jruoho // Source, //TermArg=>Integer 4246 1.1 jruoho // Result //Nothing | SuperName 4247 1.1 jruoho //) => Integer 4248 1.1 jruoho //Source1 is evaluated as an integer data type, a bit-wise NOT is performed, and the result is optionally stored in 4249 1.1 jruoho //Result. 4250 1.1 jruoho 4251 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned 4252 1.1 jruoho 4253 1.1 jruoho Device (NBIT) 4254 1.1 jruoho {//NBIT 4255 1.1 jruoho 4256 1.1 jruoho //Create System Memory Operation Region and field overlays 4257 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 4258 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 4259 1.1 jruoho { 4260 1.1 jruoho SMDW, 32, // 32-bit DWORD 4261 1.1 jruoho SMWD, 16, // 16-bit WORD 4262 1.1 jruoho SMBY, 8, // 8-bit BYTE 4263 1.1 jruoho }// Field(RAM) 4264 1.1 jruoho 4265 1.1 jruoho 4266 1.1 jruoho //And with Byte Data 4267 1.1 jruoho Name (BYT1, 0xff) 4268 1.1 jruoho Name (BYT2, 0xff) 4269 1.1 jruoho Name (BRSL, 0x00) 4270 1.1 jruoho 4271 1.1 jruoho //And with Word Data 4272 1.1 jruoho Name (WRD1, 0xffff) 4273 1.1 jruoho Name (WRD2, 0xffff) 4274 1.1 jruoho Name (WRSL, 0x0000) 4275 1.1 jruoho 4276 1.1 jruoho //And with DWord Data 4277 1.1 jruoho Name (DWD1, 0xffffffff) 4278 1.1 jruoho Name (DWD2, 0xffffffff) 4279 1.1 jruoho Name (DRSL, 0x00000000) 4280 1.1 jruoho Name(RSLT,1) 4281 1.1 jruoho 4282 1.1 jruoho 4283 1.1 jruoho Name(ARSL,0x00) 4284 1.1 jruoho Name(LRSL,0x00) 4285 1.1 jruoho 4286 1.1 jruoho Method(NNDB,2) 4287 1.1 jruoho {//NNDB 4288 1.1 jruoho 4289 1.1 jruoho Store(0xffffffff,SMDW) 4290 1.1 jruoho Store(0xffff,SMWD) 4291 1.1 jruoho Store(0xff,SMBY) 4292 1.1 jruoho 4293 1.1 jruoho 4294 1.1 jruoho NAnd(Arg0,Arg1,ARSL) 4295 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd)) 4296 1.1 jruoho {Return(11)} 4297 1.1 jruoho 4298 1.1 jruoho Store(Arg0,local0) 4299 1.1 jruoho Store(Arg1,Local1) 4300 1.1 jruoho 4301 1.1 jruoho NAnd(Local0,Local1,LRSL) 4302 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd)) 4303 1.1 jruoho {Return(12)} 4304 1.1 jruoho 4305 1.1 jruoho 4306 1.1 jruoho //Byte data 4307 1.1 jruoho NAnd(BYT1,BYT2,BRSL) 4308 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4309 1.1 jruoho {Return(13)} 4310 1.1 jruoho 4311 1.1 jruoho //Word Data 4312 1.1 jruoho NAnd(WRD1,WRD2,WRSL) 4313 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4314 1.1 jruoho {Return(14)} 4315 1.1 jruoho 4316 1.1 jruoho //DWord Data 4317 1.1 jruoho NAnd(DWD1,DWD2,DRSL) 4318 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4319 1.1 jruoho {Return(15)} 4320 1.1 jruoho 4321 1.1 jruoho //Byte data 4322 1.1 jruoho NAnd(SMBY,0xff,BRSL) 4323 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4324 1.1 jruoho {Return(16)} 4325 1.1 jruoho 4326 1.1 jruoho //Word Data 4327 1.1 jruoho NAnd(SMWD,0xffff,WRSL) 4328 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4329 1.1 jruoho {Return(17)} 4330 1.1 jruoho 4331 1.1 jruoho //DWord Data 4332 1.1 jruoho NAnd(SMDW,0xffffffff,DRSL) 4333 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4334 1.1 jruoho {Return(18)} 4335 1.1 jruoho 4336 1.1 jruoho Return(0) 4337 1.1 jruoho 4338 1.1 jruoho }//NNDB 4339 1.1 jruoho 4340 1.1 jruoho Method(NNOR,2) 4341 1.1 jruoho {//NNOR 4342 1.1 jruoho 4343 1.1 jruoho NOr(Arg0,Arg1,ARSL) 4344 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd)) 4345 1.1 jruoho {Return(21)} 4346 1.1 jruoho 4347 1.1 jruoho Store(Arg0,local0) 4348 1.1 jruoho Store(Arg1,Local1) 4349 1.1 jruoho 4350 1.1 jruoho NOr(Local0,Local1,LRSL) 4351 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd)) 4352 1.1 jruoho {Return(22)} 4353 1.1 jruoho 4354 1.1 jruoho 4355 1.1 jruoho //Byte data 4356 1.1 jruoho NOr(BYT1,BYT2,BRSL) 4357 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4358 1.1 jruoho {Return(23)} 4359 1.1 jruoho 4360 1.1 jruoho //Word Data 4361 1.1 jruoho NOr(WRD1,WRD2,WRSL) 4362 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4363 1.1 jruoho {Return(24)} 4364 1.1 jruoho 4365 1.1 jruoho //DWord Data 4366 1.1 jruoho NOr(DWD1,DWD2,DRSL) 4367 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4368 1.1 jruoho {Return(25)} 4369 1.1 jruoho 4370 1.1 jruoho //System Memory Byte data 4371 1.1 jruoho NOr(SMBY,0xff,BRSL) 4372 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4373 1.1 jruoho {Return(26)} 4374 1.1 jruoho 4375 1.1 jruoho //System Memory Word Data 4376 1.1 jruoho NOr(SMWD,0xffff,WRSL) 4377 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4378 1.1 jruoho {Return(27)} 4379 1.1 jruoho 4380 1.1 jruoho //System Memory DWord Data 4381 1.1 jruoho NOr(SMDW,0xffffffff,DRSL) 4382 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4383 1.1 jruoho {Return(28)} 4384 1.1 jruoho 4385 1.1 jruoho Return(0) 4386 1.1 jruoho 4387 1.1 jruoho }//NNOR 4388 1.1 jruoho 4389 1.1 jruoho Method(NNOT,2) 4390 1.1 jruoho {//NNOT 4391 1.1 jruoho 4392 1.1 jruoho Or(Arg0,Arg1,ARSL) 4393 1.1 jruoho Not(ARSL,ARSL) 4394 1.1 jruoho if(LNotEqual(ARSL,0xfffffffd)) 4395 1.1 jruoho {Return(31)} 4396 1.1 jruoho 4397 1.1 jruoho Store(Arg0,local0) 4398 1.1 jruoho Store(Arg1,Local1) 4399 1.1 jruoho 4400 1.1 jruoho Or(Local0,Local1,LRSL) 4401 1.1 jruoho Not(LRSL,LRSL) 4402 1.1 jruoho if(LNotEqual(LRSL,0xfffffffd)) 4403 1.1 jruoho {Return(32)} 4404 1.1 jruoho 4405 1.1 jruoho 4406 1.1 jruoho //Byte data 4407 1.1 jruoho Or(BYT1,BYT2,BRSL) 4408 1.1 jruoho Not(BRSL,BRSL) 4409 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4410 1.1 jruoho {Return(33)} 4411 1.1 jruoho 4412 1.1 jruoho //Word Data 4413 1.1 jruoho Or(WRD1,WRD2,WRSL) 4414 1.1 jruoho Not(WRSL,WRSL) 4415 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4416 1.1 jruoho {Return(34)} 4417 1.1 jruoho 4418 1.1 jruoho //DWord Data 4419 1.1 jruoho Or(DWD1,DWD2,DRSL) 4420 1.1 jruoho Not(DRSL,DRSL) 4421 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4422 1.1 jruoho {Return(35)} 4423 1.1 jruoho 4424 1.1 jruoho //System Memory Byte data 4425 1.1 jruoho Or(SMBY,0xff,BRSL) 4426 1.1 jruoho Not(BRSL,BRSL) 4427 1.1 jruoho if(LNotEqual(BRSL,0xffffff00)) 4428 1.1 jruoho {Return(36)} 4429 1.1 jruoho 4430 1.1 jruoho //System Memory Word Data 4431 1.1 jruoho Or(SMWD,0xffff,WRSL) 4432 1.1 jruoho Not(WRSL,WRSL) 4433 1.1 jruoho if(LNotEqual(WRSL,0xffff0000)) 4434 1.1 jruoho {Return(37)} 4435 1.1 jruoho 4436 1.1 jruoho //System Memory DWord Data 4437 1.1 jruoho Or(SMDW,0xffffffff,DRSL) 4438 1.1 jruoho Not(DRSL,DRSL) 4439 1.1 jruoho if(LNotEqual(DRSL,0x00000000)) 4440 1.1 jruoho {Return(38)} 4441 1.1 jruoho 4442 1.1 jruoho Return(0) 4443 1.1 jruoho }//NNOT 4444 1.1 jruoho 4445 1.1 jruoho 4446 1.1 jruoho Method(TEST) 4447 1.1 jruoho { 4448 1.1 jruoho 4449 1.1 jruoho Store ("++++++++ NBitOps Test", Debug) 4450 1.1 jruoho 4451 1.1 jruoho Store(NNDB(2,2),RSLT) 4452 1.1 jruoho if(LNotEqual(RSLT,0)) 4453 1.1 jruoho {Return(RSLT)} 4454 1.1 jruoho 4455 1.1 jruoho Store(NNOR(2,2),RSLT) 4456 1.1 jruoho if(LNotEqual(RSLT,0)) 4457 1.1 jruoho {Return(RSLT)} 4458 1.1 jruoho 4459 1.1 jruoho Store(NNOT(2,2),RSLT) 4460 1.1 jruoho if(LNotEqual(RSLT,0)) 4461 1.1 jruoho {Return(RSLT)} 4462 1.1 jruoho 4463 1.1 jruoho 4464 1.1 jruoho Return(0) 4465 1.1 jruoho } 4466 1.1 jruoho 4467 1.1 jruoho }//Device NBIT 4468 1.1 jruoho 4469 1.1 jruoho // 4470 1.1 jruoho // test ShftOp.asl 4471 1.1 jruoho // 4472 1.1 jruoho //ShiftRightTerm := ShiftRight( 4473 1.1 jruoho // Source, //TermArg=>Integer 4474 1.1 jruoho // ShiftCount //TermArg=>Integer 4475 1.1 jruoho // Result //Nothing | SuperName 4476 1.1 jruoho //) => Integer 4477 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted right with the most significant bit 4478 1.1.1.9 christos //zeroed ShiftCount times. The result is optionally stored into Result. 4479 1.1 jruoho 4480 1.1 jruoho //ShiftLeft( 4481 1.1 jruoho // Source, //TermArg=>Integer 4482 1.1 jruoho // ShiftCount //TermArg=>Integer 4483 1.1 jruoho // Result //Nothing | SuperName 4484 1.1 jruoho //) => Integer 4485 1.1 jruoho //Source and ShiftCount are evaluated as integer data types. Source is shifted left with the least significant 4486 1.1 jruoho //bit zeroed ShiftCount times. The result is optionally stored into Result. 4487 1.1 jruoho 4488 1.1 jruoho //If the Control method is success Zero is returned else a non-zero number is returned 4489 1.1 jruoho Device (SHFT) 4490 1.1 jruoho {//SHFT 4491 1.1 jruoho 4492 1.1 jruoho //Create System Memory Operation Region and field overlays 4493 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 4494 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 4495 1.1 jruoho { 4496 1.1 jruoho SMDW, 32, // 32-bit DWORD 4497 1.1 jruoho SMWD, 16, // 16-bit WORD 4498 1.1 jruoho SMBY, 8, // 8-bit BYTE 4499 1.1 jruoho }// Field(RAM) 4500 1.1 jruoho 4501 1.1 jruoho 4502 1.1 jruoho Name(SHFC,0x00) 4503 1.1 jruoho 4504 1.1 jruoho //And with Byte Data 4505 1.1 jruoho Name (BYT1, 0xff) 4506 1.1 jruoho Name (BRSL, 0x00) 4507 1.1 jruoho 4508 1.1 jruoho //And with Word Data 4509 1.1 jruoho Name (WRD1, 0xffff) 4510 1.1 jruoho Name (WRSL, 0x0000) 4511 1.1 jruoho 4512 1.1 jruoho //And with DWord Data 4513 1.1 jruoho Name (DWD1, 0xffffffff) 4514 1.1 jruoho Name (DRSL, 0x00000000) 4515 1.1 jruoho 4516 1.1 jruoho Name(RSLT,1) 4517 1.1 jruoho 4518 1.1 jruoho Name(ARSL,0x00) 4519 1.1 jruoho Name(LRSL,0x00) 4520 1.1 jruoho 4521 1.1 jruoho Method(SLFT,2) 4522 1.1 jruoho {//SLFT 4523 1.1 jruoho 4524 1.1 jruoho Store(0xffffffff,SMDW) 4525 1.1 jruoho Store(0xffff,SMWD) 4526 1.1 jruoho Store(0xff,SMBY) 4527 1.1 jruoho 4528 1.1 jruoho 4529 1.1 jruoho //Arg0-> 2 & Arg1->2 4530 1.1 jruoho ShiftLeft(Arg0,Arg1,ARSL) 4531 1.1 jruoho if(LNotEqual(ARSL,8)) 4532 1.1 jruoho {Return(11)} 4533 1.1 jruoho 4534 1.1 jruoho Store(Arg0,local0) 4535 1.1 jruoho Store(Arg1,Local1) 4536 1.1 jruoho 4537 1.1 jruoho //Local0->8 and Local1->2 4538 1.1 jruoho ShiftLeft(Local0,Local1,LRSL) 4539 1.1 jruoho if(LNotEqual(LRSL,8)) 4540 1.1 jruoho {Return(12)} 4541 1.1 jruoho 4542 1.1 jruoho Store(2,SHFC) 4543 1.1 jruoho //Byte data 4544 1.1 jruoho ShiftLeft(BYT1,SHFC,BRSL) 4545 1.1 jruoho if(LNotEqual(BRSL,0x3FC)) 4546 1.1 jruoho {Return(13)} 4547 1.1 jruoho 4548 1.1 jruoho Store(4,SHFC) 4549 1.1 jruoho //Word Data 4550 1.1 jruoho ShiftLeft(WRD1,SHFC,WRSL) 4551 1.1 jruoho if(LNotEqual(WRSL,0xFFFF0)) 4552 1.1 jruoho {Return(14)} 4553 1.1 jruoho 4554 1.1 jruoho Store(8,SHFC) 4555 1.1 jruoho //DWord Data 4556 1.1 jruoho ShiftLeft(DWD1,SHFC,DRSL) 4557 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00)) 4558 1.1 jruoho {Return(15)} 4559 1.1 jruoho 4560 1.1 jruoho 4561 1.1 jruoho //System Memory Byte data 4562 1.1 jruoho Store(4,SHFC) 4563 1.1 jruoho ShiftLeft(SMBY,SHFC,BRSL) 4564 1.1 jruoho if(LNotEqual(BRSL,0xFF0)) 4565 1.1 jruoho {Return(16)} 4566 1.1 jruoho 4567 1.1 jruoho //Word Data 4568 1.1 jruoho Store(4,SHFC) 4569 1.1 jruoho ShiftLeft(SMWD,SHFC,WRSL) 4570 1.1 jruoho if(LNotEqual(WRSL,0xffff0)) 4571 1.1 jruoho {Return(17)} 4572 1.1 jruoho 4573 1.1 jruoho //DWord Data 4574 1.1 jruoho Store(8,SHFC) 4575 1.1 jruoho ShiftLeft(SMDW,SHFC,DRSL) 4576 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF00)) 4577 1.1 jruoho {Return(18)} 4578 1.1 jruoho 4579 1.1 jruoho Return(0) 4580 1.1 jruoho 4581 1.1 jruoho }//SLFT 4582 1.1 jruoho 4583 1.1 jruoho Method(SRGT,2) 4584 1.1 jruoho {//SRGT 4585 1.1 jruoho //And with Byte Data 4586 1.1 jruoho Store (0xff,BYT1) 4587 1.1 jruoho Store (0x00,BRSL) 4588 1.1 jruoho 4589 1.1 jruoho //And with Word Data 4590 1.1 jruoho Store (0xffff,WRD1) 4591 1.1 jruoho Store (0x0000,WRSL) 4592 1.1 jruoho 4593 1.1 jruoho //And with DWord Data 4594 1.1 jruoho Store(0xffffffff,DWD1) 4595 1.1 jruoho Store (0x00000000,DRSL) 4596 1.1 jruoho 4597 1.1 jruoho //Reinitialize the result objects 4598 1.1 jruoho Store(0x00,ARSL) 4599 1.1 jruoho Store(0x00,LRSL) 4600 1.1 jruoho 4601 1.1 jruoho Store(0xffffffff,SMDW) 4602 1.1 jruoho Store(0xffff,SMWD) 4603 1.1 jruoho Store(0xff,SMBY) 4604 1.1 jruoho 4605 1.1 jruoho //Arg0-> 2 & Arg1->2 4606 1.1 jruoho ShiftRight(Arg0,Arg1,ARSL) 4607 1.1 jruoho if(LNotEqual(ARSL,0)) 4608 1.1 jruoho {Return(21)} 4609 1.1 jruoho 4610 1.1 jruoho Store(Arg0,local0) 4611 1.1 jruoho Store(Arg1,Local1) 4612 1.1 jruoho 4613 1.1 jruoho //Local0->8 and Local1->2 4614 1.1 jruoho ShiftRight(Local0,Local1,LRSL) 4615 1.1 jruoho if(LNotEqual(LRSL,0)) 4616 1.1 jruoho {Return(22)} 4617 1.1 jruoho 4618 1.1 jruoho Store(2,SHFC) 4619 1.1 jruoho //Byte data 4620 1.1 jruoho ShiftRight(BYT1,SHFC,BRSL) 4621 1.1 jruoho if(LNotEqual(BRSL,0x3F)) 4622 1.1 jruoho {Return(23)} 4623 1.1 jruoho 4624 1.1 jruoho Store(4,SHFC) 4625 1.1 jruoho //Word Data 4626 1.1 jruoho ShiftRight(WRD1,SHFC,WRSL) 4627 1.1 jruoho if(LNotEqual(WRSL,0xFFF)) 4628 1.1 jruoho {Return(24)} 4629 1.1 jruoho 4630 1.1 jruoho Store(8,SHFC) 4631 1.1 jruoho //DWord Data 4632 1.1 jruoho ShiftRight(DWD1,SHFC,DRSL) 4633 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF)) 4634 1.1 jruoho {Return(25)} 4635 1.1 jruoho 4636 1.1 jruoho //System Memory Byte data 4637 1.1 jruoho Store(4,SHFC) 4638 1.1 jruoho ShiftRight(SMBY,SHFC,BRSL) 4639 1.1 jruoho if(LNotEqual(BRSL,0xF)) 4640 1.1 jruoho {Return(26)} 4641 1.1 jruoho 4642 1.1 jruoho //Word Data 4643 1.1 jruoho Store(4,SHFC) 4644 1.1 jruoho ShiftRight(SMWD,SHFC,WRSL) 4645 1.1 jruoho if(LNotEqual(WRSL,0xFFF)) 4646 1.1 jruoho {Return(27)} 4647 1.1 jruoho 4648 1.1 jruoho //DWord Data 4649 1.1 jruoho Store(8,SHFC) 4650 1.1 jruoho ShiftRight(SMDW,SHFC,DRSL) 4651 1.1 jruoho if(LNotEqual(DRSL,0xFFFFFF)) 4652 1.1 jruoho {Return(28)} 4653 1.1 jruoho 4654 1.1 jruoho Return(0) 4655 1.1 jruoho }//SRGT 4656 1.1 jruoho 4657 1.1 jruoho //Test method called from amlexec 4658 1.1 jruoho Method(TEST) 4659 1.1 jruoho { 4660 1.1 jruoho Store ("++++++++ ShftOp Test", Debug) 4661 1.1 jruoho 4662 1.1 jruoho Store(SLFT(2,2),RSLT) 4663 1.1 jruoho if(LNotEqual(RSLT,0)) 4664 1.1 jruoho {Return(RSLT)} 4665 1.1 jruoho Store(SRGT(2,2),RSLT) 4666 1.1 jruoho if(LNotEqual(RSLT,0)) 4667 1.1 jruoho {Return(RSLT)} 4668 1.1 jruoho Return(0) 4669 1.1 jruoho } 4670 1.1 jruoho 4671 1.1 jruoho }//Device SHFT 4672 1.1 jruoho 4673 1.1 jruoho // 4674 1.1 jruoho // test Xor.asl and slightly modified 4675 1.1 jruoho // 4676 1.1 jruoho //This code tests the XOR opcode term 4677 1.1 jruoho //Syntax of XOR term 4678 1.1 jruoho // XOr( 4679 1.1 jruoho // Source1 //TermArg=>BufferTerm 4680 1.1 jruoho // Source2 //TermArg=>Integer 4681 1.1 jruoho // Result //NameString 4682 1.1 jruoho // ) 4683 1.1 jruoho //"Source1" and "Source2" are evaluated as integers, a bit-wise XOR is performed, and the result is optionally stored in 4684 1.1 jruoho // Result 4685 1.1 jruoho Device (XORD) 4686 1.1 jruoho { 4687 1.1 jruoho //This Method tests XOr operator for all the data types i.e. BYTE, WORD and DWORD 4688 1.1.1.3 christos Method (TEST,, Serialized) 4689 1.1 jruoho { 4690 1.1 jruoho Store ("++++++++ Xor Test", Debug) 4691 1.1 jruoho 4692 1.1 jruoho //Overlay in system memory 4693 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 256) 4694 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve) 4695 1.1 jruoho { 4696 1.1 jruoho RES1, 1, //Offset 4697 1.1 jruoho BYT1, 8, //First BYTE 4698 1.1 jruoho BYT2, 8, //Second BYTE 4699 1.1 jruoho RBYT, 8, //Result Byte 4700 1.1 jruoho RES2, 1, //Offset 4701 1.1 jruoho WRD1, 16, //First WORD field 4702 1.1 jruoho WRD2, 16, //Second WORD field 4703 1.1 jruoho RWRD, 16, //RSLT WORD field 4704 1.1 jruoho RES3, 1, //Offset 4705 1.1 jruoho DWD1, 32, //First Dword 4706 1.1 jruoho DWD2, 32, //Second Dword 4707 1.1 jruoho RDWD, 32, //Result Dword 4708 1.1 jruoho RES4, 1, //Offset 4709 1.1 jruoho } 4710 1.1 jruoho 4711 1.1 jruoho // Store bits in the single bit fields for checking 4712 1.1 jruoho // at the end 4713 1.1 jruoho Store(1, RES1) 4714 1.1 jruoho Store(1, RES2) 4715 1.1 jruoho Store(1, RES3) 4716 1.1 jruoho Store(1, RES4) 4717 1.1 jruoho 4718 1.1 jruoho // Check the stored single bits 4719 1.1 jruoho if(LNotEqual(RES1, 1)) 4720 1.1 jruoho { 4721 1.1 jruoho Return(1) 4722 1.1 jruoho } 4723 1.1 jruoho 4724 1.1 jruoho if(LNotEqual(RES2, 1)) 4725 1.1 jruoho { 4726 1.1 jruoho Return(1) 4727 1.1 jruoho } 4728 1.1 jruoho 4729 1.1 jruoho if(LNotEqual(RES3, 1)) 4730 1.1 jruoho { 4731 1.1 jruoho Return(1) 4732 1.1 jruoho } 4733 1.1 jruoho 4734 1.1 jruoho if(LNotEqual(RES4, 1)) 4735 1.1 jruoho { 4736 1.1 jruoho Return(1) 4737 1.1 jruoho } 4738 1.1 jruoho 4739 1.1 jruoho //************************************************ 4740 1.1 jruoho // (BYT1) Bit1 ->0 and (BYT2)Bit2 -> 0 condition 4741 1.1 jruoho Store(0x00,BYT1) 4742 1.1 jruoho Store(0x00,BYT2) 4743 1.1 jruoho XOr(BYT1,BYT2,Local0) 4744 1.1 jruoho Store (Local0, RBYT) 4745 1.1 jruoho if(LNotEqual(RBYT,0)) 4746 1.1 jruoho { Return(1)} 4747 1.1 jruoho 4748 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT2)Bit2 -> 1 condition 4749 1.1 jruoho Store(0xff,BYT1) 4750 1.1 jruoho Store(0xff,BYT2) 4751 1.1 jruoho XOr(BYT1,BYT2,Local0) 4752 1.1 jruoho Store (Local0, RBYT) 4753 1.1 jruoho if(LNotEqual(RBYT,0)) 4754 1.1 jruoho { Return(1)} 4755 1.1 jruoho 4756 1.1 jruoho // (BYT1) Bit1 ->1 and (BYT)Bit2 -> 0 condition 4757 1.1 jruoho Store(0x55,BYT1) 4758 1.1 jruoho Store(0xAA,BYT2) 4759 1.1 jruoho XOr(BYT1,BYT2,Local0) 4760 1.1 jruoho Store (Local0, RBYT) 4761 1.1 jruoho if(LNotEqual(RBYT,0xFF)) 4762 1.1 jruoho { Return(1)} 4763 1.1 jruoho 4764 1.1 jruoho //(BYT1) Bit1 ->0 and (BYT2)Bit2 -> 1 condition 4765 1.1 jruoho Store(0xAA,BYT1) 4766 1.1 jruoho Store(0x55,BYT2) 4767 1.1 jruoho XOr(BYT1,BYT2,Local0) 4768 1.1 jruoho Store (Local0, RBYT) 4769 1.1 jruoho if(LNotEqual(RBYT,0xFF)) 4770 1.1 jruoho { Return(1)} 4771 1.1 jruoho 4772 1.1 jruoho Store(0x12,BYT1) 4773 1.1 jruoho Store(0xED,BYT2) 4774 1.1 jruoho 4775 1.1 jruoho XOr(BYT1,BYT2,Local0) 4776 1.1 jruoho Store (Local0, RBYT) 4777 1.1 jruoho if(LNotEqual(RBYT,0xFF)) 4778 1.1 jruoho { 4779 1.1 jruoho Return(1) 4780 1.1 jruoho } 4781 1.1 jruoho 4782 1.1 jruoho // Store known values for checking later 4783 1.1 jruoho Store(0x12, BYT1) 4784 1.1 jruoho if(LNotEqual(BYT1, 0x12)) 4785 1.1 jruoho { 4786 1.1 jruoho Return(1) 4787 1.1 jruoho } 4788 1.1 jruoho 4789 1.1 jruoho Store(0xFE, BYT2) 4790 1.1 jruoho if(LNotEqual(BYT2, 0xFE)) 4791 1.1 jruoho { 4792 1.1 jruoho Return(1) 4793 1.1 jruoho } 4794 1.1 jruoho 4795 1.1 jruoho Store(0xAB, RBYT) 4796 1.1 jruoho if(LNotEqual(RBYT, 0xAB)) 4797 1.1 jruoho { 4798 1.1 jruoho Return(1) 4799 1.1 jruoho } 4800 1.1 jruoho 4801 1.1 jruoho //*********************************************** 4802 1.1 jruoho // (WRD1) Bit1 ->0 and (WRD2)Bit2 -> 0 condition 4803 1.1 jruoho Store(0x0000,WRD1) 4804 1.1 jruoho Store(0x0000,WRD2) 4805 1.1 jruoho XOr(WRD1,WRD2,RWRD) 4806 1.1 jruoho if(LNotEqual(RWRD,0)) 4807 1.1 jruoho { Return(1)} 4808 1.1 jruoho 4809 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 1 condition 4810 1.1 jruoho Store(0xffff,WRD1) 4811 1.1 jruoho Store(0xffff,WRD2) 4812 1.1 jruoho XOr(WRD1,WRD2,RWRD) 4813 1.1 jruoho if(LNotEqual(RWRD,0)) 4814 1.1 jruoho { Return(1)} 4815 1.1 jruoho 4816 1.1 jruoho // (WRD1) Bit1 ->1 and (WRD2)Bit2 -> 0 condition 4817 1.1 jruoho Store(0x5555,WRD1) 4818 1.1 jruoho Store(0xAAAA,WRD2) 4819 1.1 jruoho XOr(WRD1,WRD2,RWRD) 4820 1.1 jruoho if(LNotEqual(RWRD,0xFFFF)) 4821 1.1 jruoho { Return(1)} 4822 1.1 jruoho 4823 1.1 jruoho //(WRD1) Bit1 ->0 and (WRD2)Bit2 -> 1 condition 4824 1.1 jruoho Store(0xAAAA,WRD1) 4825 1.1 jruoho Store(0x5555,WRD2) 4826 1.1 jruoho XOr(WRD1,WRD2,RWRD) 4827 1.1 jruoho if(LNotEqual(RWRD,0xFFFF)) 4828 1.1 jruoho { Return(1)} 4829 1.1 jruoho 4830 1.1 jruoho Store(0x1234,WRD1) 4831 1.1 jruoho Store(0xEDCB,WRD2) 4832 1.1 jruoho XOr(WRD1,WRD2,RWRD) 4833 1.1 jruoho if(LNotEqual(RWRD,0xFFFF)) 4834 1.1 jruoho { Return(1)} 4835 1.1 jruoho 4836 1.1 jruoho // Store known values for checking later 4837 1.1 jruoho Store(0x1234, WRD1) 4838 1.1 jruoho if(LNotEqual(WRD1, 0x1234)) 4839 1.1 jruoho { 4840 1.1 jruoho Return(1) 4841 1.1 jruoho } 4842 1.1 jruoho 4843 1.1 jruoho Store(0xFEDC, WRD2) 4844 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC)) 4845 1.1 jruoho { 4846 1.1 jruoho Return(1) 4847 1.1 jruoho } 4848 1.1 jruoho 4849 1.1 jruoho Store(0x87AB, RWRD) 4850 1.1 jruoho if(LNotEqual(RWRD, 0x87AB)) 4851 1.1 jruoho { 4852 1.1 jruoho Return(1) 4853 1.1 jruoho } 4854 1.1 jruoho 4855 1.1 jruoho 4856 1.1 jruoho //************************************************** 4857 1.1 jruoho // (DWD1) Bit1 ->0 and (DWD2)Bit2 -> 0 condition 4858 1.1 jruoho Store(0x00000000,DWD1) 4859 1.1 jruoho Store(0x00000000,DWD2) 4860 1.1 jruoho XOr(DWD1,DWD2,RDWD) 4861 1.1 jruoho if(LNotEqual(RDWD,0)) 4862 1.1 jruoho { Return(1)} 4863 1.1 jruoho 4864 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 1 condition 4865 1.1 jruoho Store(0xffffffff,DWD1) 4866 1.1 jruoho Store(0xffffffff,DWD2) 4867 1.1 jruoho XOr(DWD1,DWD2,RDWD) 4868 1.1 jruoho if(LNotEqual(RDWD,0)) 4869 1.1 jruoho { Return(1)} 4870 1.1 jruoho 4871 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition 4872 1.1 jruoho Store(0x55555555,DWD1) 4873 1.1 jruoho Store(0xAAAAAAAA,DWD2) 4874 1.1 jruoho XOr(DWD1,DWD2,RDWD) 4875 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF)) 4876 1.1 jruoho { Return(1)} 4877 1.1 jruoho 4878 1.1 jruoho //(DWD1) Bit1 ->0 and (DWD2)Bit2 -> 1 condition 4879 1.1 jruoho Store(0xAAAAAAAA,DWD1) 4880 1.1 jruoho Store(0x55555555,DWD2) 4881 1.1 jruoho XOr(DWD1,DWD2,RDWD) 4882 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF)) 4883 1.1 jruoho { Return(1)} 4884 1.1 jruoho 4885 1.1 jruoho // (DWD1) Bit1 ->1 and (DWD2)Bit2 -> 0 condition 4886 1.1 jruoho Store(0x12345678,DWD1) 4887 1.1 jruoho Store(0xEDCBA987,DWD2) 4888 1.1 jruoho XOr(DWD1,DWD2,RDWD) 4889 1.1 jruoho if(LNotEqual(RDWD,0xFFFFFFFF)) 4890 1.1 jruoho { Return(1)} 4891 1.1 jruoho 4892 1.1 jruoho Store(0x12345678,DWD1) 4893 1.1 jruoho if(LNotEqual(DWD1,0x12345678)) 4894 1.1 jruoho { 4895 1.1 jruoho Return(1) 4896 1.1 jruoho } 4897 1.1 jruoho 4898 1.1 jruoho Store(0xFEDCBA98,DWD2) 4899 1.1 jruoho if(LNotEqual(DWD2,0xFEDCBA98)) 4900 1.1 jruoho { 4901 1.1 jruoho Return(1) 4902 1.1 jruoho } 4903 1.1 jruoho 4904 1.1 jruoho Store(0x91827364,RDWD) 4905 1.1 jruoho if(LNotEqual(RDWD,0x91827364)) 4906 1.1 jruoho { 4907 1.1 jruoho Return(1) 4908 1.1 jruoho } 4909 1.1 jruoho 4910 1.1 jruoho //**************************************************** 4911 1.1 jruoho // Check the stored single bits 4912 1.1 jruoho if(LNotEqual(RES1, 1)) 4913 1.1 jruoho { 4914 1.1 jruoho Return(1) 4915 1.1 jruoho } 4916 1.1 jruoho 4917 1.1 jruoho if(LNotEqual(RES2, 1)) 4918 1.1 jruoho { 4919 1.1 jruoho Return(1) 4920 1.1 jruoho } 4921 1.1 jruoho 4922 1.1 jruoho if(LNotEqual(RES3, 1)) 4923 1.1 jruoho { 4924 1.1 jruoho Return(1) 4925 1.1 jruoho } 4926 1.1 jruoho 4927 1.1 jruoho if(LNotEqual(RES4, 1)) 4928 1.1 jruoho { 4929 1.1 jruoho Return(1) 4930 1.1 jruoho } 4931 1.1 jruoho 4932 1.1 jruoho // Change all of the single bit fields to zero 4933 1.1 jruoho Store(0, RES1) 4934 1.1 jruoho Store(0, RES2) 4935 1.1 jruoho Store(0, RES3) 4936 1.1 jruoho Store(0, RES4) 4937 1.1 jruoho 4938 1.1 jruoho // Now, check all of the fields 4939 1.1 jruoho 4940 1.1 jruoho // Byte 4941 1.1 jruoho if(LNotEqual(BYT1, 0x12)) 4942 1.1 jruoho { 4943 1.1 jruoho Return(1) 4944 1.1 jruoho } 4945 1.1 jruoho 4946 1.1 jruoho if(LNotEqual(BYT2, 0xFE)) 4947 1.1 jruoho { 4948 1.1 jruoho Return(1) 4949 1.1 jruoho } 4950 1.1 jruoho 4951 1.1 jruoho if(LNotEqual(RBYT, 0xAB)) 4952 1.1 jruoho { 4953 1.1 jruoho Return(1) 4954 1.1 jruoho } 4955 1.1 jruoho 4956 1.1 jruoho // Word 4957 1.1 jruoho if(LNotEqual(WRD1, 0x1234)) 4958 1.1 jruoho { 4959 1.1 jruoho Return(1) 4960 1.1 jruoho } 4961 1.1 jruoho 4962 1.1 jruoho if(LNotEqual(WRD2, 0xFEDC)) 4963 1.1 jruoho { 4964 1.1 jruoho Return(1) 4965 1.1 jruoho } 4966 1.1 jruoho 4967 1.1 jruoho if(LNotEqual(RWRD, 0x87AB)) 4968 1.1 jruoho { 4969 1.1 jruoho Return(1) 4970 1.1 jruoho } 4971 1.1 jruoho 4972 1.1 jruoho // Dword 4973 1.1 jruoho if(LNotEqual(DWD1, 0x12345678)) 4974 1.1 jruoho { 4975 1.1 jruoho Return(1) 4976 1.1 jruoho } 4977 1.1 jruoho 4978 1.1 jruoho if(LNotEqual(DWD2, 0xFEDCBA98)) 4979 1.1 jruoho { 4980 1.1 jruoho Return(1) 4981 1.1 jruoho } 4982 1.1 jruoho 4983 1.1 jruoho if(LNotEqual(RDWD, 0x91827364)) 4984 1.1 jruoho { 4985 1.1 jruoho Return(1) 4986 1.1 jruoho } 4987 1.1 jruoho 4988 1.1 jruoho // Bits 4989 1.1 jruoho if(LNotEqual(RES1, 0)) 4990 1.1 jruoho { 4991 1.1 jruoho Return(1) 4992 1.1 jruoho } 4993 1.1 jruoho 4994 1.1 jruoho if(LNotEqual(RES2, 0)) 4995 1.1 jruoho { 4996 1.1 jruoho Return(1) 4997 1.1 jruoho } 4998 1.1 jruoho 4999 1.1 jruoho if(LNotEqual(RES3, 0)) 5000 1.1 jruoho { 5001 1.1 jruoho Return(1) 5002 1.1 jruoho } 5003 1.1 jruoho 5004 1.1 jruoho if(LNotEqual(RES4, 0)) 5005 1.1 jruoho { 5006 1.1 jruoho Return(1) 5007 1.1 jruoho } 5008 1.1 jruoho 5009 1.1 jruoho 5010 1.1 jruoho Return(0) 5011 1.1 jruoho } // TEST 5012 1.1 jruoho } // XORD 5013 1.1 jruoho 5014 1.1 jruoho // 5015 1.1 jruoho // test CrBytFld.asl 5016 1.1 jruoho // 5017 1.1 jruoho // CrBytFld test 5018 1.1 jruoho // Test for CreateByteField. 5019 1.1 jruoho // Tests creating byte field overlay of buffer stored in Local0. 5020 1.1 jruoho // Tests need to be added for Arg0 and Name buffers. 5021 1.1 jruoho // 5022 1.1 jruoho Device (CRBF) 5023 1.1 jruoho { // Test device name 5024 1.1 jruoho Method (TEST) 5025 1.1 jruoho { 5026 1.1 jruoho Store ("++++++++ CrBytFld Test", Debug) 5027 1.1 jruoho 5028 1.1.1.10 christos // Local0 is uninitialized buffer with 4 elements 5029 1.1 jruoho Store (Buffer (4) {}, Local0) 5030 1.1 jruoho 5031 1.1 jruoho // create Byte Field named BF0 based on Local0 element 0 5032 1.1 jruoho CreateByteField (Local0, 0, BF0) 5033 1.1 jruoho 5034 1.1 jruoho // validate CreateByteField did not alter Local0 5035 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type 5036 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3 5037 1.1 jruoho { Return (2) } 5038 1.1 jruoho 5039 1.1 jruoho // store something into BF0 5040 1.1 jruoho Store (1, BF0) 5041 1.1 jruoho 5042 1.1 jruoho // validate Store did not alter Local0 object type 5043 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type 5044 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3 5045 1.1 jruoho { Return (3) } 5046 1.1 jruoho 5047 1.1 jruoho // verify that the Store into BF0 was successful 5048 1.1 jruoho If (LNotEqual (BF0, 1)) 5049 1.1 jruoho { Return (4) } 5050 1.1 jruoho 5051 1.1 jruoho 5052 1.1 jruoho // create Byte Field named BF1 based on Local0 element 1 5053 1.1 jruoho CreateByteField (Local0, 1, BF1) 5054 1.1 jruoho 5055 1.1 jruoho // validate CreateByteField did not alter Local0 5056 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type 5057 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3 5058 1.1 jruoho { Return (10) } 5059 1.1 jruoho 5060 1.1 jruoho // store something into BF1 5061 1.1 jruoho Store (5, BF1) 5062 1.1 jruoho 5063 1.1 jruoho // validate Store did not alter Local0 object type 5064 1.1 jruoho Store (ObjectType (Local0), Local1) // Local1 = Local0 object type 5065 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer object type value is 3 5066 1.1 jruoho { Return (11) } 5067 1.1 jruoho 5068 1.1 jruoho // verify that the Store into BF1 was successful 5069 1.1 jruoho If (LNotEqual (BF1, 5)) 5070 1.1 jruoho { Return (12) } 5071 1.1 jruoho 5072 1.1 jruoho // verify that the Store into BF1 did not alter BF0 5073 1.1 jruoho If (LNotEqual (BF0, 1)) 5074 1.1 jruoho { Return (13) } 5075 1.1 jruoho 5076 1.1 jruoho 5077 1.1 jruoho // store something into BF0 5078 1.1 jruoho Store (0xFFFF, BF0) 5079 1.1 jruoho 5080 1.1 jruoho // verify that the Store into BF0 was successful 5081 1.1 jruoho If (LNotEqual (BF0, 0xFF)) 5082 1.1 jruoho { Return (20) } 5083 1.1 jruoho 5084 1.1 jruoho // verify that the Store into BF0 did not alter BF1 5085 1.1 jruoho If (LNotEqual (BF1, 5)) 5086 1.1 jruoho { Return (21) } 5087 1.1 jruoho 5088 1.1 jruoho 5089 1.1 jruoho Return (0) 5090 1.1 jruoho } // TEST 5091 1.1 jruoho } // CRBF 5092 1.1 jruoho 5093 1.1 jruoho // 5094 1.1 jruoho // test IndexOp4.asl 5095 1.1 jruoho // 5096 1.1 jruoho // IndexOp4 test 5097 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases. 5098 1.1 jruoho // Tests access of index fields smaller than 8 bits. 5099 1.1 jruoho // 5100 1.1 jruoho Device (IDX4) 5101 1.1 jruoho { // Test device name 5102 1.1 jruoho 5103 1.1 jruoho // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion 5104 1.1 jruoho // Tests OperationRegion memory access using misaligned BYTE, 5105 1.1 jruoho // WORD, and DWORD field element accesses. Validation is performed 5106 1.1 jruoho // using both misaligned field entries and aligned field entries. 5107 1.1 jruoho // 5108 1.1 jruoho // MADM returns 0 if all test cases pass or non-zero identifying 5109 1.1 jruoho // the failing test case for debug purposes. This non-zero numbers 5110 1.1 jruoho // are not guaranteed to be in perfect sequence (i.e., test case 5111 1.1 jruoho // index), but are guaranteed to be unique so the failing test 5112 1.1 jruoho // case can be uniquely identified. 5113 1.1 jruoho // 5114 1.1.1.3 christos Method (MADM, 1, Serialized) // Misaligned Dynamic RAM SystemMemory OperationRegion 5115 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address 5116 1.1 jruoho { // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion 5117 1.1 jruoho OperationRegion (RAM, SystemMemory, Arg0, 0x100) 5118 1.1 jruoho Field (RAM, DwordAcc, NoLock, Preserve) 5119 1.1 jruoho { // aligned field definition (for verification) 5120 1.1 jruoho DWD0, 32, // aligned DWORD field 5121 1.1 jruoho DWD1, 32 // aligned DWORD field 5122 1.1 jruoho } 5123 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve) 5124 1.1 jruoho { // bit access field definition 5125 1.1 jruoho BIT0, 1, // single bit field entry 5126 1.1 jruoho BIT1, 1, // single bit field entry 5127 1.1 jruoho BIT2, 1, // single bit field entry 5128 1.1 jruoho BIT3, 1, // single bit field entry 5129 1.1 jruoho BIT4, 1, // single bit field entry 5130 1.1 jruoho BIT5, 1, // single bit field entry 5131 1.1 jruoho BIT6, 1, // single bit field entry 5132 1.1 jruoho BIT7, 1, // single bit field entry 5133 1.1 jruoho BIT8, 1, // single bit field entry 5134 1.1 jruoho BIT9, 1, // single bit field entry 5135 1.1 jruoho BITA, 1, // single bit field entry 5136 1.1 jruoho BITB, 1, // single bit field entry 5137 1.1 jruoho BITC, 1, // single bit field entry 5138 1.1 jruoho BITD, 1, // single bit field entry 5139 1.1 jruoho BITE, 1, // single bit field entry 5140 1.1 jruoho BITF, 1, // single bit field entry 5141 1.1 jruoho BI10, 1, // single bit field entry 5142 1.1 jruoho BI11, 1, // single bit field entry 5143 1.1 jruoho BI12, 1, // single bit field entry 5144 1.1 jruoho BI13, 1, // single bit field entry 5145 1.1 jruoho BI14, 1, // single bit field entry 5146 1.1 jruoho BI15, 1, // single bit field entry 5147 1.1 jruoho BI16, 1, // single bit field entry 5148 1.1 jruoho BI17, 1, // single bit field entry 5149 1.1 jruoho BI18, 1, // single bit field entry 5150 1.1 jruoho BI19, 1, // single bit field entry 5151 1.1 jruoho BI1A, 1, // single bit field entry 5152 1.1 jruoho BI1B, 1, // single bit field entry 5153 1.1 jruoho BI1C, 1, // single bit field entry 5154 1.1 jruoho BI1D, 1, // single bit field entry 5155 1.1 jruoho BI1E, 1, // single bit field entry 5156 1.1 jruoho BI1F, 1 // single bit field entry 5157 1.1 jruoho } // bit access field definition 5158 1.1 jruoho 5159 1.1 jruoho Field (RAM, ByteAcc, NoLock, Preserve) 5160 1.1 jruoho { // two-bit access field definition 5161 1.1 jruoho B2_0, 2, // single bit field entry 5162 1.1 jruoho B2_1, 2, // single bit field entry 5163 1.1 jruoho B2_2, 2, // single bit field entry 5164 1.1 jruoho B2_3, 2, // single bit field entry 5165 1.1 jruoho B2_4, 2, // single bit field entry 5166 1.1 jruoho B2_5, 2, // single bit field entry 5167 1.1 jruoho B2_6, 2, // single bit field entry 5168 1.1 jruoho B2_7, 2, // single bit field entry 5169 1.1 jruoho B2_8, 2, // single bit field entry 5170 1.1 jruoho B2_9, 2, // single bit field entry 5171 1.1 jruoho B2_A, 2, // single bit field entry 5172 1.1 jruoho B2_B, 2, // single bit field entry 5173 1.1 jruoho B2_C, 2, // single bit field entry 5174 1.1 jruoho B2_D, 2, // single bit field entry 5175 1.1 jruoho B2_E, 2, // single bit field entry 5176 1.1 jruoho B2_F, 2 // single bit field entry 5177 1.1 jruoho } // bit access field definition 5178 1.1 jruoho 5179 1.1 jruoho // initialize memory contents using aligned field entries 5180 1.1 jruoho Store (0x5AA55AA5, DWD0) 5181 1.1 jruoho Store (0x5AA55AA5, DWD1) 5182 1.1 jruoho 5183 1.1 jruoho // set memory contents to known values using misaligned field entries 5184 1.1 jruoho Store (0, BIT0) 5185 1.1 jruoho // verify memory contents using misaligned field entries 5186 1.1 jruoho If (LNotEqual (BIT0, 0)) 5187 1.1 jruoho { Return (1) } 5188 1.1 jruoho // verify memory contents using aligned field entries 5189 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA4)) 5190 1.1 jruoho { Return (2) } 5191 1.1 jruoho 5192 1.1 jruoho // set memory contents to known values using misaligned field entries 5193 1.1 jruoho Store (1, BIT1) 5194 1.1 jruoho // verify memory contents using misaligned field entries 5195 1.1 jruoho If (LNotEqual (BIT1, 1)) 5196 1.1 jruoho { Return (3) } 5197 1.1 jruoho // verify memory contents using aligned field entries 5198 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA6)) 5199 1.1 jruoho { Return (4) } 5200 1.1 jruoho 5201 1.1 jruoho // set memory contents to known values using misaligned field entries 5202 1.1 jruoho Store (0, BIT2) 5203 1.1 jruoho // verify memory contents using misaligned field entries 5204 1.1 jruoho If (LNotEqual (BIT2, 0)) 5205 1.1 jruoho { Return (5) } 5206 1.1 jruoho // verify memory contents using aligned field entries 5207 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AA2)) 5208 1.1 jruoho { Return (6) } 5209 1.1 jruoho 5210 1.1 jruoho // set memory contents to known values using misaligned field entries 5211 1.1 jruoho Store (1, BIT3) 5212 1.1 jruoho // verify memory contents using misaligned field entries 5213 1.1 jruoho If (LNotEqual (BIT3, 1)) 5214 1.1 jruoho { Return (7) } 5215 1.1 jruoho // verify memory contents using aligned field entries 5216 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55AAA)) 5217 1.1 jruoho { Return (8) } 5218 1.1 jruoho 5219 1.1 jruoho // set memory contents to known values using misaligned field entries 5220 1.1 jruoho Store (1, BIT4) 5221 1.1 jruoho // verify memory contents using misaligned field entries 5222 1.1 jruoho If (LNotEqual (BIT4, 1)) 5223 1.1 jruoho { Return (9) } 5224 1.1 jruoho // verify memory contents using aligned field entries 5225 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ABA)) 5226 1.1 jruoho { Return (10) } 5227 1.1 jruoho 5228 1.1 jruoho // set memory contents to known values using misaligned field entries 5229 1.1 jruoho Store (0, BIT5) 5230 1.1 jruoho // verify memory contents using misaligned field entries 5231 1.1 jruoho If (LNotEqual (BIT5, 0)) 5232 1.1 jruoho { Return (11) } 5233 1.1 jruoho // verify memory contents using aligned field entries 5234 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A9A)) 5235 1.1 jruoho { Return (12) } 5236 1.1 jruoho 5237 1.1 jruoho // set memory contents to known values using misaligned field entries 5238 1.1 jruoho Store (1, BIT6) 5239 1.1 jruoho // verify memory contents using misaligned field entries 5240 1.1 jruoho If (LNotEqual (BIT6, 1)) 5241 1.1 jruoho { Return (13) } 5242 1.1 jruoho // verify memory contents using aligned field entries 5243 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55ADA)) 5244 1.1 jruoho { Return (14) } 5245 1.1 jruoho 5246 1.1 jruoho // set memory contents to known values using misaligned field entries 5247 1.1 jruoho Store (0, BIT7) 5248 1.1 jruoho // verify memory contents using misaligned field entries 5249 1.1 jruoho If (LNotEqual (BIT7, 0)) 5250 1.1 jruoho { Return (15) } 5251 1.1 jruoho // verify memory contents using aligned field entries 5252 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55A5A)) 5253 1.1 jruoho { Return (16) } 5254 1.1 jruoho 5255 1.1 jruoho // set memory contents to known values using misaligned field entries 5256 1.1 jruoho Store (1, BIT8) 5257 1.1 jruoho // verify memory contents using misaligned field entries 5258 1.1 jruoho If (LNotEqual (BIT8, 1)) 5259 1.1 jruoho { Return (17) } 5260 1.1 jruoho // verify memory contents using aligned field entries 5261 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55B5A)) 5262 1.1 jruoho { Return (18) } 5263 1.1 jruoho 5264 1.1 jruoho // set memory contents to known values using misaligned field entries 5265 1.1 jruoho Store (0, BIT9) 5266 1.1 jruoho // verify memory contents using misaligned field entries 5267 1.1 jruoho If (LNotEqual (BIT9, 0)) 5268 1.1 jruoho { Return (19) } 5269 1.1 jruoho // verify memory contents using aligned field entries 5270 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5595A)) 5271 1.1 jruoho { Return (20) } 5272 1.1 jruoho 5273 1.1 jruoho // set memory contents to known values using misaligned field entries 5274 1.1 jruoho Store (1, BITA) 5275 1.1 jruoho // verify memory contents using misaligned field entries 5276 1.1 jruoho If (LNotEqual (BITA, 1)) 5277 1.1 jruoho { Return (21) } 5278 1.1 jruoho // verify memory contents using aligned field entries 5279 1.1 jruoho If (LNotEqual (DWD0, 0x5AA55D5A)) 5280 1.1 jruoho { Return (22) } 5281 1.1 jruoho 5282 1.1 jruoho // set memory contents to known values using misaligned field entries 5283 1.1 jruoho Store (0, BITB) 5284 1.1 jruoho // verify memory contents using misaligned field entries 5285 1.1 jruoho If (LNotEqual (BITB, 0)) 5286 1.1 jruoho { Return (23) } 5287 1.1 jruoho // verify memory contents using aligned field entries 5288 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5555A)) 5289 1.1 jruoho { Return (24) } 5290 1.1 jruoho 5291 1.1 jruoho // set memory contents to known values using misaligned field entries 5292 1.1 jruoho Store (0, BITC) 5293 1.1 jruoho // verify memory contents using misaligned field entries 5294 1.1 jruoho If (LNotEqual (BITC, 0)) 5295 1.1 jruoho { Return (25) } 5296 1.1 jruoho // verify memory contents using aligned field entries 5297 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5455A)) 5298 1.1 jruoho { Return (26) } 5299 1.1 jruoho 5300 1.1 jruoho // set memory contents to known values using misaligned field entries 5301 1.1 jruoho Store (1, BITD) 5302 1.1 jruoho // verify memory contents using misaligned field entries 5303 1.1 jruoho If (LNotEqual (BITD, 1)) 5304 1.1 jruoho { Return (27) } 5305 1.1 jruoho // verify memory contents using aligned field entries 5306 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5655A)) 5307 1.1 jruoho { Return (28) } 5308 1.1 jruoho 5309 1.1 jruoho // set memory contents to known values using misaligned field entries 5310 1.1 jruoho Store (0, BITE) 5311 1.1 jruoho // verify memory contents using misaligned field entries 5312 1.1 jruoho If (LNotEqual (BITE, 0)) 5313 1.1 jruoho { Return (29) } 5314 1.1 jruoho // verify memory contents using aligned field entries 5315 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5255A)) 5316 1.1 jruoho { Return (30) } 5317 1.1 jruoho 5318 1.1 jruoho // set memory contents to known values using misaligned field entries 5319 1.1 jruoho Store (1, BITF) 5320 1.1 jruoho // verify memory contents using misaligned field entries 5321 1.1 jruoho If (LNotEqual (BITF, 1)) 5322 1.1 jruoho { Return (31) } 5323 1.1 jruoho // verify memory contents using aligned field entries 5324 1.1 jruoho If (LNotEqual (DWD0, 0x5AA5A55A)) 5325 1.1 jruoho { Return (32) } 5326 1.1 jruoho 5327 1.1 jruoho // set memory contents to known values using misaligned field entries 5328 1.1 jruoho Store (0, BI10) 5329 1.1 jruoho // verify memory contents using misaligned field entries 5330 1.1 jruoho If (LNotEqual (BI10, 0)) 5331 1.1 jruoho { Return (33) } 5332 1.1 jruoho // verify memory contents using aligned field entries 5333 1.1 jruoho If (LNotEqual (DWD0, 0x5AA4A55A)) 5334 1.1 jruoho { Return (34) } 5335 1.1 jruoho 5336 1.1 jruoho // set memory contents to known values using misaligned field entries 5337 1.1 jruoho Store (1, BI11) 5338 1.1 jruoho // verify memory contents using misaligned field entries 5339 1.1 jruoho If (LNotEqual (BI11, 1)) 5340 1.1 jruoho { Return (35) } 5341 1.1 jruoho // verify memory contents using aligned field entries 5342 1.1 jruoho If (LNotEqual (DWD0, 0x5AA6A55A)) 5343 1.1 jruoho { Return (36) } 5344 1.1 jruoho 5345 1.1 jruoho // set memory contents to known values using misaligned field entries 5346 1.1 jruoho Store (0, BI12) 5347 1.1 jruoho // verify memory contents using misaligned field entries 5348 1.1 jruoho If (LNotEqual (BI12, 0)) 5349 1.1 jruoho { Return (37) } 5350 1.1 jruoho // verify memory contents using aligned field entries 5351 1.1 jruoho If (LNotEqual (DWD0, 0x5AA2A55A)) 5352 1.1 jruoho { Return (38) } 5353 1.1 jruoho 5354 1.1 jruoho // set memory contents to known values using misaligned field entries 5355 1.1 jruoho Store (1, BI13) 5356 1.1 jruoho // verify memory contents using misaligned field entries 5357 1.1 jruoho If (LNotEqual (BI13, 1)) 5358 1.1 jruoho { Return (39) } 5359 1.1 jruoho // verify memory contents using aligned field entries 5360 1.1 jruoho If (LNotEqual (DWD0, 0x5AAAA55A)) 5361 1.1 jruoho { Return (40) } 5362 1.1 jruoho 5363 1.1 jruoho // set memory contents to known values using misaligned field entries 5364 1.1 jruoho Store (1, BI14) 5365 1.1 jruoho // verify memory contents using misaligned field entries 5366 1.1 jruoho If (LNotEqual (BI14, 1)) 5367 1.1 jruoho { Return (41) } 5368 1.1 jruoho // verify memory contents using aligned field entries 5369 1.1 jruoho If (LNotEqual (DWD0, 0x5ABAA55A)) 5370 1.1 jruoho { Return (42) } 5371 1.1 jruoho 5372 1.1 jruoho // set memory contents to known values using misaligned field entries 5373 1.1 jruoho Store (0, BI15) 5374 1.1 jruoho // verify memory contents using misaligned field entries 5375 1.1 jruoho If (LNotEqual (BI15, 0)) 5376 1.1 jruoho { Return (43) } 5377 1.1 jruoho // verify memory contents using aligned field entries 5378 1.1 jruoho If (LNotEqual (DWD0, 0x5A9AA55A)) 5379 1.1 jruoho { Return (44) } 5380 1.1 jruoho 5381 1.1 jruoho // set memory contents to known values using misaligned field entries 5382 1.1 jruoho Store (1, BI16) 5383 1.1 jruoho // verify memory contents using misaligned field entries 5384 1.1 jruoho If (LNotEqual (BI16, 1)) 5385 1.1 jruoho { Return (45) } 5386 1.1 jruoho // verify memory contents using aligned field entries 5387 1.1 jruoho If (LNotEqual (DWD0, 0x5ADAA55A)) 5388 1.1 jruoho { Return (46) } 5389 1.1 jruoho 5390 1.1 jruoho // set memory contents to known values using misaligned field entries 5391 1.1 jruoho Store (0, BI17) 5392 1.1 jruoho // verify memory contents using misaligned field entries 5393 1.1 jruoho If (LNotEqual (BI17, 0)) 5394 1.1 jruoho { Return (47) } 5395 1.1 jruoho // verify memory contents using aligned field entries 5396 1.1 jruoho If (LNotEqual (DWD0, 0x5A5AA55A)) 5397 1.1 jruoho { Return (48) } 5398 1.1 jruoho 5399 1.1 jruoho // set memory contents to known values using misaligned field entries 5400 1.1 jruoho Store (1, BI18) 5401 1.1 jruoho // verify memory contents using misaligned field entries 5402 1.1 jruoho If (LNotEqual (BI18, 1)) 5403 1.1 jruoho { Return (49) } 5404 1.1 jruoho // verify memory contents using aligned field entries 5405 1.1 jruoho If (LNotEqual (DWD0, 0x5B5AA55A)) 5406 1.1 jruoho { Return (50) } 5407 1.1 jruoho 5408 1.1 jruoho // set memory contents to known values using misaligned field entries 5409 1.1 jruoho Store (0, BI19) 5410 1.1 jruoho // verify memory contents using misaligned field entries 5411 1.1 jruoho If (LNotEqual (BI19, 0)) 5412 1.1 jruoho { Return (51) } 5413 1.1 jruoho // verify memory contents using aligned field entries 5414 1.1 jruoho If (LNotEqual (DWD0, 0x595AA55A)) 5415 1.1 jruoho { Return (52) } 5416 1.1 jruoho 5417 1.1 jruoho // set memory contents to known values using misaligned field entries 5418 1.1 jruoho Store (1, BI1A) 5419 1.1 jruoho // verify memory contents using misaligned field entries 5420 1.1 jruoho If (LNotEqual (BI1A, 1)) 5421 1.1 jruoho { Return (53) } 5422 1.1 jruoho // verify memory contents using aligned field entries 5423 1.1 jruoho If (LNotEqual (DWD0, 0x5D5AA55A)) 5424 1.1 jruoho { Return (54) } 5425 1.1 jruoho 5426 1.1 jruoho // set memory contents to known values using misaligned field entries 5427 1.1 jruoho Store (0, BI1B) 5428 1.1 jruoho // verify memory contents using misaligned field entries 5429 1.1 jruoho If (LNotEqual (BI1B, 0)) 5430 1.1 jruoho { Return (55) } 5431 1.1 jruoho // verify memory contents using aligned field entries 5432 1.1 jruoho If (LNotEqual (DWD0, 0x555AA55A)) 5433 1.1 jruoho { Return (56) } 5434 1.1 jruoho 5435 1.1 jruoho // set memory contents to known values using misaligned field entries 5436 1.1 jruoho Store (0, BI1C) 5437 1.1 jruoho // verify memory contents using misaligned field entries 5438 1.1 jruoho If (LNotEqual (BI1C, 0)) 5439 1.1 jruoho { Return (57) } 5440 1.1 jruoho // verify memory contents using aligned field entries 5441 1.1 jruoho If (LNotEqual (DWD0, 0x455AA55A)) 5442 1.1 jruoho { Return (58) } 5443 1.1 jruoho 5444 1.1 jruoho // set memory contents to known values using misaligned field entries 5445 1.1 jruoho Store (1, BI1D) 5446 1.1 jruoho // verify memory contents using misaligned field entries 5447 1.1 jruoho If (LNotEqual (BI1D, 1)) 5448 1.1 jruoho { Return (59) } 5449 1.1 jruoho // verify memory contents using aligned field entries 5450 1.1 jruoho If (LNotEqual (DWD0, 0x655AA55A)) 5451 1.1 jruoho { Return (60) } 5452 1.1 jruoho 5453 1.1 jruoho // set memory contents to known values using misaligned field entries 5454 1.1 jruoho Store (0, BI1E) 5455 1.1 jruoho // verify memory contents using misaligned field entries 5456 1.1 jruoho If (LNotEqual (BI1E, 0)) 5457 1.1 jruoho { Return (61) } 5458 1.1 jruoho // verify memory contents using aligned field entries 5459 1.1 jruoho If (LNotEqual (DWD0, 0x255AA55A)) 5460 1.1 jruoho { Return (62) } 5461 1.1 jruoho 5462 1.1 jruoho // set memory contents to known values using misaligned field entries 5463 1.1 jruoho Store (1, BI1F) 5464 1.1 jruoho // verify memory contents using misaligned field entries 5465 1.1 jruoho If (LNotEqual (BI1F, 1)) 5466 1.1 jruoho { Return (63) } 5467 1.1 jruoho // verify memory contents using aligned field entries 5468 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55A)) 5469 1.1 jruoho { Return (64) } 5470 1.1 jruoho 5471 1.1 jruoho 5472 1.1 jruoho // set memory contents to known values using misaligned field entries 5473 1.1 jruoho Store (3, B2_0) 5474 1.1 jruoho // verify memory contents using misaligned field entries 5475 1.1 jruoho If (LNotEqual (B2_0, 3)) 5476 1.1 jruoho { Return (65) } 5477 1.1 jruoho // verify memory contents using aligned field entries 5478 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA55B)) 5479 1.1 jruoho { Return (66) } 5480 1.1 jruoho 5481 1.1 jruoho // set memory contents to known values using misaligned field entries 5482 1.1 jruoho Store (1, B2_1) 5483 1.1 jruoho // verify memory contents using misaligned field entries 5484 1.1 jruoho If (LNotEqual (B2_1, 1)) 5485 1.1 jruoho { Return (67) } 5486 1.1 jruoho // verify memory contents using aligned field entries 5487 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA557)) 5488 1.1 jruoho { Return (68) } 5489 1.1 jruoho 5490 1.1 jruoho // set memory contents to known values using misaligned field entries 5491 1.1 jruoho Store (0, B2_2) 5492 1.1 jruoho // verify memory contents using misaligned field entries 5493 1.1 jruoho If (LNotEqual (B2_2, 0)) 5494 1.1 jruoho { Return (69) } 5495 1.1 jruoho // verify memory contents using aligned field entries 5496 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA547)) 5497 1.1 jruoho { Return (70) } 5498 1.1 jruoho 5499 1.1 jruoho // set memory contents to known values using misaligned field entries 5500 1.1 jruoho Store (3, B2_3) 5501 1.1 jruoho // verify memory contents using misaligned field entries 5502 1.1 jruoho If (LNotEqual (B2_3, 3)) 5503 1.1 jruoho { Return (71) } 5504 1.1 jruoho // verify memory contents using aligned field entries 5505 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA5C7)) 5506 1.1 jruoho { Return (72) } 5507 1.1 jruoho 5508 1.1 jruoho // set memory contents to known values using misaligned field entries 5509 1.1 jruoho Store (3, B2_4) 5510 1.1 jruoho // verify memory contents using misaligned field entries 5511 1.1 jruoho If (LNotEqual (B2_4, 3)) 5512 1.1 jruoho { Return (73) } 5513 1.1 jruoho // verify memory contents using aligned field entries 5514 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA7C7)) 5515 1.1 jruoho { Return (74) } 5516 1.1 jruoho 5517 1.1 jruoho // set memory contents to known values using misaligned field entries 5518 1.1 jruoho Store (0, B2_5) 5519 1.1 jruoho // verify memory contents using misaligned field entries 5520 1.1 jruoho If (LNotEqual (B2_5, 0)) 5521 1.1 jruoho { Return (75) } 5522 1.1 jruoho // verify memory contents using aligned field entries 5523 1.1 jruoho If (LNotEqual (DWD0, 0xA55AA3C7)) 5524 1.1 jruoho { Return (76) } 5525 1.1 jruoho 5526 1.1 jruoho // set memory contents to known values using misaligned field entries 5527 1.1 jruoho Store (1, B2_6) 5528 1.1 jruoho // verify memory contents using misaligned field entries 5529 1.1 jruoho If (LNotEqual (B2_6, 1)) 5530 1.1 jruoho { Return (77) } 5531 1.1 jruoho // verify memory contents using aligned field entries 5532 1.1 jruoho If (LNotEqual (DWD0, 0xA55A93C7)) 5533 1.1 jruoho { Return (78) } 5534 1.1 jruoho 5535 1.1 jruoho // set memory contents to known values using misaligned field entries 5536 1.1 jruoho Store (1, B2_7) 5537 1.1 jruoho // verify memory contents using misaligned field entries 5538 1.1 jruoho If (LNotEqual (B2_7, 1)) 5539 1.1 jruoho { Return (79) } 5540 1.1 jruoho // verify memory contents using aligned field entries 5541 1.1 jruoho If (LNotEqual (DWD0, 0xA55A53C7)) 5542 1.1 jruoho { Return (80) } 5543 1.1 jruoho 5544 1.1 jruoho // set memory contents to known values using misaligned field entries 5545 1.1 jruoho Store (0, B2_8) 5546 1.1 jruoho // verify memory contents using misaligned field entries 5547 1.1 jruoho If (LNotEqual (B2_8, 0)) 5548 1.1 jruoho { Return (81) } 5549 1.1 jruoho // verify memory contents using aligned field entries 5550 1.1 jruoho If (LNotEqual (DWD0, 0xA55853C7)) 5551 1.1 jruoho { Return (82) } 5552 1.1 jruoho 5553 1.1 jruoho // set memory contents to known values using misaligned field entries 5554 1.1 jruoho Store (1, B2_9) 5555 1.1 jruoho // verify memory contents using misaligned field entries 5556 1.1 jruoho If (LNotEqual (B2_9, 1)) 5557 1.1 jruoho { Return (83) } 5558 1.1 jruoho // verify memory contents using aligned field entries 5559 1.1 jruoho If (LNotEqual (DWD0, 0xA55453C7)) 5560 1.1 jruoho { Return (84) } 5561 1.1 jruoho 5562 1.1 jruoho // set memory contents to known values using misaligned field entries 5563 1.1 jruoho Store (2, B2_A) 5564 1.1 jruoho // verify memory contents using misaligned field entries 5565 1.1 jruoho If (LNotEqual (B2_A, 2)) 5566 1.1 jruoho { Return (85) } 5567 1.1 jruoho // verify memory contents using aligned field entries 5568 1.1 jruoho If (LNotEqual (DWD0, 0xA56453C7)) 5569 1.1 jruoho { Return (86) } 5570 1.1 jruoho 5571 1.1 jruoho // set memory contents to known values using misaligned field entries 5572 1.1 jruoho Store (2, B2_B) 5573 1.1 jruoho // verify memory contents using misaligned field entries 5574 1.1 jruoho If (LNotEqual (B2_B, 2)) 5575 1.1 jruoho { Return (87) } 5576 1.1 jruoho // verify memory contents using aligned field entries 5577 1.1 jruoho If (LNotEqual (DWD0, 0xA5A453C7)) 5578 1.1 jruoho { Return (88) } 5579 1.1 jruoho 5580 1.1 jruoho // set memory contents to known values using misaligned field entries 5581 1.1 jruoho Store (3, B2_C) 5582 1.1 jruoho // verify memory contents using misaligned field entries 5583 1.1 jruoho If (LNotEqual (B2_C, 3)) 5584 1.1 jruoho { Return (89) } 5585 1.1 jruoho // verify memory contents using aligned field entries 5586 1.1 jruoho If (LNotEqual (DWD0, 0xA7A453C7)) 5587 1.1 jruoho { Return (90) } 5588 1.1 jruoho 5589 1.1 jruoho // set memory contents to known values using misaligned field entries 5590 1.1 jruoho Store (3, B2_D) 5591 1.1 jruoho // verify memory contents using misaligned field entries 5592 1.1 jruoho If (LNotEqual (B2_D, 3)) 5593 1.1 jruoho { Return (91) } 5594 1.1 jruoho // verify memory contents using aligned field entries 5595 1.1 jruoho If (LNotEqual (DWD0, 0xAFA453C7)) 5596 1.1 jruoho { Return (92) } 5597 1.1 jruoho 5598 1.1 jruoho // set memory contents to known values using misaligned field entries 5599 1.1 jruoho Store (1, B2_E) 5600 1.1 jruoho // verify memory contents using misaligned field entries 5601 1.1 jruoho If (LNotEqual (B2_E, 1)) 5602 1.1 jruoho { Return (93) } 5603 1.1 jruoho // verify memory contents using aligned field entries 5604 1.1 jruoho If (LNotEqual (DWD0, 0x9FA453C7)) 5605 1.1 jruoho { Return (94) } 5606 1.1 jruoho 5607 1.1 jruoho // set memory contents to known values using misaligned field entries 5608 1.1 jruoho Store (0, B2_F) 5609 1.1 jruoho // verify memory contents using misaligned field entries 5610 1.1 jruoho If (LNotEqual (B2_F, 0)) 5611 1.1 jruoho { Return (95) } 5612 1.1 jruoho // verify memory contents using aligned field entries 5613 1.1 jruoho If (LNotEqual (DWD0, 0x1FA453C7)) 5614 1.1 jruoho { Return (96) } 5615 1.1 jruoho 5616 1.1 jruoho 5617 1.1 jruoho Return (0) // pass 5618 1.1 jruoho } // MADM: Misaligned Dynamic RAM SystemMemory OperationRegion 5619 1.1 jruoho 5620 1.1 jruoho Method (TEST) 5621 1.1 jruoho { 5622 1.1 jruoho Store ("++++++++ IndexOp4 Test", Debug) 5623 1.1 jruoho 5624 1.1 jruoho // MADM (Misaligned Dynamic RAM SystemMemory OperationRegion) arguments: 5625 1.1 jruoho // Arg0 -- SystemMemory OperationRegion base address 5626 1.1 jruoho Store (MADM (0x800000), Local0) 5627 1.1 jruoho If (LNotEqual (Local0, 0)) // MADM returns zero if successful 5628 1.1 jruoho { Return (Local0) } // failure: return MADM error code 5629 1.1 jruoho 5630 1.1 jruoho Return (Local0) 5631 1.1 jruoho } // TEST 5632 1.1 jruoho } // IDX4 5633 1.1 jruoho 5634 1.1 jruoho // 5635 1.1 jruoho // test Event.asl 5636 1.1 jruoho // 5637 1.1 jruoho // EventOp, ResetOp, SignalOp, and WaitOp test cases. 5638 1.1 jruoho // 5639 1.1 jruoho Device (EVNT) 5640 1.1 jruoho { 5641 1.1 jruoho Event (EVNT) // event synchronization object 5642 1.1 jruoho 5643 1.1 jruoho Method (TEVN, 1) 5644 1.1 jruoho // Arg0: time to Wait for event in milliseconds 5645 1.1 jruoho { // TEVN control method to test ResetOp, SignalOp, and WaitOp 5646 1.1 jruoho // reset EVNT to initialization (zero) state 5647 1.1 jruoho Reset (EVNT) 5648 1.1 jruoho 5649 1.1 jruoho // prime EVNT with two outstanding signals 5650 1.1 jruoho Signal (EVNT) 5651 1.1 jruoho Signal (EVNT) 5652 1.1 jruoho 5653 1.1 jruoho 5654 1.1 jruoho // acquire existing signal 5655 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5656 1.1 jruoho 5657 1.1 jruoho // validate Local0 is a Number 5658 1.1 jruoho Store (ObjectType (Local0), Local1) 5659 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5660 1.1 jruoho { Return (0x21) } // Local1 indicates Local0 is not a Number 5661 1.1 jruoho 5662 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1 5663 1.1 jruoho { Return (0x22) } // timeout occurred without acquiring signal 5664 1.1 jruoho 5665 1.1 jruoho Store ("Acquire 1st existing signal PASS", Debug) 5666 1.1 jruoho 5667 1.1 jruoho 5668 1.1 jruoho // acquire existing signal 5669 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5670 1.1 jruoho 5671 1.1 jruoho // validate Local0 is a Number 5672 1.1 jruoho Store (ObjectType (Local0), Local1) 5673 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5674 1.1 jruoho { Return (0x31) } // Local1 indicates Local0 is not a Number 5675 1.1 jruoho 5676 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1 5677 1.1 jruoho { Return (0x32) } // timeout occurred without acquiring signal 5678 1.1 jruoho 5679 1.1 jruoho Store ("Acquire 2nd existing signal PASS", Debug) 5680 1.1 jruoho 5681 1.1 jruoho 5682 1.1 jruoho // ensure WaitOp timeout test cases do not hang 5683 1.1 jruoho if (LEqual (Arg0, 0xFFFF)) 5684 1.1 jruoho { Store (0xFFFE, Arg0) } 5685 1.1 jruoho 5686 1.1 jruoho // acquire non-existing signal 5687 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5688 1.1 jruoho 5689 1.1 jruoho // validate Local0 is a Number 5690 1.1 jruoho Store (ObjectType (Local0), Local1) 5691 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5692 1.1 jruoho { Return (0x41) } // Local1 indicates Local0 is not a Number 5693 1.1 jruoho 5694 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1 5695 1.1.1.11 christos { Return (0x42) } // non-existent signal was acquired 5696 1.1 jruoho 5697 1.1 jruoho Store ("Acquire signal timeout PASS", Debug) 5698 1.1 jruoho 5699 1.1 jruoho 5700 1.1 jruoho // prime EVNT with two outstanding signals 5701 1.1 jruoho Signal (EVNT) 5702 1.1 jruoho Signal (EVNT) 5703 1.1 jruoho 5704 1.1 jruoho // reset EVNT to initialization (zero) state 5705 1.1 jruoho Reset (EVNT) 5706 1.1 jruoho 5707 1.1 jruoho // acquire non-existing signal 5708 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5709 1.1 jruoho 5710 1.1 jruoho // validate Local0 is a Number 5711 1.1 jruoho Store (ObjectType (Local0), Local1) 5712 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5713 1.1 jruoho { Return (0x51) } // Local1 indicates Local0 is not a Number 5714 1.1 jruoho 5715 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1 5716 1.1.1.11 christos { Return (0x52) } // non-existent signal was acquired 5717 1.1 jruoho 5718 1.1 jruoho Store ("Reset signal PASS", Debug) 5719 1.1 jruoho 5720 1.1 jruoho 5721 1.1 jruoho // acquire non-existing signal using Lvalue timeout 5722 1.1 jruoho Store (Wait (EVNT, Zero), Local0) 5723 1.1 jruoho 5724 1.1 jruoho // validate Local0 is a Number 5725 1.1 jruoho Store (ObjectType (Local0), Local1) 5726 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5727 1.1 jruoho { Return (0x61) } // Local1 indicates Local0 is not a Number 5728 1.1 jruoho 5729 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1 5730 1.1.1.11 christos { Return (0x62) } // non-existent signal was acquired 5731 1.1 jruoho 5732 1.1 jruoho Store ("Zero Lvalue PASS", Debug) 5733 1.1 jruoho 5734 1.1 jruoho 5735 1.1 jruoho // acquire non-existing signal using Lvalue timeout 5736 1.1 jruoho Store (Wait (EVNT, One), Local0) 5737 1.1 jruoho 5738 1.1 jruoho // validate Local0 is a Number 5739 1.1 jruoho Store (ObjectType (Local0), Local1) 5740 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5741 1.1 jruoho { Return (0x71) } // Local1 indicates Local0 is not a Number 5742 1.1 jruoho 5743 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1 5744 1.1.1.11 christos { Return (0x72) } // non-existent signal was acquired 5745 1.1 jruoho 5746 1.1 jruoho Store ("One Lvalue PASS", Debug) 5747 1.1 jruoho 5748 1.1 jruoho // Lvalue Event test cases 5749 1.1 jruoho // ILLEGAL SOURCE OPERAND Store (EVNT, Local2) 5750 1.1 jruoho 5751 1.1 jruoho // validate Local2 is an Event 5752 1.1 jruoho Store (ObjectType (EVNT), Local1) 5753 1.1 jruoho If (LNotEqual (Local1, 7)) // Event is type 7 5754 1.1 jruoho { Return (0x81) } // Local1 indicates Local0 is not a Number 5755 1.1 jruoho 5756 1.1 jruoho // reset EVNT to initialization (zero) state 5757 1.1 jruoho Reset (EVNT) 5758 1.1 jruoho 5759 1.1 jruoho // prime EVNT with two outstanding signals 5760 1.1 jruoho Signal (EVNT) 5761 1.1 jruoho 5762 1.1 jruoho // acquire existing signal 5763 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5764 1.1 jruoho 5765 1.1 jruoho // validate Local0 is a Number 5766 1.1 jruoho Store (ObjectType (Local0), Local1) 5767 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5768 1.1 jruoho { Return (0x82) } // Local1 indicates Local0 is not a Number 5769 1.1 jruoho 5770 1.1 jruoho If (LNotEqual (Local0, 0)) // Number is type 1 5771 1.1 jruoho { Return (0x83) } // timeout occurred without acquiring signal 5772 1.1 jruoho 5773 1.1 jruoho Store ("Acquire Lvalue existing signal PASS", Debug) 5774 1.1 jruoho 5775 1.1 jruoho 5776 1.1 jruoho // acquire non-existing signal 5777 1.1 jruoho Store (Wait (EVNT, Arg0), Local0) 5778 1.1 jruoho 5779 1.1 jruoho // validate Local0 is a Number 5780 1.1 jruoho Store (ObjectType (Local0), Local1) 5781 1.1 jruoho If (LNotEqual (Local1, 1)) // Number is type 1 5782 1.1 jruoho { Return (0x84) } // Local1 indicates Local0 is not a Number 5783 1.1 jruoho 5784 1.1 jruoho If (LEqual (Local0, 0)) // Number is type 1 5785 1.1.1.11 christos { Return (0x85) } // non-existent signal was acquired 5786 1.1 jruoho 5787 1.1 jruoho Store ("Acquire Lvalue signal timeout PASS", Debug) 5788 1.1 jruoho 5789 1.1 jruoho 5790 1.1 jruoho Return (0) // success 5791 1.1 jruoho } // TEVN control method to test ResetOp, SignalOp, and WaitOp 5792 1.1 jruoho 5793 1.1 jruoho Method (TEST) 5794 1.1 jruoho { 5795 1.1 jruoho Store ("++++++++ Event Test", Debug) 5796 1.1 jruoho 5797 1.1 jruoho Store (TEVN (100), Local0) 5798 1.1 jruoho 5799 1.1 jruoho Return (Local0) 5800 1.1 jruoho } // TEST 5801 1.1 jruoho } // EVNT 5802 1.1 jruoho 5803 1.1 jruoho // 5804 1.1 jruoho // test SizeOfLv.asl 5805 1.1 jruoho // 5806 1.1 jruoho // Test for SizeOf (Lvalue) 5807 1.1 jruoho // 5808 1.1 jruoho // This next section will contain the packages that the SizeOfOp will be 5809 1.1.1.9 christos // exercised on. The first one, PKG0, is a regular package of 3 elements. 5810 1.1 jruoho // The 2nd one, PKG1, is a nested package with 3 packages inside it, each 5811 1.1.1.9 christos // with 3 elements. It is expected that SizeOf operator will return the 5812 1.1.1.9 christos // same value for these two packages since they both have 3 elements. The 5813 1.1 jruoho // final package, PKG2, has 4 elements and the SizeOf operator is expected 5814 1.1 jruoho // to return different results for this package. 5815 1.1 jruoho 5816 1.1 jruoho Name (PKG0, 5817 1.1 jruoho Package (3) 5818 1.1 jruoho {0x0123, 0x4567, 0x89AB} 5819 1.1 jruoho ) // PKG0 5820 1.1 jruoho 5821 1.1 jruoho Name (PKG1, 5822 1.1 jruoho Package (3) 5823 1.1 jruoho { 5824 1.1 jruoho Package (3) {0x0123, 0x4567, 0x89AB}, 5825 1.1 jruoho Package (3) {0xCDEF, 0xFEDC, 0xBA98}, 5826 1.1 jruoho Package (3) {0x7654, 0x3210, 0x1234} 5827 1.1 jruoho } 5828 1.1 jruoho ) // PKG1 5829 1.1 jruoho 5830 1.1 jruoho Name (PKG2, 5831 1.1 jruoho Package (4) 5832 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888} 5833 1.1 jruoho ) // PKG2 5834 1.1 jruoho 5835 1.1 jruoho Name (PKG3, 5836 1.1 jruoho Package (5) 5837 1.1 jruoho {0x0123, 0x4567, 0x89AB, 0x8888, 0x7777} 5838 1.1 jruoho ) // PKG3 5839 1.1 jruoho 5840 1.1 jruoho // End Packages ********************************************************** 5841 1.1 jruoho 5842 1.1 jruoho // The following section will declare the data strings that will be used to 5843 1.1.1.9 christos // exercise the SizeOf operator. STR0 and STR1 are expected to be equal, 5844 1.1 jruoho // STR2 is expected to have a different SizeOf value than STR0 and STR1. 5845 1.1 jruoho 5846 1.1 jruoho Name (STR0, "ACPI permits very flexible methods of expressing a system") 5847 1.1 jruoho 5848 1.1 jruoho Name (STR1, "MIKE permits very flexible methods of expressing a system") 5849 1.1 jruoho 5850 1.1 jruoho Name (STR2, "Needless to say, Mike and ACPI are frequently at odds") 5851 1.1 jruoho 5852 1.1 jruoho // This string is being made in case we want to do a SizeOf comparison 5853 1.1 jruoho // between strings and packages or buffers 5854 1.1 jruoho Name (STR3, "12345") 5855 1.1 jruoho 5856 1.1 jruoho // End Strings ********************************************************** 5857 1.1 jruoho 5858 1.1 jruoho // The following section will declare the buffers that will be used to exercise 5859 1.1 jruoho // the SizeOf operator. 5860 1.1 jruoho 5861 1.1 jruoho Name (BUF0, Buffer (10) {}) 5862 1.1 jruoho Name (BUF1, Buffer (10) {}) 5863 1.1 jruoho Name (BUF2, Buffer (8) {}) 5864 1.1 jruoho Name (BUF3, Buffer (5) {}) 5865 1.1 jruoho 5866 1.1 jruoho // End Buffers ********************************************************** 5867 1.1 jruoho Device (SZLV) 5868 1.1 jruoho { 5869 1.1 jruoho 5870 1.1 jruoho Method (CMPR, 2) 5871 1.1 jruoho { 5872 1.1.1.9 christos // CMPR is passed two arguments. If unequal, return 1 to indicate 5873 1.1 jruoho // that, otherwise return 0 to indicate SizeOf each is equal. 5874 1.1 jruoho 5875 1.1 jruoho Store (0x01, Local0) 5876 1.1 jruoho 5877 1.1 jruoho if (LEqual (SizeOf(Arg0), SizeOf(Arg1))) 5878 1.1 jruoho { 5879 1.1 jruoho Store (0x00, Local0) 5880 1.1 jruoho } 5881 1.1 jruoho 5882 1.1 jruoho return (Local0) 5883 1.1 jruoho } // CMPR 5884 1.1 jruoho 5885 1.1 jruoho 5886 1.1 jruoho Method (TEST) 5887 1.1 jruoho { 5888 1.1 jruoho 5889 1.1 jruoho Store ("++++++++ SizeOfLv Test", Debug) 5890 1.1 jruoho 5891 1.1 jruoho // TBD: SizeOf ("string") 5892 1.1 jruoho // SizeOf (Buffer) 5893 1.1 jruoho // SizeOf (Package) 5894 1.1 jruoho // SizeOf (String) 5895 1.1 jruoho // SizeOf (STR0) -- where Name (STR0,...) -- lot's of cases 5896 1.1 jruoho // buffer, string, package, 5897 1.1 jruoho // SizeOf (METH) -- where METH control method returns 5898 1.1 jruoho // buffer, string, package, 5899 1.1 jruoho 5900 1.1 jruoho // TBD: SLOC [SizeOf (Local0)] -- dup SARG 5901 1.1 jruoho 5902 1.1.1.9 christos // Compare the elements that we expect to be the same. Exit out with an error 5903 1.1 jruoho // code on the first failure. 5904 1.1 jruoho if (LNotEqual (0x00, CMPR (STR0, STR1))) 5905 1.1 jruoho { 5906 1.1 jruoho Return (0x01) 5907 1.1 jruoho } 5908 1.1 jruoho 5909 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, BUF3))) 5910 1.1 jruoho { 5911 1.1 jruoho Return (0x02) 5912 1.1 jruoho } 5913 1.1 jruoho 5914 1.1 jruoho if (LNotEqual (0x00, CMPR (STR3, PKG3))) 5915 1.1 jruoho { 5916 1.1 jruoho Return (0x03) 5917 1.1 jruoho } 5918 1.1 jruoho 5919 1.1 jruoho // In the following section, this test will cover the SizeOf 5920 1.1 jruoho // operator for Local values. 5921 1.1 jruoho // In this case, both Local0 and Local1 should have the same Size 5922 1.1 jruoho Store (STR0, Local0) 5923 1.1 jruoho Store (STR1, Local1) 5924 1.1 jruoho 5925 1.1 jruoho if (LNotEqual (SizeOf (Local0), SizeOf (Local1))) 5926 1.1 jruoho { 5927 1.1 jruoho Return (0x04) 5928 1.1 jruoho } 5929 1.1 jruoho 5930 1.1 jruoho // Now create a case where Local0 and Local1 are different 5931 1.1 jruoho Store (STR2, Local1) 5932 1.1 jruoho 5933 1.1 jruoho if (LEqual (SizeOf (Local0), SizeOf (Local1))) 5934 1.1 jruoho { 5935 1.1 jruoho Return (0x05) 5936 1.1 jruoho } 5937 1.1 jruoho 5938 1.1.1.9 christos // Finally, check for the return of SizeOf for a known Buffer. Just 5939 1.1 jruoho // in case we magically pass above cases due to all Buffers being Zero 5940 1.1 jruoho // bytes in size, or Infinity, etc. 5941 1.1 jruoho if (LNotEqual (0x05, SizeOf (BUF3))) 5942 1.1 jruoho { 5943 1.1 jruoho Return (0x06) 5944 1.1 jruoho } 5945 1.1 jruoho 5946 1.1 jruoho Return (0) 5947 1.1 jruoho } // TEST 5948 1.1 jruoho } // SZLV 5949 1.1 jruoho 5950 1.1 jruoho 5951 1.1 jruoho // 5952 1.1 jruoho // test BytField.asl 5953 1.1 jruoho // 5954 1.1 jruoho // BytField test 5955 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases. 5956 1.1 jruoho // Tests access of TBD. 5957 1.1 jruoho // 5958 1.1 jruoho Scope (\_SB) // System Bus 5959 1.1 jruoho { // _SB system bus 5960 1.1 jruoho Device (BYTF) 5961 1.1 jruoho { // Test device name 5962 1.1 jruoho Method (TEST) 5963 1.1 jruoho { 5964 1.1 jruoho Store ("++++++++ BytField Test", Debug) 5965 1.1 jruoho 5966 1.1 jruoho Return (\_TZ.C19B.RSLT) 5967 1.1 jruoho } // TEST 5968 1.1 jruoho } // BYTF 5969 1.1 jruoho 5970 1.1 jruoho Device (C005) 5971 1.1 jruoho { // Device C005 5972 1.1 jruoho Device (C013) 5973 1.1 jruoho { // Device C013 5974 1.1 jruoho } // Device C013 5975 1.1 jruoho } // Device C005 5976 1.1 jruoho 5977 1.1 jruoho Method (C115) 5978 1.1 jruoho { // C115 control method 5979 1.1 jruoho Acquire (\_GL, 0xFFFF) 5980 1.1 jruoho Store (\_SB.C005.C013.C058.C07E, Local0) 5981 1.1 jruoho Release (\_GL) 5982 1.1 jruoho And (Local0, 16, Local0) 5983 1.1 jruoho Store (ShiftRight (Local0, 4, ), Local1) 5984 1.1 jruoho If (LEqual (Local1, 0)) 5985 1.1 jruoho { Return (1) } 5986 1.1 jruoho Else 5987 1.1 jruoho { Return (0) } 5988 1.1 jruoho } // C115 control method 5989 1.1 jruoho } // _SB system bus 5990 1.1 jruoho 5991 1.1 jruoho OperationRegion (C018, SystemIO, 0x5028, 4) 5992 1.1 jruoho Field (C018, AnyAcc, NoLock, Preserve) 5993 1.1 jruoho { // Field overlaying C018 5994 1.1 jruoho C019, 32 5995 1.1 jruoho } // Field overlaying C018 5996 1.1 jruoho 5997 1.1 jruoho OperationRegion (C01A, SystemIO, 0x5030, 4) 5998 1.1 jruoho Field (C01A, ByteAcc, NoLock, Preserve) 5999 1.1 jruoho { // Field overlaying C01A 6000 1.1 jruoho C01B, 8, 6001 1.1 jruoho C01C, 8, 6002 1.1 jruoho C01D, 8, 6003 1.1 jruoho C01E, 8 6004 1.1 jruoho } // Field overlaying C01A 6005 1.1 jruoho 6006 1.1 jruoho Mutex (\C01F, 0) 6007 1.1 jruoho Name (\C020, 0) 6008 1.1 jruoho Name (\C021, 0) 6009 1.1 jruoho 6010 1.1 jruoho Method (\C022, 0) 6011 1.1 jruoho { // \C022 control method 6012 1.1 jruoho Acquire (\C01F, 0xFFFF) 6013 1.1 jruoho If (LEqual (\C021, 0)) 6014 1.1 jruoho { 6015 1.1 jruoho Store (C019, Local0) 6016 1.1 jruoho And (Local0, 0xFFFEFFFE, Local0) 6017 1.1 jruoho Store (Local0, C019) 6018 1.1 jruoho Increment (\C021) 6019 1.1 jruoho } 6020 1.1 jruoho Release (\C01F) 6021 1.1 jruoho } // \C022 control method 6022 1.1 jruoho 6023 1.1 jruoho Scope (\_SB.C005.C013) 6024 1.1 jruoho { // Scope \_SB.C005.C013 6025 1.1 jruoho Device (C058) 6026 1.1 jruoho { // Device C058 6027 1.1 jruoho Name (_HID, "*PNP0A06") 6028 1.1 jruoho 6029 1.1 jruoho OperationRegion (C059, SystemIO, 0xE0, 2) 6030 1.1 jruoho Field (C059, ByteAcc, NoLock, Preserve) 6031 1.1 jruoho { // Field overlaying C059 6032 1.1 jruoho C05A, 8, 6033 1.1 jruoho C05B, 8 6034 1.1 jruoho } // Field overlaying C059 6035 1.1 jruoho 6036 1.1 jruoho OperationRegion (C05C, SystemIO, 0xE2, 2) 6037 1.1 jruoho Field (C05C, ByteAcc, NoLock, Preserve) 6038 1.1 jruoho { // Field overlaying C05C 6039 1.1 jruoho C05D, 8, 6040 1.1 jruoho C05E, 8 6041 1.1 jruoho } // Field overlaying C05C 6042 1.1 jruoho IndexField (C05D, C05E, ByteAcc, NoLock, Preserve) 6043 1.1 jruoho { // IndexField overlaying C05D/C05E 6044 1.1 jruoho , 0x410, // skip 6045 1.1 jruoho C05F, 8, 6046 1.1 jruoho C060, 8, 6047 1.1 jruoho C061, 8, 6048 1.1 jruoho C062, 8, 6049 1.1 jruoho C063, 8, 6050 1.1 jruoho C064, 8, 6051 1.1 jruoho C065, 8, 6052 1.1 jruoho C066, 8, 6053 1.1 jruoho C067, 8, 6054 1.1 jruoho C068, 8, 6055 1.1 jruoho C069, 8, 6056 1.1 jruoho C06A, 8, 6057 1.1 jruoho C06B, 8, 6058 1.1 jruoho C06C, 8, 6059 1.1 jruoho C06D, 8, 6060 1.1 jruoho C06E, 8, 6061 1.1 jruoho , 0x70, // skip 6062 1.1 jruoho C06F, 8, 6063 1.1 jruoho C070, 8, 6064 1.1 jruoho C071, 8, 6065 1.1 jruoho C072, 8, 6066 1.1 jruoho C073, 8, 6067 1.1 jruoho C074, 8, 6068 1.1 jruoho C075, 8, 6069 1.1 jruoho C076, 8, 6070 1.1 jruoho C077, 8, 6071 1.1 jruoho C078, 8, 6072 1.1 jruoho C079, 8, 6073 1.1 jruoho C07A, 8, 6074 1.1 jruoho C07B, 8, 6075 1.1 jruoho C07C, 8, 6076 1.1 jruoho C07D, 8, 6077 1.1 jruoho C07E, 8 6078 1.1 jruoho } // IndexField overlaying C05D/C05E 6079 1.1 jruoho 6080 1.1 jruoho OperationRegion (C07F, SystemIO, 0xE4, 2) 6081 1.1 jruoho Field (C07F, ByteAcc, NoLock, Preserve) 6082 1.1 jruoho { // Field overlaying C07F 6083 1.1 jruoho C080, 8, 6084 1.1 jruoho C081, 8 6085 1.1 jruoho } // Field overlaying C07F 6086 1.1 jruoho 6087 1.1 jruoho OperationRegion (C082, SystemIO, 0xE0, 1) 6088 1.1 jruoho Field (C082, ByteAcc, NoLock, Preserve) 6089 1.1 jruoho { // Field overlaying C082 6090 1.1 jruoho C083, 8 6091 1.1 jruoho } // Field overlaying C082 6092 1.1 jruoho 6093 1.1 jruoho OperationRegion (C084, SystemIO, 0xFF, 1) 6094 1.1 jruoho Field (C084, ByteAcc, NoLock, Preserve) 6095 1.1 jruoho { // Field overlaying C084 6096 1.1 jruoho C085, 8 6097 1.1 jruoho } // Field overlaying C084 6098 1.1 jruoho 6099 1.1 jruoho OperationRegion (C086, SystemIO, 0xFD, 1) 6100 1.1 jruoho Field (C086, ByteAcc, NoLock, Preserve) 6101 1.1 jruoho { // Field overlaying C086 6102 1.1 jruoho C087, 8 6103 1.1 jruoho } // Field overlaying C086 6104 1.1 jruoho 6105 1.1 jruoho Mutex (C088, 0) 6106 1.1 jruoho Mutex (C089, 0) 6107 1.1 jruoho Mutex (C08A, 0) 6108 1.1 jruoho Mutex (C08B, 0) 6109 1.1 jruoho Mutex (C08C, 0) 6110 1.1 jruoho Mutex (C08D, 0) 6111 1.1 jruoho 6112 1.1 jruoho Name (C08E, 0xFFFFFFFD) 6113 1.1 jruoho Name (C08F, 0) 6114 1.1 jruoho 6115 1.1 jruoho Method (C0AA, 4) 6116 1.1 jruoho { // C0AA control method 6117 1.1 jruoho Store (Buffer (4) {}, Local7) 6118 1.1 jruoho CreateByteField (Local7, 0, C0AB) 6119 1.1 jruoho CreateByteField (Local7, 1, C0AC) 6120 1.1 jruoho CreateByteField (Local7, 2, C0AD) 6121 1.1 jruoho CreateByteField (Local7, 3, C0AE) 6122 1.1 jruoho Acquire (^C08B, 0xFFFF) 6123 1.1 jruoho Acquire (\_GL, 0xFFFF) 6124 1.1 jruoho \C022 () 6125 1.1 jruoho Store (1, \_SB.C005.C013.C058.C06B) 6126 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B))) 6127 1.1 jruoho { Stall (100) } 6128 1.1 jruoho Store (Arg3, \_SB.C005.C013.C058.C06E) 6129 1.1 jruoho Store (Arg2, \_SB.C005.C013.C058.C06D) 6130 1.1 jruoho Store (Arg1, \_SB.C005.C013.C058.C06C) 6131 1.1 jruoho Store (Arg0, \_SB.C005.C013.C058.C06B) 6132 1.1 jruoho While (LNot (LEqual (0, \_SB.C005.C013.C058.C06B))) 6133 1.1 jruoho { Stall (100) } 6134 1.1 jruoho Store (\_SB.C005.C013.C058.C06E, C0AB) 6135 1.1 jruoho Store (\_SB.C005.C013.C058.C06D, C0AC) 6136 1.1 jruoho Store (\_SB.C005.C013.C058.C06C, C0AD) 6137 1.1 jruoho Store (\_SB.C005.C013.C058.C06B, C0AE) 6138 1.1 jruoho If (LNot (LEqual (Arg0, 23))) 6139 1.1 jruoho { 6140 1.1 jruoho Store (2, \_SB.C005.C013.C058.C06B) 6141 1.1 jruoho Stall (100) 6142 1.1 jruoho } 6143 1.1 jruoho Release (\_GL) 6144 1.1 jruoho Release (^C08B) 6145 1.1 jruoho Return (Local7) 6146 1.1 jruoho } // C0AA control method 6147 1.1 jruoho } // Device C058 6148 1.1 jruoho } // Scope \_SB.C005.C013 6149 1.1 jruoho 6150 1.1 jruoho Scope (\_TZ) 6151 1.1 jruoho { // \_TZ thermal zone scope 6152 1.1 jruoho Name (C18B, Package (2) 6153 1.1 jruoho { 6154 1.1 jruoho Package (2) 6155 1.1 jruoho { 6156 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E}, 6157 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2} 6158 1.1 jruoho }, 6159 1.1 jruoho Package (2) 6160 1.1 jruoho { 6161 1.1 jruoho Package (5) {0x05AC, 0x0CD2, 0x0D68, 0x0DE0, 0x0E4E}, 6162 1.1 jruoho Package (5) {0x0D04, 0x0D9A, 0x0DFE, 0x0E80, 0x0FA2} 6163 1.1 jruoho } 6164 1.1 jruoho }) // C18B 6165 1.1 jruoho 6166 1.1 jruoho Name (C18C, Package (2) 6167 1.1 jruoho { 6168 1.1 jruoho Package (2) 6169 1.1 jruoho { 6170 1.1 jruoho Package (3) {0x64, 0x4B, 0x32}, 6171 1.1 jruoho Package (3) {0x64, 0x4B, 0x32} 6172 1.1 jruoho } 6173 1.1 jruoho }) // C81C 6174 1.1 jruoho 6175 1.1 jruoho Name (C18D, 0) 6176 1.1 jruoho Name (C18E, 0) 6177 1.1 jruoho Name (C18F, 0) 6178 1.1 jruoho Name (C190, 0) 6179 1.1 jruoho Name (C191, 3) 6180 1.1 jruoho Name (C192, 0) 6181 1.1 jruoho Name (C193, 1) 6182 1.1 jruoho Name (C194, 2) 6183 1.1 jruoho Mutex (C195, 0) 6184 1.1 jruoho Name (C196, 1) 6185 1.1 jruoho Name (C197, 0x0B9C) 6186 1.1 jruoho Name (C198, 0x0B9C) 6187 1.1 jruoho Name (C199, 0xFFFFFFFD) 6188 1.1 jruoho Name (C19A, 0) 6189 1.1 jruoho 6190 1.1 jruoho Device (C19B) 6191 1.1 jruoho { // Device C19B 6192 1.1 jruoho Name (RSLT, 0) // default to zero 6193 1.1 jruoho 6194 1.1 jruoho Method (XINI) 6195 1.1 jruoho { // _INI control method (Uses Global Lock -- can't run under AcpiExec) 6196 1.1 jruoho Store (\_SB.C115, C19A) 6197 1.1 jruoho \_TZ.C19C._SCP (0) 6198 1.1 jruoho Subtract (0x0EB2, 0x0AAC, Local1) // Local1 = AACh - EB2h 6199 1.1 jruoho Divide (Local1, 10, Local0, Local2) // Local0 = Local1 / 10 6200 1.1 jruoho // Local2 = Local1 % 10 6201 1.1 jruoho \_SB.C005.C013.C058.C0AA (14, Local2, 0, 0) 6202 1.1 jruoho Store 6203 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 0, )), C18D) 6204 1.1 jruoho Store 6205 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 1, )), C18E) 6206 1.1 jruoho Store 6207 1.1 jruoho (DerefOf (Index (DerefOf (Index (\_TZ.C18C, C19A, )), 2, )), C18F) 6208 1.1 jruoho 6209 1.1 jruoho Store (1, RSLT) // set RSLT to 1 if _INI control method completes 6210 1.1 jruoho } // _INI control method 6211 1.1 jruoho 6212 1.1 jruoho // PowerResource (C19D) {...} 6213 1.1 jruoho } // Device C19B 6214 1.1 jruoho 6215 1.1 jruoho ThermalZone (C19C) 6216 1.1 jruoho { 6217 1.1 jruoho Method (_SCP, 1) 6218 1.1 jruoho { // _SCP control method 6219 1.1 jruoho Store (Arg0, Local0) 6220 1.1 jruoho If (LEqual (Local0, 0)) 6221 1.1 jruoho { 6222 1.1 jruoho Store (0, \_TZ.C192) 6223 1.1 jruoho Store (1, \_TZ.C193) 6224 1.1 jruoho Store (2, \_TZ.C194) 6225 1.1 jruoho Store (3, \_TZ.C191) 6226 1.1 jruoho } 6227 1.1 jruoho Else 6228 1.1 jruoho { 6229 1.1 jruoho Store (0, \_TZ.C191) 6230 1.1 jruoho Store (1, \_TZ.C192) 6231 1.1 jruoho Store (2, \_TZ.C193) 6232 1.1 jruoho Store (3, \_TZ.C194) 6233 1.1 jruoho } 6234 1.1 jruoho } // _SCP control method 6235 1.1 jruoho } // ThermalZone C19C 6236 1.1 jruoho } // \_TZ thermal zone scope 6237 1.1 jruoho 6238 1.1 jruoho 6239 1.1 jruoho // 6240 1.1 jruoho // test DwrdFld.asl 6241 1.1 jruoho // 6242 1.1 jruoho Name (BUFR, buffer(10) {0,0,0,0,0,0,0,0,0,0} ) 6243 1.1 jruoho 6244 1.1 jruoho Device (DWDF) 6245 1.1 jruoho { 6246 1.1 jruoho Method (TEST) 6247 1.1 jruoho { 6248 1.1 jruoho Store ("++++++++ DwrdFld Test", Debug) 6249 1.1 jruoho 6250 1.1 jruoho CreateByteField (BUFR, 0, BYTE) 6251 1.1 jruoho Store (0xAA, BYTE) 6252 1.1 jruoho 6253 1.1 jruoho CreateWordField (BUFR, 1, WORD) 6254 1.1 jruoho Store (0xBBCC, WORD) 6255 1.1 jruoho 6256 1.1 jruoho CreateDWordField (BUFR, 3, DWRD) 6257 1.1 jruoho Store (0xDDEEFF00, DWRD) 6258 1.1 jruoho 6259 1.1 jruoho CreateByteField (BUFR, 7, BYT2) 6260 1.1 jruoho Store (0x11, BYT2) 6261 1.1 jruoho 6262 1.1 jruoho CreateWordField (BUFR, 8, WRD2) 6263 1.1 jruoho Store (0x2233, WRD2) 6264 1.1 jruoho 6265 1.1 jruoho Return (0) 6266 1.1 jruoho 6267 1.1 jruoho } // End Method TEST 6268 1.1 jruoho } // Device DWDF 6269 1.1 jruoho 6270 1.1 jruoho // 6271 1.1 jruoho // test DivAddx.asl 6272 1.1 jruoho // 6273 1.1 jruoho Name (B1LO, 0xAA) 6274 1.1 jruoho Name (B1HI, 0xBB) 6275 1.1 jruoho 6276 1.1 jruoho Method (MKW_, 2) 6277 1.1 jruoho { // This control method will take two bytes and make them into a WORD 6278 1.1 jruoho 6279 1.1 jruoho Multiply (B1HI, 256, Local0) // Make high byte.....high 6280 1.1 jruoho Or (Local0, B1LO, Local0) // OR in the low byte 6281 1.1 jruoho Return (Local0) // Return the WORD 6282 1.1 jruoho 6283 1.1 jruoho } // MKW_ 6284 1.1 jruoho 6285 1.1 jruoho Device (DVAX) 6286 1.1 jruoho { 6287 1.1 jruoho Method (TEST) 6288 1.1 jruoho { 6289 1.1 jruoho 6290 1.1 jruoho Store ("++++++++ DivAddx Test", Debug) 6291 1.1 jruoho 6292 1.1 jruoho Store (25, B1LO) 6293 1.1 jruoho Store (0, B1HI) 6294 1.1 jruoho 6295 1.1 jruoho // We'll multiply 25 * 3 to get 75, add 99 to it then divide 6296 1.1.1.9 christos // by 100. We expect to get 74 for the remainder and 1 for 6297 1.1 jruoho // the quotient. 6298 1.1 jruoho Divide( 6299 1.1 jruoho Add (Multiply (3, MKW_ (B1LO, B1HI)), 0x63), 6300 1.1 jruoho // Dividend, 6301 1.1 jruoho 100, // Divisor 6302 1.1 jruoho Local4, // Remainder 6303 1.1 jruoho Local2) // Quotient 6304 1.1 jruoho 6305 1.1 jruoho If (LAnd (LEqual (74, Local4), LEqual (1, Local2))) 6306 1.1 jruoho { // Indicate Pass 6307 1.1 jruoho Store (0x00, Local0) 6308 1.1 jruoho } 6309 1.1 jruoho 6310 1.1 jruoho Else 6311 1.1 jruoho { // Indicate Fail 6312 1.1 jruoho Store (0x01, Local0) 6313 1.1 jruoho } 6314 1.1 jruoho 6315 1.1 jruoho Return (Local0) 6316 1.1 jruoho } // End Method TEST 6317 1.1 jruoho } // Device DVAX 6318 1.1 jruoho 6319 1.1 jruoho // 6320 1.1 jruoho // test IndexFld.asl (IndexOp6.asl) 6321 1.1 jruoho // 6322 1.1 jruoho // IndexFld test 6323 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases. 6324 1.1 jruoho // Tests index field element AccessAs macro. 6325 1.1 jruoho // Also tests name resolution of index field elements with same names 6326 1.1 jruoho // but different namespace scopes. 6327 1.1 jruoho // 6328 1.1 jruoho Device (IDX6) 6329 1.1 jruoho { // Test device name 6330 1.1 jruoho 6331 1.1 jruoho OperationRegion (SIO, SystemIO, 0x100, 2) 6332 1.1 jruoho Field (SIO, ByteAcc, NoLock, Preserve) 6333 1.1 jruoho { 6334 1.1 jruoho INDX, 8, 6335 1.1 jruoho DATA, 8 6336 1.1 jruoho } 6337 1.1 jruoho IndexField (INDX, DATA, AnyAcc, NoLock, WriteAsOnes) 6338 1.1 jruoho { 6339 1.1 jruoho AccessAs (ByteAcc, 0), 6340 1.1 jruoho IFE0, 8, 6341 1.1 jruoho IFE1, 8, 6342 1.1 jruoho IFE2, 8, 6343 1.1 jruoho IFE3, 8, 6344 1.1 jruoho IFE4, 8, 6345 1.1 jruoho IFE5, 8, 6346 1.1 jruoho IFE6, 8, 6347 1.1 jruoho IFE7, 8, 6348 1.1 jruoho IFE8, 8, 6349 1.1 jruoho IFE9, 8, 6350 1.1 jruoho } 6351 1.1 jruoho 6352 1.1 jruoho Device (TST_) 6353 1.1 jruoho { // TST_: provides a different namespace scope for IFE0 and IFE1 6354 1.1 jruoho OperationRegion (SIO2, SystemIO, 0x100, 2) 6355 1.1 jruoho Field (SIO2, ByteAcc, NoLock, Preserve) 6356 1.1 jruoho { 6357 1.1 jruoho IND2, 8, 6358 1.1 jruoho DAT2, 8 6359 1.1 jruoho } 6360 1.1 jruoho IndexField (IND2, DAT2, AnyAcc, NoLock, WriteAsOnes) 6361 1.1 jruoho { 6362 1.1 jruoho IFE0, 8, // duplicate IndexField name with different scope 6363 1.1 jruoho IFE1, 8 6364 1.1 jruoho } 6365 1.1 jruoho } // TST_: provides a different namespace scope for IFE0 and IFE1 6366 1.1 jruoho 6367 1.1 jruoho Method (TEST) 6368 1.1 jruoho { 6369 1.1 jruoho Store ("++++++++ IndexOp6 Test", Debug) 6370 1.1 jruoho 6371 1.1 jruoho Store (IFE0, Local0) 6372 1.1 jruoho Store (IFE1, Local1) 6373 1.1 jruoho Store (IFE2, Local2) 6374 1.1 jruoho 6375 1.1 jruoho // validate name resolution of IndexFields with different scopes 6376 1.1 jruoho Store (\IDX6.IFE0, Local3) 6377 1.1 jruoho Store (\IDX6.IFE1, Local4) 6378 1.1 jruoho // verioading of namespace can resolve following names 6379 1.1 jruoho Store (\IDX6.TST_.IFE0, Local5) 6380 1.1 jruoho Store (\IDX6.TST_.IFE1, Local6) 6381 1.1 jruoho 6382 1.1 jruoho Return (0) 6383 1.1 jruoho } // TEST 6384 1.1 jruoho } // IDX6 6385 1.1 jruoho 6386 1.1 jruoho // 6387 1.1 jruoho // test IndexOp5.asl 6388 1.1 jruoho // 6389 1.1 jruoho // IndexOp5 test 6390 1.1 jruoho // This is just a subset of the many RegionOp/Index Field test cases. 6391 1.1 jruoho // Tests copying string into buffer then performing IndexOp on result. 6392 1.1 jruoho // 6393 1.1 jruoho Device (IDX5) 6394 1.1 jruoho { // Test device name 6395 1.1 jruoho 6396 1.1 jruoho Name (OSFL, 0) // 0 == Windows 98, 1 == Windows NT 6397 1.1 jruoho 6398 1.1 jruoho // MCTH is a control method to compare two strings. It returns 6399 1.1 jruoho // zero if the strings mismatch, or 1 if the strings match. 6400 1.1 jruoho // This exercises the test case of copying a string into a buffer 6401 1.1 jruoho // and performing an IndexOp on the resulting buffer. 6402 1.1.1.3 christos Method (MCTH, 2, Serialized) // Control Method to compare two strings 6403 1.1 jruoho { // MCTH: Control Method to compare two strings 6404 1.1 jruoho // Arg0: first string to compare 6405 1.1 jruoho // Arg1: second string to compare 6406 1.1 jruoho // Return: zero if strings mismatch, 1 if strings match 6407 1.1 jruoho 6408 1.1 jruoho // check if first string's length is less than second string's length 6409 1.1 jruoho If (LLess (SizeOf (Arg0), SizeOf (Arg1))) 6410 1.1 jruoho { Return (0) } 6411 1.1 jruoho 6412 1.1 jruoho // increment length to include NULL termination character 6413 1.1 jruoho Add (SizeOf (Arg0), 1, Local0) // Local0 = strlen(Arg0) + 1 6414 1.1 jruoho 6415 1.1 jruoho // create two buffers of size Local0 [strlen(Arg0)+1] 6416 1.1 jruoho Name (BUF0, Buffer (Local0) {}) 6417 1.1 jruoho Name (BUF1, Buffer (Local0) {}) 6418 1.1 jruoho 6419 1.1 jruoho // copy strings into buffers 6420 1.1 jruoho Store (Arg0, BUF0) 6421 1.1 jruoho Store (Arg1, BUF1) 6422 1.1 jruoho 6423 1.1 jruoho // validate BUF0 and BUF1 are still buffers 6424 1.1 jruoho Store (ObjectType (BUF0), Local1) 6425 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3 6426 1.1 jruoho { Return (20) } 6427 1.1 jruoho Store (ObjectType (BUF1), Local1) 6428 1.1 jruoho If (LNotEqual (Local1, 3)) // Buffer is type 3 6429 1.1 jruoho { Return (21) } 6430 1.1 jruoho 6431 1.1 jruoho // Decrement because the Index base below is zero based 6432 1.1 jruoho // while Local0 length is one based. 6433 1.1 jruoho Decrement (Local0) 6434 1.1 jruoho 6435 1.1 jruoho While (Local0) 6436 1.1 jruoho { // loop through all BUF0 buffer elements 6437 1.1 jruoho Decrement (Local0) 6438 1.1 jruoho 6439 1.1 jruoho // check if BUF0[n] == BUF1[n] 6440 1.1 jruoho If (LEqual (DerefOf (Index (BUF0, Local0, )), 6441 1.1 jruoho DerefOf (Index (BUF1, Local0, )))) 6442 1.1 jruoho { } // this is how the code was really implemented 6443 1.1 jruoho Else 6444 1.1 jruoho { Return (Zero) } 6445 1.1 jruoho } // loop through all BUF0 buffer elements 6446 1.1 jruoho 6447 1.1 jruoho Return (One) // strings / buffers match 6448 1.1 jruoho } // MCTH: Control Method to compare two strings 6449 1.1 jruoho 6450 1.1 jruoho 6451 1.1 jruoho Method (TEST) 6452 1.1 jruoho { 6453 1.1 jruoho Store ("++++++++ IndexOp5 Test", Debug) 6454 1.1 jruoho 6455 1.1 jruoho If (MCTH (\_OS, "Microsoft Windows NT")) 6456 1.1 jruoho { Store (1, OSFL) } 6457 1.1 jruoho 6458 1.1 jruoho If (LNotEqual (OSFL, 1)) 6459 1.1 jruoho { Return (11) } 6460 1.1 jruoho 6461 1.1 jruoho Return (0) 6462 1.1 jruoho } // TEST 6463 1.1 jruoho } // IDX5 6464 1.1 jruoho 6465 1.1 jruoho // 6466 1.1 jruoho // test IndexOp.asl 6467 1.1 jruoho // 6468 1.1 jruoho Scope (\_SB) // System Bus 6469 1.1 jruoho { // _SB system bus 6470 1.1 jruoho 6471 1.1 jruoho Method (C097) 6472 1.1 jruoho { Return (1) } 6473 1.1 jruoho 6474 1.1 jruoho Device (PCI2) 6475 1.1 jruoho { // Root PCI Bus 6476 1.1 jruoho Name (_HID, EISAID("PNP0A03")) 6477 1.1 jruoho Name (_ADR, 0x00000000) 6478 1.1 jruoho Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."}) 6479 1.1 jruoho Method (_STA) {Return (0x0F)} 6480 1.1 jruoho 6481 1.1 jruoho Device (ISA) 6482 1.1 jruoho { // ISA bridge 6483 1.1 jruoho Name (_ADR, 0x00030000) // ISA bus ID 6484 1.1 jruoho 6485 1.1 jruoho Device (EC0) 6486 1.1 jruoho { // Embedded Controller 6487 1.1 jruoho Name (_GPE, 0) // EC use GPE0 6488 1.1 jruoho Name (_ADR, 0x0030000) // PCI address 6489 1.1 jruoho 6490 1.1 jruoho Method (_STA,0) // EC Status 6491 1.1 jruoho { Return(0xF) } // EC is functioning 6492 1.1 jruoho 6493 1.1 jruoho Name (_CRS, ResourceTemplate() 6494 1.1 jruoho { 6495 1.1 jruoho IO (Decode16, 0x62, 0x62, 1, 1) 6496 1.1 jruoho IO (Decode16, 0x66, 0x66, 1, 1) 6497 1.1 jruoho } 6498 1.1 jruoho ) 6499 1.1 jruoho 6500 1.1 jruoho // create EC's region and field 6501 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x400000, 0x100) 6502 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 6503 1.1 jruoho { 6504 1.1 jruoho // AC information 6505 1.1 jruoho ADP, 1, // AC Adapter 1:On-line, 0:Off-line 6506 1.1 jruoho AFLT, 1, // AC Adapter Fault 1:Fault 0:Normal 6507 1.1 jruoho BAT0, 1, // BAT0 1:present, 0:not present 6508 1.1 jruoho , 1, // reserved 6509 1.1 jruoho , 28, // filler to force DWORD alignment 6510 1.1 jruoho 6511 1.1 jruoho // CMBatt information 6512 1.1 jruoho BPU0, 32, // Power Unit 6513 1.1 jruoho BDC0, 32, // Designed Capacity 6514 1.1 jruoho BFC0, 32, // Last Full Charge Capacity 6515 1.1 jruoho BTC0, 32, // Battery Technology 6516 1.1 jruoho BDV0, 32, // Design Voltage 6517 1.1 jruoho BST0, 32, // Battery State 6518 1.1 jruoho BPR0, 32, // Battery Present Rate 6519 1.1 jruoho // (Designed Capacity)x(%)/{(h)x100} 6520 1.1 jruoho BRC0, 32, // Battery Remaining Capacity 6521 1.1 jruoho // (Designed Capacity)(%)^100 6522 1.1 jruoho BPV0, 32, // Battery Present Voltage 6523 1.1 jruoho BTP0, 32, // Trip Point 6524 1.1 jruoho BCW0, 32, // Design capacity of Warning 6525 1.1 jruoho BCL0, 32, // Design capacity of Low 6526 1.1 jruoho BCG0, 32, // capacity granularity 1 6527 1.1 jruoho BG20, 32, // capacity granularity 2 6528 1.1 jruoho BMO0, 32, // Battery model number field 6529 1.1 jruoho BIF0, 32, // OEM Information(00h) 6530 1.1 jruoho BSN0, 32, // Battery Serial Number 6531 1.1 jruoho BTY0, 32, // Battery Type (e.g., "Li-Ion") 6532 1.1 jruoho BTY1, 32 // Battery Type (e.g., "Li-Ion") 6533 1.1 jruoho } // Field 6534 1.1 jruoho } // EC0: Embedded Controller 6535 1.1 jruoho } // ISA bridge 6536 1.1 jruoho } // PCI2 Root PCI Bus 6537 1.1 jruoho 6538 1.1 jruoho Device (IDX0) 6539 1.1 jruoho { // Test device name 6540 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID 6541 1.1 jruoho Name (_PCL, Package() {\_SB}) 6542 1.1 jruoho Method (_STA) 6543 1.1 jruoho { 6544 1.1 jruoho // _STA bits 0-3 indicate existence of battery slot 6545 1.1 jruoho // _STA bit 4 indicates battery (not) present 6546 1.1 jruoho If (\_SB.PCI2.ISA.EC0.BAT0) 6547 1.1 jruoho { Return (0x1F) } // Battery present 6548 1.1 jruoho else 6549 1.1 jruoho { Return (0x0F) } // Battery not present 6550 1.1 jruoho } // _STA 6551 1.1 jruoho 6552 1.1.1.3 christos Method (_BIF,, Serialized) 6553 1.1 jruoho { 6554 1.1 jruoho Name (BUFR, Package(13) {}) 6555 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BPU0, Index (BUFR,0)) // Power Unit 6556 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDC0, Index (BUFR,1)) // Designed Capacity 6557 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BFC0, Index (BUFR,2)) // Last Full Charge Capa. 6558 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BTC0, Index (BUFR,3)) // Battery Technology 6559 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BDV0, Index (BUFR,4)) // Designed Voltage 6560 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCW0, Index (BUFR,5)) // Designed warning level 6561 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCL0, Index (BUFR,6)) // Designed Low level 6562 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BCG0, Index (BUFR,7)) // Capacity granularity 1 6563 1.1 jruoho Store (\_SB.PCI2.ISA.EC0.BG20, Index (BUFR,8)) // Capacity granularity 2 6564 1.1 jruoho 6565 1.1 jruoho Store ("", Index (BUFR,9)) // Model Number 6566 1.1 jruoho 6567 1.1 jruoho Store ("", Index (BUFR,10)) // Serial Number 6568 1.1 jruoho 6569 1.1 jruoho Store ("LiOn", Index (BUFR,11)) // Battery Type 6570 1.1 jruoho 6571 1.1 jruoho Store ("Chicony", Index (BUFR,12)) // OEM Information 6572 1.1 jruoho 6573 1.1 jruoho Return (BUFR) 6574 1.1 jruoho } // _BIF 6575 1.1 jruoho 6576 1.1.1.3 christos Method (_BST,, Serialized) 6577 1.1 jruoho { 6578 1.1 jruoho Name (BUFR, Package(4) {1, 0x100, 0x76543210, 0x180}) 6579 1.1 jruoho Return (BUFR) 6580 1.1 jruoho } // _BST 6581 1.1 jruoho 6582 1.1 jruoho Method (_BTP,1) 6583 1.1 jruoho { 6584 1.1 jruoho Store (arg0, \_SB.PCI2.ISA.EC0.BTP0) // Set Battery Trip point 6585 1.1 jruoho } 6586 1.1 jruoho 6587 1.1.1.3 christos Method (TEST,, Serialized) 6588 1.1 jruoho { 6589 1.1 jruoho 6590 1.1 jruoho Store ("++++++++ IndexOp Test", Debug) 6591 1.1 jruoho 6592 1.1 jruoho // test storing into uninitialized package elements 6593 1.1.1.10 christos Name (PBUF, Package(4) {}) // leave uninitialized 6594 1.1 jruoho Store (0x01234567, Index (PBUF,0)) 6595 1.1 jruoho Store (0x89ABCDEF, Index (PBUF,1)) 6596 1.1 jruoho Store (0xFEDCBA98, Index (PBUF,2)) 6597 1.1 jruoho Store (0x76543210, Index (PBUF,3)) 6598 1.1 jruoho 6599 1.1 jruoho // verify values stored into uninitialized package elements 6600 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,0)), 0x01234567)) 6601 1.1 jruoho { Return (0x10) } 6602 1.1 jruoho 6603 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,1)), 0x89ABCDEF)) 6604 1.1 jruoho { Return (0x11) } 6605 1.1 jruoho 6606 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,2)), 0xFEDCBA98)) 6607 1.1 jruoho { Return (0x12) } 6608 1.1 jruoho 6609 1.1 jruoho If (LNotEqual (DerefOf (Index (PBUF,3)), 0x76543210)) 6610 1.1 jruoho { Return (0x13) } 6611 1.1 jruoho 6612 1.1 jruoho 6613 1.1 jruoho // store _BIF package return value into Local0 6614 1.1 jruoho Store (_BIF, Local0) 6615 1.1 jruoho 6616 1.1 jruoho // save Local0 object type value into Local1 6617 1.1 jruoho Store (ObjectType (Local0), Local1) 6618 1.1 jruoho 6619 1.1 jruoho // validate Local0 is a Package 6620 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4 6621 1.1 jruoho { Return (0x21) } // failure 6622 1.1 jruoho 6623 1.1 jruoho 6624 1.1 jruoho // test storing into buffer field elements 6625 1.1 jruoho Name (BUFR, Buffer(16) 6626 1.1 jruoho { // initial values 6627 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00, 6628 1.1 jruoho 00, 00, 00, 00, 00, 00, 00, 00, 6629 1.1 jruoho } 6630 1.1 jruoho ) // BUFR 6631 1.1 jruoho // test storing into buffer field elements 6632 1.1 jruoho Store (0x01234567, Index (BUFR,0)) // should only store 0x67 6633 1.1 jruoho Store (0x89ABCDEF, Index (BUFR,4)) // should only store 0xEF 6634 1.1 jruoho Store (0xFEDCBA98, Index (BUFR,8)) // should only store 0x98 6635 1.1 jruoho Store (0x76543210, Index (BUFR,12)) // should only store 0x10 6636 1.1 jruoho 6637 1.1 jruoho // verify storing into buffer field elements 6638 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,0)), 0x67)) 6639 1.1 jruoho { Return (0x30) } 6640 1.1 jruoho 6641 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,1)), 0)) 6642 1.1 jruoho { Return (0x31) } 6643 1.1 jruoho 6644 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,4)), 0xEF)) 6645 1.1 jruoho { Return (0x34) } 6646 1.1 jruoho 6647 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,8)), 0x98)) 6648 1.1 jruoho { Return (0x38) } 6649 1.1 jruoho 6650 1.1 jruoho If (LNotEqual (DerefOf (Index (BUFR,12)), 0x10)) 6651 1.1 jruoho { Return (0x3C) } 6652 1.1 jruoho 6653 1.1 jruoho 6654 1.1 jruoho Return (0) // pass 6655 1.1 jruoho } // TEST 6656 1.1 jruoho } // IDX0 6657 1.1 jruoho } // _SB system bus 6658 1.1 jruoho 6659 1.1 jruoho // 6660 1.1 jruoho // test BitIndex.asl 6661 1.1 jruoho // 6662 1.1 jruoho // BitIndex test 6663 1.1 jruoho // This is a test case for accessing fields defined as single bits in 6664 1.1.1.9 christos // memory. This is done by creating two index fields that overlay the 6665 1.1.1.9 christos // same DWORD in memory. One field accesses the DWORD as a DWORD, the 6666 1.1 jruoho // other accesses individual bits of the same DWORD field in memory. 6667 1.1 jruoho // 6668 1.1 jruoho Scope (\_SB) // System Bus 6669 1.1 jruoho { // _SB system bus 6670 1.1 jruoho OperationRegion (RAM, SystemMemory, 0x800000, 0x100) 6671 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 6672 1.1 jruoho { // Any access 6673 1.1 jruoho TREE, 3, 6674 1.1 jruoho WRD0, 16, 6675 1.1 jruoho WRD1, 16, 6676 1.1 jruoho WRD2, 16, 6677 1.1 jruoho WRD3, 16, 6678 1.1 jruoho WRD4, 16, 6679 1.1 jruoho DWRD, 32, // DWORD field 6680 1.1 jruoho } 6681 1.1 jruoho Field (RAM, AnyAcc, NoLock, Preserve) 6682 1.1 jruoho { // Any access 6683 1.1 jruoho THRE, 3, 6684 1.1 jruoho WD00, 16, 6685 1.1 jruoho WD01, 16, 6686 1.1 jruoho WD02, 16, 6687 1.1 jruoho WD03, 16, 6688 1.1 jruoho WD04, 16, 6689 1.1 jruoho BYT0, 8, // Start off with a BYTE 6690 1.1 jruoho BIT0, 1, // single-bit field 6691 1.1 jruoho BIT1, 1, // single-bit field 6692 1.1 jruoho BIT2, 1, // single-bit field 6693 1.1 jruoho BIT3, 1, // single-bit field 6694 1.1 jruoho BIT4, 1, // single-bit field 6695 1.1 jruoho BIT5, 1, // single-bit field 6696 1.1 jruoho BIT6, 1, // single-bit field 6697 1.1 jruoho BIT7, 1, // single-bit field 6698 1.1 jruoho BIT8, 1, // single-bit field 6699 1.1 jruoho BIT9, 1, // single-bit field 6700 1.1 jruoho BITA, 1, // single-bit field 6701 1.1 jruoho BITB, 1, // single-bit field 6702 1.1 jruoho BITC, 1, // single-bit field 6703 1.1 jruoho BITD, 1, // single-bit field 6704 1.1 jruoho BITE, 1, // single-bit field 6705 1.1 jruoho BITF, 1, // single-bit field 6706 1.1 jruoho BYTZ, 8, // End with a BYTE for a total of 32 bits 6707 1.1 jruoho } 6708 1.1 jruoho 6709 1.1 jruoho Device (BITI) 6710 1.1 jruoho { // Test device name 6711 1.1 jruoho 6712 1.1 jruoho Method (MBIT) // Test single bit memory accesses 6713 1.1 jruoho { 6714 1.1 jruoho 6715 1.1 jruoho If (LNotEqual (DWRD, 0x00)) 6716 1.1 jruoho { 6717 1.1 jruoho Store (0xFF00, Local0) 6718 1.1 jruoho } 6719 1.1 jruoho Else 6720 1.1 jruoho { 6721 1.1 jruoho // Prime Local0 with 0...assume passing condition 6722 1.1 jruoho Store (0, Local0) 6723 1.1 jruoho 6724 1.1 jruoho // set memory contents to known values using DWORD field 6725 1.1 jruoho Store (0x5A5A5A5A, DWRD) 6726 1.1 jruoho 6727 1.1 jruoho // Given the value programmed into DWRD, only the odd bits 6728 1.1 jruoho // of the lower nibble should be set. BIT1, BIT3 should be set. 6729 1.1 jruoho // BIT0 and BIT2 should be clear 6730 1.1 jruoho 6731 1.1 jruoho If (BIT0) 6732 1.1 jruoho { 6733 1.1 jruoho Or (Local0, 0x01, Local0) 6734 1.1 jruoho } 6735 1.1 jruoho 6736 1.1 jruoho If (LNot (BIT1)) 6737 1.1 jruoho { 6738 1.1 jruoho Or (Local0, 0x02, Local0) 6739 1.1 jruoho } 6740 1.1 jruoho 6741 1.1 jruoho If (BIT2) 6742 1.1 jruoho { 6743 1.1 jruoho Or (Local0, 0x04, Local0) 6744 1.1 jruoho } 6745 1.1 jruoho 6746 1.1 jruoho If (LNot (BIT3)) 6747 1.1 jruoho { 6748 1.1 jruoho Or (Local0, 0x08, Local0) 6749 1.1 jruoho } 6750 1.1 jruoho 6751 1.1.1.9 christos // Now check the upper nibble. Only the "even" bits should 6752 1.1.1.9 christos // be set. BIT4, BIT6. BIT5 and BIT7 should be clear. 6753 1.1 jruoho If (LNot (BIT4)) 6754 1.1 jruoho { 6755 1.1 jruoho Or (Local0, 0x10, Local0) 6756 1.1 jruoho } 6757 1.1 jruoho 6758 1.1 jruoho If (BIT5) 6759 1.1 jruoho { 6760 1.1 jruoho Or (Local0, 0x20, Local0) 6761 1.1 jruoho } 6762 1.1 jruoho 6763 1.1 jruoho If (LNot (BIT6)) 6764 1.1 jruoho { 6765 1.1 jruoho Or (Local0, 0x40, Local0) 6766 1.1 jruoho } 6767 1.1 jruoho 6768 1.1 jruoho If (BIT7) 6769 1.1 jruoho { 6770 1.1 jruoho Or (Local0, 0x80, Local0) 6771 1.1 jruoho } 6772 1.1 jruoho } // End Else DWRD zeroed out 6773 1.1 jruoho 6774 1.1 jruoho Return (Local0) 6775 1.1 jruoho } // MBIT: Test single bit memory accesses 6776 1.1 jruoho 6777 1.1 jruoho Method (TEST) 6778 1.1 jruoho { 6779 1.1 jruoho 6780 1.1 jruoho Store ("++++++++ BitIndex Test", Debug) 6781 1.1 jruoho 6782 1.1 jruoho // Zero out DWRD 6783 1.1 jruoho Store (0x00000000, DWRD) 6784 1.1 jruoho 6785 1.1 jruoho // MBIT returns zero if successful 6786 1.1 jruoho // This may be causing problems -- Return (MBIT) 6787 1.1 jruoho Store (MBIT, Local0) 6788 1.1 jruoho 6789 1.1 jruoho Return (Local0) 6790 1.1 jruoho } // TEST 6791 1.1 jruoho } // BITI 6792 1.1 jruoho } // _SB system bus 6793 1.1 jruoho 6794 1.1 jruoho // 6795 1.1 jruoho // test IndexOp3.asl 6796 1.1 jruoho // 6797 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery 6798 1.1 jruoho // test) on Compaq laptops. Test cases include storing a package into 6799 1.1 jruoho // an IndexOp target and validating that changing source and destination 6800 1.1 jruoho // package contents are independent of each other. 6801 1.1 jruoho // 6802 1.1 jruoho Scope (\_SB) // System Bus 6803 1.1 jruoho { // _SB system bus 6804 1.1 jruoho 6805 1.1 jruoho Name (C174, 13) 6806 1.1 jruoho Name (C175, 8) 6807 1.1 jruoho 6808 1.1 jruoho Device (C158) 6809 1.1 jruoho { // C158: AC Adapter device 6810 1.1 jruoho Name (_HID, "ACPI0003") // AC Adapter device 6811 1.1 jruoho Name (_PCL, Package (1) {\_SB}) 6812 1.1 jruoho 6813 1.1 jruoho Method (_PSR) 6814 1.1 jruoho { 6815 1.1 jruoho Acquire (\_GL, 0xFFFF) 6816 1.1 jruoho Release (\_GL) 6817 1.1 jruoho And (Local0, 1, Local0) // Local0 &= 1 6818 1.1 jruoho Return (Local0) 6819 1.1 jruoho } // _PSR 6820 1.1 jruoho } // C158: AC Adapter device 6821 1.1 jruoho 6822 1.1 jruoho Name (C176, Package (4) {"Primary", "MultiBay", "DockRight", "DockLeft"}) 6823 1.1 jruoho 6824 1.1 jruoho Name (C177, Package (4) {0x99F5, 0x99F5, 0x995F, 0x995F}) 6825 1.1 jruoho 6826 1.1 jruoho Name (C178, Package (4) 6827 1.1 jruoho { 6828 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190}, 6829 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190}, 6830 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190}, 6831 1.1 jruoho Package (4) {0, 0, 0x966B, 0x4190} 6832 1.1 jruoho }) // C178 6833 1.1 jruoho 6834 1.1 jruoho Name (C179, Package (4) {0, 0, 0x966B, 0x4190}) 6835 1.1 jruoho 6836 1.1 jruoho Name (C17A, Package (4) 6837 1.1 jruoho { 6838 1.1 jruoho Package (3) {0, 0, 0}, 6839 1.1 jruoho Package (3) {0, 0, 0}, 6840 1.1 jruoho Package (3) {0, 0, 0}, 6841 1.1 jruoho Package (3) {0, 0, 0} 6842 1.1 jruoho }) // C17A 6843 1.1 jruoho 6844 1.1.1.3 christos Method (C17B, 1, Serialized) 6845 1.1 jruoho { // C17B: _BIF implementation 6846 1.1 jruoho Name (C17C, Package (13) 6847 1.1 jruoho { // C17C: _BIF control method return package 6848 1.1 jruoho 0, // Power Unit (0 ==> mWh and mW) 6849 1.1 jruoho 0x99F5, // Design Capacity 6850 1.1 jruoho 0x99F5, // Last Full Charge Capacity 6851 1.1 jruoho 1, // Battery Technology (1 ==> rechargeable) 6852 1.1 jruoho 0x3840, // Design Voltage 6853 1.1 jruoho 0x1280, // Design Capacity of Warning 6854 1.1 jruoho 0x0AC7, // Design Capacity of Low 6855 1.1 jruoho 1, // Battery Capacity Granularity 1 (Low -- Warning) 6856 1.1 jruoho 1, // Battery Capacity Granularity 2 (Warning -- Full) 6857 1.1 jruoho "2891", // Model Number (ASCIIZ) 6858 1.1 jruoho "(-Unknown-)", // Serial Number (ASCIIZ) 6859 1.1 jruoho "LIon", // Battery Type (ASCIIZ) 6860 1.1 jruoho 0 // OEM Information (ASCIIZ) 6861 1.1 jruoho }) // C17C: _BIF control method return package 6862 1.1 jruoho 6863 1.1 jruoho And (Arg0, 7, Local0) // Local0 = Arg0 & 7 6864 1.1 jruoho 6865 1.1 jruoho ShiftRight (Local0, 1, Local4) // Local4 = Local0 >> 1 6866 1.1 jruoho 6867 1.1 jruoho Store (C179, Index (C178, Local4, )) // C178->Local4 = C179 6868 1.1 jruoho 6869 1.1 jruoho // verify source and destination packages can be altered independent 6870 1.1 jruoho // of each other (i.e., changing one's contents does NOT change other's 6871 1.1 jruoho // contents) 6872 1.1 jruoho Store (0x1234, Index (C179, 2, )) // C179[2] = 0x1234 6873 1.1 jruoho Store (DerefOf (Index (C179, 2, )), Local2) // Local2 = C179[2] 6874 1.1 jruoho if (LNotEqual (Local2, 0x1234)) 6875 1.1 jruoho { Return (0x1234) } 6876 1.1 jruoho // Local2 = C178[0,2] 6877 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 2, )), Local2) 6878 1.1 jruoho if (LNotEqual (Local2, 0x966B)) 6879 1.1 jruoho { Return (0x1234) } 6880 1.1 jruoho 6881 1.1 jruoho // Restore data to allow iterative execution 6882 1.1 jruoho Store (0x966B, Index (C179, 2, )) // C179[2] = 0x966B 6883 1.1 jruoho 6884 1.1 jruoho // C178[0,3] = 0x5678 6885 1.1 jruoho Store (0x5678, Index (DerefOf (Index (C178, 0, )), 3, )) 6886 1.1 jruoho // Local2 = C178[0,3] 6887 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (C178, 0, )), 3, )), Local2) 6888 1.1 jruoho if (LNotEqual (Local2, 0x5678)) 6889 1.1 jruoho { Return (0x5678) } 6890 1.1 jruoho 6891 1.1 jruoho Store (DerefOf (Index (C179, 3, )), Local2) // Local2 = C179[3] 6892 1.1 jruoho if (LNotEqual (Local2, 0x4190)) 6893 1.1 jruoho { Return (0x5678) } 6894 1.1 jruoho 6895 1.1 jruoho // Restore data to allow iterative execution 6896 1.1 jruoho Store (0x4190, Index (DerefOf (Index (C178, 0, )), 3, )) // C179[2] = 0x4190 6897 1.1 jruoho 6898 1.1 jruoho Return (C17C) 6899 1.1 jruoho } // C17B: _BIF implementation 6900 1.1 jruoho 6901 1.1 jruoho Device (C154) 6902 1.1 jruoho { // C154: Battery 0 6903 1.1 jruoho Name (_HID, "*PNP0C0A") // Control Method Battey ID 6904 1.1 jruoho Name (_UID, 0) // first instance 6905 1.1 jruoho 6906 1.1 jruoho Method (_BIF) 6907 1.1 jruoho { // _BIF 6908 1.1 jruoho Return (C17B (48)) 6909 1.1 jruoho } // _BIF 6910 1.1 jruoho } // C154: Battery 0 6911 1.1 jruoho 6912 1.1 jruoho Device (IDX3) 6913 1.1 jruoho { 6914 1.1.1.3 christos Method (LCLB,, Serialized) 6915 1.1 jruoho { // LCLB control method: test Index(Local#) where Local# is buffer 6916 1.1 jruoho // Local0 is index counter 6917 1.1 jruoho // Local1 is buffer 6918 1.1 jruoho // Local2 receives BUFR[Local0] via Deref(Index(Local1...)) 6919 1.1 jruoho // Local3 is Local1 or Local2 object type 6920 1.1 jruoho // Local4 is return error code 6921 1.1 jruoho 6922 1.1 jruoho Name (BUFR, Buffer () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) 6923 1.1 jruoho 6924 1.1 jruoho // save PKG into Local1 6925 1.1 jruoho Store (BUFR, Local1) 6926 1.1 jruoho 6927 1.1 jruoho // save Local2 object type value into Local3 6928 1.1 jruoho Store (ObjectType (Local1), Local3) 6929 1.1 jruoho 6930 1.1 jruoho // validate Local1 is a Buffer 6931 1.1 jruoho If (LNotEqual (Local3, 3)) // Buffer type is 3 6932 1.1 jruoho { Return (0x9F) } 6933 1.1 jruoho 6934 1.1 jruoho 6935 1.1 jruoho Store (0, Local0) 6936 1.1 jruoho While (LLess (Local0, 5)) 6937 1.1 jruoho { // While (Local0 < 5) 6938 1.1 jruoho // Local2 = Local1[Local0] 6939 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2) 6940 1.1 jruoho 6941 1.1 jruoho // save Local2 object type value into Local3 6942 1.1 jruoho Store (ObjectType (Local2), Local3) 6943 1.1 jruoho 6944 1.1 jruoho // validate Local2 is a Number 6945 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1 6946 1.1 jruoho { Return (0x9E) } 6947 1.1 jruoho 6948 1.1 jruoho // validate Local1[Local0] value == Local0 6949 1.1 jruoho If (LNotEqual (Local0, Local2)) 6950 1.1 jruoho { // Local0 != Local2 == PKG[Local0] 6951 1.1 jruoho // Local4 = 0x90 + loop index (Local0) 6952 1.1 jruoho Add (0x90, Local0, Local4) 6953 1.1 jruoho 6954 1.1 jruoho // return 0x90 + loop index 6955 1.1 jruoho Return (Local4) 6956 1.1 jruoho } 6957 1.1 jruoho 6958 1.1 jruoho Increment (Local0) 6959 1.1 jruoho } // While (Local0 < 5) 6960 1.1 jruoho 6961 1.1 jruoho Store ("DerefOf(Index(LocalBuffer,,)) PASS", Debug) 6962 1.1 jruoho 6963 1.1 jruoho Return (0) // Pass 6964 1.1 jruoho } // LCLB control method: test Index(Local#) where Local# is buffer 6965 1.1 jruoho 6966 1.1.1.3 christos Method (LCLP,, Serialized) 6967 1.1 jruoho { // LCLP control method: test Index(Local#) where Local# is package 6968 1.1 jruoho // Local0 is index counter 6969 1.1 jruoho // Local1 is package 6970 1.1 jruoho // Local2 receives PKG[Local0] via Deref(Index(Local1...)) 6971 1.1 jruoho // Local3 is Local1 or Local2 object type 6972 1.1 jruoho // Local4 is return error code 6973 1.1 jruoho 6974 1.1 jruoho Name (PKG, Package () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) 6975 1.1 jruoho 6976 1.1 jruoho // save PKG into Local1 6977 1.1 jruoho Store (PKG, Local1) 6978 1.1 jruoho 6979 1.1 jruoho // save Local2 object type value into Local3 6980 1.1 jruoho Store (ObjectType (Local1), Local3) 6981 1.1 jruoho 6982 1.1 jruoho // validate Local1 is a Package 6983 1.1 jruoho If (LNotEqual (Local3, 4)) // Package type is 4 6984 1.1 jruoho { Return (0x8F) } 6985 1.1 jruoho 6986 1.1 jruoho 6987 1.1 jruoho Store (0, Local0) 6988 1.1 jruoho While (LLess (Local0, 5)) 6989 1.1 jruoho { // While (Local0 < 5) 6990 1.1 jruoho // Local2 = Local1[Local0] 6991 1.1 jruoho Store (DerefOf (Index (Local1, Local0, )), Local2) 6992 1.1 jruoho 6993 1.1 jruoho // save Local2 object type value into Local3 6994 1.1 jruoho Store (ObjectType (Local2), Local3) 6995 1.1 jruoho 6996 1.1 jruoho // validate Local2 is a Number 6997 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1 6998 1.1 jruoho { Return (0x8E) } 6999 1.1 jruoho 7000 1.1 jruoho // validate Local1[Local0] value == Local0 7001 1.1 jruoho If (LNotEqual (Local0, Local2)) 7002 1.1 jruoho { // Local0 != Local2 == PKG[Local0] 7003 1.1 jruoho // Local4 = 0x80 + loop index (Local0) 7004 1.1 jruoho Add (0x80, Local0, Local4) 7005 1.1 jruoho 7006 1.1 jruoho // return 0x80 + loop index 7007 1.1 jruoho Return (Local4) 7008 1.1 jruoho } 7009 1.1 jruoho 7010 1.1 jruoho Increment (Local0) 7011 1.1 jruoho } // While (Local0 < 5) 7012 1.1 jruoho 7013 1.1 jruoho Store ("DerefOf(Index(LocalPackage,,)) PASS", Debug) 7014 1.1 jruoho 7015 1.1 jruoho Return (0) // Pass 7016 1.1 jruoho } // LCLP control method: test Index(Local#) where Local# is package 7017 1.1 jruoho 7018 1.1 jruoho Method (TEST) 7019 1.1 jruoho { 7020 1.1 jruoho 7021 1.1 jruoho Store ("++++++++ IndexOp3 Test", Debug) 7022 1.1 jruoho 7023 1.1 jruoho // store _BIF package return value into Local0 7024 1.1 jruoho Store (\_SB.C154._BIF, Local0) 7025 1.1 jruoho 7026 1.1 jruoho // save Local0 object type value into Local1 7027 1.1 jruoho Store (ObjectType (Local0), Local1) 7028 1.1 jruoho 7029 1.1 jruoho // validate Local0 is a Package 7030 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4 7031 1.1 jruoho { // failure: did not return a Package (type 4) 7032 1.1 jruoho // if Local0 is a Number, it contains an error code 7033 1.1 jruoho If (LEqual (Local1, 1)) // Number type is 1 7034 1.1 jruoho { Return (Local0) } // return Local0 error code 7035 1.1 jruoho Else // Local0 is not a Number 7036 1.1 jruoho { Return (1) } // return default error code 7037 1.1 jruoho } // failure: did not return a Package (type 4) 7038 1.1 jruoho 7039 1.1 jruoho // save LCLB control method return value into Local2 7040 1.1 jruoho Store (LCLB, Local2) 7041 1.1 jruoho If (LNotEqual (Local2, 0)) 7042 1.1 jruoho { Return (Local2) } // return failure code 7043 1.1 jruoho 7044 1.1 jruoho // save LCLP control method return value into Local2 7045 1.1 jruoho Store (LCLP, Local2) 7046 1.1 jruoho If (LNotEqual (Local2, 0)) 7047 1.1 jruoho { Return (Local2) } // return failure code 7048 1.1 jruoho 7049 1.1 jruoho Return (0) // Pass 7050 1.1 jruoho } // TEST 7051 1.1 jruoho } // IDX3: Test device name 7052 1.1 jruoho } // _SB system bus 7053 1.1 jruoho 7054 1.1 jruoho // 7055 1.1 jruoho // MTL developed test to exercise Indexes into buffers 7056 1.1 jruoho // 7057 1.1 jruoho Device(IDX7) 7058 1.1 jruoho { 7059 1.1 jruoho 7060 1.1 jruoho Name (PKG4, Package() { 7061 1.1 jruoho 0x2, 7062 1.1 jruoho "A short string", 7063 1.1 jruoho Buffer() {0xA, 0xB, 0xC, 0xD}, 7064 1.1 jruoho 0x1234, 7065 1.1 jruoho Package() {IDX7, 0x3} 7066 1.1 jruoho }) 7067 1.1 jruoho 7068 1.1 jruoho // 7069 1.1 jruoho // Generic Test method 7070 1.1 jruoho // 7071 1.1 jruoho // This test returns 0xE (14) - ObjectType = Buffer Field 7072 1.1.1.3 christos Method(TST1,, Serialized) 7073 1.1 jruoho { 7074 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL 7075 1.1 jruoho {"Destination buffer that is longer than the short source buffer"}) 7076 1.1 jruoho 7077 1.1 jruoho // verify object type returned by Index(Buffer,Element,) 7078 1.1 jruoho Store (Index (DEST, 2, ), Local1) 7079 1.1 jruoho Store (ObjectType (Local1), Local2) 7080 1.1 jruoho If (LEqual(Local2, 14)) 7081 1.1 jruoho { 7082 1.1 jruoho Return(0) 7083 1.1 jruoho } 7084 1.1 jruoho Else 7085 1.1 jruoho { 7086 1.1 jruoho Return(0x1) 7087 1.1 jruoho } 7088 1.1 jruoho 7089 1.1 jruoho } 7090 1.1 jruoho 7091 1.1.1.3 christos Method(TST2,, Serialized) 7092 1.1 jruoho { 7093 1.1 jruoho Name (BUF0, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5}) 7094 1.1 jruoho Store(0x55, Index(BUF0, 2)) 7095 1.1 jruoho Store(DerefOf(Index(BUF0, 2)), Local0) 7096 1.1 jruoho If (LEqual(Local0, 0x55)) 7097 1.1 jruoho { 7098 1.1 jruoho Return(0) 7099 1.1 jruoho } 7100 1.1 jruoho Else 7101 1.1 jruoho { 7102 1.1 jruoho Return(0x2) 7103 1.1 jruoho } 7104 1.1 jruoho 7105 1.1 jruoho 7106 1.1 jruoho } 7107 1.1 jruoho 7108 1.1.1.3 christos Method(TST3,, Serialized) 7109 1.1 jruoho { 7110 1.1 jruoho Name (BUF1, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5}) 7111 1.1 jruoho Store(Index(BUF1, 1), Local0) 7112 1.1 jruoho Store(DerefOf(Local0), Local1) 7113 1.1 jruoho If (LEqual(Local1, 0x2)) 7114 1.1 jruoho { 7115 1.1 jruoho Return(0) 7116 1.1 jruoho } 7117 1.1 jruoho Else 7118 1.1 jruoho { 7119 1.1 jruoho Return(0x3) 7120 1.1 jruoho } 7121 1.1 jruoho 7122 1.1 jruoho } 7123 1.1 jruoho 7124 1.1 jruoho Method(TST4) 7125 1.1 jruoho { 7126 1.1 jruoho // Index (PKG4, 0) is a Number 7127 1.1 jruoho Store (Index (PKG4, 0), Local0) 7128 1.1 jruoho Store (ObjectType(Local0), Local1) 7129 1.1 jruoho If (LEqual(Local1, 0x1)) 7130 1.1 jruoho { 7131 1.1 jruoho Return(0) 7132 1.1 jruoho } 7133 1.1 jruoho Else 7134 1.1 jruoho { 7135 1.1 jruoho Return(0x4) 7136 1.1 jruoho } 7137 1.1 jruoho 7138 1.1 jruoho } 7139 1.1 jruoho 7140 1.1 jruoho Method(TST5) 7141 1.1 jruoho { 7142 1.1 jruoho // Index (PKG4, 1) is a String 7143 1.1 jruoho Store (Index (PKG4, 1), Local0) 7144 1.1 jruoho Store (ObjectType(Local0), Local1) 7145 1.1 jruoho If (LEqual(Local1, 0x2)) 7146 1.1 jruoho { 7147 1.1 jruoho Return(0) 7148 1.1 jruoho } 7149 1.1 jruoho Else 7150 1.1 jruoho { 7151 1.1 jruoho Return(0x5) 7152 1.1 jruoho } 7153 1.1 jruoho 7154 1.1 jruoho } 7155 1.1 jruoho 7156 1.1 jruoho Method(TST6) 7157 1.1 jruoho { 7158 1.1 jruoho // Index (PKG4, 2) is a Buffer 7159 1.1 jruoho Store (Index (PKG4, 2), Local0) 7160 1.1 jruoho Store (ObjectType(Local0), Local1) 7161 1.1 jruoho If (LEqual(Local1, 0x3)) 7162 1.1 jruoho { 7163 1.1 jruoho Return(0) 7164 1.1 jruoho } 7165 1.1 jruoho Else 7166 1.1 jruoho { 7167 1.1 jruoho Return(0x6) 7168 1.1 jruoho } 7169 1.1 jruoho 7170 1.1 jruoho } 7171 1.1 jruoho 7172 1.1 jruoho Method(TST7) 7173 1.1 jruoho { 7174 1.1 jruoho // Index (PKG4, 3) is a Number 7175 1.1 jruoho Store (Index (PKG4, 3), Local0) 7176 1.1 jruoho Store (ObjectType(Local0), Local1) 7177 1.1 jruoho If (LEqual(Local1, 0x1)) 7178 1.1 jruoho { 7179 1.1 jruoho Return(0) 7180 1.1 jruoho } 7181 1.1 jruoho Else 7182 1.1 jruoho { 7183 1.1 jruoho Return(0x7) 7184 1.1 jruoho } 7185 1.1 jruoho 7186 1.1 jruoho } 7187 1.1 jruoho 7188 1.1 jruoho Method(TST8) 7189 1.1 jruoho { 7190 1.1 jruoho // Index (PKG4, 4) is a Package 7191 1.1 jruoho Store (Index (PKG4, 4), Local0) 7192 1.1 jruoho Store (ObjectType(Local0), Local1) 7193 1.1 jruoho If (LEqual(Local1, 0x4)) 7194 1.1 jruoho { 7195 1.1 jruoho Return(0) 7196 1.1 jruoho } 7197 1.1 jruoho Else 7198 1.1 jruoho { 7199 1.1 jruoho Return(0x8) 7200 1.1 jruoho } 7201 1.1 jruoho 7202 1.1 jruoho } 7203 1.1 jruoho 7204 1.1 jruoho Method(TST9) 7205 1.1 jruoho { 7206 1.1 jruoho // DerefOf (Index (PKG4, 0)) is a Number 7207 1.1 jruoho Store (DerefOf (Index (PKG4, 0)), Local0) 7208 1.1 jruoho If (LEqual(Local0, 0x2)) 7209 1.1 jruoho { 7210 1.1 jruoho Return(0) 7211 1.1 jruoho } 7212 1.1 jruoho Else 7213 1.1 jruoho { 7214 1.1 jruoho Return(0x9) 7215 1.1 jruoho } 7216 1.1 jruoho 7217 1.1 jruoho } 7218 1.1 jruoho 7219 1.1 jruoho Method(TSTA) 7220 1.1 jruoho { 7221 1.1 jruoho // DerefOf (Index (PKG4, 1)) is a String 7222 1.1 jruoho Store (DerefOf (Index (PKG4, 1)), Local0) 7223 1.1 jruoho Store (SizeOf(Local0), Local1) 7224 1.1 jruoho If (LEqual(Local1, 0xE)) 7225 1.1 jruoho { 7226 1.1 jruoho Return(0) 7227 1.1 jruoho } 7228 1.1 jruoho Else 7229 1.1 jruoho { 7230 1.1 jruoho Return(0xA) 7231 1.1 jruoho } 7232 1.1 jruoho 7233 1.1 jruoho } 7234 1.1 jruoho 7235 1.1 jruoho Method(TSTB) 7236 1.1 jruoho { 7237 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer 7238 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0) 7239 1.1 jruoho Store (SizeOf(Local0), Local1) 7240 1.1 jruoho If (LEqual(Local1, 0x4)) 7241 1.1 jruoho { 7242 1.1 jruoho Return(0) 7243 1.1 jruoho } 7244 1.1 jruoho Else 7245 1.1 jruoho { 7246 1.1 jruoho Return(0xB) 7247 1.1 jruoho } 7248 1.1 jruoho 7249 1.1 jruoho } 7250 1.1 jruoho 7251 1.1 jruoho Method(TSTC) 7252 1.1 jruoho { 7253 1.1 jruoho // DerefOf (Index (PKG4, 3)) is a Number 7254 1.1 jruoho Store (DerefOf (Index (PKG4, 3)), Local0) 7255 1.1 jruoho If (LEqual(Local0, 0x1234)) 7256 1.1 jruoho { 7257 1.1 jruoho Return(0) 7258 1.1 jruoho } 7259 1.1 jruoho Else 7260 1.1 jruoho { 7261 1.1 jruoho Return(0xC) 7262 1.1 jruoho } 7263 1.1 jruoho 7264 1.1 jruoho } 7265 1.1 jruoho 7266 1.1 jruoho Method(TSTD) 7267 1.1 jruoho { 7268 1.1 jruoho // DerefOf (Index (PKG4, 4)) is a Package 7269 1.1 jruoho Store (DerefOf (Index (PKG4, 4)), Local0) 7270 1.1 jruoho Store (SizeOf(Local0), Local1) 7271 1.1 jruoho If (LEqual(Local1, 0x2)) 7272 1.1 jruoho { 7273 1.1 jruoho Return(0) 7274 1.1 jruoho } 7275 1.1 jruoho Else 7276 1.1 jruoho { 7277 1.1 jruoho Return(0xD) 7278 1.1 jruoho } 7279 1.1 jruoho 7280 1.1 jruoho } 7281 1.1 jruoho 7282 1.1 jruoho Method(TSTE) 7283 1.1 jruoho { 7284 1.1 jruoho // DerefOf (Index (PKG4, 2)) is a Buffer 7285 1.1 jruoho Store (DerefOf (Index (PKG4, 2)), Local0) 7286 1.1 jruoho // DerefOf (Index (Local0, 1)) is a Number 7287 1.1 jruoho Store (DerefOf (Index (Local0, 1)), Local1) 7288 1.1 jruoho If (LEqual(Local1, 0xB)) 7289 1.1 jruoho { 7290 1.1 jruoho Return(0) 7291 1.1 jruoho } 7292 1.1 jruoho Else 7293 1.1 jruoho { 7294 1.1 jruoho Return(0xE) 7295 1.1 jruoho } 7296 1.1 jruoho 7297 1.1 jruoho } 7298 1.1 jruoho 7299 1.1.1.3 christos Method (TSTF,, Serialized) 7300 1.1 jruoho { 7301 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters 7302 1.1 jruoho Store ("Short Buffer", SRCB) 7303 1.1 jruoho 7304 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL 7305 1.1 jruoho {"Destination buffer that is longer than the short source buffer"}) 7306 1.1 jruoho 7307 1.1 jruoho // overwrite DEST contents, starting at buffer position 2 7308 1.1 jruoho Store (SRCB, Index (DEST, 2)) 7309 1.1 jruoho 7310 1.1 jruoho // 7311 1.1 jruoho // The DEST buffer element should be replaced with the last element of 7312 1.1 jruoho // the SRCB element (i.e. 's'->'r') 7313 1.1 jruoho Store (DerefOf (Index (DEST, 2)), Local0) 7314 1.1 jruoho 7315 1.1 jruoho If (LNotEqual (Local0, 0x72)) // 'r' 7316 1.1 jruoho { 7317 1.1 jruoho // DEST element does not match the value from SRCB 7318 1.1 jruoho Return(Or(Local0, 0x1000)) 7319 1.1 jruoho } 7320 1.1 jruoho 7321 1.1 jruoho Return(0) 7322 1.1 jruoho } 7323 1.1 jruoho 7324 1.1.1.3 christos Method (TSTG,, Serialized) 7325 1.1 jruoho { 7326 1.1 jruoho 7327 1.1 jruoho Name (SRCB, Buffer (12) {}) // 12 characters 7328 1.1 jruoho Store ("Short Buffer", SRCB) 7329 1.1 jruoho 7330 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL 7331 1.1 jruoho {"Destination buffer that is longer than the short source buffer"}) 7332 1.1 jruoho 7333 1.1 jruoho // overwrite DEST contents, starting at buffer position 2 7334 1.1 jruoho Store (SRCB, Index (DEST, 2)) 7335 1.1 jruoho 7336 1.1 jruoho // 7337 1.1 jruoho // The next element of DEST should be unchanged 7338 1.1 jruoho // 7339 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0) 7340 1.1 jruoho 7341 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't' 7342 1.1 jruoho { 7343 1.1 jruoho // DEST has been changed 7344 1.1 jruoho Return(Or(Local0, 0x2000)) 7345 1.1 jruoho } 7346 1.1 jruoho 7347 1.1 jruoho // 7348 1.1 jruoho // The next element of DEST should be unchanged 7349 1.1 jruoho // 7350 1.1 jruoho Store (DerefOf (Index (DEST, 4)), Local0) 7351 1.1 jruoho 7352 1.1 jruoho If (LNotEqual (Local0, 0x69)) // 'i' 7353 1.1 jruoho { 7354 1.1 jruoho // DEST has been changed 7355 1.1 jruoho Return(Or(Local0, 0x2100)) 7356 1.1 jruoho } 7357 1.1 jruoho 7358 1.1 jruoho // 7359 1.1 jruoho // The next element of DEST should be unchanged 7360 1.1 jruoho // 7361 1.1 jruoho Store (DerefOf (Index (DEST, 5)), Local0) 7362 1.1 jruoho 7363 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n' 7364 1.1 jruoho { 7365 1.1 jruoho // DEST has been changed 7366 1.1 jruoho Return(Or(Local0, 0x2200)) 7367 1.1 jruoho } 7368 1.1 jruoho 7369 1.1 jruoho // 7370 1.1 jruoho // The next element of DEST should be unchanged 7371 1.1 jruoho // 7372 1.1 jruoho Store (DerefOf (Index (DEST, 6)), Local0) 7373 1.1 jruoho 7374 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a' 7375 1.1 jruoho { 7376 1.1 jruoho // DEST has been changed 7377 1.1 jruoho Return(Or(Local0, 0x2300)) 7378 1.1 jruoho } 7379 1.1 jruoho 7380 1.1 jruoho // 7381 1.1 jruoho // The next element of DEST should be unchanged 7382 1.1 jruoho // 7383 1.1 jruoho Store (DerefOf (Index (DEST, 7)), Local0) 7384 1.1 jruoho 7385 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't' 7386 1.1 jruoho { 7387 1.1 jruoho // DEST has been changed 7388 1.1 jruoho Return(Or(Local0, 0x2400)) 7389 1.1 jruoho } 7390 1.1 jruoho 7391 1.1 jruoho // 7392 1.1 jruoho // Verify DEST elements beyond end of SRCB buffer copy 7393 1.1 jruoho // have not been changed 7394 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0) 7395 1.1 jruoho 7396 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7397 1.1 jruoho { 7398 1.1 jruoho // DEST has been changed 7399 1.1 jruoho Return(Or(Local0, 0x2400)) 7400 1.1 jruoho } 7401 1.1 jruoho 7402 1.1 jruoho Return(0) 7403 1.1 jruoho } 7404 1.1 jruoho 7405 1.1 jruoho // 7406 1.1 jruoho // This test shows that MS ACPI.SYS stores only the lower 8-bits of a 32-bit 7407 1.1 jruoho // number into the index'ed buffer 7408 1.1 jruoho // 7409 1.1.1.3 christos Method (TSTH,, Serialized) 7410 1.1 jruoho { 7411 1.1 jruoho // Create a Destination Buffer 7412 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"}) 7413 1.1 jruoho 7414 1.1 jruoho // Store a number > UINT8 into an index of the buffer 7415 1.1 jruoho Store (0x12345678, Index(DBUF, 2)) 7416 1.1 jruoho 7417 1.1 jruoho // Check the results 7418 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0) 7419 1.1 jruoho If (LNotEqual (Local0, 0x78)) // 0x78 7420 1.1 jruoho { 7421 1.1 jruoho Return(Or(Local0, 0x3000)) 7422 1.1 jruoho } 7423 1.1 jruoho 7424 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0) 7425 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd' 7426 1.1 jruoho { 7427 1.1 jruoho Return(Or(Local0, 0x3100)) 7428 1.1 jruoho } 7429 1.1 jruoho 7430 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0) 7431 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e' 7432 1.1 jruoho { 7433 1.1 jruoho Return(Or(Local0, 0x3200)) 7434 1.1 jruoho } 7435 1.1 jruoho 7436 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0) 7437 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7438 1.1 jruoho { 7439 1.1 jruoho Return(Or(Local0, 0x3300)) 7440 1.1 jruoho } 7441 1.1 jruoho 7442 1.1 jruoho Return(0) 7443 1.1 jruoho } 7444 1.1 jruoho 7445 1.1.1.3 christos Method (TSTI,, Serialized) 7446 1.1 jruoho { 7447 1.1 jruoho // Create a Destination Buffer 7448 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"}) 7449 1.1 jruoho 7450 1.1 jruoho // Store a String into an index of the buffer 7451 1.1 jruoho Store ("ABCDEFGH", Index(DBUF, 2)) 7452 1.1 jruoho 7453 1.1 jruoho // Check the results 7454 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0) 7455 1.1 jruoho If (LNotEqual (Local0, 0x48)) // 'H' 7456 1.1 jruoho { 7457 1.1 jruoho Return(Or(Local0, 0x4000)) 7458 1.1 jruoho } 7459 1.1 jruoho 7460 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0) 7461 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd' 7462 1.1 jruoho { 7463 1.1 jruoho Return(Or(Local0, 0x4100)) 7464 1.1 jruoho } 7465 1.1 jruoho 7466 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0) 7467 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e' 7468 1.1 jruoho { 7469 1.1 jruoho Return(Or(Local0, 0x4200)) 7470 1.1 jruoho } 7471 1.1 jruoho 7472 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0) 7473 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7474 1.1 jruoho { 7475 1.1 jruoho Return(Or(Local0, 0x4300)) 7476 1.1 jruoho } 7477 1.1 jruoho 7478 1.1 jruoho Return(0) 7479 1.1 jruoho } 7480 1.1 jruoho 7481 1.1.1.3 christos Method(TSTJ,, Serialized) 7482 1.1 jruoho { 7483 1.1 jruoho // Create a Destination Buffer 7484 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"}) 7485 1.1 jruoho 7486 1.1 jruoho // Store a number > UINT8 into an index of the buffer 7487 1.1 jruoho Store (0x1234, Index(DBUF, 2)) 7488 1.1 jruoho 7489 1.1 jruoho // Check the results 7490 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0) 7491 1.1 jruoho If (LNotEqual (Local0, 0x34)) // 0x34 7492 1.1 jruoho { 7493 1.1 jruoho Return(Or(Local0, 0x3000)) 7494 1.1 jruoho } 7495 1.1 jruoho 7496 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0) 7497 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd' 7498 1.1 jruoho { 7499 1.1 jruoho Return(Or(Local0, 0x3100)) 7500 1.1 jruoho } 7501 1.1 jruoho 7502 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0) 7503 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e' 7504 1.1 jruoho { 7505 1.1 jruoho Return(Or(Local0, 0x3200)) 7506 1.1 jruoho } 7507 1.1 jruoho 7508 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0) 7509 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7510 1.1 jruoho { 7511 1.1 jruoho Return(Or(Local0, 0x3300)) 7512 1.1 jruoho } 7513 1.1 jruoho 7514 1.1 jruoho Return(0) 7515 1.1 jruoho } 7516 1.1 jruoho 7517 1.1.1.3 christos Method(TSTK,, Serialized) 7518 1.1 jruoho { 7519 1.1 jruoho // Create a Destination Buffer 7520 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"}) 7521 1.1 jruoho 7522 1.1 jruoho // Store a number > UINT8 into an index of the buffer 7523 1.1 jruoho Store (0x123456, Index(DBUF, 2)) 7524 1.1 jruoho 7525 1.1 jruoho // Check the results 7526 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0) 7527 1.1 jruoho If (LNotEqual (Local0, 0x56)) // 0x56 7528 1.1 jruoho { 7529 1.1 jruoho Return(Or(Local0, 0x3000)) 7530 1.1 jruoho } 7531 1.1 jruoho 7532 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0) 7533 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd' 7534 1.1 jruoho { 7535 1.1 jruoho Return(Or(Local0, 0x3100)) 7536 1.1 jruoho } 7537 1.1 jruoho 7538 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0) 7539 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e' 7540 1.1 jruoho { 7541 1.1 jruoho Return(Or(Local0, 0x3200)) 7542 1.1 jruoho } 7543 1.1 jruoho 7544 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0) 7545 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7546 1.1 jruoho { 7547 1.1 jruoho Return(Or(Local0, 0x3300)) 7548 1.1 jruoho } 7549 1.1 jruoho 7550 1.1 jruoho Return(0) 7551 1.1 jruoho } 7552 1.1 jruoho 7553 1.1.1.3 christos Method(TSTL,, Serialized) 7554 1.1 jruoho { 7555 1.1 jruoho // Create a Destination Buffer 7556 1.1 jruoho Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"}) 7557 1.1 jruoho 7558 1.1 jruoho // Store a number > UINT8 into an index of the buffer 7559 1.1 jruoho Store (0x12, Index(DBUF, 2)) 7560 1.1 jruoho 7561 1.1 jruoho // Check the results 7562 1.1 jruoho Store (DerefOf (Index (DBUF, 2)), Local0) 7563 1.1 jruoho If (LNotEqual (Local0, 0x12)) // 0x12 7564 1.1 jruoho { 7565 1.1 jruoho Return(Or(Local0, 0x3000)) 7566 1.1 jruoho } 7567 1.1 jruoho 7568 1.1 jruoho Store (DerefOf (Index (DBUF, 3)), Local0) 7569 1.1 jruoho If (LNotEqual (Local0, 0x64)) // 'd' 7570 1.1 jruoho { 7571 1.1 jruoho Return(Or(Local0, 0x3100)) 7572 1.1 jruoho } 7573 1.1 jruoho 7574 1.1 jruoho Store (DerefOf (Index (DBUF, 4)), Local0) 7575 1.1 jruoho If (LNotEqual (Local0, 0x65)) // 'e' 7576 1.1 jruoho { 7577 1.1 jruoho Return(Or(Local0, 0x3200)) 7578 1.1 jruoho } 7579 1.1 jruoho 7580 1.1 jruoho Store (DerefOf (Index (DBUF, 5)), Local0) 7581 1.1 jruoho If (LNotEqual (Local0, 0x66)) // 'f' 7582 1.1 jruoho { 7583 1.1 jruoho Return(Or(Local0, 0x3300)) 7584 1.1 jruoho } 7585 1.1 jruoho 7586 1.1 jruoho Return(0) 7587 1.1 jruoho } 7588 1.1 jruoho 7589 1.1 jruoho Method(TEST) 7590 1.1 jruoho { 7591 1.1 jruoho Store ("++++++++ IndexOp7 Test", Debug) 7592 1.1 jruoho 7593 1.1 jruoho Store(TST1(), Local0) 7594 1.1 jruoho if (LGreater (Local0, 0)) 7595 1.1 jruoho { 7596 1.1 jruoho Return(Local0) 7597 1.1 jruoho } 7598 1.1 jruoho 7599 1.1 jruoho Store(TST2(), Local0) 7600 1.1 jruoho if (LGreater (Local0, 0)) 7601 1.1 jruoho { 7602 1.1 jruoho Return(Local0) 7603 1.1 jruoho } 7604 1.1 jruoho 7605 1.1 jruoho Store(TST3(), Local0) 7606 1.1 jruoho if (LGreater (Local0, 0)) 7607 1.1 jruoho { 7608 1.1 jruoho Return(Local0) 7609 1.1 jruoho } 7610 1.1 jruoho 7611 1.1 jruoho Store(TST4(), Local0) 7612 1.1 jruoho if (LGreater (Local0, 0)) 7613 1.1 jruoho { 7614 1.1 jruoho Return(Local0) 7615 1.1 jruoho } 7616 1.1 jruoho 7617 1.1 jruoho Store(TST5(), Local0) 7618 1.1 jruoho if (LGreater (Local0, 0)) 7619 1.1 jruoho { 7620 1.1 jruoho Return(Local0) 7621 1.1 jruoho } 7622 1.1 jruoho 7623 1.1 jruoho Store(TST6(), Local0) 7624 1.1 jruoho if (LGreater (Local0, 0)) 7625 1.1 jruoho { 7626 1.1 jruoho Return(Local0) 7627 1.1 jruoho } 7628 1.1 jruoho 7629 1.1 jruoho Store(TST7(), Local0) 7630 1.1 jruoho if (LGreater (Local0, 0)) 7631 1.1 jruoho { 7632 1.1 jruoho Return(Local0) 7633 1.1 jruoho } 7634 1.1 jruoho 7635 1.1 jruoho Store(TST8(), Local0) 7636 1.1 jruoho if (LGreater (Local0, 0)) 7637 1.1 jruoho { 7638 1.1 jruoho Return(Local0) 7639 1.1 jruoho } 7640 1.1 jruoho 7641 1.1 jruoho Store(TST9(), Local0) 7642 1.1 jruoho if (LGreater (Local0, 0)) 7643 1.1 jruoho { 7644 1.1 jruoho Return(Local0) 7645 1.1 jruoho } 7646 1.1 jruoho 7647 1.1 jruoho Store(TSTA(), Local0) 7648 1.1 jruoho if (LGreater (Local0, 0)) 7649 1.1 jruoho { 7650 1.1 jruoho Return(Local0) 7651 1.1 jruoho } 7652 1.1 jruoho 7653 1.1 jruoho Store(TSTB(), Local0) 7654 1.1 jruoho if (LGreater (Local0, 0)) 7655 1.1 jruoho { 7656 1.1 jruoho Return(Local0) 7657 1.1 jruoho } 7658 1.1 jruoho 7659 1.1 jruoho Store(TSTC(), Local0) 7660 1.1 jruoho if (LGreater (Local0, 0)) 7661 1.1 jruoho { 7662 1.1 jruoho Return(Local0) 7663 1.1 jruoho } 7664 1.1 jruoho 7665 1.1 jruoho Store(TSTD(), Local0) 7666 1.1 jruoho if (LGreater (Local0, 0)) 7667 1.1 jruoho { 7668 1.1 jruoho Return(Local0) 7669 1.1 jruoho } 7670 1.1 jruoho 7671 1.1 jruoho Store(TSTE(), Local0) 7672 1.1 jruoho if (LGreater (Local0, 0)) 7673 1.1 jruoho { 7674 1.1 jruoho Return(Local0) 7675 1.1 jruoho } 7676 1.1 jruoho 7677 1.1 jruoho /* No longer ACPI compliant */ 7678 1.1 jruoho /* 7679 1.1 jruoho Store(TSTF(), Local0) 7680 1.1 jruoho if (LGreater (Local0, 0)) 7681 1.1 jruoho { 7682 1.1 jruoho Return(Local0) 7683 1.1 jruoho } 7684 1.1 jruoho */ 7685 1.1 jruoho 7686 1.1 jruoho Store(TSTG(), Local0) 7687 1.1 jruoho if (LGreater (Local0, 0)) 7688 1.1 jruoho { 7689 1.1 jruoho Return(Local0) 7690 1.1 jruoho } 7691 1.1 jruoho 7692 1.1 jruoho Store(TSTH(), Local0) 7693 1.1 jruoho if (LGreater (Local0, 0)) 7694 1.1 jruoho { 7695 1.1 jruoho Return(Local0) 7696 1.1 jruoho } 7697 1.1 jruoho 7698 1.1 jruoho /* No longer ACPI compliant */ 7699 1.1 jruoho /* 7700 1.1 jruoho Store(TSTI(), Local0) 7701 1.1 jruoho if (LGreater (Local0, 0)) 7702 1.1 jruoho { 7703 1.1 jruoho Return(Local0) 7704 1.1 jruoho } 7705 1.1 jruoho */ 7706 1.1 jruoho Store(TSTJ(), Local0) 7707 1.1 jruoho if (LGreater (Local0, 0)) 7708 1.1 jruoho { 7709 1.1 jruoho Return(Local0) 7710 1.1 jruoho } 7711 1.1 jruoho 7712 1.1 jruoho Store(TSTK(), Local0) 7713 1.1 jruoho if (LGreater (Local0, 0)) 7714 1.1 jruoho { 7715 1.1 jruoho Return(Local0) 7716 1.1 jruoho } 7717 1.1 jruoho 7718 1.1 jruoho Store(TSTL(), Local0) 7719 1.1 jruoho if (LGreater (Local0, 0)) 7720 1.1 jruoho { 7721 1.1 jruoho Return(Local0) 7722 1.1 jruoho } 7723 1.1 jruoho 7724 1.1 jruoho Return(Local0) 7725 1.1 jruoho 7726 1.1 jruoho } 7727 1.1 jruoho 7728 1.1 jruoho } // Device(IDX7) 7729 1.1 jruoho 7730 1.1 jruoho // 7731 1.1 jruoho // test MatchOp.asl 7732 1.1 jruoho // 7733 1.1 jruoho // MatchOp test cases that utilize nested DerefOf(Index(...)) to validate 7734 1.1 jruoho // MatchOp, DerefOfOp, and IndexOp of nested packages. 7735 1.1 jruoho // 7736 1.1 jruoho Device (MTCH) 7737 1.1 jruoho { 7738 1.1 jruoho 7739 1.1.1.3 christos Method (TEST,, Serialized) 7740 1.1 jruoho { 7741 1.1 jruoho Store ("++++++++ MatchOp Test", Debug) 7742 1.1 jruoho 7743 1.1 jruoho Name (TIM0, Package () 7744 1.1 jruoho { 7745 1.1 jruoho Package () {0x78, 0xB4, 0xF0, 0x0384}, 7746 1.1 jruoho Package () {0x23, 0x21, 0x10, 0}, 7747 1.1 jruoho Package () {0x0B, 9, 4, 0}, 7748 1.1 jruoho Package () {0x70, 0x49, 0x36, 0x27, 0x19}, 7749 1.1 jruoho Package () {0, 1, 2, 1, 2}, 7750 1.1 jruoho Package () {0, 0, 0, 1, 1}, 7751 1.1 jruoho Package () {4, 3, 2, 0}, 7752 1.1 jruoho Package () {2, 1, 0, 0} 7753 1.1 jruoho }) // TIM0 7754 1.1 jruoho 7755 1.1 jruoho Name (TMD0, Buffer (20) {0xFF, 0xFF, 0xFF, 0xFF }) 7756 1.1 jruoho CreateDWordField (TMD0, 0, PIO0) // 0xFFFFFFFF 7757 1.1 jruoho CreateDWordField (TMD0, 4, DMA0) 7758 1.1 jruoho CreateDWordField (TMD0, 8, PIO1) 7759 1.1 jruoho CreateDWordField (TMD0, 12, DMA1) 7760 1.1 jruoho CreateDWordField (TMD0, 16, CHNF) 7761 1.1 jruoho 7762 1.1 jruoho 7763 1.1 jruoho // validate PIO0 value 7764 1.1 jruoho Store (PIO0, Local3) 7765 1.1 jruoho 7766 1.1 jruoho // save Local3 object type value into Local2 7767 1.1 jruoho Store (ObjectType (Local3), Local2) 7768 1.1 jruoho 7769 1.1 jruoho // validate Local3 is a Number 7770 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 7771 1.1 jruoho { Return (2) } // failure 7772 1.1 jruoho 7773 1.1 jruoho // validate Local3 Number value 7774 1.1 jruoho If (LNotEqual (Local3, 0xFFFFFFFF)) // Number value 0xFFFFFFFF 7775 1.1 jruoho { Return (3) } // failure 7776 1.1 jruoho 7777 1.1 jruoho Store ("DWordField PASS", Debug) 7778 1.1 jruoho 7779 1.1 jruoho 7780 1.1 jruoho Store (0, Local5) 7781 1.1 jruoho Store (Match (DerefOf (Index (TIM0, 1, )), MLE, Local5, MTR, 0, 0), Local6) 7782 1.1 jruoho 7783 1.1 jruoho // save Local6 object type value into Local2 7784 1.1 jruoho Store (ObjectType (Local6), Local2) 7785 1.1 jruoho 7786 1.1 jruoho // validate Local6 is a Number 7787 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 7788 1.1 jruoho { Return (4) } // failure 7789 1.1 jruoho 7790 1.1 jruoho Store ("Match(DerefOf(Index(TIM0,1)),... PASS", Debug) 7791 1.1 jruoho 7792 1.1 jruoho 7793 1.1 jruoho // validate following produces a nested package to validate 7794 1.1 jruoho // that MatchOp did not corrupt SearchPackage (TIM0) 7795 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4) 7796 1.1 jruoho 7797 1.1 jruoho // save Local4 object type value into Local2 7798 1.1 jruoho Store (ObjectType (Local4), Local2) 7799 1.1 jruoho 7800 1.1 jruoho // validate Local4 is a Package 7801 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4 7802 1.1 jruoho { Return (5) } // failure 7803 1.1 jruoho 7804 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS", Debug) 7805 1.1 jruoho 7806 1.1 jruoho 7807 1.1 jruoho And (Match (DerefOf (Index (TIM0, 0, )), MGE, PIO0, MTR, 0, 0), 3, Local0) 7808 1.1 jruoho 7809 1.1 jruoho // save Local0 object type value into Local2 7810 1.1 jruoho Store (ObjectType (Local0), Local2) 7811 1.1 jruoho 7812 1.1 jruoho // validate Local0 is a Number 7813 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 7814 1.1 jruoho { Return (6) } // failure 7815 1.1 jruoho 7816 1.1 jruoho // validate Local0 Number value 7817 1.1 jruoho If (LNotEqual (Local0, 3)) // Number value 3 7818 1.1 jruoho { Return (7) } // failure 7819 1.1 jruoho 7820 1.1 jruoho Store ("And(Match(DerefOf(Index(TIM0,0)),... PASS", Debug) 7821 1.1 jruoho 7822 1.1 jruoho 7823 1.1 jruoho // again, validate following produces a nested package 7824 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4) 7825 1.1 jruoho 7826 1.1 jruoho // save Local4 object type value into Local2 7827 1.1 jruoho Store (ObjectType (Local4), Local2) 7828 1.1 jruoho 7829 1.1 jruoho // validate Local4 is a Package 7830 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4 7831 1.1 jruoho { Return (8) } // failure 7832 1.1 jruoho 7833 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug) 7834 1.1 jruoho 7835 1.1 jruoho 7836 1.1 jruoho // again, validate following produces a nested package 7837 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4) 7838 1.1 jruoho 7839 1.1 jruoho // save Local4 object type value into Local2 7840 1.1 jruoho Store (ObjectType (Local4), Local2) 7841 1.1 jruoho 7842 1.1 jruoho // validate Local4 is a Package 7843 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4 7844 1.1 jruoho { Return (9) } // failure 7845 1.1 jruoho 7846 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug) 7847 1.1 jruoho 7848 1.1 jruoho 7849 1.1 jruoho // test nested DerefOf(Index) operators 7850 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1) 7851 1.1 jruoho 7852 1.1 jruoho // save Local1 object type value into Local2 7853 1.1 jruoho Store (ObjectType (Local1), Local2) 7854 1.1 jruoho 7855 1.1 jruoho // validate Local1 is a Number 7856 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 7857 1.1 jruoho { Return (10) } // failure 7858 1.1 jruoho 7859 1.1 jruoho // zero indicates pass, non-zero is an error code 7860 1.1 jruoho If (LNotEqual (Local1, 0)) 7861 1.1 jruoho { Return (11) } // failure 7862 1.1 jruoho 7863 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS", Debug) 7864 1.1 jruoho 7865 1.1 jruoho 7866 1.1 jruoho // again, validate following produces a nested package 7867 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4) 7868 1.1 jruoho 7869 1.1 jruoho // save Local4 object type value into Local2 7870 1.1 jruoho Store (ObjectType (Local4), Local2) 7871 1.1 jruoho 7872 1.1 jruoho // validate Local4 is a Package 7873 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4 7874 1.1 jruoho { Return (12) } // failure 7875 1.1 jruoho 7876 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug) 7877 1.1 jruoho 7878 1.1 jruoho 7879 1.1 jruoho // retest nested DerefOf(Index) operators 7880 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (TIM0, 1, )), Local0, )), Local1) 7881 1.1 jruoho 7882 1.1 jruoho // save Local1 object type value into Local2 7883 1.1 jruoho Store (ObjectType (Local1), Local2) 7884 1.1 jruoho 7885 1.1 jruoho // validate Local1 is a Number 7886 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 7887 1.1 jruoho { Return (13) } // failure 7888 1.1 jruoho 7889 1.1 jruoho // zero indicates pass, non-zero is an error code 7890 1.1 jruoho If (LNotEqual (Local1, 0)) 7891 1.1 jruoho { Return (14) } // failure 7892 1.1 jruoho 7893 1.1 jruoho Store ("DerefOf(Index(DerefOf(Index(TIM0,1)),... PASS again", Debug) 7894 1.1 jruoho 7895 1.1 jruoho 7896 1.1 jruoho // again, validate following produces a nested package 7897 1.1 jruoho Store (DerefOf (Index (TIM0, 1, )), Local4) 7898 1.1 jruoho 7899 1.1 jruoho // save Local4 object type value into Local2 7900 1.1 jruoho Store (ObjectType (Local4), Local2) 7901 1.1 jruoho 7902 1.1 jruoho // validate Local4 is a Package 7903 1.1 jruoho If (LNotEqual (Local2, 4)) // Package type is 4 7904 1.1 jruoho { Return (15) } // failure 7905 1.1 jruoho 7906 1.1 jruoho Store ("DerefOf(Index(TIM0,1)),... PASS again", Debug) 7907 1.1 jruoho 7908 1.1 jruoho 7909 1.1 jruoho Return (0) // pass 7910 1.1 jruoho } // TEST 7911 1.1 jruoho } // MTCH 7912 1.1 jruoho 7913 1.1 jruoho // 7914 1.1 jruoho // test WhileBrk.asl 7915 1.1 jruoho // 7916 1.1 jruoho // This code tests the Break term and While term 7917 1.1 jruoho // 7918 1.1 jruoho // Syntax of Break term 7919 1.1 jruoho // BreakTerm := Break 7920 1.1 jruoho // The break operation causes the current package execution to complete. 7921 1.1 jruoho // 7922 1.1 jruoho // Syntax of While Term 7923 1.1 jruoho // WhileTerm := While( 7924 1.1 jruoho // Predicate //TermArg=>Integer 7925 1.1 jruoho // ) {TermList} 7926 1.1 jruoho // Predicate is evaluated as an integer. 7927 1.1 jruoho // If the integer is non-zero, the list of terms in TermList is executed. 7928 1.1 jruoho // The operation repeats until the Predicate evaluates to zero. 7929 1.1 jruoho // 7930 1.1 jruoho // MTL NOTE: This test has been modified to reflect ACPI 2.0 break 7931 1.1 jruoho // NOTE: This test, when run under the MS ACPI.SYS grinds the system to 7932 1.1 jruoho // a halt. 7933 1.1 jruoho // 7934 1.1 jruoho Device (WHLB) 7935 1.1 jruoho { 7936 1.1 jruoho Name (CNT0, 0) 7937 1.1 jruoho Name (CNT1, 0) 7938 1.1 jruoho 7939 1.1 jruoho Method (TEST) 7940 1.1 jruoho { 7941 1.1 jruoho // Check Break statement nested in If nested in While nested in 7942 1.1 jruoho // While only exits inner-most While loop 7943 1.1 jruoho Store (0, CNT0) 7944 1.1 jruoho 7945 1.1 jruoho While (LLess (CNT0, 4)) 7946 1.1 jruoho { 7947 1.1 jruoho Store (0, CNT1) 7948 1.1 jruoho While (LLess (CNT1, 10)) 7949 1.1 jruoho { 7950 1.1 jruoho if (LEqual (CNT1, 1)) 7951 1.1 jruoho { 7952 1.1 jruoho Break // exit encompassing loop 7953 1.1 jruoho } 7954 1.1 jruoho 7955 1.1 jruoho Increment (CNT1) 7956 1.1 jruoho } 7957 1.1 jruoho 7958 1.1 jruoho If (LNotEqual (CNT1, 1)) 7959 1.1 jruoho { 7960 1.1 jruoho // failure 7961 1.1 jruoho Return (7) 7962 1.1 jruoho } 7963 1.1 jruoho 7964 1.1 jruoho Increment (CNT0) 7965 1.1 jruoho } 7966 1.1 jruoho 7967 1.1 jruoho // Verify Break only exited inner-most While loop 7968 1.1 jruoho 7969 1.1 jruoho If (LNotEqual (CNT0, 4)) 7970 1.1 jruoho { 7971 1.1 jruoho // failure 7972 1.1 jruoho Return (8) 7973 1.1 jruoho } 7974 1.1 jruoho 7975 1.1 jruoho Store ("While/While/If/Break PASS", Debug) 7976 1.1 jruoho 7977 1.1 jruoho Store ("++++++++ WhileBrk Test", Debug) 7978 1.1 jruoho 7979 1.1 jruoho // Check Break statement nested in While 7980 1.1 jruoho Store (0, CNT0) 7981 1.1 jruoho 7982 1.1 jruoho While (LLess (CNT0, 10)) 7983 1.1 jruoho { 7984 1.1 jruoho Break // exit encompassing package 7985 1.1 jruoho Increment (CNT0) 7986 1.1 jruoho } 7987 1.1 jruoho 7988 1.1 jruoho If (LNotEqual (CNT0, 0)) // instruction after Break executed 7989 1.1 jruoho { 7990 1.1 jruoho Return (4) 7991 1.1 jruoho } 7992 1.1 jruoho 7993 1.1 jruoho 7994 1.1 jruoho Store (0, CNT0) 7995 1.1 jruoho 7996 1.1 jruoho // Test While Term 7997 1.1 jruoho While (LLess (CNT0, 10)) 7998 1.1 jruoho { 7999 1.1 jruoho Increment (CNT0) 8000 1.1 jruoho } 8001 1.1 jruoho 8002 1.1 jruoho // Check if the while loop was executed until the condition is satisfied. 8003 1.1 jruoho If (LNotEqual (CNT0, 10)) 8004 1.1 jruoho { 8005 1.1 jruoho Return (1) 8006 1.1 jruoho } 8007 1.1 jruoho 8008 1.1 jruoho 8009 1.1 jruoho // While loop in a reverse order 8010 1.1 jruoho While (LGreater (CNT0, 0)) 8011 1.1 jruoho { 8012 1.1 jruoho Decrement (CNT0) 8013 1.1 jruoho } 8014 1.1 jruoho 8015 1.1 jruoho // Check if the while loop was executed until the condition is satisfied. 8016 1.1 jruoho If (LNotEqual (CNT0, 0)) 8017 1.1 jruoho { 8018 1.1 jruoho Return (2) 8019 1.1 jruoho } 8020 1.1 jruoho 8021 1.1 jruoho 8022 1.1 jruoho Store ("While/Break PASS", Debug) 8023 1.1 jruoho 8024 1.1 jruoho 8025 1.1 jruoho // Check Break statement nested in If nested in While 8026 1.1 jruoho Store (0, CNT0) 8027 1.1 jruoho 8028 1.1 jruoho While (LLess (CNT0, 10)) 8029 1.1 jruoho { 8030 1.1 jruoho if (LEqual (CNT0, 5)) 8031 1.1 jruoho { 8032 1.1 jruoho Break // exit encompassing Package (If) 8033 1.1 jruoho 8034 1.1 jruoho // if we execute the next instruction, 8035 1.1 jruoho // Break did not exit the loop 8036 1.1 jruoho Store (20, CNT0) // exit While loop with value larger 8037 1.1 jruoho // than above 8038 1.1 jruoho } 8039 1.1 jruoho 8040 1.1 jruoho Increment (CNT0) // check if Break exited both If and While 8041 1.1 jruoho } // While 8042 1.1 jruoho 8043 1.1 jruoho If (LGreater (CNT0, 19)) 8044 1.1 jruoho { // instruction after Break inside IfOp executed 8045 1.1 jruoho Return (5) 8046 1.1 jruoho } 8047 1.1 jruoho 8048 1.1 jruoho // 8049 1.1 jruoho // Break will exit out of the while loop, therefore 8050 1.1 jruoho // the CNT0 counter should still Increment until 5 8051 1.1 jruoho // 8052 1.1 jruoho If (LNotEqual (CNT0, 5)) 8053 1.1 jruoho { // instruction after Break inside WhileOp executed 8054 1.1 jruoho Return (6) 8055 1.1 jruoho } 8056 1.1 jruoho Store ("While/If/Break PASS", Debug) 8057 1.1 jruoho 8058 1.1 jruoho 8059 1.1 jruoho // All the conditions passed 8060 1.1 jruoho Return (0) 8061 1.1 jruoho } // TEST 8062 1.1 jruoho } // WHLB 8063 1.1 jruoho 8064 1.1 jruoho 8065 1.1 jruoho // 8066 1.1 jruoho // test IndexOp2.asl 8067 1.1 jruoho // 8068 1.1 jruoho // Additional IndexOp test cases to support ACPICMB (control method battery 8069 1.1 jruoho // test) on Toshiba Portege 7020CT. Test cases include appropriate bit 8070 1.1 jruoho // shifting of Field elements and reading Field elements greater than 64 bits. 8071 1.1 jruoho // 8072 1.1 jruoho // MTL NOTE: This test has been modified slightly from the original test 8073 1.1 jruoho // to take into account ACPI specification limitations. 8074 1.1 jruoho // 8075 1.1 jruoho Scope (\_SB) // System Bus 8076 1.1 jruoho { // _SB system bus 8077 1.1 jruoho 8078 1.1 jruoho Device (MEM) 8079 1.1 jruoho { // MEM 8080 1.1 jruoho Name (_HID, 0x010CD041) 8081 1.1 jruoho Name (_STA, 0x0F) 8082 1.1 jruoho 8083 1.1 jruoho OperationRegion (SMEM, SystemMemory, 0x800000, 0x100) 8084 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve) 8085 1.1 jruoho { // Field: SMEM overlay using 32-bit field elements 8086 1.1 jruoho SMD0, 32, // 32-bits 8087 1.1 jruoho SMD1, 32, // 32-bits 8088 1.1 jruoho SMD2, 32, // 32-bits 8089 1.1 jruoho SMD3, 32 // 32-bits 8090 1.1 jruoho } // Field: SMEM overlay using 32-bit field elements 8091 1.1 jruoho Field (SMEM, AnyAcc, NoLock, Preserve) 8092 1.1 jruoho { // Field: SMEM overlay using greater than 32-bit field elements 8093 1.1 jruoho SME0, 69, // larger than an integer (32 or 64) 8094 1.1 jruoho SME1, 97 // larger than an integer 8095 1.1 jruoho } // Field: SMEM overlay using greater than 32-bit field elements 8096 1.1 jruoho 8097 1.1 jruoho OperationRegion (SRAM, SystemMemory, 0x100B0000, 0xF000) 8098 1.1 jruoho Field (SRAM, AnyAcc, NoLock, Preserve) 8099 1.1 jruoho { // Field: SRAM overlay 8100 1.1 jruoho , 0x34000, // skip 8101 1.1 jruoho IEAX, 0x20, 8102 1.1 jruoho IEBX, 0x20, 8103 1.1 jruoho IECX, 0x20, 8104 1.1 jruoho IEDX, 0x20, 8105 1.1 jruoho IESI, 0x20, 8106 1.1 jruoho IEDI, 0x20, 8107 1.1 jruoho IEBP, 0x20, 8108 1.1 jruoho , 0x20, 8109 1.1 jruoho OEAX, 0x20, 8110 1.1 jruoho OEBX, 0x20, 8111 1.1 jruoho OECX, 0x20, 8112 1.1 jruoho OEDX, 0x20, 8113 1.1 jruoho OESI, 0x20, 8114 1.1 jruoho OEDI, 0x20, 8115 1.1 jruoho OEBP, 0x20, 8116 1.1 jruoho , 0x618, // skip 8117 1.1 jruoho ACST, 1, 8118 1.1 jruoho BES1, 1, 8119 1.1 jruoho BES2, 1, 8120 1.1 jruoho , 5, // skip 8121 1.1 jruoho BMN1, 0x68, 8122 1.1 jruoho BSN1, 0x58, 8123 1.1 jruoho BTP1, 0x48, 8124 1.1 jruoho BPU1, 0x20, 8125 1.1 jruoho BDC1, 0x20, 8126 1.1 jruoho BLF1, 0x20, 8127 1.1 jruoho BTC1, 0x20, 8128 1.1 jruoho BDV1, 0x20, 8129 1.1 jruoho BST1, 0x20, 8130 1.1 jruoho BPR1, 0x20, 8131 1.1 jruoho BRC1, 0x20, 8132 1.1 jruoho BPV1, 0x20, 8133 1.1 jruoho , 0x20, 8134 1.1 jruoho BCW1, 0x20, 8135 1.1 jruoho BCL1, 0x20, 8136 1.1 jruoho BG11, 0x20, 8137 1.1 jruoho BG21, 0x20, 8138 1.1 jruoho BOI1, 0x20, 8139 1.1 jruoho , 0x530, // skip 8140 1.1 jruoho BMN2, 0x68, 8141 1.1 jruoho BSN2, 0x58, 8142 1.1 jruoho BTP2, 0x48, 8143 1.1 jruoho BPU2, 0x20, 8144 1.1 jruoho BDC2, 0x20, 8145 1.1 jruoho BLF2, 0x20, 8146 1.1 jruoho BTC2, 0x20, 8147 1.1 jruoho BDV2, 0x20, 8148 1.1 jruoho BST2, 0x20, 8149 1.1 jruoho BPR2, 0x20, 8150 1.1 jruoho BRC2, 0x20, 8151 1.1 jruoho BPV2, 0x20, 8152 1.1 jruoho , 0x20, 8153 1.1 jruoho BCW2, 0x20, 8154 1.1 jruoho BCL2, 0x20, 8155 1.1 jruoho BG12, 0x20, 8156 1.1 jruoho BG22, 0x20, 8157 1.1 jruoho BOI2, 0x20, 8158 1.1 jruoho , 0x518, // skip 8159 1.1 jruoho AC01, 0x10, 8160 1.1 jruoho AC11, 0x10, 8161 1.1 jruoho PSV1, 0x10, 8162 1.1 jruoho CRT1, 0x10, 8163 1.1 jruoho TMP1, 0x10, 8164 1.1 jruoho AST1, 0x10, 8165 1.1 jruoho AC21, 0x10, 8166 1.1 jruoho AC31, 0x10, 8167 1.1 jruoho AC02, 0x10, 8168 1.1 jruoho AC12, 0x10, 8169 1.1 jruoho PSV2, 0x10, 8170 1.1 jruoho CRT2, 0x10, 8171 1.1 jruoho TMP2, 0x10, 8172 1.1 jruoho AST2, 0x10, 8173 1.1 jruoho AC22, 0x10, 8174 1.1 jruoho AC32, 0x10, 8175 1.1 jruoho AC03, 0x10, 8176 1.1 jruoho AC13, 0x10, 8177 1.1 jruoho PSV3, 0x10, 8178 1.1 jruoho CRT3, 0x10, 8179 1.1 jruoho TMP3, 0x10, 8180 1.1 jruoho AST3, 0x10, 8181 1.1 jruoho AC23, 0x10, 8182 1.1 jruoho AC33, 0x10, 8183 1.1 jruoho , 0x80, // skip 8184 1.1 jruoho TMPF, 0x10, 8185 1.1 jruoho , 0x570, // skip 8186 1.1 jruoho FANH, 1, 8187 1.1 jruoho FANL, 7, 8188 1.1 jruoho TF11, 1, 8189 1.1 jruoho TF21, 1, 8190 1.1 jruoho TF31, 1, 8191 1.1 jruoho , 1, 8192 1.1 jruoho TF10, 1, 8193 1.1 jruoho TF20, 1, 8194 1.1 jruoho TF30, 1, 8195 1.1 jruoho , 1, 8196 1.1 jruoho TP11, 1, 8197 1.1 jruoho TP21, 1, 8198 1.1 jruoho TP31, 1, 8199 1.1 jruoho , 0x6D, // 109 8200 1.1 jruoho GP50, 1, 8201 1.1 jruoho GP51, 1, 8202 1.1 jruoho GP52, 1, 8203 1.1 jruoho GP53, 1, 8204 1.1 jruoho , 4, 8205 1.1 jruoho GP60, 1, 8206 1.1 jruoho GP61, 1, 8207 1.1 jruoho GP62, 1, 8208 1.1 jruoho GP63, 1, 8209 1.1 jruoho GP64, 1, 8210 1.1 jruoho GP65, 1, 8211 1.1 jruoho GP66, 1, 8212 1.1 jruoho , 1, 8213 1.1 jruoho GP70, 1, 8214 1.1 jruoho GP71, 1, 8215 1.1 jruoho GP72, 1, 8216 1.1 jruoho GP73, 1, 8217 1.1 jruoho GP74, 1, 8218 1.1 jruoho GP75, 1, 8219 1.1 jruoho GP76, 1, 8220 1.1 jruoho , 1, 8221 1.1 jruoho WED0, 1, 8222 1.1 jruoho WED1, 1, 8223 1.1 jruoho WED2, 1, 8224 1.1 jruoho WED3, 1, 8225 1.1 jruoho WED4, 1, 8226 1.1 jruoho , 3, 8227 1.1 jruoho SBL0, 1, 8228 1.1 jruoho SBL1, 1, 8229 1.1 jruoho SBL2, 1, 8230 1.1 jruoho SBL3, 1, 8231 1.1 jruoho , 4, 8232 1.1 jruoho LIDS, 1, 8233 1.1 jruoho VALF, 1, 8234 1.1 jruoho , 2, 8235 1.1 jruoho DCKI, 1, 8236 1.1 jruoho DCKF, 1, 8237 1.1 jruoho BT1F, 1, 8238 1.1 jruoho BT2F, 1, 8239 1.1 jruoho , 0x7D0, // skip 8240 1.1 jruoho HKCD, 8, 8241 1.1 jruoho , 8, 8242 1.1 jruoho DLID, 0x20, 8243 1.1 jruoho DSRN, 0x20, 8244 1.1 jruoho , 0x20, 8245 1.1 jruoho BDID, 0x20, 8246 1.1 jruoho DSPW, 1, 8247 1.1 jruoho VGAF, 1, 8248 1.1 jruoho VWE0, 1, 8249 1.1 jruoho VWE1, 1, 8250 1.1 jruoho PPSC, 1, 8251 1.1 jruoho SPSC, 1, 8252 1.1 jruoho EWLD, 1, 8253 1.1 jruoho EWPS, 1, 8254 1.1 jruoho , 0x1768, // skip 8255 1.1 jruoho PRES, 0x8000 8256 1.1 jruoho } // Field: SRAM overlay 8257 1.1 jruoho } // MEM 8258 1.1 jruoho 8259 1.1 jruoho Device (BAT1) 8260 1.1 jruoho { // BAT1 8261 1.1 jruoho Name (_HID, EISAID ("PNP0C0A")) // Control Method Battey ID 8262 1.1 jruoho Name (_UID, 1) 8263 1.1 jruoho Name (_PCL, Package (1) {\_SB}) 8264 1.1 jruoho 8265 1.1 jruoho Method (_STA) 8266 1.1 jruoho { // _STA 8267 1.1 jruoho If (\_SB.MEM.BES1) 8268 1.1 jruoho { Return (0x1F) } // battery present 8269 1.1 jruoho Else 8270 1.1 jruoho { Return (0x0F) } // battery not present 8271 1.1 jruoho } // _STA 8272 1.1 jruoho 8273 1.1.1.3 christos Method (_BIF,, Serialized) 8274 1.1 jruoho { // _BIF 8275 1.1 jruoho Name (BUFR, Package (13) {}) 8276 1.1 jruoho 8277 1.1 jruoho Store (\_SB.MEM.BPU1, Index (BUFR, 0)) 8278 1.1 jruoho Store (\_SB.MEM.BDC1, Index (BUFR, 1)) 8279 1.1 jruoho Store (\_SB.MEM.BLF1, Index (BUFR, 2)) 8280 1.1 jruoho Store (\_SB.MEM.BTC1, Index (BUFR, 3)) 8281 1.1 jruoho Store (\_SB.MEM.BDV1, Index (BUFR, 4)) 8282 1.1 jruoho Store (\_SB.MEM.BCW1, Index (BUFR, 5)) 8283 1.1 jruoho Store (\_SB.MEM.BCL1, Index (BUFR, 6)) 8284 1.1 jruoho Store (\_SB.MEM.BG11, Index (BUFR, 7)) 8285 1.1 jruoho Store (\_SB.MEM.BG21, Index (BUFR, 8)) 8286 1.1 jruoho Store (\_SB.MEM.BMN1, Index (BUFR, 9)) 8287 1.1 jruoho Store (\_SB.MEM.BSN1, Index (BUFR, 10)) 8288 1.1 jruoho Store (\_SB.MEM.BTP1, Index (BUFR, 11)) 8289 1.1 jruoho Store (\_SB.MEM.BOI1, Index (BUFR, 12)) 8290 1.1 jruoho 8291 1.1 jruoho Return (BUFR) 8292 1.1 jruoho } // _BIF 8293 1.1 jruoho } // BAT1 8294 1.1 jruoho 8295 1.1 jruoho Device (IDX2) 8296 1.1 jruoho { 8297 1.1.1.3 christos Method (B2IB,, Serialized) 8298 1.1 jruoho { // B2IB: store from Buffer into Index'ed Buffer 8299 1.1 jruoho 8300 1.1 jruoho Name (SRCB, Buffer () {"Short Buffer"}) // 12 characters plus NULL 8301 1.1 jruoho 8302 1.1 jruoho Name (DEST, Buffer () // 62 characters plus NULL 8303 1.1 jruoho {"Destination buffer that is longer than the short source buffer"}) 8304 1.1 jruoho 8305 1.1 jruoho 8306 1.1 jruoho // verify object type returned by Index(Buffer,Element,) 8307 1.1 jruoho 8308 1.1 jruoho Store (Index (DEST, 2, ), Local1) 8309 1.1 jruoho Store (ObjectType (Local1), Local2) 8310 1.1 jruoho 8311 1.1 jruoho If (LNotEqual (Local2, 14)) // Buffer Field is type 14 8312 1.1 jruoho { 8313 1.1 jruoho // Local2 indicates Local1 is not a Buffer Field 8314 1.1 jruoho 8315 1.1 jruoho Return (0x61) 8316 1.1 jruoho } 8317 1.1 jruoho 8318 1.1 jruoho // verify object type and value returned by DerefOf(Index(Buffer,Element,)) 8319 1.1 jruoho // should return Number containing element value 8320 1.1 jruoho 8321 1.1 jruoho Store (DerefOf (Local1), Local3) 8322 1.1 jruoho Store (ObjectType (Local3), Local4) 8323 1.1 jruoho 8324 1.1 jruoho If (LNotEqual (Local4, 1)) // Number is type 1 8325 1.1 jruoho { 8326 1.1 jruoho // Local2 indicates Local1 is not a Number 8327 1.1 jruoho Return (0x62) 8328 1.1 jruoho } 8329 1.1 jruoho Else 8330 1.1 jruoho { 8331 1.1 jruoho If (LNotEqual (Local3, 0x73)) // expect 's' element from DEST 8332 1.1 jruoho { 8333 1.1 jruoho Return (0x63) 8334 1.1 jruoho } 8335 1.1 jruoho } 8336 1.1 jruoho 8337 1.1 jruoho Store ("DerefOf(Index(Buffer,,)) PASS", Debug) 8338 1.1 jruoho 8339 1.1 jruoho 8340 1.1 jruoho // 8341 1.1 jruoho // The following sections have been rewritten because storing into 8342 1.1 jruoho // an Indexed buffer only changes one byte - the FIRST byte of the 8343 1.1.1.9 christos // buffer is written to the source index. This is the ONLY byte 8344 1.1 jruoho // written -- as per ACPI 2.0 8345 1.1 jruoho // 8346 1.1 jruoho // Overwrite DEST contents, at buffer position 2 [only] 8347 1.1 jruoho 8348 1.1 jruoho Store (SRCB, Index (DEST, 2, )) 8349 1.1 jruoho 8350 1.1 jruoho // 8351 1.1 jruoho // Check that the next byte is not changed 8352 1.1 jruoho // 8353 1.1 jruoho Store (DerefOf (Index (DEST, 3, )), Local0) 8354 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't' 8355 1.1 jruoho { 8356 1.1 jruoho // DEST element is not matching original value 8357 1.1 jruoho If (LEqual (Local0, 0x68)) 8358 1.1 jruoho { 8359 1.1 jruoho // DEST element was altered to 'h' 8360 1.1 jruoho Return (0x68) 8361 1.1 jruoho } 8362 1.1 jruoho Else 8363 1.1 jruoho { 8364 1.1 jruoho // DEST element is an unknown value 8365 1.1 jruoho Return (0x69) 8366 1.1 jruoho } 8367 1.1 jruoho } 8368 1.1 jruoho 8369 1.1 jruoho // 8370 1.1 jruoho // Check that the elements beyond the SRCB buffer copy 8371 1.1 jruoho // have not been altered. 8372 1.1 jruoho // 8373 1.1 jruoho Store (DerefOf (Index (DEST, 14)), Local0) 8374 1.1 jruoho 8375 1.1 jruoho // 8376 1.1 jruoho // This should be an 'f'. 8377 1.1 jruoho // 8378 1.1 jruoho If (LNotEqual (Local0, 0x66)) 8379 1.1 jruoho { 8380 1.1 jruoho // DEST element was zero'd by buffer copy 8381 1.1 jruoho If (LEqual (Local0, 0)) 8382 1.1 jruoho { 8383 1.1 jruoho // DEST element is zero 8384 1.1 jruoho Return (0x6A) 8385 1.1 jruoho } 8386 1.1 jruoho Else 8387 1.1 jruoho { 8388 1.1 jruoho // DEST element is unknown value 8389 1.1 jruoho Return (0x6B) 8390 1.1 jruoho } 8391 1.1 jruoho } 8392 1.1 jruoho 8393 1.1 jruoho Store ("Store(SRCB,Index(Buffer,,)) PASS", Debug) 8394 1.1 jruoho 8395 1.1 jruoho // 8396 1.1 jruoho // verify altering SRCB does NOT alter DEST 8397 1.1 jruoho // 8398 1.1 jruoho Store (0x6A, Index (SRCB, 1)) // SRCB = "Sjort Buffer" 8399 1.1 jruoho 8400 1.1 jruoho Store (DerefOf (Index (SRCB, 1)), Local0) 8401 1.1 jruoho 8402 1.1 jruoho If (LNotEqual (Local0, 0x6A)) // 'j' 8403 1.1 jruoho { 8404 1.1 jruoho // SRCB element is unaltered 8405 1.1 jruoho Return (0x71) 8406 1.1 jruoho } 8407 1.1 jruoho 8408 1.1 jruoho Store (DerefOf (Index (DEST, 3)), Local0) // DEST = "Destination buffer that... 8409 1.1 jruoho 8410 1.1 jruoho If (LNotEqual (Local0, 0x74)) // 't' 8411 1.1 jruoho { 8412 1.1 jruoho // DEST element is altered 8413 1.1 jruoho If (LEqual (Local0, 0x6A)) // 'j' 8414 1.1 jruoho { 8415 1.1 jruoho // SRCB change altered DEST element 8416 1.1 jruoho Return (0x72) 8417 1.1 jruoho } 8418 1.1 jruoho Else 8419 1.1 jruoho { 8420 1.1 jruoho // DEST element is unknown value 8421 1.1 jruoho Return (0x73) 8422 1.1 jruoho } 8423 1.1 jruoho } 8424 1.1 jruoho 8425 1.1 jruoho // verify altering DEST does NOT alter SRCB 8426 1.1 jruoho 8427 1.1 jruoho Store (0x6B, Index (DEST, 4, )) // DEST = "DeSkination buffer..." 8428 1.1 jruoho 8429 1.1 jruoho Store (DerefOf (Index (DEST, 4, )), Local0) 8430 1.1 jruoho 8431 1.1 jruoho If (LNotEqual (Local0, 0x6B)) // 'k' 8432 1.1 jruoho { 8433 1.1 jruoho // DEST element is unaltered 8434 1.1 jruoho Return (0x74) 8435 1.1 jruoho } 8436 1.1 jruoho 8437 1.1 jruoho Store (DerefOf (Index (SRCB, 2, )), Local0) 8438 1.1 jruoho 8439 1.1 jruoho If (LNotEqual (Local0, 0x6F)) // 'o' 8440 1.1 jruoho { // SRC element is altered 8441 1.1 jruoho If (LEqual (Local0, 0x6B)) // 'k' 8442 1.1 jruoho { 8443 1.1 jruoho // DEST change altered SRCB element 8444 1.1 jruoho Return (0x75) 8445 1.1 jruoho } 8446 1.1 jruoho Else 8447 1.1 jruoho { 8448 1.1 jruoho // SRCB element is unknown value 8449 1.1 jruoho Return (0x76) 8450 1.1 jruoho } 8451 1.1 jruoho } 8452 1.1 jruoho 8453 1.1 jruoho Store ("SRCB and DEST independent PASS", Debug) 8454 1.1 jruoho 8455 1.1 jruoho 8456 1.1 jruoho // verify string can be written to Index target/destination 8457 1.1 jruoho // Only FIRST byte is written 8458 1.1 jruoho 8459 1.1 jruoho Store ("New Buff", Index (DEST, 2, )) // DEST = "DeNkination buffer..." 8460 1.1 jruoho 8461 1.1 jruoho Store (DerefOf (Index (DEST, 2, )), Local0) 8462 1.1 jruoho 8463 1.1 jruoho If (LNotEqual (Local0, 0x4E)) // 'N' 8464 1.1 jruoho { 8465 1.1 jruoho // DEST element is unaltered 8466 1.1 jruoho Return (0x81) 8467 1.1 jruoho } 8468 1.1 jruoho 8469 1.1 jruoho Store (DerefOf (Index (DEST, 6, )), Local0) 8470 1.1 jruoho 8471 1.1 jruoho If (LNotEqual (Local0, 0x61)) // 'a' 8472 1.1 jruoho { 8473 1.1 jruoho // DEST element is unaltered 8474 1.1 jruoho Return (0x82) 8475 1.1 jruoho } 8476 1.1 jruoho 8477 1.1 jruoho Store (DerefOf (Index (DEST, 10, )), Local0) 8478 1.1 jruoho 8479 1.1 jruoho If (LNotEqual (Local0, 0x6E)) // 'n' 8480 1.1 jruoho { 8481 1.1 jruoho // DEST element is unaltered 8482 1.1 jruoho Return (0x83) 8483 1.1 jruoho } 8484 1.1 jruoho 8485 1.1 jruoho Store ("Store(String,Index) PASS", Debug) 8486 1.1 jruoho 8487 1.1 jruoho 8488 1.1 jruoho Return (0) // pass 8489 1.1 jruoho } // B2IB: store from Buffer into Index'ed Buffer 8490 1.1 jruoho 8491 1.1.1.3 christos Method (FB2P,, Serialized) 8492 1.1 jruoho { // FB2P: store from Field Buffer into Index'ed Package 8493 1.1 jruoho Name (DEST, Package (2) {}) 8494 1.1 jruoho 8495 1.1 jruoho // initialize memory using 32-bit field elements 8496 1.1 jruoho Store (0x01234567, \_SB.MEM.SMD0) 8497 1.1 jruoho Store (0x89ABCDEF, \_SB.MEM.SMD1) 8498 1.1 jruoho Store (0xFEDCBA98, \_SB.MEM.SMD2) 8499 1.1 jruoho Store (0x76543210, \_SB.MEM.SMD3) 8500 1.1 jruoho 8501 1.1 jruoho // move greater than 64-bit buffers into DEST package 8502 1.1 jruoho Store (\_SB.MEM.SME0, Index (DEST, 0)) 8503 1.1 jruoho Store (\_SB.MEM.SME1, Index (DEST, 1)) 8504 1.1 jruoho 8505 1.1 jruoho // validate DEST contents 8506 1.1 jruoho Store (DerefOf (Index (DEST, 0, )), Local0) 8507 1.1 jruoho Store (DerefOf (Index (DEST, 1, )), Local1) 8508 1.1 jruoho 8509 1.1 jruoho // verify Local0 and Local1 are Buffers 8510 1.1 jruoho Store (ObjectType (Local0), Local2) 8511 1.1 jruoho if (LNotEqual (Local2, 3)) // Buffer type is 3 8512 1.1 jruoho { 8513 1.1 jruoho Return (0x11) 8514 1.1 jruoho } 8515 1.1 jruoho 8516 1.1 jruoho Store (ObjectType (Local1), Local3) 8517 1.1 jruoho if (LNotEqual (Local3, 3)) // Buffer type is 3 8518 1.1 jruoho { 8519 1.1 jruoho Return (0x12) 8520 1.1 jruoho } 8521 1.1 jruoho 8522 1.1 jruoho // validate DEST buffer contents 8523 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 0)), Local4) 8524 1.1 jruoho If (LNotEqual (Local4, 0x67)) 8525 1.1 jruoho { 8526 1.1 jruoho Return (0x13) 8527 1.1 jruoho } 8528 1.1 jruoho 8529 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 1)), Local4) 8530 1.1 jruoho If (LNotEqual (Local4, 0x45)) 8531 1.1 jruoho { 8532 1.1 jruoho Return (0x14) 8533 1.1 jruoho } 8534 1.1 jruoho 8535 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0)), 4)), Local4) 8536 1.1 jruoho If (LNotEqual (Local4, 0xEF)) 8537 1.1 jruoho { 8538 1.1 jruoho Return (0x15) 8539 1.1 jruoho } 8540 1.1 jruoho 8541 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 5, )), Local4) 8542 1.1 jruoho If (LNotEqual (Local4, 0xCD)) 8543 1.1 jruoho { 8544 1.1 jruoho Return (0x16) 8545 1.1 jruoho } 8546 1.1 jruoho 8547 1.1 jruoho Store ("Store(Mem,PkgElement) PASS", Debug) 8548 1.1 jruoho 8549 1.1 jruoho 8550 1.1 jruoho // validate changing source \_SB.MEM.SMD* does not impact DEST 8551 1.1 jruoho Store (0x12345678, \_SB.MEM.SMD0) 8552 1.1 jruoho 8553 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 0, )), Local5) 8554 1.1 jruoho If (LNotEqual (Local5, 0x67)) 8555 1.1 jruoho { 8556 1.1 jruoho Return (0x21) 8557 1.1 jruoho } 8558 1.1 jruoho 8559 1.1 jruoho Store (DerefOf (Index (DerefOf (Index (DEST, 0, )), 1, )), Local5) 8560 1.1 jruoho If (LNotEqual (Local5, 0x45)) 8561 1.1 jruoho { 8562 1.1 jruoho Return (0x22) 8563 1.1 jruoho } 8564 1.1 jruoho 8565 1.1 jruoho // validate changing DEST does not impact source \_SB.MEM.SMD* 8566 1.1 jruoho Store (0x30, Index (DerefOf (Index (DEST, 0)), 0)) 8567 1.1 jruoho 8568 1.1 jruoho Store (DerefOf(Index (DerefOf (Index (DEST, 0)), 0)), Local5) 8569 1.1 jruoho If (LNotEqual (Local5, 0x30)) 8570 1.1 jruoho { 8571 1.1 jruoho Return (0x23) 8572 1.1 jruoho } 8573 1.1 jruoho 8574 1.1 jruoho // 8575 1.1 jruoho // This section was modified from the original iPCO code because 8576 1.1.1.9 christos // it attempted to compare two buffers. This is not allowed until 8577 1.1 jruoho // ACPI v2.0, so the test has been modified to just check the 8578 1.1 jruoho // changed \_SB.MEM.SMD0 8579 1.1 jruoho // 8580 1.1 jruoho Store (\_SB.MEM.SMD0, Local5) 8581 1.1 jruoho 8582 1.1 jruoho If(LNotEqual(Local5, 0x12345678)) 8583 1.1 jruoho { 8584 1.1 jruoho Return (0x24) 8585 1.1 jruoho } 8586 1.1 jruoho 8587 1.1 jruoho Store ("Mem and Pkg independent PASS", Debug) 8588 1.1 jruoho 8589 1.1 jruoho 8590 1.1 jruoho Return (0) 8591 1.1 jruoho } // FB2P: store from Field Buffer into Index'ed Package 8592 1.1 jruoho 8593 1.1 jruoho Method (TEST) 8594 1.1 jruoho { 8595 1.1 jruoho Store ("++++++++ IndexOp2 Test", Debug) 8596 1.1 jruoho 8597 1.1 jruoho // store _BIF package return value into Local0 8598 1.1 jruoho 8599 1.1 jruoho Store (\_SB.BAT1._BIF, Local0) 8600 1.1 jruoho 8601 1.1 jruoho // save Local0 object type value into Local1 8602 1.1 jruoho Store (ObjectType (Local0), Local1) 8603 1.1 jruoho 8604 1.1 jruoho // validate Local0 is a Package 8605 1.1 jruoho If (LNotEqual (Local1, 4)) // Package type is 4 8606 1.1 jruoho { 8607 1.1 jruoho // failure 8608 1.1 jruoho Return (2) 8609 1.1 jruoho } 8610 1.1 jruoho 8611 1.1 jruoho // validate source and destination buffers are independent of each 8612 1.1 jruoho // of each other (i.e., changing one's contents does not change 8613 1.1 jruoho // other's contents) using B2IB (store from Buffer into Index'ed 8614 1.1 jruoho // Buffer) and FB2P (store from Field Buffer into Index'ed Package) 8615 1.1 jruoho 8616 1.1 jruoho // call B2IB (store from Buffer into Index'ed Buffer) 8617 1.1 jruoho Store (B2IB, Local2) // Local2 is B2IB return value 8618 1.1 jruoho 8619 1.1 jruoho // save Local2 object type value into Local3 8620 1.1 jruoho Store (ObjectType (Local2), Local3) 8621 1.1 jruoho 8622 1.1 jruoho // validate Local2 is a Number 8623 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1 8624 1.1 jruoho { 8625 1.1 jruoho // failure 8626 1.1 jruoho Return (4) 8627 1.1 jruoho } 8628 1.1 jruoho 8629 1.1 jruoho // zero indicates pass, non-zero is an error code 8630 1.1 jruoho If (LNotEqual (Local2, 0)) 8631 1.1 jruoho { 8632 1.1 jruoho // return B2IB error code 8633 1.1 jruoho Return (Local2) 8634 1.1 jruoho } 8635 1.1 jruoho 8636 1.1 jruoho // call FB2P (store from Field Buffer into Index'ed Package) 8637 1.1 jruoho Store (FB2P, Local2) // Local2 is FB2P return value 8638 1.1 jruoho 8639 1.1 jruoho // save Local2 object type value into Local3 8640 1.1 jruoho Store (ObjectType (Local2), Local3) 8641 1.1 jruoho 8642 1.1 jruoho // validate Local2 is a Number 8643 1.1 jruoho If (LNotEqual (Local3, 1)) // Number type is 1 8644 1.1 jruoho { 8645 1.1 jruoho // failure 8646 1.1 jruoho Return (5) 8647 1.1 jruoho } 8648 1.1 jruoho 8649 1.1 jruoho // zero indicates pass, non-zero is an error code 8650 1.1 jruoho If (LNotEqual (Local2, 0)) 8651 1.1 jruoho { 8652 1.1 jruoho // return FB2P error code 8653 1.1 jruoho Return (Local2) 8654 1.1 jruoho } 8655 1.1 jruoho 8656 1.1 jruoho 8657 1.1 jruoho Return (0) 8658 1.1 jruoho } // TEST 8659 1.1 jruoho } // IDX2: Test device name 8660 1.1 jruoho } // _SB system bus 8661 1.1 jruoho 8662 1.1 jruoho // 8663 1.1 jruoho // test SizeOf.asl 8664 1.1 jruoho // 8665 1.1 jruoho // Test for SizeOf 8666 1.1 jruoho // test cases include following SizeOf arguments: 8667 1.1 jruoho // buffer, buffer field; 8668 1.1 jruoho // control method argument, control method local variable; 8669 1.1 jruoho // control method return values; 8670 1.1 jruoho // direct string, string; 8671 1.1 jruoho // package; 8672 1.1 jruoho // buffer, package, and string package elements 8673 1.1 jruoho // 8674 1.1 jruoho // MTL NOTE: This test has been modified to remove any SizeOf(Index(Buff,... 8675 1.1 jruoho // calls because it is not legal to perform a SizeOf operation on a Buffer Field. 8676 1.1 jruoho // This test has also been extended to test additional Package element sizes. 8677 1.1 jruoho // 8678 1.1 jruoho Device (SIZO) 8679 1.1 jruoho { 8680 1.1 jruoho // SAR0 control method validates SizeOf(Arg) 8681 1.1 jruoho // SAR0 should only be called by SARG 8682 1.1 jruoho Method (SAR0, 2) 8683 1.1 jruoho // Arg0 object to determine size of 8684 1.1 jruoho // Arg1 expected Arg length 8685 1.1 jruoho { // SAR0: SizeOf(Arg) test control method 8686 1.1 jruoho // Local0 Arg0 length 8687 1.1 jruoho // Local1 Local0 object type 8688 1.1 jruoho 8689 1.1 jruoho // Store first string size (Arg0) into Local7 8690 1.1 jruoho Store (SizeOf (Arg0), Local0) 8691 1.1 jruoho 8692 1.1 jruoho // save Local0 object type value into Local1 8693 1.1 jruoho Store (ObjectType (Local0), Local1) 8694 1.1 jruoho 8695 1.1 jruoho // validate Local0 is a Number 8696 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8697 1.1 jruoho { Return (0x21) } 8698 1.1 jruoho 8699 1.1 jruoho // If strings are not of equal size, return error code 8700 1.1 jruoho If (LNotEqual (Local0, Arg1)) 8701 1.1 jruoho { Return (0x22) } 8702 1.1 jruoho 8703 1.1 jruoho Return (0) 8704 1.1 jruoho } // SAR0: SizeOf(Arg) test control method 8705 1.1 jruoho 8706 1.1.1.3 christos Method (SARG,, Serialized) 8707 1.1 jruoho { // SARG: SizeOf(Arg) test control method 8708 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer 8709 1.1 jruoho Name (BUF1, Buffer() {0x01, 0x02, 0x03, 0x04, 0x05}) 8710 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package 8711 1.1 jruoho Name (STR0, "String") 8712 1.1 jruoho Name (PKG1, Package (4) 8713 1.1 jruoho { 8714 1.1 jruoho BUFR, 8715 1.1 jruoho "String2", 8716 1.1 jruoho STR0, 8717 1.1 jruoho PKG0 8718 1.1 jruoho }) // PKG1 8719 1.1 jruoho 8720 1.1 jruoho Name (PKG2, Package (4) 8721 1.1 jruoho { 8722 1.1 jruoho Buffer (15) {}, 8723 1.1 jruoho "String 1", 8724 1.1 jruoho Package (2) {} 8725 1.1 jruoho }) // PKG2 8726 1.1 jruoho 8727 1.1 jruoho // Namespace entry buffer reference 8728 1.1 jruoho Store (SAR0 (BUFR, 12), Local0) 8729 1.1 jruoho 8730 1.1 jruoho // save Local0 object type value into Local1 8731 1.1 jruoho Store (ObjectType (Local0), Local1) 8732 1.1 jruoho 8733 1.1 jruoho // validate Local0 is a Number 8734 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8735 1.1 jruoho { 8736 1.1 jruoho Return (0x23) 8737 1.1 jruoho } 8738 1.1 jruoho 8739 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8740 1.1 jruoho { 8741 1.1 jruoho Return (Local0) 8742 1.1 jruoho } 8743 1.1 jruoho 8744 1.1 jruoho Store ("SizeOf(Arg=BUFR) PASS", Debug) 8745 1.1 jruoho 8746 1.1 jruoho 8747 1.1 jruoho // Namespace entry package reference 8748 1.1 jruoho Store (SAR0 (PKG0, 4), Local0) 8749 1.1 jruoho 8750 1.1 jruoho // save Local0 object type value into Local1 8751 1.1 jruoho Store (ObjectType (Local0), Local1) 8752 1.1 jruoho 8753 1.1 jruoho // validate Local0 is a Number 8754 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8755 1.1 jruoho { 8756 1.1 jruoho Return (0x24) 8757 1.1 jruoho } 8758 1.1 jruoho 8759 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8760 1.1 jruoho { 8761 1.1 jruoho Return (Local0) 8762 1.1 jruoho } 8763 1.1 jruoho 8764 1.1 jruoho Store ("SizeOf(Arg=PKG0) PASS", Debug) 8765 1.1 jruoho 8766 1.1 jruoho 8767 1.1 jruoho // Namespace entry string reference 8768 1.1 jruoho Store (SAR0 (STR0, 6), Local0) 8769 1.1 jruoho 8770 1.1 jruoho // save Local0 object type value into Local1 8771 1.1 jruoho Store (ObjectType (Local0), Local1) 8772 1.1 jruoho 8773 1.1 jruoho // validate Local0 is a Number 8774 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8775 1.1 jruoho { 8776 1.1 jruoho Return (0x25) 8777 1.1 jruoho } 8778 1.1 jruoho 8779 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8780 1.1 jruoho { 8781 1.1 jruoho Return (Local0) 8782 1.1 jruoho } 8783 1.1 jruoho 8784 1.1 jruoho Store ("SizeOf(Arg=STR0) PASS", Debug) 8785 1.1 jruoho 8786 1.1 jruoho 8787 1.1 jruoho // direct string reference 8788 1.1 jruoho Store (SAR0 ("String", 6), Local0) 8789 1.1 jruoho 8790 1.1 jruoho // save Local0 object type value into Local1 8791 1.1 jruoho Store (ObjectType (Local0), Local1) 8792 1.1 jruoho 8793 1.1 jruoho // validate Local0 is a Number 8794 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8795 1.1 jruoho { 8796 1.1 jruoho Return (0x26) 8797 1.1 jruoho } 8798 1.1 jruoho 8799 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8800 1.1 jruoho { 8801 1.1 jruoho Return (Local0) 8802 1.1 jruoho } 8803 1.1 jruoho 8804 1.1 jruoho Store ("SizeOf(Arg=String) PASS", Debug) 8805 1.1 jruoho 8806 1.1 jruoho Store (0x55, Index (BUF1, 2)) 8807 1.1 jruoho 8808 1.1 jruoho /**************************************************** 8809 1.1 jruoho // 8810 1.1 jruoho // This section is commented because it is illegal to 8811 1.1 jruoho // perform a SizeOf operation on a Buffer Field 8812 1.1 jruoho // 8813 1.1 jruoho // Namespace BufferField reference 8814 1.1 jruoho Store (SAR0 (Index (BUFR, 2, ), 10), Local0) 8815 1.1 jruoho 8816 1.1 jruoho // save Local0 object type value into Local1 8817 1.1 jruoho Store (ObjectType (Local0), Local1) 8818 1.1 jruoho 8819 1.1 jruoho // validate Local0 is a Number 8820 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8821 1.1 jruoho { Return (0x27) } 8822 1.1 jruoho 8823 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8824 1.1 jruoho { Return (Local0) } 8825 1.1 jruoho 8826 1.1 jruoho Store ("SizeOf(Arg=BufferField) PASS", Debug) 8827 1.1 jruoho ****************************************************/ 8828 1.1 jruoho 8829 1.1 jruoho // Namespace BufferPackageElement reference 8830 1.1 jruoho // 8831 1.1 jruoho Store (SAR0 (Index(PKG1, 0), 12), Local0) 8832 1.1 jruoho 8833 1.1 jruoho // save Local0 object type value into Local1 8834 1.1 jruoho Store (ObjectType (Local0), Local1) 8835 1.1 jruoho 8836 1.1 jruoho // validate Local0 is a Number 8837 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8838 1.1 jruoho { 8839 1.1 jruoho Return (0x28) 8840 1.1 jruoho } 8841 1.1 jruoho 8842 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8843 1.1 jruoho { 8844 1.1 jruoho Return (Local0) 8845 1.1 jruoho } 8846 1.1 jruoho 8847 1.1 jruoho Store ("SizeOf(Arg=PackageBuffer NTE Reference Element) PASS", Debug) 8848 1.1 jruoho 8849 1.1 jruoho 8850 1.1 jruoho // Namespace StringPackageElement reference 8851 1.1 jruoho Store (SAR0 (Index (PKG1, 1, ), 7), Local0) 8852 1.1 jruoho 8853 1.1 jruoho // save Local0 object type value into Local1 8854 1.1 jruoho Store (ObjectType (Local0), Local1) 8855 1.1 jruoho 8856 1.1 jruoho // validate Local0 is a Number 8857 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8858 1.1 jruoho { 8859 1.1 jruoho Return (0x29) 8860 1.1 jruoho } 8861 1.1 jruoho 8862 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8863 1.1 jruoho { 8864 1.1 jruoho Return (Local0) 8865 1.1 jruoho } 8866 1.1 jruoho 8867 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug) 8868 1.1 jruoho 8869 1.1 jruoho 8870 1.1 jruoho // Namespace StringPackageElement reference 8871 1.1 jruoho Store (SAR0 (Index (PKG1, 2, ), 6), Local0) 8872 1.1 jruoho 8873 1.1 jruoho // save Local0 object type value into Local1 8874 1.1 jruoho Store (ObjectType (Local0), Local1) 8875 1.1 jruoho 8876 1.1 jruoho // validate Local0 is a Number 8877 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8878 1.1 jruoho { 8879 1.1 jruoho Return (0x2A) 8880 1.1 jruoho } 8881 1.1 jruoho 8882 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8883 1.1 jruoho { 8884 1.1 jruoho Return (Local0) 8885 1.1 jruoho } 8886 1.1 jruoho 8887 1.1 jruoho Store ("SizeOf(Arg=Package String NTE Reference Element) PASS", Debug) 8888 1.1 jruoho 8889 1.1 jruoho 8890 1.1 jruoho // Namespace PackagePackageElement reference 8891 1.1 jruoho Store (SAR0 (Index (PKG1, 3, ), 4), Local0) 8892 1.1 jruoho 8893 1.1 jruoho // save Local0 object type value into Local1 8894 1.1 jruoho Store (ObjectType (Local0), Local1) 8895 1.1 jruoho 8896 1.1 jruoho // validate Local0 is a Number 8897 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8898 1.1 jruoho { 8899 1.1 jruoho Return (0x2B) 8900 1.1 jruoho } 8901 1.1 jruoho 8902 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8903 1.1 jruoho { 8904 1.1 jruoho Return (Local0) 8905 1.1 jruoho } 8906 1.1 jruoho 8907 1.1 jruoho Store ("SizeOf(Arg=Package Package NTE Reference Element) PASS", Debug) 8908 1.1 jruoho 8909 1.1 jruoho // Package Buffer Element 8910 1.1 jruoho Store (SAR0 (Index (PKG2, 0), 15), Local0) 8911 1.1 jruoho 8912 1.1 jruoho // save Local0 object type value into Local1 8913 1.1 jruoho Store (ObjectType (Local0), Local1) 8914 1.1 jruoho 8915 1.1 jruoho // validate Local0 is a Number 8916 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8917 1.1 jruoho { 8918 1.1 jruoho Return (0x2B) 8919 1.1 jruoho } 8920 1.1 jruoho 8921 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8922 1.1 jruoho { 8923 1.1 jruoho Return (Local0) 8924 1.1 jruoho } 8925 1.1 jruoho 8926 1.1 jruoho Store ("SizeOf(Arg=Package Buffer Element) PASS", Debug) 8927 1.1 jruoho 8928 1.1 jruoho // Package String Element 8929 1.1 jruoho Store (SAR0 (Index (PKG2, 1), 8), Local0) 8930 1.1 jruoho 8931 1.1 jruoho // save Local0 object type value into Local1 8932 1.1 jruoho Store (ObjectType (Local0), Local1) 8933 1.1 jruoho 8934 1.1 jruoho // validate Local0 is a Number 8935 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8936 1.1 jruoho { 8937 1.1 jruoho Return (0x2B) 8938 1.1 jruoho } 8939 1.1 jruoho 8940 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8941 1.1 jruoho { 8942 1.1 jruoho Return (Local0) 8943 1.1 jruoho } 8944 1.1 jruoho 8945 1.1 jruoho Store ("SizeOf(Arg=Package String Element) PASS", Debug) 8946 1.1 jruoho 8947 1.1 jruoho // Package Package Element 8948 1.1 jruoho Store (SAR0 (Index (PKG2, 2), 2), Local0) 8949 1.1 jruoho 8950 1.1 jruoho // save Local0 object type value into Local1 8951 1.1 jruoho Store (ObjectType (Local0), Local1) 8952 1.1 jruoho 8953 1.1 jruoho // validate Local0 is a Number 8954 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8955 1.1 jruoho { 8956 1.1 jruoho Return (0x2B) 8957 1.1 jruoho } 8958 1.1 jruoho 8959 1.1 jruoho If (LNotEqual (Local0, 0)) // Local0 is SAR0 return error code 8960 1.1 jruoho { 8961 1.1 jruoho Return (Local0) 8962 1.1 jruoho } 8963 1.1 jruoho 8964 1.1 jruoho Store ("SizeOf(Arg=Package Package Element) PASS", Debug) 8965 1.1 jruoho 8966 1.1 jruoho Store ("SizeOf(Arg) PASS", Debug) 8967 1.1 jruoho 8968 1.1 jruoho Return (0) 8969 1.1 jruoho } // SARG: SizeOf(Arg) test control method 8970 1.1 jruoho 8971 1.1.1.3 christos Method (SBUF,, Serialized) 8972 1.1 jruoho { // SBUF: SizeOf(Buffer) test control method 8973 1.1 jruoho Name (BUFR, Buffer (12) {}) 8974 1.1 jruoho 8975 1.1 jruoho // store size of BUFR buffer into Local0 8976 1.1 jruoho Store (SizeOf (BUFR), Local0) 8977 1.1 jruoho 8978 1.1 jruoho // save Local0 object type value into Local1 8979 1.1 jruoho Store (ObjectType (Local0), Local1) 8980 1.1 jruoho 8981 1.1 jruoho // validate Local0 is a Number 8982 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 8983 1.1 jruoho { 8984 1.1 jruoho Return (0x31) 8985 1.1 jruoho } 8986 1.1 jruoho 8987 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12 8988 1.1 jruoho { 8989 1.1 jruoho Return (0x32) 8990 1.1 jruoho } 8991 1.1 jruoho 8992 1.1 jruoho Store ("SizeOf(BUFR) PASS", Debug) 8993 1.1 jruoho 8994 1.1 jruoho Return (0) 8995 1.1 jruoho } // SBUF: SizeOf(Buffer) test control method 8996 1.1 jruoho 8997 1.1 jruoho 8998 1.1 jruoho /**************************************************** 8999 1.1 jruoho // 9000 1.1 jruoho // This section is commented because it is illegal to 9001 1.1 jruoho // perform a SizeOf operation on a Buffer Field 9002 1.1 jruoho // 9003 1.1 jruoho Method (SIND) 9004 1.1 jruoho { // SIND: SizeOf(Index(,,)) test control method 9005 1.1 jruoho Name (BUFR, Buffer (12) {}) 9006 1.1 jruoho 9007 1.1 jruoho // store size of Index(BUFR,2,) buffer into Local0 9008 1.1 jruoho Store (SizeOf (Index (BUFR, 2, )), Local0) 9009 1.1 jruoho 9010 1.1 jruoho // save Local0 object type value into Local1 9011 1.1 jruoho Store (ObjectType (Local0), Local1) 9012 1.1 jruoho 9013 1.1 jruoho // validate Local0 is a Number 9014 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 9015 1.1 jruoho { 9016 1.1 jruoho Return (0x41) 9017 1.1 jruoho } 9018 1.1 jruoho 9019 1.1 jruoho If (LNotEqual (Local0, 10)) // 12 - 2 = 10 9020 1.1 jruoho { 9021 1.1 jruoho Return (0x42) 9022 1.1 jruoho } 9023 1.1 jruoho 9024 1.1 jruoho Store ("SizeOf(Index(BUFR,,)) PASS", Debug) 9025 1.1 jruoho 9026 1.1 jruoho // TBD: strings and packages 9027 1.1 jruoho 9028 1.1 jruoho Return (0) 9029 1.1 jruoho } // SIND: SizeOf(Index(,,)) test control method 9030 1.1 jruoho ****************************************************/ 9031 1.1 jruoho 9032 1.1.1.3 christos Method (SLOC,, Serialized) 9033 1.1 jruoho { // SLOC: SizeOf(Local) test control method 9034 1.1 jruoho Name (BUFR, Buffer (12) {}) // uninitialized Buffer 9035 1.1 jruoho Name (STR0, "String") 9036 1.1 jruoho Name (PKG0, Package (4) {}) // uninitialized Package 9037 1.1 jruoho 9038 1.1 jruoho 9039 1.1 jruoho // store BUFR Buffer into Local2 9040 1.1 jruoho Store (BUFR, Local2) 9041 1.1 jruoho 9042 1.1 jruoho // store size of BUFR buffer into Local0 9043 1.1 jruoho Store (SizeOf (Local2), Local0) 9044 1.1 jruoho 9045 1.1 jruoho // save Local0 object type value into Local1 9046 1.1 jruoho Store (ObjectType (Local0), Local1) 9047 1.1 jruoho 9048 1.1 jruoho // validate Local0 is a Number 9049 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 9050 1.1 jruoho { 9051 1.1 jruoho Return (0x51) 9052 1.1 jruoho } 9053 1.1 jruoho 9054 1.1 jruoho If (LNotEqual (Local0, 12)) // BUFR size is 12 9055 1.1 jruoho { 9056 1.1 jruoho Return (0x52) 9057 1.1 jruoho } 9058 1.1 jruoho 9059 1.1 jruoho Store ("SizeOf(Local2=Buffer) PASS", Debug) 9060 1.1 jruoho 9061 1.1 jruoho 9062 1.1 jruoho // store STR0 string into Local2 9063 1.1 jruoho Store (STR0, Local2) 9064 1.1 jruoho 9065 1.1 jruoho // store size of STR0 buffer into Local0 9066 1.1 jruoho Store (SizeOf (Local2), Local0) 9067 1.1 jruoho 9068 1.1 jruoho // save Local0 object type value into Local1 9069 1.1 jruoho Store (ObjectType (Local0), Local1) 9070 1.1 jruoho 9071 1.1 jruoho // validate Local0 is a Number 9072 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 9073 1.1 jruoho { 9074 1.1 jruoho Return (0x53) 9075 1.1 jruoho } 9076 1.1 jruoho 9077 1.1 jruoho If (LNotEqual (Local0, 6)) // STR0 size is 6 9078 1.1 jruoho { 9079 1.1 jruoho Return (0x54) 9080 1.1 jruoho } 9081 1.1 jruoho 9082 1.1 jruoho Store ("SizeOf(Local2=String) PASS", Debug) 9083 1.1 jruoho 9084 1.1 jruoho 9085 1.1 jruoho // store PKG0 Package into Local2 9086 1.1 jruoho Store (PKG0, Local2) 9087 1.1 jruoho 9088 1.1 jruoho // store size of PKG0 buffer into Local0 9089 1.1 jruoho Store (SizeOf (Local2), Local0) 9090 1.1 jruoho 9091 1.1 jruoho // save Local0 object type value into Local1 9092 1.1 jruoho Store (ObjectType (Local0), Local1) 9093 1.1 jruoho 9094 1.1 jruoho // validate Local0 is a Number 9095 1.1 jruoho If (LNotEqual (Local1, 1)) // Number type is 1 9096 1.1 jruoho { 9097 1.1 jruoho Return (0x55) 9098 1.1 jruoho } 9099 1.1 jruoho 9100 1.1 jruoho If (LNotEqual (Local0, 4)) // PKG0 size is 4 9101 1.1 jruoho { 9102 1.1 jruoho Return (0x56) 9103 1.1 jruoho } 9104 1.1 jruoho 9105 1.1 jruoho Store ("SizeOf(Local2=Package) PASS", Debug) 9106 1.1 jruoho 9107 1.1 jruoho 9108 1.1 jruoho Return (0) 9109 1.1 jruoho } // SLOC: SizeOf(Local) test control method 9110 1.1 jruoho 9111 1.1 jruoho Method (TEST) 9112 1.1 jruoho { 9113 1.1 jruoho Store ("++++++++ SizeOf Test", Debug) 9114 1.1 jruoho 9115 1.1 jruoho // Store current operating system string into Local0 9116 1.1 jruoho Store (_OS, Local0) 9117 1.1 jruoho 9118 1.1 jruoho Store (SizeOf (_OS), Local3) 9119 1.1 jruoho 9120 1.1 jruoho // save Local3 object type value into Local4 9121 1.1 jruoho Store (ObjectType (Local3), Local4) 9122 1.1 jruoho 9123 1.1 jruoho // validate Local3 is a Number 9124 1.1 jruoho If (LNotEqual (Local4, 1)) // Number type is 1 9125 1.1 jruoho { 9126 1.1 jruoho // failure 9127 1.1 jruoho Return (0x61) 9128 1.1 jruoho } 9129 1.1 jruoho 9130 1.1 jruoho // Store current operating system string into Local0 9131 1.1 jruoho // This verifies above SizeOf(_OS) did not corrupt ACPI namespace 9132 1.1 jruoho Store (_OS, Local0) 9133 1.1 jruoho 9134 1.1 jruoho // Store SARG [Validate SizeOf(Arg)] return value into Local1 9135 1.1 jruoho Store (SARG, Local1) 9136 1.1 jruoho 9137 1.1 jruoho // save Local1 object type value into Local2 9138 1.1 jruoho Store (ObjectType (Local1), Local2) 9139 1.1 jruoho 9140 1.1 jruoho // validate Local1 is a Number 9141 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 9142 1.1 jruoho { 9143 1.1 jruoho // failure 9144 1.1 jruoho Return (0x62) 9145 1.1 jruoho } 9146 1.1 jruoho 9147 1.1 jruoho // zero indicates pass, non-zero is an error code 9148 1.1 jruoho If (LNotEqual (Local1, 0)) 9149 1.1 jruoho { 9150 1.1 jruoho // return SARG error code 9151 1.1 jruoho Return (Local1) 9152 1.1 jruoho } 9153 1.1 jruoho 9154 1.1 jruoho 9155 1.1 jruoho // Store SBUF [Validate SizeOf(Buffer)] return value into Local1 9156 1.1 jruoho Store (SBUF, Local1) 9157 1.1 jruoho 9158 1.1 jruoho // save Local1 object type value into Local2 9159 1.1 jruoho Store (ObjectType (Local1), Local2) 9160 1.1 jruoho 9161 1.1 jruoho // validate Local1 is a Number 9162 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 9163 1.1 jruoho { 9164 1.1 jruoho // failure 9165 1.1 jruoho Return (0x63) 9166 1.1 jruoho } 9167 1.1 jruoho 9168 1.1 jruoho // zero indicates pass, non-zero is an error code 9169 1.1 jruoho If (LNotEqual (Local1, 0)) 9170 1.1 jruoho { 9171 1.1 jruoho // return SBUF error code 9172 1.1 jruoho Return (Local1) 9173 1.1 jruoho } 9174 1.1 jruoho 9175 1.1 jruoho /**************************************************** 9176 1.1 jruoho // 9177 1.1 jruoho // This section is commented because it is illegal to 9178 1.1 jruoho // perform a SizeOf operation on a Buffer Field 9179 1.1 jruoho // 9180 1.1 jruoho // Store SIND [verify SizeOf(Index(,,))] return value into Local1 9181 1.1 jruoho Store (SIND, Local1) 9182 1.1 jruoho 9183 1.1 jruoho // save Local1 object type value into Local2 9184 1.1 jruoho Store (ObjectType (Local1), Local2) 9185 1.1 jruoho 9186 1.1 jruoho // validate Local1 is a Number 9187 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 9188 1.1 jruoho { 9189 1.1 jruoho // failure 9190 1.1 jruoho Return (0x64) 9191 1.1 jruoho } 9192 1.1 jruoho 9193 1.1 jruoho // zero indicates pass, non-zero is an error code 9194 1.1 jruoho If (LNotEqual (Local1, 0)) 9195 1.1 jruoho { 9196 1.1 jruoho // return SARG error code 9197 1.1 jruoho Return (Local1) 9198 1.1 jruoho } 9199 1.1 jruoho ****************************************************/ 9200 1.1 jruoho 9201 1.1 jruoho // Store SLOC [verify SizeOf(Local)] return value into Local1 9202 1.1 jruoho Store (SLOC, Local1) 9203 1.1 jruoho 9204 1.1 jruoho // save Local1 object type value into Local2 9205 1.1 jruoho Store (ObjectType (Local1), Local2) 9206 1.1 jruoho 9207 1.1 jruoho // validate Local1 is a Number 9208 1.1 jruoho If (LNotEqual (Local2, 1)) // Number type is 1 9209 1.1 jruoho { 9210 1.1 jruoho // failure 9211 1.1 jruoho Return (0x65) 9212 1.1 jruoho } 9213 1.1 jruoho 9214 1.1 jruoho // zero indicates pass, non-zero is an error code 9215 1.1 jruoho If (LNotEqual (Local1, 0)) 9216 1.1 jruoho { 9217 1.1 jruoho // return SLOC error code 9218 1.1 jruoho Return (Local1) 9219 1.1 jruoho } 9220 1.1 jruoho 9221 1.1 jruoho 9222 1.1 jruoho // TBD: SizeOf (METH) -- where METH control method returns 9223 1.1 jruoho // buffer, BufferField, string, package, package element 9224 1.1 jruoho 9225 1.1 jruoho 9226 1.1 jruoho Return (0) 9227 1.1 jruoho } // TEST 9228 1.1 jruoho } // SIZO 9229 1.1 jruoho 9230 1.1 jruoho // 9231 1.1 jruoho // test SmiShare.asl 9232 1.1 jruoho // 9233 1.1 jruoho Scope (\_SB) // System Bus 9234 1.1 jruoho { // _SB system bus 9235 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long 9236 1.1 jruoho OperationRegion(RAM1, SystemMemory, 0x400000, 0xA) 9237 1.1 jruoho 9238 1.1 jruoho Field (RAM1, AnyAcc, NoLock, Preserve) 9239 1.1 jruoho { 9240 1.1 jruoho BI1T, 1, // Create some bits in memory to access 9241 1.1 jruoho BI2T, 2, 9242 1.1 jruoho BI3T, 3, 9243 1.1 jruoho LST2, 2 9244 1.1 jruoho } // End Field RAM1 9245 1.1 jruoho 9246 1.1 jruoho Field (RAM1, WordAcc, NoLock, WriteAsZeros) 9247 1.1 jruoho { 9248 1.1 jruoho WRD, 16 9249 1.1 jruoho } // End 2nd Field RAM1 9250 1.1 jruoho 9251 1.1 jruoho Field (RAM1, ByteAcc, NoLock, WriteAsOnes) 9252 1.1 jruoho { 9253 1.1 jruoho BYTE, 8 9254 1.1 jruoho } // End 3rd Field RAM1 9255 1.1 jruoho 9256 1.1 jruoho Field (RAM1, ByteAcc, NoLock, Preserve) 9257 1.1 jruoho { 9258 1.1 jruoho SMIC, 8, 9259 1.1 jruoho SMID, 8 9260 1.1 jruoho } 9261 1.1 jruoho 9262 1.1 jruoho Device (MBIT) 9263 1.1 jruoho { 9264 1.1 jruoho Method (_INI) 9265 1.1 jruoho { 9266 1.1 jruoho Store (0, BI1T) 9267 1.1 jruoho Store (3, BI2T) 9268 1.1 jruoho Store (7, BI3T) 9269 1.1 jruoho Store (0, LST2) 9270 1.1 jruoho } // End _INI Method 9271 1.1 jruoho } // End Device MBIT 9272 1.1 jruoho 9273 1.1 jruoho Device (MWRD) 9274 1.1 jruoho { 9275 1.1 jruoho Method (_INI) 9276 1.1 jruoho { 9277 1.1 jruoho Store (0, WRD) 9278 1.1 jruoho } // End _INI Method 9279 1.1 jruoho } // End Device MWRD 9280 1.1 jruoho 9281 1.1 jruoho Device (MBYT) 9282 1.1 jruoho { 9283 1.1 jruoho Method (_INI) 9284 1.1 jruoho { 9285 1.1 jruoho Store (0, BYTE) 9286 1.1 jruoho Store (0xC, SMIC) 9287 1.1 jruoho Store (0xD, SMID) 9288 1.1 jruoho } // End _INI Method 9289 1.1 jruoho } // End Device MBYT 9290 1.1 jruoho 9291 1.1 jruoho /* 9292 1.1 jruoho // Declare an OpRegion in Memory starting at offset 0x400000 that is 10 bytes long 9293 1.1 jruoho OperationRegion(\RAM1, SystemMemory, 0x400000, 0xA) 9294 1.1 jruoho 9295 1.1 jruoho Field (\RAM1, AnyAcc, NoLock, Preserve) 9296 1.1 jruoho { 9297 1.1 jruoho BI1T, 1, // Create some bits in memory to access 9298 1.1 jruoho BI2T, 2, 9299 1.1 jruoho BI3T, 3, 9300 1.1 jruoho LST2, 2 9301 1.1 jruoho } // End Field RAM1 9302 1.1 jruoho 9303 1.1 jruoho Field (\RAM1, WordAcc, NoLock, WriteAsZeros) 9304 1.1 jruoho { 9305 1.1 jruoho WRD, 16 9306 1.1 jruoho } // End 2nd Field RAM1 9307 1.1 jruoho 9308 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, WriteAsOnes) 9309 1.1 jruoho { 9310 1.1 jruoho BYTE, 8 9311 1.1 jruoho } // End 3rd Field RAM1 9312 1.1 jruoho 9313 1.1 jruoho Field (\RAM1, ByteAcc, NoLock, Preserve) 9314 1.1 jruoho { 9315 1.1 jruoho SMIC, 8, 9316 1.1 jruoho SMID, 8 9317 1.1 jruoho } 9318 1.1 jruoho */ 9319 1.1 jruoho Method (SMIX) 9320 1.1 jruoho { 9321 1.1 jruoho Return (BYTE) 9322 1.1 jruoho } // End SMIX 9323 1.1 jruoho 9324 1.1 jruoho Method (EVNT) 9325 1.1 jruoho { 9326 1.1 jruoho Store (SMIX, Local0) 9327 1.1 jruoho 9328 1.1.1.3 christos Notify (\_SB_, 0x29) 9329 1.1 jruoho If (And (Local0, 0x01)) 9330 1.1 jruoho { Notify (\_SB_.SMIS, 0x21)} 9331 1.1 jruoho 9332 1.1 jruoho If (And (Local0, 0x02)) 9333 1.1 jruoho { Notify (\_SB_.SMIS, 0x22)} 9334 1.1 jruoho 9335 1.1 jruoho If (And (Local0, 0x04)) 9336 1.1 jruoho { Notify (\_SB_.SMIS, 0x24)} 9337 1.1 jruoho 9338 1.1 jruoho If (And (Local0, 0x08)) 9339 1.1 jruoho { Notify (\_SB_.SMIS, 0x28)} 9340 1.1 jruoho 9341 1.1 jruoho } // End Method EVNT 9342 1.1 jruoho 9343 1.1.1.3 christos Method (NTFY) 9344 1.1.1.3 christos { 9345 1.1.1.3 christos Notify (\_SB_, 1) 9346 1.1.1.3 christos Notify (\_TZ_.TZ1, 2) 9347 1.1.1.3 christos Notify (\_PR_.CPU0, 3) 9348 1.1.1.3 christos 9349 1.1.1.3 christos Notify (\_SB_, 0x81) 9350 1.1.1.3 christos Notify (\_TZ_.TZ1, 0x82) 9351 1.1.1.3 christos Notify (\_PR_.CPU0, 0x83) 9352 1.1.1.3 christos } 9353 1.1.1.3 christos 9354 1.1 jruoho Device (SMIS) 9355 1.1 jruoho { 9356 1.1 jruoho Method (BINK) 9357 1.1 jruoho { 9358 1.1 jruoho Store (0, Local0) // Zero out Local0 9359 1.1 jruoho 9360 1.1 jruoho If (LNotEqual (SMID, 0xD)) 9361 1.1 jruoho { Or (0x80, Local0, Local0)} 9362 1.1 jruoho 9363 1.1 jruoho If (LNotEqual (SMIC, 0xC)) 9364 1.1 jruoho { Or (0x40, Local0, Local0)} 9365 1.1 jruoho 9366 1.1 jruoho If (LNotEqual (BYTE, 0)) 9367 1.1 jruoho { Or (0x20, Local0, Local0)} 9368 1.1 jruoho 9369 1.1 jruoho If (LNotEqual (WRD, 0)) 9370 1.1 jruoho { Or (0x10, Local0, Local0)} 9371 1.1 jruoho 9372 1.1 jruoho If (LNotEqual (LST2, 0)) 9373 1.1 jruoho { Or (0x8, Local0, Local0)} 9374 1.1 jruoho 9375 1.1 jruoho If (LNotEqual (BI3T, 0x7)) 9376 1.1 jruoho { Or (0x4, Local0, Local0)} 9377 1.1 jruoho 9378 1.1 jruoho If (LNotEqual (BI2T, 0x3)) 9379 1.1 jruoho { Or (0x2, Local0, Local0)} 9380 1.1 jruoho 9381 1.1 jruoho If (LNotEqual (BI1T, 0)) 9382 1.1 jruoho { Or (0x1, Local0, Local0)} 9383 1.1 jruoho 9384 1.1 jruoho Return (Local0) 9385 1.1 jruoho } // End Method BINK 9386 1.1 jruoho 9387 1.1 jruoho Method (TEST) 9388 1.1 jruoho { 9389 1.1 jruoho Store ("++++++++ SmiShare Test", Debug) 9390 1.1 jruoho 9391 1.1 jruoho // Expect EVNT to generate Notify value we just previously 9392 1.1 jruoho // stored in BYTE 9393 1.1.1.3 christos 9394 1.1 jruoho Store (0x20, BYTE) 9395 1.1 jruoho EVNT () 9396 1.1 jruoho Store (0x21, BYTE) 9397 1.1 jruoho EVNT () 9398 1.1 jruoho Store (0x22, BYTE) 9399 1.1 jruoho EVNT () 9400 1.1 jruoho Store (0x23, BYTE) 9401 1.1 jruoho EVNT () 9402 1.1 jruoho 9403 1.1.1.3 christos NTFY () 9404 1.1 jruoho Return (0) // pass 9405 1.1 jruoho } // End Method TEST 9406 1.1 jruoho } // Device SMIS 9407 1.1 jruoho 9408 1.1 jruoho Device(CNDT) 9409 1.1 jruoho { 9410 1.1 jruoho Method(TEST) 9411 1.1 jruoho { 9412 1.1 jruoho If (ECOK) 9413 1.1 jruoho { 9414 1.1 jruoho return("Broken") 9415 1.1 jruoho } 9416 1.1 jruoho Else 9417 1.1 jruoho { 9418 1.1 jruoho return("Works") 9419 1.1 jruoho } 9420 1.1 jruoho } 9421 1.1 jruoho 9422 1.1 jruoho Method(ECOK) 9423 1.1 jruoho { 9424 1.1 jruoho Return(0x0) 9425 1.1 jruoho } 9426 1.1 jruoho } 9427 1.1 jruoho 9428 1.1 jruoho } // _SB system bus 9429 1.1 jruoho 9430 1.1 jruoho 9431 1.1 jruoho /* Test a very big buffer */ 9432 1.1 jruoho 9433 1.1 jruoho Name(WQAB, Buffer(6756) 9434 1.1 jruoho { 9435 1.1 jruoho 0x46,0x4F,0x4D,0x42,0x01,0x00,0x00,0x00, 9436 1.1 jruoho 0x54,0x1A,0x00,0x00,0xBA,0xAD,0x00,0x00, 9437 1.1 jruoho 0x44,0x53,0x00,0x01,0x1A,0x7D,0xDA,0x54, 9438 1.1 jruoho 0x98,0xBD,0x92,0x00,0x01,0x06,0x18,0x42, 9439 1.1 jruoho 0x10,0x47,0x10,0x92,0x46,0x62,0x02,0x89, 9440 1.1 jruoho 0x80,0x90,0x18,0x18,0x14,0x81,0x85,0x00, 9441 1.1 jruoho 0x49,0x02,0x88,0xC4,0x41,0xE1,0x20,0xD4, 9442 1.1 jruoho 0x9F,0x40,0x7E,0x05,0x20,0x74,0x28,0x40, 9443 1.1 jruoho 0xA6,0x00,0x83,0x02,0x9C,0x22,0x88,0xA0, 9444 1.1 jruoho 0x57,0x01,0x36,0x05,0x98,0x14,0x60,0x51, 9445 1.1 jruoho 0x80,0x76,0x01,0x96,0x05,0xE8,0x16,0x20, 9446 1.1 jruoho 0x1D,0x96,0x88,0x04,0x47,0x89,0x01,0x47, 9447 1.1 jruoho 0xE9,0xC4,0x16,0x6E,0xD8,0xE0,0x85,0xA2, 9448 1.1 jruoho 0x68,0x06,0x51,0x12,0x94,0x8B,0x20,0x5D, 9449 1.1 jruoho 0x10,0x52,0x2E,0xC0,0x37,0x82,0x06,0x10, 9450 1.1 jruoho 0xA5,0x77,0x01,0xB6,0x05,0x98,0x86,0x27, 9451 1.1 jruoho 0xD2,0x20,0xE4,0x60,0x08,0x54,0xCE,0x80, 9452 1.1 jruoho 0x20,0x69,0x44,0x21,0x1E,0xA7,0x44,0x08, 9453 1.1 jruoho 0x0A,0x84,0x90,0xD4,0xF1,0xA0,0xA0,0x71, 9454 1.1 jruoho 0x88,0xAD,0xCE,0x46,0x93,0xA9,0x74,0x7E, 9455 1.1 jruoho 0x48,0x82,0x70,0xC6,0x2A,0x7E,0x3A,0x9A, 9456 1.1 jruoho 0xD0,0xD9,0x9C,0x60,0xE7,0x18,0x72,0x3C, 9457 1.1 jruoho 0x48,0xF4,0x20,0xB8,0x00,0x0F,0x1C,0x2C, 9458 1.1 jruoho 0x34,0x84,0x22,0x6B,0x80,0xC1,0x8C,0xDD, 9459 1.1 jruoho 0x63,0xB1,0x0B,0x4E,0x0A,0xEC,0x61,0xB3, 9460 1.1 jruoho 0x01,0x19,0xA2,0x24,0x38,0xD4,0x11,0xC0, 9461 1.1 jruoho 0x12,0x05,0x98,0x1F,0x87,0x0C,0x0F,0x95, 9462 1.1 jruoho 0x8C,0x25,0x24,0x1B,0xAB,0x87,0xC2,0xA5, 9463 1.1 jruoho 0x40,0x68,0x6C,0x27,0xED,0x19,0x45,0x2C, 9464 1.1 jruoho 0x79,0x4A,0x82,0x49,0xE0,0x51,0x44,0x36, 9465 1.1 jruoho 0x1A,0x27,0x28,0x1B,0x1A,0x25,0x03,0x42, 9466 1.1 jruoho 0x9E,0x05,0x58,0x07,0x26,0x04,0x76,0x2F, 9467 1.1 jruoho 0xC0,0x9A,0x00,0x73,0xB3,0x90,0xB1,0xB9, 9468 1.1 jruoho 0xE8,0xFF,0x0F,0x71,0xB0,0x31,0xDA,0x9A, 9469 1.1 jruoho 0xAE,0x90,0xC2,0xC4,0x88,0x12,0x2C,0x5E, 9470 1.1 jruoho 0xC5,0xC3,0x10,0xCA,0x93,0x42,0xA8,0x48, 9471 1.1 jruoho 0x95,0xA1,0x68,0xB4,0x51,0x2A,0x14,0xE0, 9472 1.1 jruoho 0x4C,0x80,0x30,0x5C,0x1D,0x03,0x82,0x46, 9473 1.1 jruoho 0x88,0x15,0x29,0x56,0xFB,0x83,0x20,0xF1, 9474 1.1 jruoho 0x2D,0x40,0x54,0x01,0xA2,0x48,0xA3,0x41, 9475 1.1 jruoho 0x9D,0x03,0x3C,0x5C,0x0F,0xF5,0xF0,0x3D, 9476 1.1 jruoho 0xF6,0x93,0x0C,0x72,0x90,0x67,0xF1,0xA8, 9477 1.1 jruoho 0x70,0x9C,0x06,0x49,0xE0,0x0B,0x80,0x4F, 9478 1.1 jruoho 0x08,0x1E,0x38,0xDE,0x35,0xA0,0x66,0x7C, 9479 1.1 jruoho 0xBC,0x4C,0x10,0x1C,0x6A,0x88,0x1E,0x68, 9480 1.1 jruoho 0xB8,0x13,0x38,0x44,0x06,0xE8,0x49,0x3D, 9481 1.1 jruoho 0x52,0x60,0x07,0x77,0x32,0xEF,0x01,0xAF, 9482 1.1 jruoho 0x0A,0xCD,0x5E,0x12,0x08,0xC1,0xF1,0xF8, 9483 1.1 jruoho 0x7E,0xC0,0x26,0x9C,0xC0,0xF2,0x07,0x81, 9484 1.1 jruoho 0x1A,0x99,0xA1,0x3D,0xCA,0xD3,0x8A,0x19, 9485 1.1 jruoho 0xF2,0x31,0xC1,0x04,0x16,0x0B,0x21,0x05, 9486 1.1 jruoho 0x10,0x1A,0x0F,0xF8,0x6F,0x00,0x8F,0x17, 9487 1.1 jruoho 0xBE,0x12,0xC4,0xF6,0x80,0x12,0x0C,0x0B, 9488 1.1 jruoho 0x21,0x23,0xAB,0xF0,0x78,0xE8,0x28,0x7C, 9489 1.1 jruoho 0x95,0x38,0x9C,0xD3,0x8A,0x67,0x82,0xE1, 9490 1.1 jruoho 0x20,0xF4,0x05,0x90,0x00,0x51,0xE7,0x0C, 9491 1.1 jruoho 0xD4,0x61,0xC1,0xE7,0x04,0x76,0x33,0x38, 9492 1.1 jruoho 0x83,0x47,0x00,0x8F,0xE4,0x84,0xFC,0x2B, 9493 1.1 jruoho 0xF1,0xC0,0xE0,0x03,0xE2,0xEF,0x1F,0xA7, 9494 1.1 jruoho 0xEC,0x11,0x9C,0xA9,0x01,0x7D,0x1C,0xF0, 9495 1.1 jruoho 0xFF,0x7F,0x28,0x7C,0x88,0x1E,0xDF,0x29, 9496 1.1 jruoho 0x1F,0xAF,0x4F,0x17,0x96,0x35,0x4E,0xE8, 9497 1.1 jruoho 0x77,0x08,0x9F,0x38,0x7C,0x64,0x71,0x44, 9498 1.1 jruoho 0x08,0x39,0x39,0x05,0xA0,0x81,0x4F,0xF7, 9499 1.1 jruoho 0xEC,0x22,0x9C,0xAE,0x27,0xE5,0x40,0xC3, 9500 1.1 jruoho 0xA0,0xE3,0x04,0xC7,0x79,0x00,0x1C,0xE3, 9501 1.1 jruoho 0x84,0x7F,0x2E,0x80,0x3F,0x40,0x7E,0xCA, 9502 1.1 jruoho 0x78,0xC5,0x48,0xE0,0x98,0x23,0x44,0x9F, 9503 1.1 jruoho 0x6B,0x3C,0x42,0x2C,0xFC,0x53,0x45,0xE1, 9504 1.1 jruoho 0x03,0x21,0x63,0x04,0x17,0xA0,0xC7,0x08, 9505 1.1 jruoho 0x7C,0x03,0x8E,0x11,0x7D,0x94,0xE0,0xEA, 9506 1.1 jruoho 0x0F,0x1A,0x74,0x80,0xB8,0xFF,0xFF,0x00, 9507 1.1 jruoho 0xE1,0x83,0x7A,0x80,0xC0,0x37,0xFA,0xD1, 9508 1.1 jruoho 0x03,0x3D,0x2E,0x8B,0x3E,0x0F,0xC8,0xF8, 9509 1.1 jruoho 0x89,0x46,0xF3,0xE2,0xA7,0x03,0x7E,0xF8, 9510 1.1 jruoho 0x00,0x0F,0xA8,0x87,0x84,0x03,0xC5,0x4C, 9511 1.1 jruoho 0x9B,0x83,0x3E,0xBB,0x1C,0x3A,0x76,0xB8, 9512 1.1 jruoho 0xE0,0x3F,0x81,0x80,0x4B,0xDE,0x21,0x0C, 9513 1.1 jruoho 0x14,0x23,0xC6,0x9F,0x83,0x7C,0x0A,0x03, 9514 1.1 jruoho 0xFF,0xFF,0xFF,0x14,0x06,0xFE,0xE1,0xF0, 9515 1.1 jruoho 0x20,0x4F,0x07,0x9F,0xB6,0xA8,0x74,0x18, 9516 1.1 jruoho 0xD4,0x81,0x0B,0xB0,0x32,0x89,0x08,0xCF, 9517 1.1 jruoho 0x12,0xB5,0x41,0xE8,0xD4,0xF0,0x36,0xF1, 9518 1.1 jruoho 0xB6,0xE5,0x5B,0x40,0x9C,0xD3,0xEC,0xED, 9519 1.1 jruoho 0xC0,0x45,0x30,0x22,0xD4,0x0C,0x45,0x4E, 9520 1.1 jruoho 0x5A,0x11,0x63,0x44,0x79,0xDC,0x32,0xCA, 9521 1.1 jruoho 0xDB,0xD6,0x0B,0x40,0xBC,0x13,0x7B,0xDE, 9522 1.1 jruoho 0x32,0x46,0xF0,0xC8,0x0F,0x5C,0x2C,0xC6, 9523 1.1 jruoho 0xEA,0xF5,0x5F,0xF3,0x81,0x0B,0x70,0xF6, 9524 1.1 jruoho 0xFF,0x3F,0x70,0x01,0x1C,0x0A,0x7A,0x18, 9525 1.1 jruoho 0x42,0x0F,0xC3,0x53,0x39,0x97,0x87,0xC8, 9526 1.1 jruoho 0x53,0x89,0x18,0x35,0x4C,0xD4,0x67,0x28, 9527 1.1 jruoho 0xDF,0x2D,0x7C,0x20,0x02,0xDF,0x99,0x0B, 9528 1.1 jruoho 0xF8,0xFD,0xFF,0x0F,0x44,0x70,0x8E,0x29, 9529 1.1 jruoho 0xB8,0x33,0x0D,0x78,0x7C,0xCE,0x40,0x20, 9530 1.1 jruoho 0xA7,0xE2,0x43,0x0D,0x60,0x41,0xF4,0x13, 9531 1.1 jruoho 0xC2,0x27,0x1A,0x2A,0x13,0x06,0x75,0xA8, 9532 1.1 jruoho 0x01,0xAC,0x5C,0x61,0x9E,0x46,0xCF,0xF9, 9533 1.1 jruoho 0x59,0xC6,0xA7,0x1A,0x1F,0x4A,0x8D,0x63, 9534 1.1 jruoho 0x88,0x97,0x99,0x87,0x1A,0x1F,0x0B,0x5E, 9535 1.1 jruoho 0x49,0x7D,0xA8,0x31,0x54,0x9C,0x87,0x1A, 9536 1.1 jruoho 0x0F,0x37,0x50,0xD4,0x37,0x9B,0x67,0x1B, 9537 1.1 jruoho 0xA3,0xC7,0xF7,0x0D,0xD5,0x10,0x0F,0x35, 9538 1.1 jruoho 0x4C,0xF2,0x4A,0x35,0x16,0x1F,0x6A,0xC0, 9539 1.1 jruoho 0xF1,0xFF,0x3F,0xD4,0x00,0xFC,0xFF,0xFF, 9540 1.1 jruoho 0x1F,0x6A,0x00,0x47,0x47,0x03,0x38,0x47, 9541 1.1 jruoho 0x46,0xDC,0xD1,0x00,0x5C,0x87,0x52,0xE0, 9542 1.1 jruoho 0x70,0x34,0x00,0x1E,0x47,0x21,0x30,0x5F, 9543 1.1 jruoho 0x68,0x7C,0x14,0x02,0x16,0xFF,0xFF,0xA3, 9544 1.1 jruoho 0x10,0xF8,0x65,0x9F,0x83,0x50,0x42,0x8F, 9545 1.1 jruoho 0x42,0x80,0xA0,0xDB,0xCF,0x53,0xC4,0xB3, 9546 1.1 jruoho 0x8F,0x2F,0x3F,0x0F,0x04,0x11,0x5E,0xF3, 9547 1.1 jruoho 0x7D,0x0A,0xF2,0x21,0xDF,0x47,0x21,0x06, 9548 1.1 jruoho 0x63,0x28,0x5F,0x83,0x7C,0x14,0x62,0x50, 9549 1.1 jruoho 0xAF,0x41,0xBE,0xEF,0x1B,0xE4,0xF1,0x22, 9550 1.1 jruoho 0x48,0xEC,0x67,0x02,0x1F,0x85,0x98,0xE8, 9551 1.1 jruoho 0xA3,0x10,0xA0,0xF0,0xFF,0x7F,0x14,0x02, 9552 1.1 jruoho 0xF8,0xFF,0xFF,0x3F,0x0A,0x01,0xCE,0x02, 9553 1.1 jruoho 0x1C,0x0D,0x40,0x37,0xAD,0x47,0x21,0xF0, 9554 1.1 jruoho 0xDE,0x59,0x4E,0xFB,0x04,0x7C,0x16,0x02, 9555 1.1 jruoho 0xCC,0xFE,0xFF,0xCF,0x42,0xC0,0xEC,0x28, 9556 1.1 jruoho 0x74,0x14,0x67,0xF9,0x2A,0xF4,0x04,0xF0, 9557 1.1 jruoho 0x02,0x10,0x23,0xCC,0x3B,0xD0,0x4B,0x26, 9558 1.1 jruoho 0xBB,0x8B,0x1B,0xE7,0xC9,0xE5,0x2C,0x9E, 9559 1.1 jruoho 0xC4,0x7D,0x09,0xF2,0x81,0xE2,0x59,0xC8, 9560 1.1 jruoho 0x50,0xA7,0x1B,0xF4,0x8D,0xDC,0x03,0x8B, 9561 1.1 jruoho 0x19,0x3F,0xC4,0xF3,0x90,0x21,0x9E,0x85, 9562 1.1 jruoho 0x00,0x76,0xFD,0xFF,0xCF,0x42,0x00,0xFF, 9563 1.1 jruoho 0xFF,0xFF,0x47,0x03,0xF8,0x2F,0x00,0x9F, 9564 1.1 jruoho 0x85,0x80,0xE7,0x09,0xE0,0x41,0xDB,0x67, 9565 1.1 jruoho 0x21,0x80,0x33,0x87,0xCB,0xF3,0x7F,0x05, 9566 1.1 jruoho 0x3A,0x96,0xF7,0x08,0xCF,0xFA,0x24,0x5F, 9567 1.1 jruoho 0x2F,0x3D,0xD3,0x87,0x82,0x67,0x21,0x86, 9568 1.1 jruoho 0x75,0x18,0x3E,0x0B,0x31,0x88,0x17,0x4D, 9569 1.1 jruoho 0x43,0xBC,0x70,0xFA,0x30,0xE0,0xFF,0x3F, 9570 1.1 jruoho 0x5E,0xE0,0x57,0x4E,0x03,0x05,0x09,0xF4, 9571 1.1 jruoho 0x2C,0x04,0x30,0xFE,0xFF,0x7F,0x16,0x02, 9572 1.1 jruoho 0xC8,0xB8,0x46,0x9D,0x85,0x80,0xE5,0x6D, 9573 1.1 jruoho 0xE5,0x19,0xDB,0xA7,0x95,0x04,0xFF,0xFF, 9574 1.1 jruoho 0x67,0x21,0xC0,0x41,0x2E,0x23,0x07,0x21, 9575 1.1 jruoho 0x4C,0xC4,0x87,0x83,0x8F,0x99,0x80,0x9E, 9576 1.1 jruoho 0x29,0xBE,0xB8,0x1B,0xE3,0x09,0xE0,0x45, 9577 1.1 jruoho 0xE2,0x31,0x93,0x1D,0x35,0x0D,0xF3,0x2C, 9578 1.1 jruoho 0x64,0xBC,0xB3,0x78,0x0D,0x78,0x82,0xF7, 9579 1.1 jruoho 0xE4,0x9F,0x85,0x18,0xD8,0x61,0x05,0x7B, 9580 1.1 jruoho 0x14,0x32,0xA8,0xC1,0x63,0x87,0x08,0x13, 9581 1.1 jruoho 0xE8,0x59,0x88,0xC5,0x7D,0xAE,0xE8,0x3C, 9582 1.1 jruoho 0xE1,0xB3,0x10,0xF0,0xFE,0xFF,0x9F,0x25, 9583 1.1 jruoho 0xE0,0x5E,0x0D,0x9E,0x85,0x00,0x13,0x87, 9584 1.1 jruoho 0x0D,0x9F,0x35,0xC0,0x33,0x7C,0x8F,0xEA, 9585 1.1 jruoho 0x1C,0x1E,0x8F,0x81,0x7F,0x56,0x1D,0xE7, 9586 1.1 jruoho 0x04,0x96,0x7B,0xD1,0xB2,0x71,0xA0,0xA1, 9587 1.1 jruoho 0x23,0xB2,0x3A,0x20,0x8D,0x0D,0x73,0x29, 9588 1.1 jruoho 0x89,0x7C,0x72,0x6C,0xD4,0x56,0x04,0xA7, 9589 1.1 jruoho 0x33,0x93,0x4F,0x00,0xD6,0x42,0x21,0x05, 9590 1.1 jruoho 0x34,0x1A,0x8B,0xE1,0x9D,0xF9,0xE8,0x44, 9591 1.1 jruoho 0x41,0x0C,0xE8,0xE3,0x90,0x6D,0x1C,0x0A, 9592 1.1 jruoho 0x50,0x7B,0xD1,0x14,0xC8,0x39,0x07,0xA3, 9593 1.1 jruoho 0x7F,0x76,0x74,0x36,0xBE,0x13,0x70,0x0D, 9594 1.1 jruoho 0x10,0x3A,0x25,0x18,0xDA,0x6A,0x04,0xFC, 9595 1.1 jruoho 0xFF,0x67,0x89,0x01,0x33,0xFE,0x53,0x8C, 9596 1.1 jruoho 0x09,0x7C,0x8E,0xC1,0x1F,0x0C,0xF0,0x03, 9597 1.1 jruoho 0x7F,0x31,0xA8,0xFA,0x5E,0xA0,0xFB,0x82, 9598 1.1 jruoho 0xD5,0xDD,0x64,0x20,0xCC,0xC8,0x04,0xF5, 9599 1.1 jruoho 0x9D,0x0E,0x40,0x01,0xE4,0x0B,0x81,0xCF, 9600 1.1 jruoho 0x51,0x0F,0x05,0x6C,0x22,0x21,0xC2,0x44, 9601 1.1 jruoho 0x33,0x3A,0x62,0xC2,0xA8,0xE8,0x13,0xA6, 9602 1.1 jruoho 0x20,0x9E,0xB0,0x63,0x4D,0x18,0x3D,0x13, 9603 1.1 jruoho 0x5F,0x74,0xD8,0x88,0x31,0x21,0xAE,0x1E, 9604 1.1 jruoho 0xD0,0x26,0x18,0xD4,0x97,0x22,0x58,0x43, 9605 1.1 jruoho 0xE6,0x63,0xF1,0x05,0x02,0x37,0x65,0x30, 9606 1.1 jruoho 0xCE,0x89,0x5D,0x13,0x7C,0xD9,0xC1,0xCD, 9607 1.1 jruoho 0x19,0x8C,0xF0,0x98,0xBB,0x18,0xBF,0x3A, 9608 1.1 jruoho 0x79,0x74,0xFC,0xA0,0xE0,0x1B,0x0E,0xC3, 9609 1.1 jruoho 0x7E,0x32,0xF3,0x8C,0xDE,0xCB,0x7C,0x8D, 9610 1.1 jruoho 0xC3,0xC0,0x7A,0xBC,0x1C,0xD6,0x68,0x61, 9611 1.1 jruoho 0x0F,0xED,0x3D,0xC4,0xFF,0xFF,0x43,0x8C, 9612 1.1 jruoho 0xCF,0x13,0xC6,0x08,0xEB,0xDB,0x0B,0x38, 9613 1.1 jruoho 0xEE,0x59,0xF0,0xEF,0x1A,0xE0,0xB9,0x84, 9614 1.1 jruoho 0xF8,0xAE,0x01,0x30,0xF0,0xFF,0x7F,0xD7, 9615 1.1 jruoho 0x00,0x4E,0xD7,0x04,0xDF,0x35,0x80,0xF7, 9616 1.1 jruoho 0xD0,0x7D,0xD7,0x00,0xAE,0xD9,0xEF,0x1A, 9617 1.1 jruoho 0xA8,0x63,0x80,0x15,0xDE,0x35,0xA0,0x5D, 9618 1.1 jruoho 0xD9,0xDE,0xD7,0x9E,0xB0,0xAC,0xE9,0xB2, 9619 1.1 jruoho 0x81,0x52,0x73,0xD9,0x00,0x14,0xFC,0xFF, 9620 1.1 jruoho 0x2F,0x1B,0x80,0x01,0x29,0x13,0x46,0x85, 9621 1.1 jruoho 0x9F,0x30,0x05,0xF1,0x84,0x1D,0xEC,0xB2, 9622 1.1 jruoho 0x01,0x8A,0x18,0x97,0x0D,0xD0,0x8F,0xED, 9623 1.1 jruoho 0x65,0x03,0x18,0xDC,0x13,0xF8,0x6D,0x03, 9624 1.1 jruoho 0x78,0x43,0xFA,0xB6,0x01,0xD6,0xFF,0xFF, 9625 1.1 jruoho 0x6D,0x03,0xAC,0xF9,0x6F,0x1B,0x28,0x0E, 9626 1.1 jruoho 0xAB,0xBC,0x6D,0x40,0x3C,0xC9,0x33,0x02, 9627 1.1 jruoho 0xAB,0xBA,0x6E,0xA0,0xF4,0x5C,0x37,0x00, 9628 1.1 jruoho 0x12,0x88,0x99,0x30,0x2A,0xFE,0x84,0x29, 9629 1.1 jruoho 0x88,0x27,0xEC,0x68,0xD7,0x0D,0x50,0x04, 9630 1.1 jruoho 0xB9,0x6E,0x80,0x7E,0x5E,0x09,0xFE,0xFF, 9631 1.1 jruoho 0xAF,0x1B,0xC0,0xE0,0xA2,0x80,0xB9,0x6F, 9632 1.1 jruoho 0x00,0x6F,0x58,0x7E,0xDF,0x00,0x7C,0xDC, 9633 1.1 jruoho 0xC4,0x31,0xF7,0x0D,0xC0,0xCC,0xFF,0xFF, 9634 1.1 jruoho 0xBE,0x01,0xB0,0xE7,0xA2,0x80,0xBB,0x6F, 9635 1.1 jruoho 0x00,0xEF,0x8B,0xB4,0xEF,0x1B,0x60,0xFE, 9636 1.1 jruoho 0xFF,0xDF,0x37,0xC0,0x28,0x6D,0xFD,0x1E, 9637 1.1 jruoho 0x1C,0x3D,0x21,0x78,0x7C,0xB8,0xFB,0xA5, 9638 1.1 jruoho 0xC7,0xE7,0xBB,0x39,0x38,0x06,0x79,0x8C, 9639 1.1 jruoho 0x87,0x76,0xC0,0xAF,0xEF,0x9E,0x98,0xEF, 9640 1.1 jruoho 0xE6,0xC0,0xFF,0x4C,0x70,0x3C,0x18,0x68, 9641 1.1 jruoho 0x1C,0x62,0xAB,0x97,0x06,0x72,0x34,0x38, 9642 1.1 jruoho 0x3F,0xDC,0x19,0x81,0x61,0x15,0x7F,0xF2, 9643 1.1 jruoho 0x47,0x38,0xC7,0xD0,0xD9,0xE1,0x20,0xB1, 9644 1.1 jruoho 0x83,0xE0,0xC1,0x56,0x6D,0x02,0x85,0x86, 9645 1.1 jruoho 0x50,0x14,0x18,0x14,0x8B,0x0F,0x18,0xF8, 9646 1.1 jruoho 0x61,0xB3,0xB3,0x00,0x93,0x04,0x87,0x3A, 9647 1.1 jruoho 0x02,0xF8,0x3E,0xD1,0xFC,0x38,0x74,0x37, 9648 1.1 jruoho 0x38,0x54,0x8F,0xE5,0xA1,0x80,0x9E,0x01, 9649 1.1 jruoho 0x71,0xC7,0x0C,0x32,0x69,0xCF,0x28,0xE2, 9650 1.1 jruoho 0x53,0xC2,0x29,0x85,0x49,0xE0,0xF3,0x03, 9651 1.1 jruoho 0x43,0xE3,0x04,0xAF,0x0D,0xA1,0xF9,0xFF, 9652 1.1 jruoho 0xFF,0xA4,0xC0,0x3C,0xDF,0x31,0x04,0x6C, 9653 1.1 jruoho 0x02,0xBB,0xBF,0x64,0xC8,0xDA,0xC0,0x75, 9654 1.1 jruoho 0x4B,0x32,0x44,0x6F,0x38,0xB2,0x85,0xA2, 9655 1.1 jruoho 0xE9,0x44,0x79,0xDF,0x88,0x62,0x67,0x08, 9656 1.1 jruoho 0xC2,0x88,0x12,0x2C,0xC8,0xA3,0x42,0xAC, 9657 1.1 jruoho 0x28,0x2F,0x05,0x46,0x88,0x18,0xE2,0x95, 9658 1.1 jruoho 0x23,0xD0,0x09,0x87,0x0F,0xF2,0xD8,0x14, 9659 1.1 jruoho 0xA7,0xFD,0x41,0x90,0x58,0x4F,0x02,0x8D, 9660 1.1 jruoho 0xC5,0x91,0x46,0x83,0x3A,0x07,0x78,0xB8, 9661 1.1 jruoho 0x3E,0xC4,0x78,0xF8,0x0F,0x21,0x06,0x39, 9662 1.1 jruoho 0xC8,0x73,0x7B,0x54,0x38,0x4E,0x5F,0x25, 9663 1.1 jruoho 0x4C,0xF0,0x02,0xE0,0x83,0x0A,0x1C,0xD7, 9664 1.1 jruoho 0x80,0x9A,0xF1,0x33,0x06,0x58,0x8E,0xE3, 9665 1.1 jruoho 0x3E,0xA9,0xC0,0x1D,0x8F,0xEF,0x07,0x6C, 9666 1.1 jruoho 0xC2,0x09,0x2C,0x7F,0x10,0xA8,0xE3,0x0C, 9667 1.1 jruoho 0x9F,0xE7,0x0B,0x8B,0x21,0x1F,0x13,0x4C, 9668 1.1 jruoho 0x60,0xB1,0x27,0x1B,0x3A,0x1E,0xF0,0xDF, 9669 1.1 jruoho 0x63,0x1E,0x2F,0x7C,0x32,0xF1,0x7C,0x4D, 9670 1.1 jruoho 0x30,0x22,0x84,0x9C,0x8C,0x07,0x7D,0x87, 9671 1.1 jruoho 0xC0,0x5C,0x6F,0xD8,0xB9,0x85,0x8B,0x3A, 9672 1.1 jruoho 0x68,0xA0,0x4E,0x0B,0x3E,0x28,0xB0,0x9B, 9673 1.1 jruoho 0x11,0xE6,0xB8,0xCE,0xCF,0x2A,0x60,0xF8, 9674 1.1 jruoho 0xFF,0x9F,0x55,0x60,0x8F,0x10,0xFE,0xED, 9675 1.1 jruoho 0xC1,0xF3,0xF2,0x95,0xE1,0xD5,0x21,0x81, 9676 1.1 jruoho 0x43,0x8E,0x10,0x3D,0x2E,0x8F,0x10,0x73, 9677 1.1 jruoho 0x3E,0xC2,0x0C,0x11,0x5C,0x67,0x01,0x70, 9678 1.1 jruoho 0x0C,0x11,0xF8,0x1C,0x70,0xC0,0x71,0x69, 9679 1.1 jruoho 0xE2,0x03,0xF5,0x01,0x07,0x70,0x70,0x4D, 9680 1.1 jruoho 0xC3,0x1D,0x70,0xC0,0x71,0x16,0x60,0xFF, 9681 1.1 jruoho 0xFF,0xC3,0x0D,0x2C,0x49,0x26,0x0E,0x23, 9682 1.1 jruoho 0x18,0x11,0x30,0x28,0x02,0x02,0xA4,0xB3, 9683 1.1 jruoho 0x80,0x0F,0x29,0x00,0x1F,0xAE,0x0C,0x0F, 9684 1.1 jruoho 0x29,0xD8,0x93,0x86,0x07,0x8E,0x1B,0x85, 9685 1.1 jruoho 0x07,0x8D,0x0B,0x30,0x68,0x7A,0xE2,0x80, 9686 1.1 jruoho 0x7F,0x4C,0xF0,0x19,0x05,0x1C,0xE3,0x06, 9687 1.1 jruoho 0xDF,0x2A,0x0C,0xFC,0xFF,0x3F,0x30,0xCC, 9688 1.1 jruoho 0xE1,0xC2,0x63,0x39,0x8A,0xA0,0x07,0x1E, 9689 1.1 jruoho 0xD4,0xF7,0x8C,0x33,0xF7,0x24,0x8F,0xD1, 9690 1.1 jruoho 0x51,0x0F,0x27,0xF4,0xE4,0x85,0x3B,0x57, 9691 1.1 jruoho 0xF9,0x0A,0x71,0x14,0x18,0xB8,0x77,0x29, 9692 1.1 jruoho 0x8F,0xCF,0x17,0x2B,0xC3,0x63,0x46,0xFB, 9693 1.1 jruoho 0x1E,0x72,0xD6,0x11,0x02,0xE2,0x2F,0x75, 9694 1.1 jruoho 0x6C,0xC0,0x60,0x39,0x18,0x00,0x87,0x01, 9695 1.1 jruoho 0xE3,0x13,0x0D,0x58,0x67,0x1B,0x3C,0xF4, 9696 1.1 jruoho 0x69,0x31,0xC4,0xE3,0x0B,0xFB,0x56,0x61, 9697 1.1 jruoho 0x82,0xEA,0x41,0x75,0x12,0xF4,0xD0,0xC0, 9698 1.1 jruoho 0x01,0xE8,0xA1,0xC1,0x3F,0xB9,0x90,0xFB, 9699 1.1 jruoho 0x2B,0x1D,0x82,0xB5,0xE2,0x69,0xDE,0x47, 9700 1.1 jruoho 0x1E,0xF3,0xDC,0xA2,0xBC,0x0D,0x3C,0x07, 9701 1.1 jruoho 0xF0,0xD3,0x82,0x87,0xE3,0x63,0x81,0xC7, 9702 1.1 jruoho 0xE9,0x4B,0x58,0x82,0xF7,0x1A,0x9F,0x6C, 9703 1.1 jruoho 0x1E,0x5C,0x58,0xB2,0x21,0xA0,0x06,0xEB, 9704 1.1 jruoho 0x21,0x60,0xA6,0x9A,0xC0,0x49,0x46,0x80, 9705 1.1 jruoho 0xCA,0x00,0xA1,0x1B,0xCB,0xE9,0x3E,0x8B, 9706 1.1 jruoho 0x84,0x38,0xCD,0x47,0x99,0xC7,0x02,0x8F, 9707 1.1 jruoho 0xF5,0xC1,0xC0,0xFF,0x7F,0xCD,0x23,0xD4, 9708 1.1 jruoho 0x7D,0xCD,0x33,0x7B,0x3A,0xC0,0xAC,0x22, 9709 1.1 jruoho 0xDC,0x7B,0xCE,0x1B,0x86,0xD1,0x9E,0x2D, 9710 1.1 jruoho 0x7C,0xCD,0x78,0xD6,0x34,0x42,0x38,0x76, 9711 1.1 jruoho 0x83,0xF3,0x48,0x8C,0xF0,0x82,0xC0,0x4E, 9712 1.1 jruoho 0x0C,0x0F,0x30,0xC6,0x39,0x79,0xC3,0xFA, 9713 1.1 jruoho 0xC2,0xCB,0x40,0x83,0x19,0xDB,0x97,0x01, 9714 1.1 jruoho 0x36,0x2A,0xDF,0x88,0xC0,0x97,0xFC,0x62, 9715 1.1 jruoho 0x00,0x65,0x16,0xBE,0x9E,0xF8,0xA0,0xC4, 9716 1.1 jruoho 0x2E,0x06,0x2C,0xE5,0xC5,0x00,0x54,0x37, 9717 1.1 jruoho 0x0C,0x5F,0x0C,0xE0,0x5F,0x89,0x5E,0x0C, 9718 1.1 jruoho 0xC0,0x70,0x71,0xF2,0x3D,0xC0,0x1E,0xEE, 9719 1.1 jruoho 0xA3,0x74,0x9C,0xBE,0xFD,0xBD,0x19,0xF8, 9720 1.1 jruoho 0x6C,0xC0,0x60,0x3C,0xC3,0x30,0xC6,0x08, 9721 1.1 jruoho 0xE3,0x51,0x86,0x31,0xC1,0xDC,0xB7,0x03, 9722 1.1 jruoho 0xE8,0x39,0x87,0x81,0x4A,0x78,0x3B,0x80, 9723 1.1 jruoho 0x72,0x0E,0xE8,0xF2,0x68,0x42,0x4F,0x01, 9724 1.1 jruoho 0x4F,0x07,0x3E,0x29,0x1A,0xA2,0xAF,0xB1, 9725 1.1 jruoho 0x0A,0x26,0x50,0xC4,0x07,0x0D,0x3E,0xB5, 9726 1.1 jruoho 0x28,0x3E,0x15,0x78,0x2D,0xCF,0x4E,0xE1, 9727 1.1 jruoho 0xE2,0x9C,0x89,0xA7,0x6A,0x38,0x03,0xBD, 9728 1.1 jruoho 0xE6,0x86,0x63,0xFF,0x7F,0x38,0xFC,0xA9, 9729 1.1 jruoho 0xE0,0x35,0x80,0x1D,0x24,0x3D,0x2D,0x23, 9730 1.1 jruoho 0xC2,0x38,0xA4,0x3C,0x32,0xF8,0xB6,0x18, 9731 1.1 jruoho 0xC7,0x90,0x0F,0x91,0xBE,0x13,0x18,0xF2, 9732 1.1 jruoho 0x21,0xEF,0x79,0xC7,0xC0,0xAF,0x08,0x71, 9733 1.1 jruoho 0x9E,0xB2,0x7C,0x67,0xF0,0x65,0x01,0x7C, 9734 1.1 jruoho 0x91,0x2E,0x0B,0x68,0x68,0x9F,0x64,0x7C, 9735 1.1 jruoho 0x41,0x30,0xEC,0x89,0xB3,0x00,0x77,0x05, 9736 1.1 jruoho 0x50,0x81,0xFA,0xAE,0x00,0xFF,0x42,0xF0, 9737 1.1 jruoho 0xAE,0x00,0x86,0x79,0xF9,0x56,0xC0,0x35, 9738 1.1 jruoho 0x1D,0x4A,0xD0,0x67,0x12,0x5F,0x17,0x70, 9739 1.1 jruoho 0x53,0x64,0xA9,0x8E,0x0A,0xD0,0x53,0x4C, 9740 1.1 jruoho 0x02,0x75,0x47,0xF7,0x51,0x01,0xC6,0x4D, 9741 1.1 jruoho 0xD9,0x07,0x54,0x76,0x5A,0x60,0x67,0x21, 9742 1.1 jruoho 0x76,0x1D,0xC1,0x5D,0x49,0x18,0xCA,0xB3, 9743 1.1 jruoho 0x81,0x2F,0x59,0xFC,0x70,0x00,0x03,0xDC, 9744 1.1 jruoho 0xB3,0x38,0xC4,0x08,0xB1,0xD9,0x81,0xEB, 9745 1.1 jruoho 0x75,0xD2,0x70,0x2F,0x44,0xEC,0xFF,0x7F, 9746 1.1 jruoho 0x32,0x00,0xE3,0x51,0x1B,0x1C,0x27,0x9D, 9747 1.1 jruoho 0xF0,0x91,0x9E,0x59,0xF8,0x49,0x19,0x30, 9748 1.1 jruoho 0x71,0xF2,0x03,0xE3,0xC9,0x1A,0xC6,0x00, 9749 1.1 jruoho 0xB8,0xBC,0x57,0x95,0x81,0xFC,0x43,0x90, 9750 1.1 jruoho 0x20,0x18,0xD4,0x29,0x19,0x38,0x1C,0xC5, 9751 1.1 jruoho 0x70,0xA7,0x64,0x78,0x50,0xF8,0xC3,0x00, 9752 1.1 jruoho 0xE6,0x46,0xE8,0x7B,0x82,0xA1,0xDE,0x93, 9753 1.1 jruoho 0x0E,0xE3,0x91,0xD0,0x04,0x3E,0x2D,0xC3, 9754 1.1 jruoho 0xFA,0xFF,0x9F,0x96,0x81,0xD5,0xB1,0xDD, 9755 1.1 jruoho 0x43,0xF6,0x59,0x01,0x77,0x76,0x80,0x3B, 9756 1.1 jruoho 0x3D,0x7E,0x7A,0x00,0x9C,0x00,0x3D,0x3D, 9757 1.1 jruoho 0x80,0xED,0xBC,0x01,0xF7,0x40,0x80,0x38, 9758 1.1 jruoho 0xFE,0xA3,0x82,0x5F,0x59,0x28,0x1C,0x3F, 9759 1.1 jruoho 0xB6,0xF3,0x63,0x09,0xEE,0x70,0xE0,0x23, 9760 1.1 jruoho 0x83,0x0F,0x90,0xB8,0xA1,0xF8,0x50,0x81, 9761 1.1 jruoho 0x3C,0x0B,0x80,0x62,0xF4,0x6C,0x04,0xEC, 9762 1.1 jruoho 0x06,0xF3,0xD2,0x12,0xE5,0xFF,0xFF,0xDE, 9763 1.1 jruoho 0xC0,0x4E,0x29,0xB8,0x83,0x00,0xF8,0x8E, 9764 1.1 jruoho 0x01,0xE0,0x1D,0x0C,0x97,0x35,0x66,0x94, 9765 1.1 jruoho 0x10,0x18,0x8D,0x19,0x77,0x08,0xE1,0x27, 9766 1.1 jruoho 0x02,0xDC,0x98,0x3D,0x6E,0x8F,0x19,0x77, 9767 1.1 jruoho 0x9C,0xE5,0xA3,0x7A,0xCA,0x08,0xE5,0x03, 9768 1.1 jruoho 0x07,0x3B,0x67,0xBC,0x11,0xF0,0xA1,0x03, 9769 1.1 jruoho 0x8F,0x03,0x0C,0xEE,0x48,0x01,0xC6,0xCB, 9770 1.1 jruoho 0x01,0x1B,0x3B,0xB8,0x83,0x90,0x53,0x20, 9771 1.1 jruoho 0x4B,0x87,0xD1,0xD8,0x71,0xB2,0x81,0x74, 9772 1.1 jruoho 0x8C,0xF1,0x21,0xD7,0x63,0xC7,0x0D,0xD6, 9773 1.1 jruoho 0x63,0xC7,0x1D,0x5F,0xB0,0xFF,0xFF,0xE3, 9774 1.1 jruoho 0x0B,0x18,0xC6,0xC0,0xC5,0x0F,0x03,0x7D, 9775 1.1 jruoho 0xF3,0xF3,0xE8,0x0C,0xEE,0x61,0xFB,0x04, 9776 1.1 jruoho 0x13,0xE3,0xF9,0x25,0xC4,0x23,0xCC,0x8B, 9777 1.1 jruoho 0x4B,0x84,0xA3,0x08,0xF2,0xE6,0x12,0xE7, 9778 1.1 jruoho 0xD5,0x20,0xCC,0x63,0x4B,0x94,0x10,0x11, 9779 1.1 jruoho 0x0E,0x26,0xCE,0x13,0x8C,0x11,0x0E,0x3C, 9780 1.1 jruoho 0x8A,0x21,0x22,0x9C,0x40,0x88,0x93,0x3E, 9781 1.1 jruoho 0xD9,0x20,0xE1,0x63,0x84,0x8D,0xF6,0x04, 9782 1.1 jruoho 0xC3,0xC7,0xC2,0xCF,0x2B,0x1E,0x3C,0x3F, 9783 1.1 jruoho 0xAD,0xF9,0x2E,0xE8,0xC9,0x9C,0xE3,0x43, 9784 1.1 jruoho 0x96,0xA7,0xF6,0x38,0xE9,0xC3,0x2C,0x6E, 9785 1.1 jruoho 0x50,0x0F,0x8E,0xEC,0xAE,0xE3,0xE3,0x35, 9786 1.1 jruoho 0xF6,0x14,0xE4,0x21,0xF0,0x13,0x81,0x2F, 9787 1.1 jruoho 0x88,0x9E,0xAC,0xEF,0x7A,0xEC,0x5E,0x66, 9788 1.1 jruoho 0x8C,0xEA,0xA7,0x80,0x3A,0xA6,0x9C,0xC1, 9789 1.1 jruoho 0x2B,0x04,0xBB,0xE7,0xF9,0x90,0xED,0xBB, 9790 1.1 jruoho 0x24,0x1B,0x05,0xEE,0x90,0xE0,0x33,0x12, 9791 1.1 jruoho 0x3F,0x55,0x78,0x18,0x1E,0x05,0x8C,0x19, 9792 1.1 jruoho 0xBC,0x23,0x1C,0x5A,0x88,0x03,0x7E,0xDF, 9793 1.1 jruoho 0x65,0x43,0x8D,0x71,0x7A,0x3E,0x7F,0xB0, 9794 1.1 jruoho 0x41,0xC0,0x87,0x3A,0x54,0x0F,0xF3,0xA8, 9795 1.1 jruoho 0x5E,0x0A,0x19,0xCE,0xD9,0xC1,0x1D,0x04, 9796 1.1 jruoho 0xF6,0xF8,0xE1,0x41,0xF0,0x9B,0x25,0x1F, 9797 1.1 jruoho 0x04,0x3B,0xDF,0xBC,0xC1,0x19,0xE4,0xFF, 9798 1.1 jruoho 0x7F,0x0C,0xB0,0xCF,0x54,0x3E,0x9A,0x20, 9799 1.1 jruoho 0x8E,0x80,0xE8,0xF3,0x87,0xC7,0xF0,0x26, 9800 1.1 jruoho 0xC7,0x87,0x83,0x3D,0x7A,0xE0,0x4E,0x22, 9801 1.1 jruoho 0x70,0x8F,0x5D,0x07,0xED,0x6B,0x9C,0x2F, 9802 1.1 jruoho 0x5A,0x30,0xEE,0x7B,0xCF,0x22,0xE0,0xC7, 9803 1.1 jruoho 0x78,0x6C,0x01,0xC7,0xA1,0x04,0xDC,0xC1, 9804 1.1 jruoho 0x8E,0x6B,0x1C,0x42,0x51,0x60,0x74,0x28, 9805 1.1 jruoho 0xC1,0xC5,0x00,0x12,0x8C,0x63,0x9C,0xD1, 9806 1.1 jruoho 0xD0,0x97,0x48,0x1F,0xD2,0xE0,0x0C,0x1A, 9807 1.1 jruoho 0xF6,0x3C,0x9F,0x50,0xB8,0x3D,0x01,0x8A, 9808 1.1 jruoho 0x4E,0x28,0x20,0xC3,0x7D,0x06,0xC1,0x9E, 9809 1.1 jruoho 0x10,0xF8,0x19,0x84,0xFD,0xFF,0x0F,0x8E, 9810 1.1 jruoho 0x1E,0xF7,0x7B,0xA3,0x4F,0x8D,0x6C,0xEE, 9811 1.1 jruoho 0x0F,0x01,0x27,0x70,0xEE,0xEC,0xD4,0x8C, 9812 1.1 jruoho 0x3B,0x33,0x60,0xCF,0x1F,0x1E,0x02,0x3F, 9813 1.1 jruoho 0x17,0x78,0xF8,0x1E,0x02,0x7E,0xF0,0x0F, 9814 1.1 jruoho 0xCC,0x06,0x07,0xE3,0x29,0xC2,0xD7,0x0E, 9815 1.1 jruoho 0x0E,0xCE,0x4F,0x03,0x06,0xE7,0xAF,0x50, 9816 1.1 jruoho 0x9F,0xE7,0x19,0x38,0xF6,0xD4,0xEB,0x7B, 9817 1.1 jruoho 0x87,0xE7,0xEB,0x43,0x05,0xFE,0xA6,0xE7, 9818 1.1 jruoho 0x43,0x05,0x38,0x0E,0x0F,0xFC,0xB0,0xC2, 9819 1.1 jruoho 0x86,0xF0,0x28,0x80,0x3F,0xB5,0xF8,0xF8, 9820 1.1 jruoho 0x17,0xE7,0x29,0x82,0xDD,0x46,0xB0,0x87, 9821 1.1 jruoho 0x0B,0xC0,0x51,0xB4,0xB3,0x18,0x2A,0xCC, 9822 1.1 jruoho 0x59,0x8C,0xFC,0xFF,0xCF,0x51,0xA8,0xB3, 9823 1.1 jruoho 0x18,0x3D,0x5C,0x00,0x2E,0x04,0x1F,0x0F, 9824 1.1 jruoho 0x40,0x73,0x10,0x78,0x5C,0xF0,0x85,0xE0, 9825 1.1 jruoho 0x48,0x0E,0xE4,0xE9,0x00,0xF0,0x19,0x4A, 9826 1.1 jruoho 0xC3,0xA1,0x09,0x13,0x03,0x06,0x75,0x3E, 9827 1.1 jruoho 0xF0,0x09,0xC5,0xC7,0x0E,0x7E,0x36,0xF0, 9828 1.1 jruoho 0x8D,0xDC,0x43,0xE5,0xA7,0x66,0x5F,0xF2, 9829 1.1 jruoho 0x11,0xE0,0x02,0x75,0xA0,0x61,0xA0,0x46, 9830 1.1 jruoho 0xE4,0x23,0xD2,0xFF,0xFF,0xB9,0x0D,0x1B, 9831 1.1 jruoho 0x60,0x68,0xF4,0x1C,0x0E,0xE3,0x80,0xEB, 9832 1.1 jruoho 0x73,0x38,0x76,0x40,0x3E,0x87,0xC3,0x3F, 9833 1.1 jruoho 0x47,0xC3,0x1F,0x1B,0x3B,0xDD,0xF3,0x81, 9834 1.1 jruoho 0xC1,0xBA,0x7E,0x63,0x06,0x06,0xB6,0x6F, 9835 1.1 jruoho 0x91,0x07,0x06,0x1C,0x51,0xCF,0xC6,0x57, 9836 1.1 jruoho 0x08,0x0F,0x0C,0x6C,0x80,0x1E,0x18,0xF0, 9837 1.1 jruoho 0x89,0x05,0x21,0x27,0x03,0x43,0x9D,0x32, 9838 1.1 jruoho 0x8C,0x1C,0xF3,0x89,0xC3,0xC3,0xF0,0xA1, 9839 1.1 jruoho 0x22,0xEA,0x33,0xC0,0x23,0x1E,0x1B,0x1B, 9840 1.1 jruoho 0xFB,0xFF,0x8F,0x0D,0x2C,0xC7,0x16,0x8F, 9841 1.1 jruoho 0x0D,0xFC,0x47,0x78,0xFC,0xD8,0xE0,0x8C, 9842 1.1 jruoho 0xE5,0xD1,0xC4,0x97,0x99,0x23,0x3B,0x8D, 9843 1.1 jruoho 0x33,0x7B,0x0D,0xF1,0xD1,0xEE,0xF1,0xDB, 9844 1.1 jruoho 0x63,0x03,0x97,0x85,0xB1,0x01,0xA5,0x90, 9845 1.1 jruoho 0x63,0x43,0x1F,0x52,0x7C,0x0A,0xB0,0x71, 9846 1.1 jruoho 0x54,0x32,0x0F,0x1F,0xAF,0x7C,0x62,0x38, 9847 1.1 jruoho 0xBA,0x20,0x6F,0xE8,0xBE,0x5C,0xF8,0x48, 9848 1.1 jruoho 0x63,0x30,0x5F,0x5A,0x7C,0x06,0xE5,0x43, 9849 1.1 jruoho 0x04,0xD7,0x57,0xC5,0x43,0x04,0x3E,0xA1, 9850 1.1 jruoho 0x86,0x88,0x1E,0xCF,0xFF,0xFF,0x11,0xCC, 9851 1.1 jruoho 0x43,0x64,0x43,0x03,0xAF,0x87,0xA1,0x01, 9852 1.1 jruoho 0xA5,0x98,0xC0,0x5E,0x85,0x87,0x46,0x4F, 9853 1.1 jruoho 0x3F,0x3E,0x04,0x30,0x08,0xDF,0x06,0xD8, 9854 1.1 jruoho 0x55,0xC0,0x57,0x21,0x83,0x24,0x18,0xE7, 9855 1.1 jruoho 0x64,0x41,0x07,0x07,0x8E,0x21,0x79,0x70, 9856 1.1 jruoho 0xF0,0x07,0xE3,0x21,0x70,0x60,0xCF,0xE0, 9857 1.1 jruoho 0xB9,0xE8,0x31,0xD8,0xA7,0x1D,0x9F,0x4A, 9858 1.1 jruoho 0xC0,0x77,0xE6,0x04,0xC7,0xE9,0x1D,0x7B, 9859 1.1 jruoho 0x29,0xF0,0x08,0x1E,0xAD,0x3C,0x02,0x7E, 9860 1.1 jruoho 0xB4,0x02,0x66,0xFF,0xFF,0xA3,0x15,0x30, 9861 1.1 jruoho 0x09,0x7A,0xE6,0xA4,0x03,0x77,0x34,0x18, 9862 1.1 jruoho 0xD4,0xD1,0x0A,0x5C,0x11,0xC0,0x75,0xDC, 9863 1.1 jruoho 0xF0,0xD1,0x02,0xCE,0x50,0x0F,0xDA,0x07, 9864 1.1 jruoho 0x65,0xCF,0xDA,0x97,0x21,0x76,0xB4,0x00, 9865 1.1 jruoho 0x97,0x89,0x43,0x08,0xD0,0x04,0x3E,0x89, 9866 1.1 jruoho 0x67,0xEF,0x43,0x03,0xB3,0x8A,0xA1,0x01, 9867 1.1 jruoho 0xA5,0xA3,0x01,0xEE,0x44,0x81,0xFD,0xFF, 9868 1.1 jruoho 0x9F,0x28,0x60,0xDE,0x30,0x70,0x07,0x0A, 9869 1.1 jruoho 0xC0,0xCD,0xE9,0xDB,0xE3,0xE2,0xD0,0x38, 9870 1.1 jruoho 0xC4,0xE7,0xA7,0x73,0xF6,0xD1,0xE8,0x4C, 9871 1.1 jruoho 0x71,0x67,0x11,0x30,0x9C,0x7D,0x11,0x8F, 9872 1.1 jruoho 0x18,0x03,0xF9,0x81,0x21,0x59,0x30,0x28, 9873 1.1 jruoho 0x16,0x0F,0xC5,0x07,0x03,0x0E,0xEC,0x23, 9874 1.1 jruoho 0x02,0x3B,0x17,0xB0,0x73,0xAD,0xE1,0xF8, 9875 1.1 jruoho 0x59,0xC0,0xA7,0x84,0xB7,0xA6,0x17,0x7B, 9876 1.1 jruoho 0x9F,0xD7,0x7D,0xD6,0x08,0xC9,0xCE,0xF4, 9877 1.1 jruoho 0x3E,0x89,0xE2,0x0E,0xA2,0x70,0x4E,0x9F, 9878 1.1 jruoho 0xE0,0x22,0xF0,0x65,0xDF,0xA3,0xE0,0xA7, 9879 1.1 jruoho 0x07,0xCF,0xF1,0x8D,0xC1,0xA7,0x07,0xE6, 9880 1.1 jruoho 0x7E,0xF8,0x9A,0xF1,0x33,0xC3,0xE3,0x43, 9881 1.1 jruoho 0x88,0x27,0xE2,0xDA,0xA6,0x20,0x5B,0x18, 9882 1.1 jruoho 0x42,0x09,0xF4,0xFF,0x8F,0x10,0xE5,0x6D, 9883 1.1 jruoho 0x20,0xCA,0x29,0x44,0x88,0x12,0xA4,0xB1, 9884 1.1 jruoho 0xC9,0x0B,0x35,0xCA,0xD9,0x45,0x6E,0x6D, 9885 1.1 jruoho 0xF6,0x82,0x0B,0x14,0x2A,0x66,0x9C,0x28, 9886 1.1 jruoho 0xEF,0x10,0xB1,0xDA,0x1F,0x04,0x91,0xF4, 9887 1.1 jruoho 0x32,0xD0,0x71,0xC9,0x91,0x0E,0x7D,0xE8, 9888 1.1 jruoho 0x61,0xFB,0x04,0x8C,0x3F,0x48,0xE2,0xAE, 9889 1.1 jruoho 0x2A,0x3E,0x28,0xF8,0x00,0x80,0x77,0x09, 9890 1.1 jruoho 0xA8,0x5B,0x9D,0xC7,0xED,0xF3,0x06,0xF8, 9891 1.1 jruoho 0xAF,0x17,0x58,0x82,0xF2,0x07,0x81,0x1A, 9892 1.1 jruoho 0x99,0xA1,0x3D,0xCC,0xB7,0x19,0x43,0xBE, 9893 1.1 jruoho 0x07,0x1C,0x16,0x3B,0x27,0xF9,0xF0,0x08, 9894 1.1 jruoho 0x1C,0x8E,0x01,0x4F,0x1B,0xBE,0x51,0x7B, 9895 1.1 jruoho 0xBE,0x3E,0x62,0x01,0x8E,0xFE,0xFF,0x47, 9896 1.1 jruoho 0x2C,0x30,0x9D,0xDF,0x7D,0x82,0x01,0xC7, 9897 1.1 jruoho 0xCD,0x82,0x9F,0x61,0x00,0x67,0x40,0xCF, 9898 1.1 jruoho 0x30,0x60,0x1F,0x2A,0x6E,0x08,0x5C,0xEE, 9899 1.1 jruoho 0x8A,0x28,0x90,0x05,0xC2,0xA0,0x0E,0xFD, 9900 1.1 jruoho 0xE4,0x08,0x42,0xCF,0x9C,0x70,0x86,0x72, 9901 1.1 jruoho 0xB2,0xBD,0x5F,0x1D,0xC8,0x2D,0xC2,0x43, 9902 1.1 jruoho 0x3D,0x8B,0xC7,0x04,0x76,0xDA,0x02,0x36, 9903 1.1 jruoho 0xFF,0xFF,0xE3,0x29,0xB0,0x98,0xF7,0xD3, 9904 1.1 jruoho 0x69,0x84,0x63,0x03,0xFB,0x71,0x0B,0x38, 9905 1.1 jruoho 0x1D,0xCC,0xE0,0xDC,0x7F,0xD8,0x2D,0x1A, 9906 1.1 jruoho 0x37,0x34,0xB0,0x0D,0xCC,0x43,0x03,0x3E, 9907 1.1 jruoho 0x27,0x47,0x30,0x9E,0x98,0xF8,0x55,0xE2, 9908 1.1 jruoho 0xE1,0x89,0x1F,0x43,0xC0,0xFA,0xFF,0x3F, 9909 1.1 jruoho 0x99,0x01,0xF6,0x84,0x1E,0xCB,0x50,0xD2, 9910 1.1 jruoho 0x4E,0x66,0x80,0xC0,0xFB,0xD8,0x3B,0xC3, 9911 1.1 jruoho 0x4B,0x83,0xE7,0x74,0xD2,0xCF,0x62,0x3E, 9912 1.1 jruoho 0x99,0x19,0x21,0x0A,0xBB,0x8F,0x19,0xAD, 9913 1.1 jruoho 0x37,0x14,0xCD,0x3C,0xE8,0x3B,0x99,0x51, 9914 1.1 jruoho 0x62,0x46,0x6A,0x0E,0x4C,0x48,0x11,0x0F, 9915 1.1 jruoho 0x27,0x4A,0x88,0x60,0xAF,0x13,0x6F,0x67, 9916 1.1 jruoho 0x4F,0x66,0x4C,0xD6,0xC9,0x0C,0x24,0xFF, 9917 1.1 jruoho 0xFF,0x93,0x19,0x98,0x5C,0x9F,0xCC,0x80, 9918 1.1 jruoho 0xCA,0x39,0x0A,0x7F,0x32,0x03,0x78,0x74, 9919 1.1 jruoho 0xC0,0xC2,0x9D,0xCC,0xC0,0xF2,0xFF,0x3F, 9920 1.1 jruoho 0xC4,0x00,0xCE,0xC7,0x0A,0x63,0x0C,0x3C, 9921 1.1 jruoho 0xDA,0xC1,0x0C,0x15,0xE6,0x6C,0x86,0x0E, 9922 1.1 jruoho 0x72,0x08,0xA1,0xC1,0x0E,0x21,0x50,0xE6, 9923 1.1 jruoho 0x72,0xA0,0xA7,0xF0,0x9A,0xE0,0x73,0x14, 9924 1.1 jruoho 0xD8,0x0F,0x67,0xC0,0xE1,0xD4,0x80,0x0F, 9925 1.1 jruoho 0x74,0xE2,0x42,0x8F,0xC2,0x23,0x0E,0x58, 9926 1.1 jruoho 0xFD,0xC0,0xC8,0xFF,0xFF,0x64,0x06,0x18, 9927 1.1 jruoho 0x78,0x6A,0xF8,0x40,0x82,0x63,0x31,0xEA, 9928 1.1 jruoho 0x1B,0xC4,0x21,0xBE,0x8D,0xF8,0xE8,0xFE, 9929 1.1 jruoho 0x6A,0xE2,0x4B,0x00,0xE6,0x42,0xE2,0xD3, 9930 1.1 jruoho 0x09,0xB3,0x70,0x38,0x03,0x5A,0x43,0x60, 9931 1.1 jruoho 0x57,0x26,0xCF,0x9C,0x0F,0xE1,0x6C,0x3C, 9932 1.1 jruoho 0x7A,0xDC,0xE9,0x04,0xDE,0x38,0x7C,0x3A, 9933 1.1 jruoho 0x01,0x5E,0x07,0x0C,0xCC,0x0C,0xC2,0x3F, 9934 1.1 jruoho 0x84,0xB0,0x21,0x9C,0xAA,0xC7,0x70,0xEE, 9935 1.1 jruoho 0xAF,0x38,0x3E,0x9D,0x80,0xF3,0xFF,0x7F, 9936 1.1 jruoho 0x62,0x03,0x0C,0x0A,0x7E,0x32,0xF8,0xB8, 9937 1.1 jruoho 0x46,0x25,0xC2,0xA0,0x8E,0xE6,0x80,0x7B, 9938 1.1 jruoho 0x98,0x27,0x36,0x26,0x6F,0xC5,0x1A,0x8B, 9939 1.1 jruoho 0x4F,0x6C,0x30,0xFF,0xFF,0x27,0x36,0x80, 9940 1.1 jruoho 0xD1,0x87,0x20,0xB0,0xFD,0xFF,0x0F,0x41, 9941 1.1 jruoho 0x60,0x1C,0xA0,0x0F,0x41,0x80,0x9B,0xD3, 9942 1.1 jruoho 0x09,0xEE,0xC4,0x07,0xB6,0x63,0x10,0x60, 9943 1.1 jruoho 0x6D,0xE8,0x3E,0x06,0x81,0xF9,0xFF,0x3F, 9944 1.1 jruoho 0x5A,0x98,0xA3,0xE0,0xC2,0x8E,0x7C,0x28, 9945 1.1 jruoho 0x29,0xA7,0x3E,0xB4,0x0C,0x20,0x69,0x38, 9946 1.1 jruoho 0xC9,0x01,0x9D,0xD3,0x3D,0x70,0x92,0x75, 9947 1.1 jruoho 0xEA,0x40,0x8F,0xC7,0xA0,0xAF,0x1C,0xBE, 9948 1.1 jruoho 0x12,0xF0,0x23,0x07,0x93,0x00,0xAA,0x41, 9949 1.1 jruoho 0xFA,0xCC,0x07,0x9C,0x8E,0x1C,0xE0,0x38, 9950 1.1 jruoho 0x26,0x05,0xC6,0xDE,0x0E,0xDE,0x22,0x3D, 9951 1.1 jruoho 0x89,0xA7,0xA1,0xE3,0x0C,0x51,0x38,0x26, 9952 1.1 jruoho 0x39,0x18,0x44,0x7A,0x95,0x62,0x03,0x7C, 9953 1.1 jruoho 0xAB,0xF1,0xD9,0xC8,0x07,0x10,0x78,0xE3, 9954 1.1 jruoho 0xF6,0xD8,0x61,0xFF,0xFF,0x0F,0x75,0xC0, 9955 1.1 jruoho 0x01,0xE2,0xA4,0xF8,0x21,0xC3,0x98,0x67, 9956 1.1 jruoho 0xC5,0x0F,0x75,0x80,0xF5,0x18,0x27,0x3A, 9957 1.1 jruoho 0x94,0xF0,0x43,0x1D,0x20,0xE8,0xFF,0x7F, 9958 1.1 jruoho 0xA8,0x03,0x86,0x38,0x6F,0x24,0xD1,0x1E, 9959 1.1 jruoho 0xEA,0x98,0xE8,0x43,0x1D,0x40,0xC8,0xFF, 9960 1.1 jruoho 0xFF,0xA1,0x0E,0x18,0x9E,0x87,0x00,0xAE, 9961 1.1 jruoho 0x9C,0xEF,0xC0,0x7C,0x22,0x02,0xEF,0xFF, 9962 1.1 jruoho 0xFF,0x7C,0x07,0xB8,0x1B,0x2D,0xCC,0x51, 9963 1.1 jruoho 0x70,0x41,0xAF,0x0E,0x03,0x51,0x09,0x30, 9964 1.1 jruoho 0x28,0x02,0xC7,0x5F,0x9B,0x60,0x1C,0xEA, 9965 1.1 jruoho 0x7C,0x87,0x3E,0x2F,0x78,0xD8,0x4F,0x05, 9966 1.1 jruoho 0x9E,0xC4,0xA9,0xFA,0x5A,0x70,0x14,0x4F, 9967 1.1 jruoho 0x00,0x3E,0xE1,0x01,0xFF,0xA1,0xC1,0x9A, 9968 1.1 jruoho 0x44,0xF1,0x43,0x03,0xF5,0x11,0xE4,0xFF, 9969 1.1 jruoho 0x7F,0x68,0xC0,0x28,0xEA,0xF9,0x06,0x7D, 9970 1.1 jruoho 0xCC,0xF2,0xD9,0x20,0xE6,0x0B,0x48,0x84, 9971 1.1 jruoho 0x07,0x10,0x5F,0x1F,0xD8,0x71,0xD2,0x67, 9972 1.1 jruoho 0xA0,0x40,0x51,0xDE,0x37,0xF8,0x09,0x07, 9973 1.1 jruoho 0x5C,0x83,0xF3,0x09,0x07,0xBC,0x87,0x23, 9974 1.1 jruoho 0x1F,0x4B,0xC0,0x77,0xD0,0x84,0x73,0x81, 9975 1.1 jruoho 0xF1,0x8D,0x8D,0x9D,0x06,0xC0,0x76,0x00, 9976 1.1 jruoho 0x06,0xDF,0x69,0x00,0x1C,0xC7,0x24,0x7E, 9977 1.1 jruoho 0x3A,0x04,0x13,0xCC,0xC1,0xBC,0x34,0xFB, 9978 1.1 jruoho 0xFF,0xEF,0xFD,0x94,0x43,0xCF,0x86,0x80, 9979 1.1 jruoho 0x75,0x49,0x07,0x43,0x94,0x88,0xB3,0x21, 9980 1.1 jruoho 0x20,0xFD,0xFF,0x7F,0x36,0xC4,0x20,0xC4, 9981 1.1 jruoho 0x09,0xFC,0x12,0xD1,0xDC,0xD9,0x90,0xAE, 9982 1.1 jruoho 0xD8,0x67,0x43,0x80,0xE1,0xFF,0xFF,0x23, 9983 1.1 jruoho 0x00,0xF6,0x7C,0x04,0x38,0x3D,0x64,0x83, 9984 1.1 jruoho 0xE7,0x14,0x08,0xE3,0xE4,0x03,0x38,0xFE, 9985 1.1 jruoho 0xFF,0x8F,0x15,0xE6,0x18,0x78,0xEA,0x97, 9986 1.1 jruoho 0x9B,0x8F,0x03,0x54,0xD4,0x2B,0xC2,0x30, 9987 1.1 jruoho 0x94,0xC5,0x87,0x05,0x1F,0x11,0xF8,0x61, 9988 1.1 jruoho 0xC1,0x23,0xA8,0x78,0x9C,0xF4,0x74,0xE3, 9989 1.1 jruoho 0x33,0x21,0x3B,0x24,0x38,0xFC,0x20,0xE9, 9990 1.1 jruoho 0x41,0x13,0x3C,0xE7,0x23,0x78,0xB7,0x1E, 9991 1.1 jruoho 0x38,0xA7,0x02,0xC0,0x4D,0xAE,0x27,0xA3, 9992 1.1 jruoho 0x4E,0x17,0x0E,0x70,0x8E,0x92,0x8D,0x63, 9993 1.1 jruoho 0x08,0xE5,0x70,0xCC,0xB7,0x87,0xA6,0xC9, 9994 1.1 jruoho 0x4E,0x56,0x30,0x63,0x41,0xEA,0x24,0xE0, 9995 1.1 jruoho 0x01,0x38,0x10,0x8C,0xB4,0x93,0x68,0x34, 9996 1.1 jruoho 0x86,0xB3,0x5A,0x18,0xC1,0x19,0xC4,0xC7, 9997 1.1 jruoho 0x11,0xE7,0x3A,0x19,0xA1,0x3F,0x07,0x3E, 9998 1.1 jruoho 0x15,0x61,0x82,0xDC,0x4B,0xE8,0xBC,0x7D, 9999 1.1 jruoho 0x37,0xE0,0x57,0x61,0x8F,0xC5,0xFF,0x7F, 10000 1.1 jruoho 0x60,0xDF,0x4E,0xC0,0x31,0x17,0xAB,0x01, 10001 1.1 jruoho 0x45,0x0D,0xC0,0x68,0x98,0x53,0xC0,0x53, 10002 1.1 jruoho 0x09,0xB8,0x82,0xCD,0x0D,0x7D,0x61,0xB1, 10003 1.1 jruoho 0xD6,0xA9,0xE8,0x14,0xF4,0x3E,0x70,0x70, 10004 1.1 jruoho 0xC0,0x63,0xF6,0x1E,0x1C,0x2C,0x34,0x0F, 10005 1.1 jruoho 0x0E,0x6C,0xD9,0x06,0x87,0x56,0x72,0x17, 10006 1.1 jruoho 0x21,0x87,0x0F,0xFC,0xEC,0x80,0x03,0xA0, 10007 1.1 jruoho 0x67,0x07,0x0B,0xC9,0xB3,0x03,0x9B,0xBE, 10008 1.1 jruoho 0xB3,0x08,0x28,0x70,0xFE,0xFF,0x11,0xDE, 10009 1.1 jruoho 0x3B,0x7C,0x6E,0x79,0xF6,0x60,0x63,0x78, 10010 1.1 jruoho 0x74,0x31,0x9A,0xD1,0xB9,0xA6,0xDB,0x04, 10011 1.1 jruoho 0x4A,0xC5,0x6D,0x82,0x82,0xF8,0x06,0xE0, 10012 1.1 jruoho 0x84,0x34,0xBA,0x75,0xE2,0x66,0x62,0xFC, 10013 1.1 jruoho 0x47,0x0C,0x1F,0x11,0x0E,0xE9,0x6C,0x4D, 10014 1.1 jruoho 0x30,0x0F,0xA4,0x9E,0x81,0xBE,0xB3,0xE1, 10015 1.1 jruoho 0x67,0x1F,0xF2,0xC1,0xC5,0xD3,0xF0,0xF5, 10016 1.1 jruoho 0x86,0xDC,0x3B,0xE8,0xB4,0x7D,0x66,0xC0, 10017 1.1 jruoho 0x1C,0x74,0x7D,0x9D,0x7A,0x83,0x27,0x57, 10018 1.1 jruoho 0x09,0xEA,0xE1,0x02,0x42,0x2F,0x34,0xBE, 10019 1.1 jruoho 0xDC,0x25,0x78,0xE0,0xF4,0xE9,0xEE,0xBD, 10020 1.1 jruoho 0x84,0x9D,0xF1,0x12,0xBC,0xE0,0x25,0x98, 10021 1.1 jruoho 0x77,0x10,0xA8,0x51,0x79,0x10,0x98,0xAB, 10022 1.1 jruoho 0x3C,0xCB,0x37,0x06,0x54,0xB2,0x8B,0x16, 10023 1.1 jruoho 0x3D,0xC3,0xBC,0xC3,0xF8,0x92,0xE0,0xEB, 10024 1.1 jruoho 0x87,0xCF,0x2D,0x5E,0xC0,0xEB,0x16,0x0C, 10025 1.1 jruoho 0x82,0x67,0xA0,0x57,0x17,0xDF,0xD9,0x0D, 10026 1.1 jruoho 0xFC,0x2A,0xF0,0x46,0x13,0x22,0x98,0x61, 10027 1.1 jruoho 0x0F,0xFF,0xDD,0xDD,0xA8,0xBE,0xE9,0x18, 10028 1.1 jruoho 0xEB,0x75,0xC4,0x23,0xE5,0xC7,0x96,0x03, 10029 1.1 jruoho 0x8A,0xF4,0xF2,0xE6,0x09,0xF8,0x2C,0xE3, 10030 1.1 jruoho 0x53,0xDD,0x49,0xF9,0x7A,0x68,0xF4,0x57, 10031 1.1 jruoho 0x08,0x1F,0x7E,0x8C,0xEC,0x73,0x0E,0x3B, 10032 1.1 jruoho 0xDF,0xB1,0x41,0x71,0xC4,0x07,0x86,0x97, 10033 1.1 jruoho 0x1A,0x4F,0x85,0x9D,0xBB,0x60,0x1C,0x1C, 10034 1.1 jruoho 0xD8,0xB1,0x08,0x73,0x7C,0x05,0xD7,0xC9, 10035 1.1 jruoho 0xE6,0xFF,0xFF,0xE4,0x00,0x6E,0x78,0xCC, 10036 1.1 jruoho 0xC1,0xD7,0xE7,0x0D,0xDF,0x0C,0x3C,0x2E, 10037 1.1 jruoho 0x7E,0xE4,0xF0,0x49,0xE3,0xA5,0xD3,0xD8, 10038 1.1 jruoho 0xA7,0xE9,0xA3,0xD1,0xCB,0x9B,0x4F,0x2F, 10039 1.1 jruoho 0x18,0x58,0x5F,0x1A,0x38,0xAC,0xD1,0xC2, 10040 1.1 jruoho 0x3E,0x06,0x9C,0xB9,0x2F,0x44,0xB8,0xC3, 10041 1.1 jruoho 0x23,0x58,0x00,0xF1,0xB7,0x92,0x47,0x0E, 10042 1.1 jruoho 0x4F,0xC0,0x80,0x4C,0xD3,0xBA,0x74,0x20, 10043 1.1 jruoho 0xE2,0xA7,0x3C,0x2B,0x5F,0x99,0x2E,0x43, 10044 1.1 jruoho 0x0C,0xE3,0xA9,0xF2,0xF1,0xC3,0xB3,0xF1, 10045 1.1 jruoho 0x51,0xC0,0xC7,0x28,0xCF,0xFC,0x8C,0x22, 10046 1.1 jruoho 0xBD,0x32,0x10,0x50,0x9D,0x88,0xB8,0x42, 10047 1.1 jruoho 0x18,0x89,0xA1,0xD1,0x9D,0x83,0xC7,0x1F, 10048 1.1 jruoho 0x22,0x05,0x31,0xA0,0x6F,0x2E,0xC0,0xF4, 10049 1.1 jruoho 0x4C,0x04,0x5C,0xFE,0xFF,0x37,0x17,0x80, 10050 1.1 jruoho 0xFF,0xFF,0xFF,0x9B,0x0B,0xE0,0xE6,0xFE, 10051 1.1 jruoho 0xE0,0x9B,0x0B,0x70,0x8D,0xB4,0x2A,0x7A, 10052 1.1 jruoho 0x61,0x77,0x08,0x18,0xD4,0x9D,0x1D,0x70, 10053 1.1 jruoho 0x78,0x2B,0x78,0x67,0x87,0xF5,0xFF,0xBF, 10054 1.1 jruoho 0xB3,0xC3,0xC3,0x8C,0x13,0xE5,0x85,0x21, 10055 1.1 jruoho 0xC6,0x3B,0x3B,0x0B,0xF0,0x26,0xD0,0x51, 10056 1.1 jruoho 0xC6,0x77,0x76,0x80,0x1F,0x67,0xD8,0x77, 10057 1.1 jruoho 0x69,0xF0,0x5E,0x75,0x81,0xF5,0xFF,0xFF, 10058 1.1 jruoho 0xAA,0x0B,0x3C,0x04,0xDF,0xA7,0x41,0x3E, 10059 1.1 jruoho 0x5E,0x30,0x8C,0x83,0x2B,0x27,0xA1,0xC7, 10060 1.1 jruoho 0x02,0x6B,0x85,0x41,0xDD,0xA9,0xC1,0xA5, 10061 1.1 jruoho 0x09,0x5C,0x17,0x5F,0x1F,0x6A,0x7C,0xA4, 10062 1.1 jruoho 0xC5,0x9F,0x2F,0x70,0x01,0x86,0x4C,0x4F, 10063 1.1 jruoho 0x65,0x30,0xAE,0x29,0x3E,0x95,0x61,0xEE, 10064 1.1 jruoho 0x0E,0x1E,0x90,0x8F,0x18,0xC0,0x67,0x15, 10065 1.1 jruoho 0x1E,0x18,0xEE,0xB4,0xE0,0x9B,0x92,0x41, 10066 1.1 jruoho 0xCF,0x31,0xA8,0x8F,0x3C,0x27,0xEF,0x7B, 10067 1.1 jruoho 0xC2,0xE3,0x84,0xA3,0x9E,0x83,0xE8,0xD8, 10068 1.1 jruoho 0xC0,0x71,0xDC,0xC0,0xFD,0xFF,0xC7,0x06, 10069 1.1 jruoho 0xEF,0x70,0x83,0x3B,0xE8,0xF8,0x62,0x70, 10070 1.1 jruoho 0x5C,0x18,0xB8,0xE7,0x02,0x0F,0xC3,0x37, 10071 1.1 jruoho 0x1D,0x8F,0x08,0x33,0xFE,0xD7,0x3F,0x23, 10072 1.1 jruoho 0x04,0xC4,0x5F,0x8C,0xD8,0x80,0xC1,0x78, 10073 1.1 jruoho 0x6B,0xF3,0xF5,0x0D,0x37,0x60,0x5F,0x1D, 10074 1.1 jruoho 0x7C,0xC1,0xF0,0x09,0xCC,0xE8,0x2F,0x30, 10075 1.1 jruoho 0x4F,0x62,0x3E,0x36,0x90,0x0B,0x1C,0x1D, 10076 1.1 jruoho 0x30,0x38,0x00,0x3D,0x60,0xF8,0x87,0x8B, 10077 1.1 jruoho 0x77,0x39,0x30,0x5C,0x05,0x7D,0x5C,0xF0, 10078 1.1 jruoho 0xB1,0xC7,0x8A,0xEE,0x72,0xE8,0x9B,0x9C, 10079 1.1 jruoho 0x61,0xE2,0x18,0xE2,0x0D,0x8C,0xDD,0x25, 10080 1.1 jruoho 0xC8,0x61,0x0E,0xEA,0x5D,0xC2,0x73,0xE0, 10081 1.1 jruoho 0x67,0x0B,0x9F,0xE0,0x7C,0xF3,0x09,0x71, 10082 1.1 jruoho 0xAA,0x8F,0x56,0xEF,0x01,0x3E,0x7A,0xBC, 10083 1.1 jruoho 0x77,0xF9,0xEC,0xC4,0x2E,0x02,0x3E,0x72, 10084 1.1 jruoho 0x19,0xC7,0xD3,0xF4,0x15,0xD0,0x43,0x36, 10085 1.1 jruoho 0xD8,0xAB,0x86,0x4F,0x60,0x3E,0xBA,0xE1, 10086 1.1 jruoho 0x8E,0x51,0x9E,0x89,0xA7,0xEF,0x3B,0x08, 10087 1.1 jruoho 0x3B,0x92,0x1C,0x75,0xA8,0x6B,0x7A,0x44, 10088 1.1 jruoho 0xF9,0xFF,0x9F,0xD0,0x81,0xF8,0xD6,0x06, 10089 1.1 jruoho 0xCE,0x68,0xF7,0x0F,0xF4,0x36,0x3D,0x32, 10090 1.1 jruoho 0xCC,0xD1,0x00,0xD6,0x25,0x04,0x5C,0x77, 10091 1.1 jruoho 0x0C,0x5F,0x42,0x80,0x4F,0xD0,0x4B,0x04, 10092 1.1 jruoho 0xFA,0x9A,0xE1,0xD1,0x3D,0x02,0x60,0xAE, 10093 1.1 jruoho 0x18,0xEC,0x58,0xE0,0xC3,0x86,0xAF,0x01, 10094 1.1 jruoho 0xEC,0x5E,0xE0,0x30,0xF7,0x08,0x50,0x81, 10095 1.1 jruoho 0x7A,0x78,0xF0,0xD5,0xDE,0x23,0x40,0x71, 10096 1.1 jruoho 0xB2,0xF4,0xA1,0xC1,0x03,0xB5,0xAA,0x33, 10097 1.1 jruoho 0x26,0x94,0x23,0x26,0x3F,0x9B,0xF9,0x26, 10098 1.1 jruoho 0x81,0xB9,0x5D,0xFA,0x26,0x01,0x37,0xCF, 10099 1.1 jruoho 0x2C,0x50,0x49,0x20,0xF4,0xFF,0xBF,0x49, 10100 1.1 jruoho 0xC0,0x85,0xE9,0xF2,0x32,0x43,0xE7,0x7F, 10101 1.1 jruoho 0xE0,0xBE,0xD5,0x79,0x84,0x3E,0x44,0x30, 10102 1.1 jruoho 0x94,0xF7,0x3C,0x9F,0xC2,0xF8,0x19,0xC2, 10103 1.1 jruoho 0x07,0x4C,0x76,0xA6,0xE0,0x67,0x4D,0xDC, 10104 1.1 jruoho 0x1D,0xC0,0x28,0x6F,0x9E,0x9E,0x00,0x3B, 10105 1.1 jruoho 0x7F,0x1A,0xF9,0xDD,0xE0,0x5D,0xC0,0xD3, 10106 1.1 jruoho 0xF7,0xBD,0x88,0x9F,0x28,0xC0,0x17,0xEC, 10107 1.1 jruoho 0x4E,0x07,0x05,0xFA,0x84,0x3C,0x22,0xA3, 10108 1.1 jruoho 0xFA,0x88,0xC0,0x2F,0x49,0x60,0x3C,0x92, 10109 1.1 jruoho 0xF8,0x40,0x01,0x84,0xEE,0x05,0xA8,0xD3, 10110 1.1 jruoho 0x07,0x47,0x3D,0xE3,0x17,0x54,0x63,0xBE, 10111 1.1 jruoho 0x5B,0x3D,0xC2,0x79,0x72,0x98,0xCB,0x01, 10112 1.1 jruoho 0x8B,0x73,0x4D,0x02,0xD5,0x71,0x97,0x8F, 10113 1.1 jruoho 0x0E,0xEE,0xB5,0x15,0xFB,0xFF,0x27,0x38, 10114 1.1 jruoho 0xB8,0x77,0x96,0x77,0x3E,0x43,0x79,0x90, 10115 1.1 jruoho 0xE0,0xBB,0xB6,0x82,0xE3,0xAA,0x06,0xE3, 10116 1.1 jruoho 0xD8,0xC2,0x2F,0x79,0x80,0x9D,0x61,0x71, 10117 1.1 jruoho 0xC1,0x7F,0x0F,0x03,0x51,0x89,0x30,0x28, 10118 1.1 jruoho 0x02,0xCB,0xBB,0xB7,0x52,0xF8,0x43,0x06, 10119 1.1 jruoho 0xE3,0x4D,0x81,0x4F,0x1A,0x3B,0x6A,0xE0, 10120 1.1 jruoho 0xFB,0xFF,0x1F,0x35,0xD8,0x86,0x8A,0xBB, 10121 1.1 jruoho 0x29,0x82,0x75,0xAA,0x98,0x21,0xF0,0x60, 10122 1.1 jruoho 0x0F,0x00,0x9F,0xAF,0x7C,0x06,0x50,0x14, 10123 1.1 jruoho 0x18,0xD4,0xA1,0x1D,0xCE,0x6D,0x18,0x70, 10124 1.1 jruoho 0x30,0x62,0xDC,0xA5,0x10,0xEE,0x94,0xDF, 10125 1.1 jruoho 0x51,0x62,0x3F,0x97,0xB3,0xE9,0xE2,0xAE, 10126 1.1 jruoho 0xE6,0x3E,0x9D,0xB0,0x0B,0x32,0x8C,0xB3, 10127 1.1 jruoho 0xC0,0x23,0xC0,0xAB,0x39,0xBF,0x20,0x3F, 10128 1.1 jruoho 0x17,0xBF,0x10,0x3C,0x26,0x85,0x78,0x53, 10129 1.1 jruoho 0x7A,0x25,0x36,0xC6,0x93,0x71,0x73,0xB7, 10130 1.1 jruoho 0x62,0x72,0xDE,0x79,0x41,0x36,0xC6,0xD1, 10131 1.1 jruoho 0x44,0x8C,0x72,0x6E,0x0F,0x03,0x91,0x5F, 10132 1.1 jruoho 0x90,0x7D,0x3F,0x79,0x21,0x88,0x18,0xCD, 10133 1.1 jruoho 0x10,0x41,0x9F,0x97,0x8D,0x15,0x28,0xDE, 10134 1.1 jruoho 0x0B,0x32,0x13,0xF8,0x56,0xD0,0xC1,0xC5, 10135 1.1 jruoho 0x17,0x64,0xEC,0xFF,0xFF,0x82,0x0C,0x30, 10136 1.1 jruoho 0xE2,0x64,0x04,0xF8,0x3C,0x71,0xE0,0xCE, 10137 1.1 jruoho 0x35,0x30,0xFE,0xFF,0x97,0x6A,0xD8,0x27, 10138 1.1 jruoho 0x1B,0xC0,0xD9,0xD0,0x7D,0xB2,0x01,0xF7, 10139 1.1 jruoho 0x68,0xE1,0x1D,0x4D,0x10,0x27,0x1B,0x0A, 10140 1.1 jruoho 0xE4,0xE0,0xEB,0xA2,0x70,0x3C,0xF4,0x49, 10141 1.1 jruoho 0x84,0x1E,0x9D,0x7C,0x94,0xC4,0x9D,0x19, 10142 1.1 jruoho 0x3C,0x91,0x77,0x16,0x8F,0xE2,0x65,0xD0, 10143 1.1 jruoho 0xF7,0x82,0x13,0x79,0x7D,0xB0,0x9C,0x63, 10144 1.1 jruoho 0x24,0xA8,0x46,0xE2,0xE3,0x03,0xFC,0xEB, 10145 1.1 jruoho 0x8B,0x8F,0x91,0xF0,0xF9,0xFC,0xC3,0xF2, 10146 1.1 jruoho 0x60,0x0C,0xF9,0xFF,0x7F,0x8A,0xC4,0x80, 10147 1.1 jruoho 0x3C,0xBB,0x3C,0x86,0xF0,0x0B,0x24,0xDC, 10148 1.1 jruoho 0xD3,0xCC,0x01,0x60,0x64,0x5D,0x1E,0xD1, 10149 1.1 jruoho 0x67,0x47,0x8E,0x11,0xD7,0x17,0x45,0x5F, 10150 1.1 jruoho 0x81,0x7D,0x10,0x38,0x9F,0xE7,0x44,0xB0, 10151 1.1 jruoho 0x8E,0x9A,0x1F,0x6D,0xF8,0xF8,0x39,0xF8, 10152 1.1 jruoho 0x5B,0xC1,0x03,0xA5,0x8F,0x45,0x21,0x1E, 10153 1.1 jruoho 0x91,0xF8,0x39,0x11,0x5C,0x26,0xCE,0x89, 10154 1.1 jruoho 0x40,0xE2,0xD0,0x0B,0xE3,0xB4,0x80,0x1B, 10155 1.1 jruoho 0x88,0xCF,0x94,0xD8,0x29,0x9F,0x08,0x3B, 10156 1.1 jruoho 0x97,0x60,0x46,0x07,0xAE,0xCB,0xBD,0x47, 10157 1.1 jruoho 0x07,0xFE,0x93,0x00,0x1E,0xEB,0xFF,0xFF, 10158 1.1 jruoho 0x78,0x07,0xBE,0x93,0xBA,0xEF,0x26,0xBE, 10159 1.1 jruoho 0xC8,0xF8,0x50,0xF4,0x7C,0x07,0xF8,0x0F, 10160 1.1 jruoho 0x77,0xB8,0x43,0xC5,0x39,0xDF,0x01,0xD2, 10161 1.1 jruoho 0xFE,0xFF,0xE7,0x3B,0x60,0x79,0xB6,0x7E, 10162 1.1 jruoho 0xBE,0x03,0xBB,0xC8,0xF3,0x1D,0x40,0xAC, 10163 1.1 jruoho 0xFF,0xFF,0xF9,0x0E,0xB0,0x73,0x46,0xC3, 10164 1.1 jruoho 0x9D,0xEF,0xC0,0x76,0xB4,0x01,0xCC,0x4D, 10165 1.1 jruoho 0xE3,0xD1,0x06,0xDC,0xC3,0x85,0x3D,0x0C, 10166 1.1 jruoho 0xAE,0xD0,0xA6,0x4F,0x8D,0x46,0xAD,0x1A, 10167 1.1 jruoho 0x94,0xA9,0x51,0xE6,0xFF,0xDF,0xA0,0x56, 10168 1.1 jruoho 0x9F,0x4A,0x8D,0x19,0xCB,0x0E,0xA5,0x80, 10169 1.1 jruoho 0x8F,0x0A,0x8D,0xCD,0xF2,0x28,0x04,0x62, 10170 1.1 jruoho 0x31,0xAF,0x06,0x81,0x38,0x2C,0x08,0x8D, 10171 1.1 jruoho 0xF4,0xCA,0x11,0x88,0x25,0x3F,0xFB,0x05, 10172 1.1 jruoho 0x62,0xB9,0x6F,0x06,0x81,0x38,0xE0,0x1B, 10173 1.1 jruoho 0x4C,0xE0,0xE4,0x61,0x25,0x70,0xF2,0x6E, 10174 1.1 jruoho 0x10,0x88,0x23,0x83,0x50,0xA1,0x3A,0x40, 10175 1.1 jruoho 0x58,0x4C,0x10,0x1A,0xCA,0x07,0x08,0x93, 10176 1.1 jruoho 0xFE,0x48,0x10,0x20,0x31,0x02,0xC2,0xC2, 10177 1.1 jruoho 0xBD,0xBF,0x04,0x62,0x69,0xEF,0x09,0x81, 10178 1.1 jruoho 0x58,0x88,0x15,0x10,0x16,0x17,0x84,0x86, 10179 1.1 jruoho 0xD3,0x02,0xC2,0x24,0x99,0x01,0x61,0x81, 10180 1.1 jruoho 0x40,0xA8,0x7C,0x35,0x20,0x4C,0xA4,0x1B, 10181 1.1 jruoho 0x40,0xBA,0x7A,0x81,0x38,0x88,0x1E,0x10, 10182 1.1 jruoho 0x26,0xC3,0x0F,0x08,0x0B,0x0D,0x42,0xA3, 10183 1.1 jruoho 0x3D,0x30,0x04,0x48,0x0C,0x81,0xB0,0xF8, 10184 1.1 jruoho 0x8E,0x40,0x98,0xF8,0x57,0x91,0x40,0x9C, 10185 1.1 jruoho 0xDF,0x12,0xC4,0x4D,0x69,0x88,0x35,0x01, 10186 1.1 jruoho 0x31,0x0D,0x9E,0x80,0x98,0x22,0x10,0x01, 10187 1.1 jruoho 0x39,0xF6,0xD3,0x43,0x40,0xD6,0x60,0x0A, 10188 1.1 jruoho 0x88,0x45,0x07,0x11,0x90,0x85,0xA8,0x02, 10189 1.1 jruoho 0x62,0x79,0x5D,0x01,0xB1,0xF0,0x20,0x02, 10190 1.1 jruoho 0x72,0xE6,0x97,0x9F,0x80,0xAC,0xE0,0xA5, 10191 1.1 jruoho 0xF3,0x10,0xC0,0xDE,0x10,0x81,0x48,0x72, 10192 1.1 jruoho 0x10,0x01,0x39,0xB0,0x2F,0x20,0x16,0x1F, 10193 1.1 jruoho 0x44,0x40,0xCE,0xFA,0x28,0x14,0x90,0x83, 10194 1.1 jruoho 0x83,0x68,0x10,0xE4,0x6B,0x26,0x20,0xA7, 10195 1.1 jruoho 0x07,0x11,0x10,0xF9,0x04,0x05,0x21,0x6A, 10196 1.1 jruoho 0xBD,0x81,0x30,0x3D,0x8F,0x42,0x0D,0x85, 10197 1.1 jruoho 0x80,0x50,0xE5,0xEA,0xCE,0x31,0x2C,0x07, 10198 1.1 jruoho 0x08,0xCD,0x05,0x22,0x30,0xAB,0x70,0x07, 10199 1.1 jruoho 0xC4,0x54,0x81,0x08,0xC8,0x09,0x80,0xC8, 10200 1.1 jruoho 0xFF,0x9F,0x60,0x2A,0x10,0x9A,0x12,0x8C, 10201 1.1 jruoho 0xEA,0x92,0x07,0xC4,0x12,0x80,0xD0,0x54, 10202 1.1 jruoho 0x20,0x34,0x25,0x88,0x00,0xAD,0xCA,0x1E, 10203 1.1 jruoho 0x10,0x53,0x0A,0x42,0x95,0x83,0xD0,0x74, 10204 1.1 jruoho 0x20,0x54,0xB6,0xBE,0xC3,0x02,0x05,0x11, 10205 1.1 jruoho 0x90,0xA3,0x83,0x50,0xE1,0xFE,0x40,0x98, 10206 1.1 jruoho 0xDE,0x97,0x86,0x00,0x9D,0x0E,0x44,0x40, 10207 1.1 jruoho 0x4E,0x0C,0x42,0x15,0x7C,0x32,0x82,0x10, 10208 1.1 jruoho 0xB1,0x20,0x54,0xC1,0x27,0x23,0x28,0xD1, 10209 1.1 jruoho 0xF2,0xB2,0x13,0x90,0xF5,0x81,0x50,0xBD, 10210 1.1 jruoho 0x20,0x02,0x73,0x36,0x20,0x9A,0x17,0x84, 10211 1.1 jruoho 0xE6,0x07,0xA3,0x5A,0x8D,0x02,0x31,0xFD, 10212 1.1 jruoho 0x20,0x34,0x0F,0x88,0xC0,0xAC,0xE0,0xF9, 10213 1.1 jruoho 0x71,0xC0,0x0C,0x84,0xAA,0x04,0x11,0x98, 10214 1.1 jruoho 0x73,0x01,0xD1,0xAC,0x20,0x34,0x3B,0x18, 10215 1.1 jruoho 0xD5,0xFE,0x0F,0xD1,0x00,0x08,0x08,0xCD, 10216 1.1 jruoho 0x07,0xA2,0xC3,0x00,0x79,0x96,0x09,0xC8, 10217 1.1 jruoho 0x1A,0x41,0xA8,0x66,0x10,0x81,0x39,0x27, 10218 1.1 jruoho 0x10,0xCD,0x0E,0x42,0x95,0xFD,0x4D,0x82, 10219 1.1 jruoho 0x91,0x8C,0x0F,0xD0,0x40,0x24,0x37,0x08, 10220 1.1 jruoho 0xD5,0xF1,0x0C,0x0A,0x46,0x74,0x83,0x08, 10221 1.1 jruoho 0xC8,0x59,0x40,0x68,0x36,0x30,0x9A,0x4C, 10222 1.1 jruoho 0xED,0x91,0x80,0xBA,0x05,0x61,0xE9,0x41, 10223 1.1 jruoho 0x68,0x3A,0xBB,0x83,0xA7,0x20,0x54,0x81, 10224 1.1 jruoho 0x5E,0x30,0xA6,0x19,0x44,0x87,0x05,0x02, 10225 1.1 jruoho 0x42,0x73,0x81,0x51,0x1D,0xAF,0x96,0x40, 10226 1.1 jruoho 0x44,0x1B,0x08,0xD5,0x0A,0xA2,0x81,0x93, 10227 1.1 jruoho 0x1F,0x53,0x10,0x92,0x14,0x84,0xFC,0xFF, 10228 1.1 jruoho 0x07,0xAA,0xC7,0x9C,0x40,0xAC,0xFA,0x5B, 10229 1.1 jruoho 0x25,0x50,0x27,0x01,0xA1,0xC9,0x40,0x74, 10230 1.1 jruoho 0x7C,0x20,0x0F,0xB8,0x83,0x64,0x20,0x54, 10231 1.1 jruoho 0x29,0x88,0xC0,0xAC,0xF4,0x63,0xA4,0x23, 10232 1.1 jruoho 0x05,0x51,0x7D,0xBC,0xA0,0x20,0x34,0xD1, 10233 1.1 jruoho 0x3B,0x2C,0x08,0x7B,0xB8,0x69,0xA8,0xE4, 10234 1.1 jruoho 0x59,0xA5,0xA1,0x12,0x10,0x9A,0x0D,0x44, 10235 1.1 jruoho 0xC7,0x04,0xF2,0xAA,0x79,0x4C,0x60,0x20, 10236 1.1 jruoho 0x54,0x2F,0x08,0xCD,0x01,0x42,0x13,0x83, 10237 1.1 jruoho 0x08,0xD4,0xA9,0xBF,0x37,0x1A,0x2A,0xF9, 10238 1.1 jruoho 0x5B,0x09,0xC4,0xCA,0x5E,0x69,0x02,0xB1, 10239 1.1 jruoho 0xDE,0xA7,0x4E,0x20,0xE6,0x1D,0x98,0xA9, 10240 1.1 jruoho 0x05,0xA1,0xEA,0x41,0x04,0xE6,0xB4,0x40, 10241 1.1 jruoho 0x54,0x81,0x78,0x10,0xA6,0x08,0x44,0x60, 10242 1.1 jruoho 0x4E,0x02,0x44,0xD3,0x81,0xD0,0xEC,0x60, 10243 1.1 jruoho 0x54,0xE7,0xA3,0x4D,0x40,0xD6,0x0E,0x42, 10244 1.1 jruoho 0xB3,0x80,0x08,0xCC,0x59,0x1E,0x69,0x02, 10245 1.1 jruoho 0xB1,0x92,0x2F,0x9D,0x0E,0x24,0x04,0x84, 10246 1.1 jruoho 0x26,0xD3,0x7F,0x68,0xA1,0x05,0x80,0x99, 10247 1.1 jruoho 0x84,0x04,0x20,0x4C,0x16,0x88,0x0E,0x27, 10248 1.1 jruoho 0xD6,0x08,0x22,0x40,0xC7,0x01,0xA3,0xD1, 10249 1.1 jruoho 0x40,0x68,0x5C,0x40,0x9A,0x1D,0x90,0x2A, 10250 1.1 jruoho 0x6D,0x00,0xC6,0x54,0x83,0xD0,0x24,0x20, 10251 1.1 jruoho 0x02,0x74,0x2C,0x10,0x01,0x5A,0x74,0x04, 10252 1.1 jruoho 0x30,0x16,0x01,0x84,0x46,0x05,0xA1,0xC9, 10253 1.1 jruoho 0x2A,0x80,0xB2,0x9C,0x20,0x1A,0x20,0xC9, 10254 1.1 jruoho 0x30,0x60,0x0A,0x42,0x33,0x81,0xD0,0x8C, 10255 1.1 jruoho 0x20,0x54,0x7C,0x07,0x10,0x16,0x04,0x84, 10256 1.1 jruoho 0x86,0x03,0xD1,0x00,0xFE,0xFF,0x8F,0x0C, 10257 1.1 jruoho 0x02,0xD1,0x00,0x9C,0x23,0xC4,0x61,0x85, 10258 1.1 jruoho 0x82,0xD0,0xF4,0x20,0x34,0x6C,0x09,0x50, 10259 1.1 jruoho 0x16,0x1D,0x44,0xC7,0x23,0x92,0x02,0x8C, 10260 1.1 jruoho 0x05,0x02,0xA1,0x31,0x41,0x68,0x6C,0x10, 10261 1.1 jruoho 0x1A,0x29,0x06,0x28,0x13,0x54,0xE3,0x50, 10262 1.1 jruoho 0x44,0x7B,0x80,0x31,0x99,0x20,0x54,0x36, 10263 1.1 jruoho 0x88,0xC0,0x1C,0x14,0x88,0x86,0x07,0xA1, 10264 1.1 jruoho 0x62,0x82,0x00,0x52,0x10,0x01,0x12,0x20, 10265 1.1 jruoho 0x1A,0x1E,0x84,0x8A,0x29,0x32,0x74,0x0A, 10266 1.1 jruoho 0x42,0x55,0x24,0x39,0x9A,0x50,0x10,0x1D, 10267 1.1 jruoho 0x4D,0x08,0x08,0xCD,0x07,0x46,0x75,0x35, 10268 1.1 jruoho 0x39,0x6E,0x50,0x10,0xAA,0x1D,0x84,0x06, 10269 1.1 jruoho 0x05,0xA1,0x39,0xA2,0x80,0xB2,0xEC,0x20, 10270 1.1 jruoho 0x02,0xB2,0x9E,0x2A,0x87,0x0A,0x0A,0x22, 10271 1.1 jruoho 0x30,0xA7,0x02,0xA2,0x49,0x41,0xA8,0x8E, 10272 1.1 jruoho 0x2C,0x47,0x0A,0x9A,0x06,0x84,0x25,0x06, 10273 1.1 jruoho 0xA1,0xC9,0xDA,0x80,0xB0,0x0C,0x75,0x0E, 10274 1.1 jruoho 0x24,0x14,0x84,0xE6,0x04,0xA1,0x4A,0xF2, 10275 1.1 jruoho 0x0C,0x8F,0x82,0xE8,0x38,0x42,0x80,0x68, 10276 1.1 jruoho 0x7A,0x10,0xAA,0xA6,0xCF,0x00,0x28,0x88, 10277 1.1 jruoho 0x06,0x40,0x40,0x68,0x4E,0x30,0xAA,0xA8, 10278 1.1 jruoho 0xD1,0xD1,0x84,0x82,0x50,0xDD,0x2F,0x4E, 10279 1.1 jruoho 0x81,0xF8,0xFF,0x0F, 10280 1.1 jruoho }) // END MBUF 10281 1.1 jruoho 10282 1.1 jruoho } //end DefinitionBlock 10283