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