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