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 * Run Tests Parameters Technique (RTPT) 31 * 32 * Tese parameters have effect only when 33 * running a group of tests (collections) 34 * such as all Functional tests, all Complex 35 * tests, all Exceptions tests, Full test 36 * (all enumerated above tests). 37 * 38 * Main flag: 39 * 0 - run unconditionally all tests 40 * 1 - run all the tests whit non-zero params 41 * 2 - run all the tests whit zero params 42 * 3 - run all the tests whit params equal to RUN1 43 * 4 - run one the particular test specified so: 44 * RUN2 - index of collection 45 * RUN3 - index of the test inside the collection 46 */ 47Name(RUN0, 0) // main flag 48Name(RUN1, 0) // level 49Name(RUN2, 0) // collection 50Name(RUN3, 0) // test 51Name(RTPT, 0) // validity of RTPT mode 52 53// FUNCTIONAL 54 55Name(W000, 0) // arithmetic 56Name(W001, 0) // bfield 57Name(W002, 0) // constant 58Name(W003, 0) // control 59Name(W004, 0) // descriptor 60Name(W005, 0) // extern 61Name(W006, 0) // local 62Name(W007, 0) // logic 63Name(W008, 0) // manipulation 64Name(W009, 0) // name 65Name(W00a, 0) // reference 66Name(W00b, 0) // region 67Name(W00c, 0) // synchronization 68Name(W00d, 0) // table 69Name(W01a, 0) // module 70 71// COMPLEX 72 73Name(W00e, 0) // misc 74Name(W00f, 0) // provoke 75Name(W010, 0) // operand 76Name(W011, 0) // result 77Name(W012, 0) // namespace 78Name(W022, 0) // badasl 79 80// EXCEPTIONS 81 82Name(W013, 0) // exc 83Name(W014, 0) // exc_operand 84Name(W015, 0) // exc_result 85Name(W016, 0) // exc_ref 86 87// DEMO 88 89Name(W017, 0) // Bugs (0-N) 90 91// IMPL 92 93Name(W021, 0) // dynobj 94 95// SERVICE 96 97Name(W018, 0) // condbranches 98 99// Identity2MS 100 101Name(W019, 0) // abbu 102 103// Reserved names 104 105Name(W020, 0) 106 107/* 108 * Set RTPT technique. 109 * Should be invoked in MAIN files of 110 * ALL functional, complex, exceptions,... 111 */ 112Method(SRTP, 1) { 113 Store(arg0, RTPT) 114} 115 116 117/* 118 * Set up the particular desirable set of tests to be run 119 * 120 * Tese parameters have effect only when 121 * running a group of test cases or even 122 * collections) such as all Functional tests, 123 * all Complex tests, all Exceptions tests, 124 * Full test (all enumerated above tests) 125 * compiled all as one DefinitionBlock. 126 * 127 * Parameters: 128 * 129 * RUN0 - main flag 130 * 0 - run unconditionally all tests 131 * 1 - run all the tests whit non-zero params 132 * 2 - run all the tests whit zero params 133 * 3 - run all the tests whit params equal to RUN1 134 * 4 - run one the particular test specified in this way: 135 * RUN2 - index of collection 136 * 1 - functional 137 * 2 - complex 138 * 3 - exceptions 139 * RUN3 - index of the test inside the collection 140 * RUN1 - level 141 * RUN2 - collection 142 * RUN3 - test 143 */ 144Method(RTPI) { 145 146// PARAMETRES OF MODE 147 148Store(0, RUN0) // main flag 149Store(0, RUN1) // level 150Store(1, RUN2) // collection 151Store(3, RUN3) // test 152 153// FUNCTIONAL, collection # 1 154 155Store(1, W000) // arithmetic 0 156Store(1, W001) // bfield 1 157Store(1, W002) // constant 2 158Store(1, W003) // control 3 159Store(1, W004) // descriptor 4 160Store(1, W005) // extern 5 161Store(1, W006) // local 6 162Store(1, W007) // logic 7 163Store(1, W008) // manipulation 8 164Store(1, W009) // name 9 165Store(1, W00a) // reference 10 166Store(1, W00b) // region 11 167Store(1, W00c) // synchronization 12 168Store(1, W00d) // table 13 169 170// COMPLEX, collection # 2 171 172Store(1, W00e) // misc 0 173Store(1, W00f) // provoke 1 174Store(1, W010) // operand 2 175Store(1, W011) // result 3 176Store(1, W021) // dynobj 4 177Store(1, W012) // RESERVED, not in use 178 179// EXCEPTIONS, collection # 3 180 181Store(1, W013) // exc 0 182Store(1, W014) // exc_operand 1,2 183Store(1, W015) // exc_result 3,4 184Store(1, W016) // exc_ref 5 185Store(1, W019) // exc_tbl 6 186 187// DEMO 188 189Store(1, W017) // Bugs (0-N) 0 190 191// SERVICE 192 193Store(1, W018) // condbranches 0 194} 195 196/* 197 * Variables below allow to exclude code which causes crashes 198 * or hangs or prevents execution of other tests. 199 * 200 * ATTENTION: all these variables should be set to 1 eventually 201 * (after all bugs fixing). 202 * 203 * Lyout of variable name: y<xxx> - xxx is the number of bug 204 * 0 - dont run 205 * non-zero - run 206 * 207 * ATTENTION: see all the qXXX & rnXX conditions of the particular 208 * tests (which also provide the temporary exclusion). 209 * 210 * ATTENTION: all disablings must go through this technique of 211 * y<xxx> disable/enable variables. 212 * 213 * y<xxx> - prevents undesirable consequences of the surrounded 214 * code (crashes, hangs etc. of tests). Should be finally 215 * set to non-zero (after the product-bug fixing) so 216 * enabling execution of the surrounded code. 217 * X<xxx> - surrounds particular Bugs. Used mostly to point out 218 * the reasons of test failures (xxx - number of bug) 219 * not to review the results of tests each time anew. 220 * So, as a rule these variables are set to non-zero. 221 */ 222 223/* 224 * Bugs 225 */ 226Name(y078, 0) 227Name(y083, 0) 228Name(y084, 1) 229Name(y098, 1) 230Name(y100, 0) 231Name(y103, 1) 232Name(y104, 1) 233Name(y105, 1) 234Name(y106, 0) 235Name(y111, 1) 236Name(y113, 0) 237Name(y114, 0) 238Name(y118, 0) // elements of Package are NamedX, failed access to Field Unit and Buffer Field 239Name(y119, 0) 240Name(y120, 0) 241Name(y121, 0) 242Name(y126, 0) 243Name(y127, 0) // Automatic dereference of Index in CopyObject 244Name(y128, 1) 245Name(y132, 0) 246Name(y133, 0) // Write access automatic dereference for Index reference 247Name(y134, 0) 248Name(y135, 0) 249Name(y136, 1) // CopyObject(A, B) for Buffers causes implicit 250Name(y157, 1) // problems when ParameterTypes declaration data omitted 251Name(y164, 1) // tests m22d and m26b of reference test 252Name(y176, 0) 253Name(y178, 1) // Non-constant Bank values works since ACPICA release 20071211 254Name(y182, 1) 255Name(y192, 1) // AcpiExec is able to emulate access to BankField Objects since ACPICA release 20071211 256Name(y200, 0) // The code path taken after exception in AcpiPsParseLoop is incorrect 257Name(y203, 0) // ObjectType operation falls into infinite loop for ring of RefOf references 258Name(y204, 0) // SizeOf operation falls into infinite loop for ring of RefOf references 259Name(y205, 0) // Store-to-Debug operation falls into infinite loop for ring of RefOf references 260Name(y206, 0) // ObjectType operation falls into infinite loop for ring of Index references 261Name(y207, 0) // SizeOf operation falls into infinite loop for ring of Index references 262Name(y208, 0) // Store-to-Debug operation falls into infinite loop for ring of Index references 263Name(y213, 0) // Crash 264Name(y214, 0) // Crash on repeated duplication of an OpRegion by CopyObject 265Name(y215, 0) // Exception AE_BUFFER_OVERFLOW when IndexName Field exceeds 32 bits 266Name(y216, 0) // exception AE_NOT_FOUND on CreateField under specific conditions 267Name(y217, 0) // Dynamic OpRegion _REG method execution problem 268Name(y220, 0) // Inconsistent "Access is available/unavailable" _REG method calls 269Name(y221, 1) // Alternating access to OpRegions covering different ranges 270Name(y222, 0) // Alternating access to OpRegions of different Address Spaces 271Name(y223, 1) // DataTableRegion with the non-constant *Strings works since ACPICA release 20071211 272Name(y224, 0) // AcpiExec is unable to emulate access to IndexField Objects 273Name(y238, 0) // the jumping over levels in releasing mutexes is not prohibited 274Name(y242, 0) // Releasing the mutex the first Acquired on the non-zero level makes Releasing the residuary mutexes of that level impossible 275Name(y243, 0) // the normal work with mutexes is broken after the mutex Release order violation 276Name(y248, 0) // Incorrect ReferenceCount on Switch operation 277Name(y251, 0) // AE_ALREADY_EXISTS on multi-threading on Switch operator 278Name(y260, 0) // For a DDBHandle Object ObjectType unexpectedly results in AE_AML_INTERNAL 279Name(y261, 0) // Crash when DDBHandle parameter of Load is an Indexed Reference 280Name(y262, 0) // Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls 281Name(y263, 0) // The sequence of evaluating operands of expression with the named objects is violated 282Name(y264, 0) // Crash on re-writing named element of Package 283Name(y275, 0) // Pop result from bottom principle doesn't work 284Name(y276, 0) // 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode 285Name(y281, 0) // Normal strings as the LoadTable parameters can cause the matching table to be not found 286Name(y282, 0) // Crash when the Buffer Object parameter of Load is used after an exception in it 287Name(y283, 1) // When the Object parameter of Load is a Field the checksum of the supplied SSDT should be verified 288Name(y284, 1) // An exception should be emitted on Load if the Length field of SSDT exceeds length of its source 289Name(y286, 1) // After an exception the elements of the Package passed to Unload are unexpectedly deleted 290Name(y287, 0) // If any string to match a proper field on LoadTable exceeds field's length an exception should be emitted 291Name(y288, 0) // iASL unexpectedly forbids ParameterData of Loadtable to be LocalX or UserTerm 292Name(y289, 0) // Search of the table matched Loadtable parameters should be restricted to XSDT 293Name(y290, 0) // AcpiExec is unable to emulate Load from OpRegion 294Name(y292, 0) // Different second and third UnLoad execution with the same argument behavior 295Name(y293, 0) // Incorrect zero-length Buffer to String conversion 296Name(y294, 0) // _ERR method can not be evaluated when AE_OWNER_ID_LIMIT is emitted 297Name(y296, 0) // AE_AML_INTERNAL unexpectedly occurs when the Loadtable ParameterData and its Target differ in the types 298Name(y297, 0) // After AE_LIMIT the further work of ACPICA mutex framework looks unstable 299Name(y300, 0) // Recursive calls to methods with the internal names (and Switches) should be provided 300Name(y301, 0) // Recursive call on the same thread to the Serialized method with the internal objects (Swithces) causes AE_AML_INTERNAL 301Name(y302, 0) // Scope operation doesn't work for the root node Location 302 303 304/* 305 * Issues (replace them with the Bug indexes) 306 */ 307 308Name(y349, 0) // to clarify what is the proper behaviour when Serialized Method is invoked recursively (now hangs) 309Name(y350, 0) // TermalZone AE_AML_NO_RETURN_VALUE exception 310Name(y361, 0) // OperationRegion in Result tests 311Name(y362, 0) // Investigate and uncomment m4ba 312 313Name(y364, 0) // if (Derefof(Refof(bf76))) exception in m61b-m06e 314Name(y365, 0) // Increment(Derefof(Refof(bf76))) exception in m61b-m64l 315Name(y366, 0) // exception on Store(Package, Derefof(Arg(Int/Str/Buf))) 316Name(y367, 0) // Increment(Refof(Named))) exception in m692-m00b 317 318 319Name(y500, 0) // Deletion of Named Object due to DeRefOf(m000()) 320Name(y501, 0) // Increment/Decrement for String/Buffer Named Object 321Name(y502, 0) // Exceptions on DeRefOf(Index(p000, 0)) 322Name(y503, 0) // AE_AML_OPERAND_TYPE => AE_AML_NO_RETURN_VALUE 323Name(y504, 0) // Exception on CopyObject(ThermalZone, ...) 324Name(y505, 0) // Buffer Field and Field Unit types should allow SizeOf() 325Name(y506, 0) // exc_ref: crash for DerefOf 326Name(y507, 0) // ref: read of ArgX-RefOf_References without DerefOf 327Name(y508, 0) // all about ThermalZone 328Name(y509, 0) // all about Method 329Name(y510, 0) // all about OperationRegion 330Name(y511, 0) // all about Device 331Name(y512, 0) // the checking causes unexpected exception 332Name(y513, 0) // m005(Index(s021, 1, Local0), RefOf(i020)) 333 // m005(RefOf(i000), RefOf(i061)) 334Name(y514, 0) // repeated attempts to overwrite RefOf_Reference-ArgX cause exceptions 335// Name(y515, 0) // Uninitialized element of Package (the same as y127) 336Name(y516, 0) // write from {Integer/String/Buffer} to Package 337Name(y517, 0) // Buffer Field (and Field Unit) as elements of Package 338Name(y518, 0) // utdelete-0487 [07] UtUpdateRefCount : **** Warning 339 // **** Large Reference Count (EAEA) in object 00466BC8 340Name(y519, 0) // ArgX term effectively becomes a LocalX term 341 // Store(x,ArgX-Object) should be identical to Store(x,LocalX) 342Name(y520, 0) // ArgX term effectively becomes a LocalX term 343 // CopyObject(x,ArgX-Object) should be identical to CopyObject(x,LocalX) 344 // Now, DerefOf(arg0) causes exception 345Name(y521, 0) // Store reference to NamedX 346Name(y522, 1) // CopyObject reference to NamedX 347Name(y523, 0) // Store(RefOf(NamedX), NamedX) 348Name(y524, 0) // Store(RefOf(NamedX), DerefOf(Expr_resulting_in_ORef)) 349Name(y525, 0) // Store(RefOf(NamedX), RefOf(Named_X)) 350Name(y526, 0) // CopyObject(RefOf(NamedX), ArgX-ORef-to-Named_X) 351Name(y527, 0) // The code path taken after AE_OWNER_ID_LIMIT is incorrect 352 353 354Name(y600, 0) // Some oprators (not all) doesn't provide passing invocation 355 // of Method as a parameter to them (though iASL succeeds). 356 // Looks that Method is simply not invoked. But, since it doesn't 357 // now look as an important feature for those particular operators 358 // we don't file bug in this respect but exclude tesing. 359Name(y601, 0) // The Reference issues to be thought over in the future 360Name(y602, 1) // generalized - new specs of String to Integer conversion 361Name(y603, 0) // bunch of anomalies with references to be splited to separate bugs, 362 // mostly - cyclical references (rings of references). 363 364Name(y900, 0) // Allow immediate Index(Buffer(){}), Index("qwerty"), Index(Package(){}) 365Name(y901, 1) // Predicate generates Implicit Return 366Name(y902, 1) // Expected is that Serialized method being invoked recursively on the same thread: 367 // 1) 0 - doesn't cause 368 // 2) otherwise - causes 369 // exception in case it has either internal objects (including Methods) or Switches 370 371 372/* 373 * functional/reference 374 * 375 * Exclude temporary the relevant checking. 376 * 377 * All them should be set to non-zero after 378 * clarifying the relevant issue, or provided 379 * with the comment clarifying what is wrong in 380 * the sub-test - dont remove them even in the 381 * latter case. 382 */ 383Name(q001, 1) // Dereference of Store(Index(x,x,Index(x,x)), Index(x,x)) 384Name(q002, 0) // The chain of Index_References 385Name(q003, 0) // CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) 386 387Name(q004, 0) // Implicit Operand conversion on MS contradicts ACPI Spec 388Name(q005, 0) // Method object as a Source of Index operation is treated as a call to that Method 389Name(q006, 0) // on MS Name of an Object as an element of Package is treated as String 390Name(q007, 0) // Disregard of the length Buffer Fields on MS are read as Buffers 391Name(q008, 0) // On MS Store to LocalX containing a reference causes indirect access 392Name(q009, 0) // It looks like on MS writing to a narrow Field Unit is splited on pieces 393Name(q00a, 0) // On MS writing to unmodified bits of Field OpRegion implemented differently 394Name(q00b, 0) // On MS Break in Switch is not implemented 395 396/* 397 * The non-zero value flags allow to run the relevant part of sub-tests. 398 * 399 * Each sub-test is conditioned by some rn0*. 400 * 401 * ATTENTION: many sub-tests conditioned by rn01-rn04 are not run now 402 * in general mode, they should be investigated. 403 */ 404Name(rn00, 1) // Correct, no any remarks 405Name(rn01, 0) // Investigation needed 406Name(rn02, 0) // Classified as a bug 407Name(rn03, 0) // Causes exception 408Name(rn04, 0) // Regression 409 410 411Name(rn05, 0) // Long-time tests of bug-demo collection 412Name(rn06, 0) // 1 - CopyObject and Store of Method doesn't evaluate that Method 413 414/* 415 * Indicators of bugs. 416 */ 417Name(X104, 1) 418 419Name(X114, 1) 420Name(X127, 1) 421Name(X128, 1) 422Name(X131, 1) 423Name(X132, 1) 424Name(X133, 1) 425Name(X153, 1) // Store() to Named Target allows to update the Source 426Name(X170, 1) 427Name(X191, 1) 428Name(X192, 1) 429Name(X193, 1) // 32-bit mode optional storing of Not, NAnd, or NOr 430 // ASL operators result to Buffer Field produces 64-bit 431Name(X194, 1) // Unexpected implicit result object conversion when the 432 // Target operand of ToBuffer operator is a Named Buffer 433Name(X195, 0) // Increment and Decrement of an either String or Buffer 434 // Object will not change the type of the Object to Integer (~ y501) 435 436 437/* 438 * Flag, allows (when non-zero) access to the internal objects of method. 439 * 440 * No entry of type Method should occur in the declared path specified for search. 441 */ 442Name(FLG9, 0) 443 444/* 445 * Set up run4 to non-zero when compile aslts (affects actually only Identity2MS) 446 * for to run on MS, and reset it to zero when compile to run on ACPICA 447 * 448 * for ACPICA - 0 449 * for MS - non-zero 450 */ 451Name(run4, 0) 452 453/* 454 * Current release of ASLTS test suite 455 * 456 * Layout: 457 * now simply incremental number 458 * 459 * Releases: 460 * 461 * 31.12.2004 - 1 462 * 31.07.2005 - 2 463 * 16.11.2005 - 3 464 * 21.07.2006 - 4, (1115 files), with ACPICA version 20060721 released 465 * 25.12.2006 - 5, (1277 files, 382 folder, 15.3 MB, 2006 tests, 38(44) test cases, 278 bugs of ACPICA) 466 * 01.03.2007 - 6, (1403 files, 415 folder, 17.0 MB, 2227 tests, 40(46) test cases, 305 bugs of ACPICA) 467 * 21.03.2007 - 7, (1409 files, 417 folder, 17.1 MB, 2236 tests, 40(46) test cases, 307 bugs of ACPICA) 468 * December 2011: - 0x15 (ACPI 5.0) 469 * April 2011: - 0x16, iASL fix for StartDependentFunction* descriptors to account for descriptor length. 470 */ 471Name(REL0, 0x16) 472 473/* 474 * Settings number, used to adjust the aslts tests for different releases of ACPICA 475 * 476 * SETN - settings number of aslts: 477 * 0 - release from Bob 478 * 1 - release from Bob + my updates 479 * 2 - new architecture of Method calculation 480 * 3 - fixed bug 263,266 481 * 4 - fixed bugs 275,276 482 * 5 - fixed bugs 262 (corresponds to the 20070320 release of ACPICA) 483 * 6 - 20074403 484 * all the greater - not used yet 485 * 486 * Used for to adjust some skippings of tests for different ACPICA releases 487 * (set up this value manually). See Method SET2 below. 488 * 489 * Note: the value 5 of SETN corresponds to the 20070320 release of ACPICA. 490 */ 491Name(SETN, 5) 492 493/* 494 * Adjust some skippings of tests for different ACPICA releases 495 * 496 * arg0 - settings number of aslts (see SETN for comment) 497 */ 498Method(SET2, 1, Serialized) { 499 500 Store(arg0, Local0) 501 502/* 503 if (ABUU) { 504 Store(0, Local0) 505 } else { 506 Store(arg0, Local0) 507 } 508*/ 509 510 Switch (ToInteger (Local0)) { 511 Case (0) { 512 Store(0, y135) 513 Store(1, y900) 514 Store(0, y901) 515 Store(1, FLG9) 516 Store(0, y263) 517 Store(0, y275) 518 Store(0, y276) 519 } 520 Case (1) { 521 Store(1, y135) 522 Store(0, y900) 523 Store(0, y901) 524 Store(1, FLG9) 525 Store(0, y263) 526 Store(0, y275) 527 Store(0, y276) 528 } 529 Case (2) { 530 Store(0, y135) 531 Store(0, y900) 532 Store(1, y901) 533 Store(0, FLG9) 534 Store(0, y263) 535 Store(0, y275) 536 Store(0, y276) 537 } 538 Case (3) { 539 Store(0, y135) 540 Store(1, y900) 541 Store(0, y901) 542 Store(1, FLG9) 543 Store(1, y263) 544 Store(0, y275) 545 Store(0, y276) 546 Store(0, y262) 547 } 548 Case (4) { 549 Store(0, y135) // Store of Index reference to another element of the same Package causes hang 550 Store(1, y900) // Allow immediate Index(Buffer(){}), Index("qwerty"), Index(Package(){}) 551 Store(0, y901) // Predicate generates Implicit Return 552 Store(1, FLG9) // Non-zero allows accessing internal objects of method 553 Store(1, y263) // The sequence of evaluating operands of expression with the named objects is violated 554 Store(1, y275) // Pop result from bottom principle doesn't work 555 Store(1, y276) // 'Large Reference Count' on AML code with LoadTable/UnLoad in a slack mode 556 Store(0, y262) // Unexpected AE_STACK_OVERFLOW for a method call expression with nested calls 557 Store(0, y251) // AE_ALREADY_EXISTS on multi-threading on Switch operator 558 Store(0, y300) // Recursive calls to methods with the internal names (and Switches) should be provided 559 } 560 Case (5) { 561 Store(0, y135) 562 Store(1, y900) 563 Store(1, y901) // Predicate generates Implicit Return since ACPICA release 20080926 564 Store(1, FLG9) 565 Store(1, y263) 566 Store(1, y275) 567 Store(1, y276) 568 Store(1, y262) 569 Store(0, y251) 570 Store(0, y300) 571 } 572 Case (6) { 573 Store(0, y135) 574 Store(1, y900) 575 Store(0, y901) 576 Store(1, FLG9) 577 Store(1, y263) 578 Store(1, y275) 579 Store(1, y276) 580 Store(1, y262) 581 Store(1, y251) 582 Store(1, y300) 583 Store(0, y902) 584 } 585 586 } 587 588 if (LNot(run4)){ 589 Concatenate("Release of parent ACPICA code 0x", Revision, Debug) 590 Concatenate("Release of ASLTS test suite 0x", REL0, Debug) 591 Concatenate("Settings of ASLTS test suite 0x", arg0, Debug) 592 } 593} 594