1 /* 2 * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without modification, 6 * are permitted provided that the following conditions are met: 7 * 8 * Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 * Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * Neither the name of Intel Corporation nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 /* 29 * Processor 30 * 31 * (verify exceptions caused by the imprope use of Processor type objects) 32 */ 33 Name (Z104, 0x68) 34 Processor (PR10, 0x00, 0xFFFFFFFF, 0x00){} 35 /* Expected exceptions: */ 36 /* */ 37 /* 47 - AE_AML_OPERAND_TYPE */ 38 /* */ 39 Method (M4BC, 0, Serialized) 40 { 41 Processor (PRC1, 0x00, 0xFFFFFFFF, 0x00){} 42 Event (E000) 43 Name (I000, 0x00) 44 /* Local Named Object */ 45 46 Method (M000, 1, Serialized) 47 { 48 /* These are now caught by the compiler - Aug 2015 49 Processor(prc2, 0, 0xFFFFFFFF, 0) {} 50 if (y083) { 51 Store (DerefOf(prc2), Local1) 52 CH06(arg0, 0, 47) 53 } 54 */ 55 } 56 57 /* Global Named Object */ 58 59 Method (M001, 1, NotSerialized) 60 { 61 /* These are now caught by the compiler - Aug 2015 62 if (y083) { 63 Store (DerefOf(pr10), Local1) 64 CH06(arg0, 1, 47) 65 } 66 */ 67 } 68 69 /* Local */ 70 71 Method (M002, 1, Serialized) 72 { 73 Processor (PRC2, 0x00, 0xFFFFFFFF, 0x00){} 74 Event (E000) 75 CopyObject (PRC2, Local0) 76 /* CondRefOf */ 77 78 CondRefOf (Local0, Local1) 79 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 80 /* CopyObject */ 81 82 CopyObject (Local0, Local1) 83 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 84 /* Decrement */ 85 86 Local0-- 87 CH06 (Arg0, 0x01, 0x2F) 88 /* DerefOf */ 89 90 Local1 = DerefOf (Local0) 91 CH06 (Arg0, 0x02, 0x2F) 92 /* FindSetLeftBit */ 93 94 FindSetLeftBit (Local0, Local1) 95 CH06 (Arg0, 0x04, 0x2F) 96 /* FindSetRightBit */ 97 98 FindSetRightBit (Local0, Local1) 99 CH06 (Arg0, 0x06, 0x2F) 100 /* FromBCD */ 101 102 FromBCD (Local0, Local1) 103 CH06 (Arg0, 0x08, 0x2F) 104 /* Increment */ 105 106 Local0++ 107 CH06 (Arg0, 0x09, 0x2F) 108 /* LNot */ 109 110 Local1 = !Local0 111 CH06 (Arg0, 0x0A, 0x2F) 112 /* Not */ 113 114 Local1 = ~Local0 115 CH06 (Arg0, 0x0C, 0x2F) 116 /* ObjectType */ 117 118 Local1 = ObjectType (Local0) 119 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 120 /* RefOf */ 121 122 Local1 = RefOf (Local0) 123 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 124 /* Release */ 125 126 Release (Local0) 127 CH06 (Arg0, 0x0D, 0x2F) 128 /* Reset */ 129 130 Reset (Local0) 131 CH06 (Arg0, 0x0E, 0x2F) 132 /* Signal */ 133 134 Signal (Local0) 135 CH06 (Arg0, 0x0F, 0x2F) 136 /* SizeOf */ 137 138 Local1 = SizeOf (Local0) 139 CH06 (Arg0, 0x10, 0x2F) 140 /* Sleep */ 141 142 Sleep (Local0) 143 CH06 (Arg0, 0x11, 0x2F) 144 /* Stall */ 145 146 Stall (Local0) 147 CH06 (Arg0, 0x12, 0x2F) 148 /* Store */ 149 150 Local1 = Local0 151 CH06 (Arg0, 0x13, 0x2F) 152 /* ToBCD */ 153 154 ToBCD (Local0, Local1) 155 CH06 (Arg0, 0x15, 0x2F) 156 /* ToBuffer */ 157 158 ToBuffer (Local0, Local1) 159 CH06 (Arg0, 0x17, 0x2F) 160 /* ToDecimalString */ 161 162 ToDecimalString (Local0, Local1) 163 CH06 (Arg0, 0x19, 0x2F) 164 /* ToHexString */ 165 166 ToHexString (Local0, Local1) 167 CH06 (Arg0, 0x1B, 0x2F) 168 /* ToInteger */ 169 170 ToInteger (Local0, Local1) 171 CH06 (Arg0, 0x1D, 0x2F) 172 /* Acquire */ 173 174 Local1 = Acquire (Local0, 0x0064) 175 CH06 (Arg0, 0x1E, 0x2F) 176 /* Add */ 177 178 Local1 = (Local0 + I000) /* \M4BC.I000 */ 179 CH06 (Arg0, 0x21, 0x2F) 180 Local1 = (I000 + Local0) 181 CH06 (Arg0, 0x22, 0x2F) 182 /* And */ 183 184 Local1 = (Local0 & I000) /* \M4BC.I000 */ 185 CH06 (Arg0, 0x25, 0x2F) 186 Local1 = (I000 & Local0) 187 CH06 (Arg0, 0x26, 0x2F) 188 /* Concatenate */ 189 190 Concatenate (Local0, I000, Local1) 191 CH06 (Arg0, 0x29, 0x2F) 192 Concatenate (I000, Local0, Local1) 193 CH06 (Arg0, 0x2A, 0x2F) 194 /* ConcatenateResTemplate */ 195 196 ConcatenateResTemplate (Local0, Buffer (0x02) 197 { 198 0x79, 0x00 // y. 199 }, Local1) 200 CH06 (Arg0, 0x2D, 0x2F) 201 ConcatenateResTemplate (Buffer (0x02) 202 { 203 0x79, 0x00 // y. 204 }, Local0, Local1) 205 CH06 (Arg0, 0x2E, 0x2F) 206 /* Divide */ 207 208 Divide (Local0, I000, Local2) 209 CH06 (Arg0, 0x31, 0x2F) 210 Divide (I000, Local0, Local2) 211 CH06 (Arg0, 0x32, 0x2F) 212 Divide (Local0, I000, Local2, Local1) 213 CH06 (Arg0, 0x33, 0x2F) 214 Divide (I000, Local0, Local2, Local1) 215 CH06 (Arg0, 0x34, 0x2F) 216 /* Fatal */ 217 218 Fatal (0xFF, 0xFFFFFFFF, Local0) 219 CH06 (Arg0, 0x35, 0x2F) 220 /* Index */ 221 222 Local1 = Local0 [0x00] 223 CH06 (Arg0, 0x38, 0x2F) 224 Index ("0", Local0, Local1) 225 CH06 (Arg0, 0x39, 0x2F) 226 /* LEqual */ 227 228 Local1 = (Local0 == I000) 229 CH06 (Arg0, 0x3A, 0x2F) 230 Local1 = (I000 == Local0) 231 CH06 (Arg0, 0x3B, 0x2F) 232 /* LGreater */ 233 234 Local1 = (Local0 > I000) 235 CH06 (Arg0, 0x3C, 0x2F) 236 Local1 = (I000 > Local0) 237 CH06 (Arg0, 0x3D, 0x2F) 238 /* LGreaterEqual */ 239 240 Local1 = (Local0 >= I000) 241 CH06 (Arg0, 0x3E, 0xFF) 242 Local1 = (I000 >= Local0) 243 CH06 (Arg0, 0x3F, 0xFF) 244 /* LLess */ 245 246 Local1 = (Local0 < I000) 247 CH06 (Arg0, 0x40, 0x2F) 248 Local1 = (I000 < Local0) 249 CH06 (Arg0, 0x41, 0x2F) 250 /* LLessEqual */ 251 252 Local1 = (Local0 <= I000) 253 CH06 (Arg0, 0x42, 0xFF) 254 Local1 = (I000 <= Local0) 255 CH06 (Arg0, 0x43, 0xFF) 256 /* LNotEqual */ 257 258 Local1 = (Local0 != I000) 259 CH06 (Arg0, 0x44, 0xFF) 260 Local1 = (I000 != Local0) 261 CH06 (Arg0, 0x45, 0xFF) 262 /* LOr */ 263 264 Local1 = (Local0 || I000) 265 CH06 (Arg0, 0x46, 0x2F) 266 Local1 = (I000 || Local0) 267 CH06 (Arg0, 0x47, 0x2F) 268 /* Mod */ 269 270 Local1 = (Local0 % I000) /* \M4BC.I000 */ 271 CH06 (Arg0, 0x4A, 0x2F) 272 Local1 = (I000 % Local0) 273 CH06 (Arg0, 0x4B, 0x2F) 274 /* Multiply */ 275 276 Local1 = (Local0 * I000) /* \M4BC.I000 */ 277 CH06 (Arg0, 0x4E, 0x2F) 278 Local1 = (I000 * Local0) 279 CH06 (Arg0, 0x4F, 0x2F) 280 /* NAnd */ 281 282 NAnd (Local0, I000, Local1) 283 CH06 (Arg0, 0x52, 0x2F) 284 NAnd (I000, Local0, Local1) 285 CH06 (Arg0, 0x53, 0x2F) 286 /* NOr */ 287 288 NOr (Local0, I000, Local1) 289 CH06 (Arg0, 0x56, 0x2F) 290 NOr (I000, Local0, Local1) 291 CH06 (Arg0, 0x57, 0x2F) 292 /* Or */ 293 294 Local1 = (Local0 | I000) /* \M4BC.I000 */ 295 CH06 (Arg0, 0x5A, 0x2F) 296 Local1 = (I000 | Local0) 297 CH06 (Arg0, 0x5B, 0x2F) 298 /* ShiftLeft */ 299 300 Local1 = (Local0 << I000) /* \M4BC.I000 */ 301 CH06 (Arg0, 0x5E, 0x2F) 302 Local1 = (I000 << Local0) 303 CH06 (Arg0, 0x5F, 0x2F) 304 /* ShiftRight */ 305 306 Local1 = (Local0 >> I000) /* \M4BC.I000 */ 307 CH06 (Arg0, 0x62, 0x2F) 308 Local1 = (I000 >> Local0) 309 CH06 (Arg0, 0x63, 0x2F) 310 /* Subtract */ 311 312 Local1 = (Local0 - I000) /* \M4BC.I000 */ 313 CH06 (Arg0, 0x66, 0x2F) 314 Local1 = (I000 - Local0) 315 CH06 (Arg0, 0x67, 0x2F) 316 /* ToString */ 317 318 ToString (Local0, 0x01, Local1) 319 CH06 (Arg0, 0x6A, 0x2F) 320 ToString (I000, Local0, Local1) 321 CH06 (Arg0, 0x6B, 0x2F) 322 /* Wait */ 323 324 Local1 = Wait (Local0, I000) 325 CH06 (Arg0, 0x6C, 0x2F) 326 Local1 = Wait (E000, Local0) 327 CH06 (Arg0, 0x6D, 0x2F) 328 /* XOr */ 329 330 Local1 = (Local0 ^ I000) /* \M4BC.I000 */ 331 CH06 (Arg0, 0x70, 0x2F) 332 Local1 = (I000 ^ Local0) 333 CH06 (Arg0, 0x71, 0x2F) 334 /* Mid */ 335 336 Mid (Local0, 0x01, 0x01, Local1) 337 CH06 (Arg0, 0x75, 0x2F) 338 Mid ("123", Local0, 0x01, Local1) 339 CH06 (Arg0, 0x76, 0x2F) 340 Mid ("123", 0x01, Local0, Local1) 341 CH06 (Arg0, 0x77, 0x2F) 342 /* Match */ 343 344 Local1 = Match (Local0, MTR, 0x00, MTR, 0x00, 0x00) 345 CH06 (Arg0, 0x78, 0x2F) 346 Local1 = Match (Package (0x01) 347 { 348 0x01 349 }, MTR, Local0, MTR, 0x00, 0x00) 350 CH06 (Arg0, 0x79, 0x2F) 351 Local1 = Match (Package (0x01) 352 { 353 0x01 354 }, MTR, 0x00, MTR, Local0, 0x00) 355 CH06 (Arg0, 0x7A, 0x2F) 356 Local1 = Match (Package (0x01) 357 { 358 0x01 359 }, MTR, 0x00, MTR, 0x00, Local0) 360 CH06 (Arg0, 0x7B, 0x2F) 361 } 362 363 /* Reference to Object */ 364 365 Method (M003, 2, NotSerialized) 366 { 367 Local0 = ObjectType (Arg1) 368 If ((Local0 != 0x0C)) 369 { 370 ERR (Arg0, Z104, __LINE__, 0x00, 0x00, Local0, 0x0C) 371 Return (0x01) 372 } 373 374 Local1 = DerefOf (Arg1) 375 If (!SLCK) 376 { 377 CH04 (__METHOD__, 0x00, 0x2F, Z104, __LINE__, 0x00, 0x00) 378 } 379 380 /* CondRefOf */ 381 382 CondRefOf (DerefOf (Arg1), Local1) 383 CH06 (Arg0, 0x01, 0x2F) 384 /* CopyObject */ 385 386 CopyObject (DerefOf (Arg1), Local1) 387 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 388 /* Decrement */ 389 390 DerefOf (Arg1)-- 391 CH06 (Arg0, 0x03, 0x2F) 392 /* DerefOf */ 393 394 Local1 = DerefOf (DerefOf (Arg1)) 395 CH06 (Arg0, 0x04, 0x2F) 396 /* FindSetLeftBit */ 397 398 FindSetLeftBit (DerefOf (Arg1), Local1) 399 CH06 (Arg0, 0x06, 0x2F) 400 /* FindSetRightBit */ 401 402 FindSetRightBit (DerefOf (Arg1), Local1) 403 CH06 (Arg0, 0x08, 0x2F) 404 /* FromBCD */ 405 406 FromBCD (DerefOf (Arg1), Local1) 407 CH06 (Arg0, 0x0A, 0x2F) 408 /* Increment */ 409 410 DerefOf (Arg1)++ 411 CH06 (Arg0, 0x0B, 0x2F) 412 /* LNot */ 413 414 Local1 = !DerefOf (Arg1) 415 CH06 (Arg0, 0x0C, 0x2F) 416 /* Not */ 417 418 Local1 = ~DerefOf (Arg1) 419 CH06 (Arg0, 0x0E, 0x2F) 420 /* ObjectType */ 421 422 Local1 = ObjectType (DerefOf (Arg1)) 423 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 424 /* RefOf */ 425 426 Local1 = RefOf (DerefOf (Arg1)) 427 CH06 (Arg0, 0x0F, 0x2F) 428 /* Release */ 429 /* Reset */ 430 /* Signal */ 431 /* SizeOf */ 432 Local1 = SizeOf (DerefOf (Arg1)) 433 CH06 (Arg0, 0x10, 0x2F) 434 /* Sleep */ 435 436 Sleep (DerefOf (Arg1)) 437 CH06 (Arg0, 0x11, 0x2F) 438 /* Stall */ 439 440 Stall (DerefOf (Arg1)) 441 CH06 (Arg0, 0x12, 0x2F) 442 /* Store */ 443 444 Local1 = DerefOf (Arg1) 445 CH06 (Arg0, 0x13, 0x2F) 446 /* ToBCD */ 447 448 ToBCD (DerefOf (Arg1), Local1) 449 CH06 (Arg0, 0x15, 0x2F) 450 /* ToBuffer */ 451 452 ToBuffer (DerefOf (Arg1), Local1) 453 CH06 (Arg0, 0x17, 0x2F) 454 /* ToDecimalString */ 455 456 ToDecimalString (DerefOf (Arg1), Local1) 457 CH06 (Arg0, 0x19, 0x2F) 458 /* ToHexString */ 459 460 ToHexString (DerefOf (Arg1), Local1) 461 CH06 (Arg0, 0x1B, 0x2F) 462 /* ToInteger */ 463 464 ToInteger (DerefOf (Arg1), Local1) 465 CH06 (Arg0, 0x1D, 0x2F) 466 /* Acquire */ 467 /* Add */ 468 Local1 = (DerefOf (Arg1) + I000) /* \M4BC.I000 */ 469 CH06 (Arg0, 0x21, 0x2F) 470 Local1 = (I000 + DerefOf (Arg1)) 471 CH06 (Arg0, 0x22, 0x2F) 472 /* And */ 473 474 Local1 = (DerefOf (Arg1) & I000) /* \M4BC.I000 */ 475 CH06 (Arg0, 0x25, 0x2F) 476 Local1 = (I000 & DerefOf (Arg1)) 477 CH06 (Arg0, 0x26, 0x2F) 478 /* Concatenate */ 479 480 Concatenate (DerefOf (Arg1), I000, Local1) 481 CH06 (Arg0, 0x29, 0x2F) 482 Concatenate (I000, DerefOf (Arg1), Local1) 483 CH06 (Arg0, 0x2A, 0x2F) 484 /* ConcatenateResTemplate */ 485 486 ConcatenateResTemplate (DerefOf (Arg1), Buffer (0x02) 487 { 488 0x79, 0x00 // y. 489 }, Local1) 490 CH06 (Arg0, 0x2D, 0x2F) 491 ConcatenateResTemplate (Buffer (0x02) 492 { 493 0x79, 0x00 // y. 494 }, DerefOf (Arg1), Local1) 495 CH06 (Arg0, 0x2E, 0x2F) 496 /* Divide */ 497 498 Divide (DerefOf (Arg1), I000, Local2) 499 CH06 (Arg0, 0x31, 0x2F) 500 Divide (I000, DerefOf (Arg1), Local2) 501 CH06 (Arg0, 0x32, 0x2F) 502 Divide (DerefOf (Arg1), I000, Local2, Local1) 503 CH06 (Arg0, 0x33, 0x2F) 504 Divide (I000, DerefOf (Arg1), Local2, Local1) 505 CH06 (Arg0, 0x34, 0x2F) 506 /* Fatal */ 507 508 Fatal (0xFF, 0xFFFFFFFF, DerefOf (Arg1)) 509 CH06 (Arg0, 0x35, 0x2F) 510 /* Index */ 511 512 Local1 = DerefOf (Arg1) [0x00] 513 CH06 (Arg0, 0x38, 0x2F) 514 Index ("0", DerefOf (Arg1), Local1) 515 CH06 (Arg0, 0x39, 0x2F) 516 /* LEqual */ 517 518 Local1 = (DerefOf (Arg1) == I000) 519 CH06 (Arg0, 0x3A, 0x2F) 520 Local1 = (I000 == DerefOf (Arg1)) 521 CH06 (Arg0, 0x3B, 0x2F) 522 /* LGreater */ 523 524 Local1 = (DerefOf (Arg1) > I000) 525 CH06 (Arg0, 0x3C, 0x2F) 526 Local1 = (I000 > DerefOf (Arg1)) 527 CH06 (Arg0, 0x3D, 0x2F) 528 /* LGreaterEqual */ 529 530 Local1 = (DerefOf (Arg1) >= I000) 531 CH06 (Arg0, 0x3E, 0xFF) 532 Local1 = (I000 >= DerefOf (Arg1)) 533 CH06 (Arg0, 0x3F, 0xFF) 534 /* LLess */ 535 536 Local1 = (DerefOf (Arg1) < I000) 537 CH06 (Arg0, 0x40, 0x2F) 538 Local1 = (I000 < DerefOf (Arg1)) 539 CH06 (Arg0, 0x41, 0x2F) 540 /* LLessEqual */ 541 542 Local1 = (DerefOf (Arg1) <= I000) 543 CH06 (Arg0, 0x42, 0xFF) 544 Local1 = (I000 <= DerefOf (Arg1)) 545 CH06 (Arg0, 0x43, 0xFF) 546 /* LNotEqual */ 547 548 Local1 = (DerefOf (Arg1) != I000) 549 CH06 (Arg0, 0x44, 0xFF) 550 Local1 = (I000 != DerefOf (Arg1)) 551 CH06 (Arg0, 0x45, 0xFF) 552 /* LOr */ 553 554 Local1 = (DerefOf (Arg1) || I000) 555 CH06 (Arg0, 0x46, 0x2F) 556 Local1 = (I000 || DerefOf (Arg1)) 557 CH06 (Arg0, 0x47, 0x2F) 558 /* Mod */ 559 560 Local1 = (DerefOf (Arg1) % I000) /* \M4BC.I000 */ 561 CH06 (Arg0, 0x4A, 0x2F) 562 Local1 = (I000 % DerefOf (Arg1)) 563 CH06 (Arg0, 0x4B, 0x2F) 564 /* Multiply */ 565 566 Local1 = (DerefOf (Arg1) * I000) /* \M4BC.I000 */ 567 CH06 (Arg0, 0x4E, 0x2F) 568 Local1 = (I000 * DerefOf (Arg1)) 569 CH06 (Arg0, 0x4F, 0x2F) 570 /* NAnd */ 571 572 NAnd (DerefOf (Arg1), I000, Local1) 573 CH06 (Arg0, 0x52, 0x2F) 574 NAnd (I000, DerefOf (Arg1), Local1) 575 CH06 (Arg0, 0x53, 0x2F) 576 /* NOr */ 577 578 NOr (DerefOf (Arg1), I000, Local1) 579 CH06 (Arg0, 0x56, 0x2F) 580 NOr (I000, DerefOf (Arg1), Local1) 581 CH06 (Arg0, 0x57, 0x2F) 582 /* Or */ 583 584 Local1 = (DerefOf (Arg1) | I000) /* \M4BC.I000 */ 585 CH06 (Arg0, 0x5A, 0x2F) 586 Local1 = (I000 | DerefOf (Arg1)) 587 CH06 (Arg0, 0x5B, 0x2F) 588 /* ShiftLeft */ 589 590 Local1 = (DerefOf (Arg1) << I000) /* \M4BC.I000 */ 591 CH06 (Arg0, 0x5E, 0x2F) 592 Local1 = (I000 << DerefOf (Arg1)) 593 CH06 (Arg0, 0x5F, 0x2F) 594 /* ShiftRight */ 595 596 Local1 = (DerefOf (Arg1) >> I000) /* \M4BC.I000 */ 597 CH06 (Arg0, 0x62, 0x2F) 598 Local1 = (I000 >> DerefOf (Arg1)) 599 CH06 (Arg0, 0x63, 0x2F) 600 /* Subtract */ 601 602 Local1 = (DerefOf (Arg1) - I000) /* \M4BC.I000 */ 603 CH06 (Arg0, 0x66, 0x2F) 604 Local1 = (I000 - DerefOf (Arg1)) 605 CH06 (Arg0, 0x67, 0x2F) 606 /* ToString */ 607 608 ToString (DerefOf (Arg1), 0x01, Local1) 609 CH06 (Arg0, 0x6A, 0x2F) 610 ToString (I000, DerefOf (Arg1), Local1) 611 CH06 (Arg0, 0x6B, 0x2F) 612 /* Wait */ 613 614 Local1 = Wait (E000, DerefOf (Arg1)) 615 CH06 (Arg0, 0x6D, 0x2F) 616 /* XOr */ 617 618 Local1 = (DerefOf (Arg1) ^ I000) /* \M4BC.I000 */ 619 CH06 (Arg0, 0x70, 0x2F) 620 Local1 = (I000 ^ DerefOf (Arg1)) 621 CH06 (Arg0, 0x71, 0x2F) 622 /* Mid */ 623 624 Mid (DerefOf (Arg1), 0x01, 0x01, Local1) 625 CH06 (Arg0, 0x75, 0x2F) 626 Mid ("123", DerefOf (Arg1), 0x01, Local1) 627 CH06 (Arg0, 0x76, 0x2F) 628 Mid ("123", 0x01, DerefOf (Arg1), Local1) 629 CH06 (Arg0, 0x77, 0x2F) 630 /* Match */ 631 632 Local1 = Match (DerefOf (Arg1), MTR, 0x00, MTR, 0x00, 0x00) 633 CH06 (Arg0, 0x78, 0x2F) 634 Local1 = Match (Package (0x01) 635 { 636 0x01 637 }, MTR, DerefOf (Arg1), MTR, 0x00, 0x00) 638 CH06 (Arg0, 0x79, 0x2F) 639 Local1 = Match (Package (0x01) 640 { 641 0x01 642 }, MTR, 0x00, MTR, DerefOf (Arg1), 0x00) 643 CH06 (Arg0, 0x7A, 0x2F) 644 Local1 = Match (Package (0x01) 645 { 646 0x01 647 }, MTR, 0x00, MTR, 0x00, DerefOf (Arg1)) 648 CH06 (Arg0, 0x7B, 0x2F) 649 Return (0x00) 650 } 651 652 /* Result of Method invocation */ 653 654 Method (M004, 1, Serialized) 655 { 656 Name (I000, 0x00) /* Label to check m000 invocations */ 657 Method (M000, 0, NotSerialized) 658 { 659 CopyObject (PR10, Local0) 660 Return (Local0) 661 } 662 663 /* CondRefOf */ 664 /* **** 10/2016 changed method invocation to just a namestring */ 665 /* CondRefOf no longer invokes the method */ 666 If (Y601) 667 { 668 Local1 = CondRefOf (M000) 669 CH06 (Arg0, 0x00, 0x2F) 670 Local1 = CondRefOf (M000, Local1) 671 CH06 (Arg0, 0x01, 0x2F) 672 } 673 674 /* CopyObject */ 675 676 CopyObject (M000 (), Local1) 677 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 678 /* Decrement */ 679 680 M000 ()-- 681 CH06 (Arg0, 0x02, 0x2F) 682 /* DerefOf */ 683 684 Local1 = DerefOf (M000 ()) 685 CH06 (Arg0, 0x03, 0x2F) 686 /* FindSetLeftBit */ 687 688 FindSetLeftBit (M000 (), Local1) 689 CH06 (Arg0, 0x05, 0x2F) 690 /* FindSetRightBit */ 691 692 FindSetRightBit (M000 (), Local1) 693 CH06 (Arg0, 0x07, 0x2F) 694 /* FromBCD */ 695 696 FromBCD (M000 (), Local1) 697 CH06 (Arg0, 0x09, 0x2F) 698 /* Increment */ 699 700 M000 ()++ 701 CH06 (Arg0, 0x0A, 0x2F) 702 /* LNot */ 703 704 Local1 = !M000 () 705 CH06 (Arg0, 0x0B, 0x2F) 706 /* Not */ 707 708 Local1 = ~M000 () 709 CH06 (Arg0, 0x0D, 0x2F) 710 /* ObjectType */ 711 /* **** Nov. 2016: Method invocation as arg to ObjectType is now illegal */ 712 Local0 = ObjectType (M000) 713 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 714 /* RefOf */ 715 /* **** Oct. 2016: Method invocation as arg to RefOf is now illegal */ 716 /* if (y601) { */ 717 /* Store (RefOf(m000()), Local1) */ 718 /* CH06(arg0, 14, 47) */ 719 /* } */ 720 /* Release */ 721 Release (M000 ()) 722 CH06 (Arg0, 0x0D, 0x2F) 723 /* Reset */ 724 725 Reset (M000 ()) 726 CH06 (Arg0, 0x0E, 0x2F) 727 /* Signal */ 728 729 Signal (M000 ()) 730 CH06 (Arg0, 0x0F, 0x2F) 731 /* SizeOf */ 732 733 Local1 = SizeOf (M000 ()) 734 CH06 (Arg0, 0x10, 0x2F) 735 /* Sleep */ 736 737 Sleep (M000 ()) 738 CH06 (Arg0, 0x11, 0x2F) 739 /* Stall */ 740 741 Stall (M000 ()) 742 CH06 (Arg0, 0x12, 0x2F) 743 /* Store */ 744 745 Local1 = M000 () 746 CH06 (Arg0, 0x13, 0x2F) 747 /* ToBCD */ 748 749 ToBCD (M000 (), Local1) 750 CH06 (Arg0, 0x15, 0x2F) 751 /* ToBuffer */ 752 753 ToBuffer (M000 (), Local1) 754 CH06 (Arg0, 0x17, 0x2F) 755 /* ToDecimalString */ 756 757 ToDecimalString (M000 (), Local1) 758 CH06 (Arg0, 0x19, 0x2F) 759 /* ToHexString */ 760 761 ToHexString (M000 (), Local1) 762 CH06 (Arg0, 0x1B, 0x2F) 763 /* ToInteger */ 764 765 ToInteger (M000 (), Local1) 766 CH06 (Arg0, 0x1D, 0x2F) 767 /* Acquire */ 768 769 Local1 = Acquire (M000 (), 0x0064) 770 CH06 (Arg0, 0x1E, 0x2F) 771 /* Add */ 772 773 Local1 = (M000 () + I000) /* \M4BC.M004.I000 */ 774 CH06 (Arg0, 0x21, 0x2F) 775 Local1 = (I000 + M000 ()) 776 CH06 (Arg0, 0x22, 0x2F) 777 /* And */ 778 779 Local1 = (M000 () & I000) /* \M4BC.M004.I000 */ 780 CH06 (Arg0, 0x25, 0x2F) 781 Local1 = (I000 & M000 ()) 782 CH06 (Arg0, 0x26, 0x2F) 783 /* Concatenate */ 784 785 Concatenate (M000 (), I000, Local1) 786 CH06 (Arg0, 0x29, 0x2F) 787 Concatenate (I000, M000 (), Local1) 788 CH06 (Arg0, 0x2A, 0x2F) 789 /* ConcatenateResTemplate */ 790 791 ConcatenateResTemplate (M000 (), Buffer (0x02) 792 { 793 0x79, 0x00 // y. 794 }, Local1) 795 CH06 (Arg0, 0x2D, 0x2F) 796 ConcatenateResTemplate (Buffer (0x02) 797 { 798 0x79, 0x00 // y. 799 }, M000 (), Local1) 800 CH06 (Arg0, 0x2E, 0x2F) 801 /* Divide */ 802 803 Divide (M000 (), I000, Local2) 804 CH06 (Arg0, 0x31, 0x2F) 805 Divide (I000, M000 (), Local2) 806 CH06 (Arg0, 0x32, 0x2F) 807 Divide (M000 (), I000, Local2, Local1) 808 CH06 (Arg0, 0x33, 0x2F) 809 Divide (I000, M000 (), Local2, Local1) 810 CH06 (Arg0, 0x34, 0x2F) 811 /* Fatal */ 812 813 Fatal (0xFF, 0xFFFFFFFF, M000 ()) 814 CH06 (Arg0, 0x35, 0x2F) 815 /* Index */ 816 817 Local1 = M000 () [0x00] 818 CH06 (Arg0, 0x38, 0x2F) 819 Index ("0", M000 (), Local1) 820 CH06 (Arg0, 0x39, 0x2F) 821 /* LEqual */ 822 823 Local1 = (M000 () == I000) 824 CH06 (Arg0, 0x3A, 0x2F) 825 Local1 = (I000 == M000 ()) 826 CH06 (Arg0, 0x3B, 0x2F) 827 /* LGreater */ 828 829 Local1 = (M000 () > I000) 830 CH06 (Arg0, 0x3C, 0x2F) 831 Local1 = (I000 > M000 ()) 832 CH06 (Arg0, 0x3D, 0x2F) 833 /* LGreaterEqual */ 834 835 Local1 = (M000 () >= I000) 836 CH06 (Arg0, 0x3E, 0xFF) 837 Local1 = (I000 >= M000 ()) 838 CH06 (Arg0, 0x3F, 0xFF) 839 /* LLess */ 840 841 Local1 = (M000 () < I000) 842 CH06 (Arg0, 0x40, 0x2F) 843 Local1 = (I000 < M000 ()) 844 CH06 (Arg0, 0x41, 0x2F) 845 /* LLessEqual */ 846 847 Local1 = (M000 () <= I000) 848 CH06 (Arg0, 0x42, 0xFF) 849 Local1 = (I000 <= M000 ()) 850 CH06 (Arg0, 0x43, 0xFF) 851 /* LNotEqual */ 852 853 Local1 = (M000 () != I000) 854 CH06 (Arg0, 0x44, 0xFF) 855 Local1 = (I000 != M000 ()) 856 CH06 (Arg0, 0x45, 0xFF) 857 /* LOr */ 858 859 Local1 = (M000 () || I000) 860 CH06 (Arg0, 0x46, 0x2F) 861 Local1 = (I000 || M000 ()) 862 CH06 (Arg0, 0x47, 0x2F) 863 /* Mod */ 864 865 Local1 = (M000 () % I000) /* \M4BC.M004.I000 */ 866 CH06 (Arg0, 0x4A, 0x2F) 867 Local1 = (I000 % M000 ()) 868 CH06 (Arg0, 0x4B, 0x2F) 869 /* Multiply */ 870 871 Local1 = (M000 () * I000) /* \M4BC.M004.I000 */ 872 CH06 (Arg0, 0x4E, 0x2F) 873 Local1 = (I000 * M000 ()) 874 CH06 (Arg0, 0x4F, 0x2F) 875 /* NAnd */ 876 877 NAnd (M000 (), I000, Local1) 878 CH06 (Arg0, 0x52, 0x2F) 879 NAnd (I000, M000 (), Local1) 880 CH06 (Arg0, 0x53, 0x2F) 881 /* NOr */ 882 883 NOr (M000 (), I000, Local1) 884 CH06 (Arg0, 0x56, 0x2F) 885 NOr (I000, M000 (), Local1) 886 CH06 (Arg0, 0x57, 0x2F) 887 /* Or */ 888 889 Local1 = (M000 () | I000) /* \M4BC.M004.I000 */ 890 CH06 (Arg0, 0x5A, 0x2F) 891 Local1 = (I000 | M000 ()) 892 CH06 (Arg0, 0x5B, 0x2F) 893 /* ShiftLeft */ 894 895 Local1 = (M000 () << I000) /* \M4BC.M004.I000 */ 896 CH06 (Arg0, 0x5E, 0x2F) 897 Local1 = (I000 << M000 ()) 898 CH06 (Arg0, 0x5F, 0x2F) 899 /* ShiftRight */ 900 901 Local1 = (M000 () >> I000) /* \M4BC.M004.I000 */ 902 CH06 (Arg0, 0x62, 0x2F) 903 Local1 = (I000 >> M000 ()) 904 CH06 (Arg0, 0x63, 0x2F) 905 /* Subtract */ 906 907 Local1 = (M000 () - I000) /* \M4BC.M004.I000 */ 908 CH06 (Arg0, 0x66, 0x2F) 909 Local1 = (I000 - M000 ()) 910 CH06 (Arg0, 0x67, 0x2F) 911 /* ToString */ 912 913 ToString (M000 (), 0x01, Local1) 914 CH06 (Arg0, 0x6A, 0x2F) 915 ToString (I000, M000 (), Local1) 916 CH06 (Arg0, 0x6B, 0x2F) 917 /* Wait */ 918 919 Local1 = Wait (M000 (), I000) 920 CH06 (Arg0, 0x6C, 0x2F) 921 Local1 = Wait (E000, M000 ()) 922 CH06 (Arg0, 0x6D, 0x2F) 923 /* XOr */ 924 925 Local1 = (M000 () ^ I000) /* \M4BC.M004.I000 */ 926 CH06 (Arg0, 0x70, 0x2F) 927 Local1 = (I000 ^ M000 ()) 928 CH06 (Arg0, 0x71, 0x2F) 929 /* Mid */ 930 931 Mid (M000 (), 0x01, 0x01, Local1) 932 CH06 (Arg0, 0x75, 0x2F) 933 Mid ("123", M000 (), 0x01, Local1) 934 CH06 (Arg0, 0x76, 0x2F) 935 Mid ("123", 0x01, M000 (), Local1) 936 CH06 (Arg0, 0x77, 0x2F) 937 /* Match */ 938 939 Local1 = Match (M000 (), MTR, 0x00, MTR, 0x00, 0x00) 940 CH06 (Arg0, 0x78, 0x2F) 941 Local1 = Match (Package (0x01) 942 { 943 0x01 944 }, MTR, M000 (), MTR, 0x00, 0x00) 945 CH06 (Arg0, 0x79, 0x2F) 946 Local1 = Match (Package (0x01) 947 { 948 0x01 949 }, MTR, 0x00, MTR, M000 (), 0x00) 950 CH06 (Arg0, 0x7A, 0x2F) 951 Local1 = Match (Package (0x01) 952 { 953 0x01 954 }, MTR, 0x00, MTR, 0x00, M000 ()) 955 CH06 (Arg0, 0x7B, 0x2F) 956 } 957 958 /* Reference to Object as Result of Method invocation */ 959 960 Method (M005, 1, Serialized) 961 { 962 Processor (PRC2, 0x00, 0xFFFFFFFF, 0x00){} 963 Name (I000, 0x00) /* Label to check m000 invocations */ 964 Method (M000, 2, NotSerialized) 965 { 966 I000 = Arg0 967 If ((Arg1 == 0x00)) 968 { 969 Local0 = RefOf (PR10) 970 } 971 ElseIf ((Arg1 == 0x01)) 972 { 973 Local0 = RefOf (PRC2) 974 } 975 976 Return (Local0) 977 } 978 979 Method (CH00, 2, NotSerialized) 980 { 981 If ((I000 != Arg1)) 982 { 983 ERR (Arg0, Z104, __LINE__, 0x00, 0x00, I000, Arg1) 984 } 985 } 986 987 Name (LPN0, 0x02) 988 Name (LPC0, 0x00) 989 While (LPN0) 990 { 991 Local0 = (0x03 * LPC0) /* \M4BC.M005.LPC0 */ 992 I000 = 0x00 993 Local1 = DerefOf (M000 (0x01, LPC0)) 994 If (!SLCK) 995 { 996 CH04 (__METHOD__, 0x00, 0x2F, Z104, __LINE__, 0x00, 0x00) 997 } 998 999 CH00 (Arg0, 0x01) 1000 Local1 = DerefOf (DerefOf (M000 (0x02, LPC0))) 1001 If (!SLCK) 1002 { 1003 CH06 (Arg0, (0x01 + Local0), 0x2F) 1004 } 1005 1006 CH00 (Arg0, 0x02) 1007 Store (DerefOf (M000 (0x03, LPC0)) [0x00], Local1) 1008 CH06 (Arg0, (0x02 + Local0), 0x2F) 1009 CH00 (Arg0, 0x03) 1010 Local1 = Match (DerefOf (M000 (0x04, LPC0)), MTR, 0x00, MTR, 0x00, 0x00) 1011 CH06 (Arg0, (0x03 + Local0), 0x2F) 1012 CH00 (Arg0, 0x04) 1013 LPN0-- 1014 LPC0++ 1015 } 1016 } 1017 1018 SET0 (Z104, __METHOD__, 0x00) 1019 CH03 (__METHOD__, Z104, __LINE__, 0x00, 0x00) 1020 /* Local Named Object */ 1021 1022 M000 (__METHOD__) 1023 /* Global Named Object */ 1024 1025 M001 (__METHOD__) 1026 /* Local */ 1027 1028 M002 (Concatenate (__METHOD__, "-m002")) 1029 /* Reference to Local Named Object */ 1030 1031 M003 (Concatenate (__METHOD__, "-m003-RefLocName"), RefOf (PRC1)) 1032 Local0 = RefOf (PRC1) 1033 M003 (Concatenate (__METHOD__, "-m003-RefLocName2"), Local0) 1034 CondRefOf (PRC1, Local0) 1035 M003 (Concatenate (__METHOD__, "-m003-CondRefLocName"), Local0) 1036 M003 (Concatenate (__METHOD__, "-m003-RefGlobName"), RefOf (PR10)) 1037 Local0 = RefOf (PR10) 1038 M003 (Concatenate (__METHOD__, "-m003-RefGlobName2"), Local0) 1039 CondRefOf (PR10, Local0) 1040 M003 (Concatenate (__METHOD__, "-m003-CondRefGlobName"), Local0) 1041 /* Reference to Object as element of Package */ 1042 1043 Name (PP00, Package (0x01) 1044 { 1045 PR10 1046 }) 1047 If (Y113) 1048 { 1049 M003 (Concatenate (__METHOD__, "-m003-Index"), PP00 [0x00]) 1050 } 1051 1052 Store (PP00 [0x00], Local1) 1053 M003 (Concatenate (__METHOD__, "-m003-Index2"), Local1) 1054 If (Y113) 1055 { 1056 M003 (Concatenate (__METHOD__, "-m003-Index3"), Local2 = PP00 [0x00]) 1057 } 1058 1059 Local3 = PP00 [0x00] 1060 M003 (Concatenate (__METHOD__, "-m003-Index4"), Local3) 1061 Local5 = Local4 = PP00 [0x00] 1062 M003 (Concatenate (__METHOD__, "-m003-Index5"), Local5) 1063 /* Result of Method invocation */ 1064 1065 M004 (Concatenate (__METHOD__, "-m004")) 1066 /* Reference to Object as Result of Method invocation */ 1067 1068 M005 (Concatenate (__METHOD__, "-m005")) 1069 RST0 () 1070 } 1071