1/* 2 * Some or all of this work - Copyright (c) 2006 - 2016, 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/* 30 * Thermal Zone 31 * 32 * (verify exceptions caused by the imprope use of Thermal Zone type objects) 33 */ 34 35Name(z105, 105) 36 37ThermalZone (tz00) {Name(n000, "tz00")} 38 39// Expected exceptions: 40// 41// 47 - AE_AML_OPERAND_TYPE 42// 43Method(m4bd,, Serialized) 44{ 45 Name(ts, "m4bd") 46 47 ThermalZone (tz01) {Name(n000, "tz01")} 48 49 Event(e000) 50 51 Name(i000, 0) 52 53 // Local Named Object 54 Method(m000, 1, Serialized) 55 { 56/* These are now caught by the compiler - Aug 2015 57 58 ThermalZone (tz02) {Name(n000, "tz02")} 59 60 Store (DerefOf(tz02), Local1) 61 CH06(arg0, 0, 47) 62*/ 63 } 64 65 // Global Named Object 66 Method(m001, 1) 67 { 68/* These are now caught by the compiler - Aug 2015 69 70 if (y083) { 71 Store (DerefOf(tz00), Local1) 72 CH06(arg0, 1, 47) 73 } 74*/ 75 } 76 77 // Local 78 Method(m002, 1, Serialized) 79 { 80 ThermalZone (tz02) {Name(n000, "tz02")} 81 82 Event(e000) 83 84 CopyObject(tz02, Local0) 85 86 // CondRefOf 87 88 CondRefOf(Local0, Local1) 89 CH03(ts, z105, 1, 0, 0) 90 91 // CopyObject 92 93 CopyObject(Local0, Local1) 94 CH03(ts, z105, 2, 0, 0) 95 96 // Decrement 97 98 Decrement(Local0) 99 CH06(arg0, 1, 47) 100 101 // DerefOf 102 103 Store (DerefOf(Local0), Local1) 104 CH06(arg0, 2, 47) 105 106 // FindSetLeftBit 107 108 FindSetLeftBit(Local0, Local1) 109 CH06(arg0, 4, 47) 110 111 // FindSetRightBit 112 113 FindSetRightBit(Local0, Local1) 114 CH06(arg0, 6, 47) 115 116 // FromBCD 117 118 FromBCD(Local0, Local1) 119 CH06(arg0, 8, 47) 120 121 // Increment 122 123 Increment(Local0) 124 CH06(arg0, 9, 47) 125 126 // LNot 127 128 Store (LNot(Local0), Local1) 129 CH06(arg0, 10, 47) 130 131 // Not 132 133 Not(Local0, Local1) 134 CH06(arg0, 12, 47) 135 136 // ObjectType 137 138 Store (ObjectType(Local0), Local1) 139 CH03(ts, z105, 3, 0, 0) 140 141 // RefOf 142 143 Store (RefOf(Local0), Local1) 144 CH03(ts, z105, 4, 0, 0) 145 146 // Release 147 148 Release(Local0) 149 CH06(arg0, 13, 47) 150 151 // Reset 152 153 Reset(Local0) 154 CH06(arg0, 14, 47) 155 156 // Signal 157 158 Signal(Local0) 159 CH06(arg0, 15, 47) 160 161 // SizeOf 162 163 Store (SizeOf(Local0), Local1) 164 CH06(arg0, 16, 47) 165 166 // Sleep 167 168 Sleep(Local0) 169 CH06(arg0, 17, 47) 170 171 // Stall 172 173 Stall(Local0) 174 CH06(arg0, 18, 47) 175 176 // Store 177 178 Store(Local0, Local1) 179 CH06(arg0, 19, 47) 180 181 // ToBCD 182 183 ToBCD(Local0, Local1) 184 CH06(arg0, 21, 47) 185 186 // ToBuffer 187 188 ToBuffer(Local0, Local1) 189 CH06(arg0, 23, 47) 190 191 // ToDecimalString 192 193 ToDecimalString(Local0, Local1) 194 CH06(arg0, 25, 47) 195 196 // ToHexString 197 198 ToHexString(Local0, Local1) 199 CH06(arg0, 27, 47) 200 201 // ToInteger 202 203 ToInteger(Local0, Local1) 204 CH06(arg0, 29, 47) 205 206 // Acquire 207 208 Store(Acquire(Local0, 100), Local1) 209 CH06(arg0, 30, 47) 210 211 // Add 212 213 Add(Local0, i000, Local1) 214 CH06(arg0, 33, 47) 215 216 Add(i000, Local0, Local1) 217 CH06(arg0, 34, 47) 218 219 // And 220 221 And(Local0, i000, Local1) 222 CH06(arg0, 37, 47) 223 224 And(i000, Local0, Local1) 225 CH06(arg0, 38, 47) 226 227 // Concatenate 228 229 Concatenate(Local0, i000, Local1) 230 CH06(arg0, 41, 47) 231 232 Concatenate(i000, Local0, Local1) 233 CH06(arg0, 42, 47) 234 235 // ConcatenateResTemplate 236 237 ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) 238 CH06(arg0, 45, 47) 239 240 ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) 241 CH06(arg0, 46, 47) 242 243 // Divide 244 245 Divide(Local0, i000, Local2) 246 CH06(arg0, 49, 47) 247 248 Divide(i000, Local0, Local2) 249 CH06(arg0, 50, 47) 250 251 Divide(Local0, i000, Local2, Local1) 252 CH06(arg0, 51, 47) 253 254 Divide(i000, Local0, Local2, Local1) 255 CH06(arg0, 52, 47) 256 257 // Fatal 258 259 Fatal(0xff, 0xffffffff, Local0) 260 CH06(arg0, 53, 47) 261 262 // Index 263 264 Index(Local0, 0, Local1) 265 CH06(arg0, 56, 47) 266 267 Index("0", Local0, Local1) 268 CH06(arg0, 57, 47) 269 270 // LEqual 271 272 Store (LEqual(Local0, i000), Local1) 273 CH06(arg0, 58, 47) 274 275 Store (LEqual(i000, Local0), Local1) 276 CH06(arg0, 59, 47) 277 278 // LGreater 279 280 Store (LGreater(Local0, i000), Local1) 281 CH06(arg0, 60, 47) 282 283 Store (LGreater(i000, Local0), Local1) 284 CH06(arg0, 61, 47) 285 286 // LGreaterEqual 287 288 Store (LGreaterEqual(Local0, i000), Local1) 289 CH06(arg0, 62, 0xff) 290 291 Store (LGreaterEqual(i000, Local0), Local1) 292 CH06(arg0, 63, 0xff) 293 294 // LLess 295 296 Store (LLess(Local0, i000), Local1) 297 CH06(arg0, 64, 47) 298 299 Store (LLess(i000, Local0), Local1) 300 CH06(arg0, 65, 47) 301 302 // LLessEqual 303 304 Store (LLessEqual(Local0, i000), Local1) 305 CH06(arg0, 66, 0xff) 306 307 Store (LLessEqual(i000, Local0), Local1) 308 CH06(arg0, 67, 0xff) 309 310 // LNotEqual 311 312 Store (LNotEqual(Local0, i000), Local1) 313 CH06(arg0, 68, 0xff) 314 315 Store (LNotEqual(i000, Local0), Local1) 316 CH06(arg0, 69, 0xff) 317 318 // LOr 319 320 Store (LOr(Local0, i000), Local1) 321 CH06(arg0, 70, 47) 322 323 Store (LOr(i000, Local0), Local1) 324 CH06(arg0, 71, 47) 325 326 // Mod 327 328 Mod(Local0, i000, Local1) 329 CH06(arg0, 74, 47) 330 331 Mod(i000, Local0, Local1) 332 CH06(arg0, 75, 47) 333 334 // Multiply 335 336 Multiply(Local0, i000, Local1) 337 CH06(arg0, 78, 47) 338 339 Multiply(i000, Local0, Local1) 340 CH06(arg0, 79, 47) 341 342 // NAnd 343 344 NAnd(Local0, i000, Local1) 345 CH06(arg0, 82, 47) 346 347 NAnd(i000, Local0, Local1) 348 CH06(arg0, 83, 47) 349 350 // NOr 351 352 NOr(Local0, i000, Local1) 353 CH06(arg0, 86, 47) 354 355 NOr(i000, Local0, Local1) 356 CH06(arg0, 87, 47) 357 358 // Or 359 360 Or(Local0, i000, Local1) 361 CH06(arg0, 90, 47) 362 363 Or(i000, Local0, Local1) 364 CH06(arg0, 91, 47) 365 366 // ShiftLeft 367 368 ShiftLeft(Local0, i000, Local1) 369 CH06(arg0, 94, 47) 370 371 ShiftLeft(i000, Local0, Local1) 372 CH06(arg0, 95, 47) 373 374 // ShiftRight 375 376 ShiftRight(Local0, i000, Local1) 377 CH06(arg0, 98, 47) 378 379 ShiftRight(i000, Local0, Local1) 380 CH06(arg0, 99, 47) 381 382 // Subtract 383 384 Subtract(Local0, i000, Local1) 385 CH06(arg0, 102, 47) 386 387 Subtract(i000, Local0, Local1) 388 CH06(arg0, 103, 47) 389 390 // ToString 391 392 ToString(Local0, 1, Local1) 393 CH06(arg0, 106, 47) 394 395 ToString(i000, Local0, Local1) 396 CH06(arg0, 107, 47) 397 398 // Wait 399 400 Store(Wait(Local0, i000), Local1) 401 CH06(arg0, 108, 47) 402 403 Store(Wait(e000, Local0), Local1) 404 CH06(arg0, 109, 47) 405 406 // XOr 407 408 XOr(Local0, i000, Local1) 409 CH06(arg0, 112, 47) 410 411 XOr(i000, Local0, Local1) 412 CH06(arg0, 113, 47) 413 414 // Mid 415 416 Mid(Local0, 1, 1, Local1) 417 CH06(arg0, 117, 47) 418 419 Mid("123", Local0, 1, Local1) 420 CH06(arg0, 118, 47) 421 422 Mid("123", 1, Local0, Local1) 423 CH06(arg0, 119, 47) 424 425 // Match 426 427 Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) 428 CH06(arg0, 120, 47) 429 430 Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) 431 CH06(arg0, 121, 47) 432 433 Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) 434 CH06(arg0, 122, 47) 435 436 Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) 437 CH06(arg0, 123, 47) 438 } 439 440 // Reference to Object 441 Method(m003, 3, Serialized) 442 { 443 Name(EXC0, 47) // AE_AML_OPERAND_TYPE 444 445 Store(ObjectType(arg1), Local0) 446 if (LNotEqual(Local0, 13)) { 447 err(arg0, z105, 200, 0, 0, Local0, 13) 448 return (1) 449 } 450 451 if (arg2) { 452 if (LNot(y503)) { 453 Store(62, EXC0) // AE_AML_NO_RETURN_VALUE 454 } 455 } 456 457 Store (DeRefOf(arg1), Local1) 458 CH03(ts, z105, 5, 0, 0) 459 460 // CondRefOf 461 462 CondRefOf(DeRefOf(arg1), Local1) 463 CH06(arg0, 1, EXC0) 464 465 // CopyObject 466 467 CopyObject(DeRefOf(arg1), Local1) 468 CH06(arg0, 2, EXC0) 469 470 // Decrement 471 472 Decrement(DeRefOf(arg1)) 473 CH06(arg0, 3, EXC0) 474 475 // DerefOf 476 477 Store (DerefOf(DeRefOf(arg1)), Local1) 478 CH06(arg0, 4, EXC0) 479 480 // FindSetLeftBit 481 482 FindSetLeftBit(DeRefOf(arg1), Local1) 483 CH06(arg0, 6, EXC0) 484 485 // FindSetRightBit 486 487 FindSetRightBit(DeRefOf(arg1), Local1) 488 CH06(arg0, 8, EXC0) 489 490 // FromBCD 491 492 FromBCD(DeRefOf(arg1), Local1) 493 CH06(arg0, 10, EXC0) 494 495 // Increment 496 497 Increment(DeRefOf(arg1)) 498 CH06(arg0, 11, EXC0) 499 500 // LNot 501 502 Store (LNot(DeRefOf(arg1)), Local1) 503 CH06(arg0, 12, EXC0) 504 505 // Not 506 507 Not(DeRefOf(arg1), Local1) 508 CH06(arg0, 14, EXC0) 509 510 // ObjectType 511 512 Store (ObjectType(DeRefOf(arg1)), Local1) 513 CH03(ts, z105, 6, 0, 0) 514 515 // RefOf 516 517 Store (RefOf(DeRefOf(arg1)), Local1) 518 CH06(arg0, 15, EXC0) 519 520 // Release 521 522 // Reset 523 524 // Signal 525 526 // SizeOf 527 528 Store (SizeOf(DeRefOf(arg1)), Local1) 529 CH06(arg0, 16, EXC0) 530 531 // Sleep 532 533 Sleep(DeRefOf(arg1)) 534 CH06(arg0, 17, EXC0) 535 536 // Stall 537 538 Stall(DeRefOf(arg1)) 539 CH06(arg0, 18, EXC0) 540 541 // Store 542 543 Store(DeRefOf(arg1), Local1) 544 CH06(arg0, 19, EXC0) 545 546 // ToBCD 547 548 ToBCD(DeRefOf(arg1), Local1) 549 CH06(arg0, 21, EXC0) 550 551 // ToBuffer 552 553 ToBuffer(DeRefOf(arg1), Local1) 554 CH06(arg0, 23, EXC0) 555 556 // ToDecimalString 557 558 ToDecimalString(DeRefOf(arg1), Local1) 559 CH06(arg0, 25, EXC0) 560 561 // ToHexString 562 563 ToHexString(DeRefOf(arg1), Local1) 564 CH06(arg0, 27, EXC0) 565 566 // ToInteger 567 568 ToInteger(DeRefOf(arg1), Local1) 569 CH06(arg0, 29, EXC0) 570 571 // Acquire 572 573 // Add 574 575 Add(DeRefOf(arg1), i000, Local1) 576 CH06(arg0, 33, EXC0) 577 578 Add(i000, DeRefOf(arg1), Local1) 579 CH06(arg0, 34, EXC0) 580 581 // And 582 583 And(DeRefOf(arg1), i000, Local1) 584 CH06(arg0, 37, EXC0) 585 586 And(i000, DeRefOf(arg1), Local1) 587 CH06(arg0, 38, EXC0) 588 589 // Concatenate 590 591 Concatenate(DeRefOf(arg1), i000, Local1) 592 CH06(arg0, 41, EXC0) 593 594 Concatenate(i000, DeRefOf(arg1), Local1) 595 CH06(arg0, 42, EXC0) 596 597 // ConcatenateResTemplate 598 599 ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) 600 CH06(arg0, 45, EXC0) 601 602 ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) 603 CH06(arg0, 46, EXC0) 604 605 // Divide 606 607 Divide(DeRefOf(arg1), i000, Local2) 608 CH06(arg0, 49, EXC0) 609 610 Divide(i000, DeRefOf(arg1), Local2) 611 CH06(arg0, 50, EXC0) 612 613 Divide(DeRefOf(arg1), i000, Local2, Local1) 614 CH06(arg0, 51, EXC0) 615 616 Divide(i000, DeRefOf(arg1), Local2, Local1) 617 CH06(arg0, 52, EXC0) 618 619 // Fatal 620 621 Fatal(0xff, 0xffffffff, DeRefOf(arg1)) 622 CH06(arg0, 53, EXC0) 623 624 // Index 625 626 Index(DeRefOf(arg1), 0, Local1) 627 CH06(arg0, 56, EXC0) 628 629 Index("0", DeRefOf(arg1), Local1) 630 CH06(arg0, 57, EXC0) 631 632 // LEqual 633 634 Store (LEqual(DeRefOf(arg1), i000), Local1) 635 CH06(arg0, 58, EXC0) 636 637 Store (LEqual(i000, DeRefOf(arg1)), Local1) 638 CH06(arg0, 59, EXC0) 639 640 // LGreater 641 642 Store (LGreater(DeRefOf(arg1), i000), Local1) 643 CH06(arg0, 60, EXC0) 644 645 Store (LGreater(i000, DeRefOf(arg1)), Local1) 646 CH06(arg0, 61, EXC0) 647 648 // LGreaterEqual 649 650 Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) 651 CH06(arg0, 62, 0xff) 652 653 Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) 654 CH06(arg0, 63, 0xff) 655 656 // LLess 657 658 Store (LLess(DeRefOf(arg1), i000), Local1) 659 CH06(arg0, 64, EXC0) 660 661 Store (LLess(i000, DeRefOf(arg1)), Local1) 662 CH06(arg0, 65, EXC0) 663 664 // LLessEqual 665 666 Store (LLessEqual(DeRefOf(arg1), i000), Local1) 667 CH06(arg0, 66, 0xff) 668 669 Store (LLessEqual(i000, DeRefOf(arg1)), Local1) 670 CH06(arg0, 67, 0xff) 671 672 // LNotEqual 673 674 Store (LNotEqual(DeRefOf(arg1), i000), Local1) 675 CH06(arg0, 68, 0xff) 676 677 Store (LNotEqual(i000, DeRefOf(arg1)), Local1) 678 CH06(arg0, 69, 0xff) 679 680 // LOr 681 682 Store (LOr(DeRefOf(arg1), i000), Local1) 683 CH06(arg0, 70, EXC0) 684 685 Store (LOr(i000, DeRefOf(arg1)), Local1) 686 CH06(arg0, 71, EXC0) 687 688 // Mod 689 690 Mod(DeRefOf(arg1), i000, Local1) 691 CH06(arg0, 74, EXC0) 692 693 Mod(i000, DeRefOf(arg1), Local1) 694 CH06(arg0, 75, EXC0) 695 696 // Multiply 697 698 Multiply(DeRefOf(arg1), i000, Local1) 699 CH06(arg0, 78, EXC0) 700 701 Multiply(i000, DeRefOf(arg1), Local1) 702 CH06(arg0, 79, EXC0) 703 704 // NAnd 705 706 NAnd(DeRefOf(arg1), i000, Local1) 707 CH06(arg0, 82, EXC0) 708 709 NAnd(i000, DeRefOf(arg1), Local1) 710 CH06(arg0, 83, EXC0) 711 712 // NOr 713 714 NOr(DeRefOf(arg1), i000, Local1) 715 CH06(arg0, 86, EXC0) 716 717 NOr(i000, DeRefOf(arg1), Local1) 718 CH06(arg0, 87, EXC0) 719 720 // Or 721 722 Or(DeRefOf(arg1), i000, Local1) 723 CH06(arg0, 90, EXC0) 724 725 Or(i000, DeRefOf(arg1), Local1) 726 CH06(arg0, 91, EXC0) 727 728 // ShiftLeft 729 730 ShiftLeft(DeRefOf(arg1), i000, Local1) 731 CH06(arg0, 94, EXC0) 732 733 ShiftLeft(i000, DeRefOf(arg1), Local1) 734 CH06(arg0, 95, EXC0) 735 736 // ShiftRight 737 738 ShiftRight(DeRefOf(arg1), i000, Local1) 739 CH06(arg0, 98, EXC0) 740 741 ShiftRight(i000, DeRefOf(arg1), Local1) 742 CH06(arg0, 99, EXC0) 743 744 // Subtract 745 746 Subtract(DeRefOf(arg1), i000, Local1) 747 CH06(arg0, 102, EXC0) 748 749 Subtract(i000, DeRefOf(arg1), Local1) 750 CH06(arg0, 103, EXC0) 751 752 // ToString 753 754 ToString(DeRefOf(arg1), 1, Local1) 755 CH06(arg0, 106, EXC0) 756 757 ToString(i000, DeRefOf(arg1), Local1) 758 CH06(arg0, 107, EXC0) 759 760 // Wait 761 762 Store(Wait(e000, DeRefOf(arg1)), Local1) 763 CH06(arg0, 109, EXC0) 764 765 // XOr 766 767 XOr(DeRefOf(arg1), i000, Local1) 768 CH06(arg0, 112, EXC0) 769 770 XOr(i000, DeRefOf(arg1), Local1) 771 CH06(arg0, 113, EXC0) 772 773 // Mid 774 775 Mid(DeRefOf(arg1), 1, 1, Local1) 776 CH06(arg0, 117, EXC0) 777 778 Mid("123", DeRefOf(arg1), 1, Local1) 779 CH06(arg0, 118, EXC0) 780 781 Mid("123", 1, DeRefOf(arg1), Local1) 782 CH06(arg0, 119, EXC0) 783 784 // Match 785 786 Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) 787 CH06(arg0, 120, EXC0) 788 789 Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) 790 CH06(arg0, 121, EXC0) 791 792 Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) 793 CH06(arg0, 122, EXC0) 794 795 Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) 796 CH06(arg0, 123, EXC0) 797 798 return (0) 799 } 800 801 // Result of Method invocation 802 Method(m004, 1, Serialized) 803 { 804 Name(i000, 0) // Label to check m000 invocations 805 806 Method(m000) 807 { 808 CopyObject(tz00, Local0) 809 Return (Local0) 810 } 811 812 // CondRefOf 813 814 CondRefOf(m000(), Local1) 815 CH06(arg0, 1, 47) 816 817 // CopyObject 818 819 CopyObject(m000(), Local1) 820 CH03(ts, z105, 7, 0, 0) 821 822 // Decrement 823 824 Decrement(m000()) 825 CH06(arg0, 2, 47) 826 827 // DerefOf 828 829 Store (DerefOf(m000()), Local1) 830 CH06(arg0, 3, 47) 831 832 // FindSetLeftBit 833 834 FindSetLeftBit(m000(), Local1) 835 CH06(arg0, 5, 47) 836 837 // FindSetRightBit 838 839 FindSetRightBit(m000(), Local1) 840 CH06(arg0, 7, 47) 841 842 // FromBCD 843 844 FromBCD(m000(), Local1) 845 CH06(arg0, 9, 47) 846 847 // Increment 848 849 Increment(m000()) 850 CH06(arg0, 10, 47) 851 852 // LNot 853 854 Store (LNot(m000()), Local1) 855 CH06(arg0, 11, 47) 856 857 // Not 858 859 Not(m000(), Local1) 860 CH06(arg0, 13, 47) 861 862 // ObjectType 863 /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ 864// 865// ObjectType(m000()) 866// CH03(ts, z105, 8, 0, 0) 867 868 // RefOf 869 870 Store (RefOf(m000()), Local1) 871 CH06(arg0, 14, 47) 872 873 // Release 874 875 Release(m000()) 876 CH06(arg0, 13, 47) 877 878 // Reset 879 880 Reset(m000()) 881 CH06(arg0, 14, 47) 882 883 // Signal 884 885 Signal(m000()) 886 CH06(arg0, 15, 47) 887 888 // SizeOf 889 890 Store (SizeOf(m000()), Local1) 891 CH06(arg0, 16, 47) 892 893 // Sleep 894 895 Sleep(m000()) 896 CH06(arg0, 17, 47) 897 898 // Stall 899 900 Stall(m000()) 901 CH06(arg0, 18, 47) 902 903 // Store 904 905 Store(m000(), Local1) 906 CH06(arg0, 19, 47) 907 908 // ToBCD 909 910 ToBCD(m000(), Local1) 911 CH06(arg0, 21, 47) 912 913 // ToBuffer 914 915 ToBuffer(m000(), Local1) 916 CH06(arg0, 23, 47) 917 918 // ToDecimalString 919 920 ToDecimalString(m000(), Local1) 921 CH06(arg0, 25, 47) 922 923 // ToHexString 924 925 ToHexString(m000(), Local1) 926 CH06(arg0, 27, 47) 927 928 // ToInteger 929 930 ToInteger(m000(), Local1) 931 CH06(arg0, 29, 47) 932 933 // Acquire 934 935 Store(Acquire(m000(), 100), Local1) 936 CH06(arg0, 30, 47) 937 938 // Add 939 940 Add(m000(), i000, Local1) 941 CH06(arg0, 33, 47) 942 943 Add(i000, m000(), Local1) 944 CH06(arg0, 34, 47) 945 946 // And 947 948 And(m000(), i000, Local1) 949 CH06(arg0, 37, 47) 950 951 And(i000, m000(), Local1) 952 CH06(arg0, 38, 47) 953 954 // Concatenate 955 956 Concatenate(m000(), i000, Local1) 957 CH06(arg0, 41, 47) 958 959 Concatenate(i000, m000(), Local1) 960 CH06(arg0, 42, 47) 961 962 // ConcatenateResTemplate 963 964 ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) 965 CH06(arg0, 45, 47) 966 967 ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) 968 CH06(arg0, 46, 47) 969 970 // Divide 971 972 Divide(m000(), i000, Local2) 973 CH06(arg0, 49, 47) 974 975 Divide(i000, m000(), Local2) 976 CH06(arg0, 50, 47) 977 978 Divide(m000(), i000, Local2, Local1) 979 CH06(arg0, 51, 47) 980 981 Divide(i000, m000(), Local2, Local1) 982 CH06(arg0, 52, 47) 983 984 // Fatal 985 986 Fatal(0xff, 0xffffffff, m000()) 987 CH06(arg0, 53, 47) 988 989 // Index 990 991 Index(m000(), 0, Local1) 992 CH06(arg0, 56, 47) 993 994 Index("0", m000(), Local1) 995 CH06(arg0, 57, 47) 996 997 // LEqual 998 999 Store (LEqual(m000(), i000), Local1) 1000 CH06(arg0, 58, 47) 1001 1002 Store (LEqual(i000, m000()), Local1) 1003 CH06(arg0, 59, 47) 1004 1005 // LGreater 1006 1007 Store (LGreater(m000(), i000), Local1) 1008 CH06(arg0, 60, 47) 1009 1010 Store (LGreater(i000, m000()), Local1) 1011 CH06(arg0, 61, 47) 1012 1013 // LGreaterEqual 1014 1015 Store (LGreaterEqual(m000(), i000), Local1) 1016 CH06(arg0, 62, 0xff) 1017 1018 Store (LGreaterEqual(i000, m000()), Local1) 1019 CH06(arg0, 63, 0xff) 1020 1021 // LLess 1022 1023 Store (LLess(m000(), i000), Local1) 1024 CH06(arg0, 64, 47) 1025 1026 Store (LLess(i000, m000()), Local1) 1027 CH06(arg0, 65, 47) 1028 1029 // LLessEqual 1030 1031 Store (LLessEqual(m000(), i000), Local1) 1032 CH06(arg0, 66, 0xff) 1033 1034 Store (LLessEqual(i000, m000()), Local1) 1035 CH06(arg0, 67, 0xff) 1036 1037 // LNotEqual 1038 1039 Store (LNotEqual(m000(), i000), Local1) 1040 CH06(arg0, 68, 0xff) 1041 1042 Store (LNotEqual(i000, m000()), Local1) 1043 CH06(arg0, 69, 0xff) 1044 1045 // LOr 1046 1047 Store (LOr(m000(), i000), Local1) 1048 CH06(arg0, 70, 47) 1049 1050 Store (LOr(i000, m000()), Local1) 1051 CH06(arg0, 71, 47) 1052 1053 // Mod 1054 1055 Mod(m000(), i000, Local1) 1056 CH06(arg0, 74, 47) 1057 1058 Mod(i000, m000(), Local1) 1059 CH06(arg0, 75, 47) 1060 1061 // Multiply 1062 1063 Multiply(m000(), i000, Local1) 1064 CH06(arg0, 78, 47) 1065 1066 Multiply(i000, m000(), Local1) 1067 CH06(arg0, 79, 47) 1068 1069 // NAnd 1070 1071 NAnd(m000(), i000, Local1) 1072 CH06(arg0, 82, 47) 1073 1074 NAnd(i000, m000(), Local1) 1075 CH06(arg0, 83, 47) 1076 1077 // NOr 1078 1079 NOr(m000(), i000, Local1) 1080 CH06(arg0, 86, 47) 1081 1082 NOr(i000, m000(), Local1) 1083 CH06(arg0, 87, 47) 1084 1085 // Or 1086 1087 Or(m000(), i000, Local1) 1088 CH06(arg0, 90, 47) 1089 1090 Or(i000, m000(), Local1) 1091 CH06(arg0, 91, 47) 1092 1093 // ShiftLeft 1094 1095 ShiftLeft(m000(), i000, Local1) 1096 CH06(arg0, 94, 47) 1097 1098 ShiftLeft(i000, m000(), Local1) 1099 CH06(arg0, 95, 47) 1100 1101 // ShiftRight 1102 1103 ShiftRight(m000(), i000, Local1) 1104 CH06(arg0, 98, 47) 1105 1106 ShiftRight(i000, m000(), Local1) 1107 CH06(arg0, 99, 47) 1108 1109 // Subtract 1110 1111 Subtract(m000(), i000, Local1) 1112 CH06(arg0, 102, 47) 1113 1114 Subtract(i000, m000(), Local1) 1115 CH06(arg0, 103, 47) 1116 1117 // ToString 1118 1119 ToString(m000(), 1, Local1) 1120 CH06(arg0, 106, 47) 1121 1122 ToString(i000, m000(), Local1) 1123 CH06(arg0, 107, 47) 1124 1125 // Wait 1126 1127 Store(Wait(m000(), i000), Local1) 1128 CH06(arg0, 108, 47) 1129 1130 Store(Wait(e000, m000()), Local1) 1131 CH06(arg0, 109, 47) 1132 1133 // XOr 1134 1135 XOr(m000(), i000, Local1) 1136 CH06(arg0, 112, 47) 1137 1138 XOr(i000, m000(), Local1) 1139 CH06(arg0, 113, 47) 1140 1141 // Mid 1142 1143 Mid(m000(), 1, 1, Local1) 1144 CH06(arg0, 117, 47) 1145 1146 Mid("123", m000(), 1, Local1) 1147 CH06(arg0, 118, 47) 1148 1149 Mid("123", 1, m000(), Local1) 1150 CH06(arg0, 119, 47) 1151 1152 // Match 1153 1154 Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) 1155 CH06(arg0, 120, 47) 1156 1157 Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) 1158 CH06(arg0, 121, 47) 1159 1160 Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) 1161 CH06(arg0, 122, 47) 1162 1163 Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) 1164 CH06(arg0, 123, 47) 1165 } 1166 1167 // Reference to Object as Result of Method invocation 1168 Method(m005, 1, Serialized) 1169 { 1170 ThermalZone (tz02) {Name(n000, "tz02")} 1171 1172 Name(i000, 0) // Label to check m000 invocations 1173 1174 Method(m000, 2) 1175 { 1176 Store(arg0, i000) 1177 if (LEqual(arg1, 0)) { 1178 Store(Refof(tz00), Local0) 1179 } elseif (LEqual(arg1, 1)) { 1180 Store(Refof(tz02), Local0) 1181 } 1182 Return (Local0) 1183 } 1184 1185 Method(CH00, 2) 1186 { 1187 if (LNotEqual(i000, arg1)) { 1188 err(arg0, z105, 0, 0, 0, i000, arg1) 1189 } 1190 } 1191 1192 Name(lpN0, 2) 1193 Name(lpC0, 0) 1194 1195 While (lpN0) { 1196 Multiply(3, lpC0, Local0) 1197 1198 Store(0, i000) 1199 1200 Store (DerefOf(m000(1, lpC0)), Local1) 1201 CH03(ts, z105, Add(9, lpC0), 0, 0) 1202 CH00(arg0, 1) 1203 1204 Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) 1205 CH06(arg0, Add(1, Local0), 47) 1206 CH00(arg0, 2) 1207 1208 Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) 1209 CH06(arg0, Add(2, Local0), 47) 1210 CH00(arg0, 3) 1211 1212 Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) 1213 CH06(arg0, Add(3, Local0), 47) 1214 CH00(arg0, 4) 1215 1216 Decrement(lpN0) 1217 Increment(lpC0) 1218 } 1219 } 1220 1221 CH03(ts, z105, 11, 0, 0) 1222 1223 // Local Named Object 1224 m000(ts) 1225 1226 // Global Named Object 1227 m001(ts) 1228 1229 // Local 1230 if (y504) { 1231 m002(Concatenate(ts, "-m002")) 1232 } 1233 1234 // Reference to Local Named Object 1235 1236 m003(Concatenate(ts, "-m003-RefLocName"), RefOf(tz01), 1) 1237 1238 Store(RefOf(tz01), Local0) 1239 m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1) 1240 1241 CondRefOf(tz01, Local0) 1242 m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1) 1243 1244 m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(tz00), 1) 1245 1246 Store(RefOf(tz00), Local0) 1247 m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1) 1248 1249 CondRefOf(tz00, Local0) 1250 m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1) 1251 1252 // Reference to Object as element of Package 1253 1254 Name(pp00, Package(){tz00}) 1255 1256 if (y113) { 1257 m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0) 1258 } 1259 1260 Store(Index(pp00, 0), Local1) 1261 m003(Concatenate(ts, "-m003-Index2"), Local1, 0) 1262 1263 if (y113) { 1264 m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0) 1265 } 1266 1267 Index(pp00, 0, Local3) 1268 m003(Concatenate(ts, "-m003-Index4"), Local3, 0) 1269 1270 Store(Index(pp00, 0, Local4), Local5) 1271 m003(Concatenate(ts, "-m003-Index5"), Local5, 0) 1272 1273 // Result of Method invocation 1274 if (y504) { 1275 m004(Concatenate(ts, "-m004")) 1276 } 1277 1278 // Reference to Object as Result of Method invocation 1279 m005(Concatenate(ts, "-m005")) 1280} 1281