/* * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * Neither the name of Intel Corporation nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Miscellaneous named object creation */ /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!! SEE: see below, update needed !!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ /* Package, Declare Package Object */ /* */ /* Update needed: */ /* */ /* m1f4() - this test should be implemented after references to Control */ /* Methods as elements of Package will be implemented by ACPICA. */ /* m1f7() - this test should be implemented after ObjectType stops aborting */ /* program when dealing with uninitialized objects. */ /* all - add references to Control Methods to all other tests of this file. */ /* */ /* Note: verification of the contents of Packages is not performed, too complex. */ Name (Z051, 0x33) /* Step {1,2,4,8,16,32}. Use 16, too much time for 1 there. */ Name (C040, 0x10) /* Max number of iterations of Mix test. */ /* Use 25, though available are {1-29}. */ Name (C041, 0x16) /* Check Integers */ Method (M1F0, 0, Serialized) { Name (P000, Package (0xFF) { /* 0 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, /* 96 */ 0x8765AC00, 0x8765AC01, 0x8765AC02, 0x8765AC03, 0x8765AC04, 0x8765AC05, 0x8765AC06, 0x8765AC07, 0x8765AC08, 0x8765AC09, 0x8765AC0A, 0x8765AC0B, 0x8765AC0C, 0x8765AC0D, 0x8765AC0E, 0x8765AC0F, 0x8765AC10, 0x8765AC11, 0x8765AC12, 0x8765AC13, 0x8765AC14, 0x8765AC15, 0x8765AC16, 0x8765AC17, 0x8765AC18, 0x8765AC19, 0x8765AC1A, 0x8765AC1B, 0x8765AC1C, 0x8765AC1D, 0x8765AC1E, 0x8765AC1F, 0x8765AC20, 0x8765AC21, 0x8765AC22, 0x8765AC23, 0x8765AC24, 0x8765AC25, 0x8765AC26, 0x8765AC27, 0x8765AC28, 0x8765AC29, 0x8765AC2A, 0x8765AC2B, 0x8765AC2C, 0x8765AC2D, 0x8765AC2E, 0x8765AC2F, 0x8765AC30, 0x8765AC31, 0x8765AC32, 0x8765AC33, 0x8765AC34, 0x8765AC35, 0x8765AC36, 0x8765AC37, 0x8765AC38, 0x8765AC39, 0x8765AC3A, 0x8765AC3B, 0x8765AC3C, 0x8765AC3D, 0x8765AC3E, 0x8765AC3F, /* 160 */ 0x8765ACBA11223300, 0x8765ACBA11223301, 0x8765ACBA11223302, 0x8765ACBA11223303, 0x8765ACBA11223304, 0x8765ACBA11223305, 0x8765ACBA11223306, 0x8765ACBA11223307, 0x8765ACBA11223308, 0x8765ACBA11223309, 0x8765ACBA1122330A, 0x8765ACBA1122330B, 0x8765ACBA1122330C, 0x8765ACBA1122330D, 0x8765ACBA1122330E, 0x8765ACBA1122330F, 0x8765ACBA11223310, 0x8765ACBA11223311, 0x8765ACBA11223312, 0x8765ACBA11223313, 0x8765ACBA11223314, 0x8765ACBA11223315, 0x8765ACBA11223316, 0x8765ACBA11223317, 0x8765ACBA11223318, 0x8765ACBA11223319, 0x8765ACBA1122331A, 0x8765ACBA1122331B, 0x8765ACBA1122331C, 0x8765ACBA1122331D, 0x8765ACBA1122331E, 0x8765ACBA1122331F, 0x8765ACBA11223320, 0x8765ACBA11223321, 0x8765ACBA11223322, 0x8765ACBA11223323, /* 196 */ 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE }) TS00 (__METHOD__) /* Too much time for 1 there, so use {8/16} */ Local6 = C040 /* \C040 */ Divide (0xFF, Local6, Local1, Local0) Local1 = 0x00 Local4 = 0x00 Local5 = 0x00 While (Local0) { Local2 = DerefOf (P000 [Local1]) Local3 = Local1 If ((Local1 <= 0x5F)) { If ((Local2 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local2, Local3) } } ElseIf ((Local1 <= 0x9F)) { Local3 = (0x8765AC00 + Local4) If ((Local2 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local2, Local3) } Local4 += Local6 } ElseIf ((Local1 <= 0xC3)) { Local3 = (0x8765ACBA11223300 + Local5) If ((Local2 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local2, Local3) } Local5 += Local6 } ElseIf ((Local2 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local2, Local3) } Local3 = ObjectType (Local2) If ((Local3 != 0x01)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local3, 0x01) } Local1 += Local6 Local0-- } Local0 = SizeOf (P000) If ((Local0 != 0xFF)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0xFF) } } /* Check Strings */ Method (M1F1, 0, Serialized) { Name (P000, Package (0x0A) { "", "0", "01", "012", " 0 0", " 9 ", "vqwert", "1234567", "01234567", "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" }) TS00 (__METHOD__) Local0 = 0x0A Local1 = 0x00 Local5 = 0x00 While (Local0) { Local2 = DerefOf (P000 [Local1]) Local3 = SizeOf (Local2) Local4 = Local1 If ((Local1 == 0x09)) { Local4 = 0xC8 } If ((Local4 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local4, Local3) } Local3 = ObjectType (Local2) If ((Local3 != 0x02)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local3, 0x02) } Local1++ Local0-- } Local0 = SizeOf (P000) If ((Local0 != 0x0A)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x0A) } } /* Check Buffers */ Method (M1F2, 0, Serialized) { Name (P000, Package (0xFF) { Buffer (0x01){}, Buffer (0x02){}, Buffer (0x03){}, Buffer (0x04){}, Buffer (0x05){}, Buffer (0x06){}, Buffer (0x07){}, Buffer (0x08){}, Buffer (0x09){}, Buffer (0x0A){}, Buffer (0x0B) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B // ... }, Buffer (0x0C) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C // .... }, Buffer (0x0D) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D // ..... }, Buffer (0x0E) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E // ...... }, Buffer (0x0F) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F // ....... }, Buffer (0x10) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10 // ........ }, Buffer (0x11) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, // ........ /* 0010 */ 0x11 // . }, Buffer (0x12) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, // ........ /* 0010 */ 0x11, 0x12 // .. }, Buffer (0x13) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, // ........ /* 0010 */ 0x11, 0x12, 0x13 // ... }, Buffer (0x14) { /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ /* 0008 */ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, // ........ /* 0010 */ 0x11, 0x12, 0x13, 0x14 // .... }, Buffer (0x15){}, Buffer (0x16){}, Buffer (0x17){}, Buffer (0x18){}, Buffer (0x19){}, Buffer (0x1A){}, Buffer (0x1B){}, Buffer (0x1C){}, Buffer (0x1D){}, Buffer (0x1E){}, Buffer (0x1F){}, Buffer (0x20){}, Buffer (0x21){}, Buffer (0x22){}, Buffer (0x23){}, Buffer (0x24){}, Buffer (0x25){}, Buffer (0x26){}, Buffer (0x27){}, Buffer (0x28){}, Buffer (0x29){}, Buffer (0x2A){}, Buffer (0x2B){}, Buffer (0x2C){}, Buffer (0x2D){}, Buffer (0x2E){}, Buffer (0x2F){}, Buffer (0x30){}, Buffer (0x31){}, Buffer (0x32){}, Buffer (0x33){}, Buffer (0x34){}, Buffer (0x35){}, Buffer (0x36){}, Buffer (0x37){}, Buffer (0x38){}, Buffer (0x39){}, Buffer (0x3A){}, Buffer (0x3B){}, Buffer (0x3C){}, Buffer (0x3D){}, Buffer (0x3E){}, Buffer (0x3F){}, Buffer (0x40){}, Buffer (0x41){}, Buffer (0x42){}, Buffer (0x43){}, Buffer (0x44){}, Buffer (0x45){}, Buffer (0x46){}, Buffer (0x47){}, Buffer (0x48){}, Buffer (0x49){}, Buffer (0x4A){}, Buffer (0x4B){}, Buffer (0x4C){}, Buffer (0x4D){}, Buffer (0x4E){}, Buffer (0x4F){}, Buffer (0x50){}, Buffer (0x51){}, Buffer (0x52){}, Buffer (0x53){}, Buffer (0x54){}, Buffer (0x55){}, Buffer (0x56){}, Buffer (0x57){}, Buffer (0x58){}, Buffer (0x59){}, Buffer (0x5A){}, Buffer (0x5B){}, Buffer (0x5C){}, Buffer (0x5D){}, Buffer (0x5E){}, Buffer (0x5F){}, Buffer (0x60){}, Buffer (0x61){}, Buffer (0x62){}, Buffer (0x63){}, Buffer (0x64){}, Buffer (0x65){}, Buffer (0x66){}, Buffer (0x67){}, Buffer (0x68){}, Buffer (0x69){}, Buffer (0x6A){}, Buffer (0x6B){}, Buffer (0x6C){}, Buffer (0x6D){}, Buffer (0x6E){}, Buffer (0x6F){}, Buffer (0x70){}, Buffer (0x71){}, Buffer (0x72){}, Buffer (0x73){}, Buffer (0x74){}, Buffer (0x75){}, Buffer (0x76){}, Buffer (0x77){}, Buffer (0x78){}, Buffer (0x79){}, Buffer (0x7A){}, Buffer (0x7B){}, Buffer (0x7C){}, Buffer (0x7D){}, Buffer (0x7E){}, Buffer (0x7F){}, Buffer (0x80){}, Buffer (0x81){}, Buffer (0x82){}, Buffer (0x83){}, Buffer (0x84){}, Buffer (0x85){}, Buffer (0x86){}, Buffer (0x87){}, Buffer (0x88){}, Buffer (0x89){}, Buffer (0x8A){}, Buffer (0x8B){}, Buffer (0x8C){}, Buffer (0x8D){}, Buffer (0x8E){}, Buffer (0x8F){}, Buffer (0x90){}, Buffer (0x91){}, Buffer (0x92){}, Buffer (0x93){}, Buffer (0x94){}, Buffer (0x95){}, Buffer (0x96){}, Buffer (0x97){}, Buffer (0x98){}, Buffer (0x99){}, Buffer (0x9A){}, Buffer (0x9B){}, Buffer (0x9C){}, Buffer (0x9D){}, Buffer (0x9E){}, Buffer (0x9F){}, Buffer (0xA0){}, Buffer (0xA1){}, Buffer (0xA2){}, Buffer (0xA3){}, Buffer (0xA4){}, Buffer (0xA5){}, Buffer (0xA6){}, Buffer (0xA7){}, Buffer (0xA8){}, Buffer (0xA9){}, Buffer (0xAA){}, Buffer (0xAB){}, Buffer (0xAC){}, Buffer (0xAD){}, Buffer (0xAE){}, Buffer (0xAF){}, Buffer (0xB0){}, Buffer (0xB1){}, Buffer (0xB2){}, Buffer (0xB3){}, Buffer (0xB4){}, Buffer (0xB5){}, Buffer (0xB6){}, Buffer (0xB7){}, Buffer (0xB8){}, Buffer (0xB9){}, Buffer (0xBA){}, Buffer (0xBB){}, Buffer (0xBC){}, Buffer (0xBD){}, Buffer (0xBE){}, Buffer (0xBF){}, Buffer (0xC0){}, Buffer (0xC1){}, Buffer (0xC2){}, Buffer (0xC3){}, Buffer (0xC4){}, Buffer (0xC5){}, Buffer (0xC6){}, Buffer (0xC7){}, Buffer (0xC8){}, Buffer (0xC9){}, Buffer (0xCA){}, Buffer (0xCB){}, Buffer (0xCC){}, Buffer (0xCD){}, Buffer (0xCE){}, Buffer (0xCF){}, Buffer (0xD0){}, Buffer (0xD1){}, Buffer (0xD2){}, Buffer (0xD3){}, Buffer (0xD4){}, Buffer (0xD5){}, Buffer (0xD6){}, Buffer (0xD7){}, Buffer (0xD8){}, Buffer (0xD9){}, Buffer (0xDA){}, Buffer (0xDB){}, Buffer (0xDC){}, Buffer (0xDD){}, Buffer (0xDE){}, Buffer (0xDF){}, Buffer (0xE0){}, Buffer (0xE1){}, Buffer (0xE2){}, Buffer (0xE3){}, Buffer (0xE4){}, Buffer (0xE5){}, Buffer (0xE6){}, Buffer (0xE7){}, Buffer (0xE8){}, Buffer (0xE9){}, Buffer (0xEA){}, Buffer (0xEB){}, Buffer (0xEC){}, Buffer (0xED){}, Buffer (0xEE){}, Buffer (0xEF){}, Buffer (0xF0){}, Buffer (0xF1){}, Buffer (0xF2){}, Buffer (0xF3){}, Buffer (0xF4){}, Buffer (0xF5){}, Buffer (0xF6){}, Buffer (0xF7){}, Buffer (0xF8){}, Buffer (0xF9){}, Buffer (0xFA){}, Buffer (0xFB){}, Buffer (0xFC){}, Buffer (0xFD){}, Buffer (0xFE){}, Buffer (0xFF){} }) TS00 (__METHOD__) /* Too much time for 1 there, so use {8/16} */ Local6 = C040 /* \C040 */ Divide (0xFF, Local6, Local1, Local0) Local1 = 0x00 Local5 = 0x00 While (Local0) { Local2 = DerefOf (P000 [Local1]) Local3 = SizeOf (Local2) Local4 = (Local1 + 0x01) If ((Local4 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local4, Local3) } Local3 = ObjectType (Local2) If ((Local3 != 0x03)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local3, 0x03) } Local1 += Local6 Local0-- } Local0 = SizeOf (P000) If ((Local0 != 0xFF)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0xFF) } } /* Packages */ Method (M1F3, 0, Serialized) { Name (P000, Package (0xFF) { Package (0x01){}, Package (0x02){}, Package (0x03){}, Package (0x04){}, Package (0x05){}, Package (0x06){}, Package (0x07){}, Package (0x08){}, Package (0x09){}, Package (0x0A){}, Package (0x0B) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B }, Package (0x0C) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C }, Package (0x0D) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D }, Package (0x0E) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E }, Package (0x0F) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }, Package (0x10) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10 }, Package (0x11) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11 }, Package (0x12) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12 }, Package (0x13) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13 }, Package (0x14) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14 }, Package (0x15){}, Package (0x16){}, Package (0x17){}, Package (0x18){}, Package (0x19){}, Package (0x1A){}, Package (0x1B){}, Package (0x1C){}, Package (0x1D){}, Package (0x1E){}, Package (0x1F){}, Package (0x20){}, Package (0x21){}, Package (0x22){}, Package (0x23){}, Package (0x24){}, Package (0x25){}, Package (0x26){}, Package (0x27){}, Package (0x28){}, Package (0x29){}, Package (0x2A){}, Package (0x2B){}, Package (0x2C){}, Package (0x2D){}, Package (0x2E){}, Package (0x2F){}, Package (0x30){}, Package (0x31){}, Package (0x32){}, Package (0x33){}, Package (0x34){}, Package (0x35){}, Package (0x36){}, Package (0x37){}, Package (0x38){}, Package (0x39){}, Package (0x3A){}, Package (0x3B){}, Package (0x3C){}, Package (0x3D){}, Package (0x3E){}, Package (0x3F){}, Package (0x40){}, Package (0x41){}, Package (0x42){}, Package (0x43){}, Package (0x44){}, Package (0x45){}, Package (0x46){}, Package (0x47){}, Package (0x48){}, Package (0x49){}, Package (0x4A){}, Package (0x4B){}, Package (0x4C){}, Package (0x4D){}, Package (0x4E){}, Package (0x4F){}, Package (0x50){}, Package (0x51){}, Package (0x52){}, Package (0x53){}, Package (0x54){}, Package (0x55){}, Package (0x56){}, Package (0x57){}, Package (0x58){}, Package (0x59){}, Package (0x5A){}, Package (0x5B){}, Package (0x5C){}, Package (0x5D){}, Package (0x5E){}, Package (0x5F){}, Package (0x60){}, Package (0x61){}, Package (0x62){}, Package (0x63){}, Package (0x64){}, Package (0x65){}, Package (0x66){}, Package (0x67){}, Package (0x68){}, Package (0x69){}, Package (0x6A){}, Package (0x6B){}, Package (0x6C){}, Package (0x6D){}, Package (0x6E){}, Package (0x6F){}, Package (0x70){}, Package (0x71){}, Package (0x72){}, Package (0x73){}, Package (0x74){}, Package (0x75){}, Package (0x76){}, Package (0x77){}, Package (0x78){}, Package (0x79){}, Package (0x7A){}, Package (0x7B){}, Package (0x7C){}, Package (0x7D){}, Package (0x7E){}, Package (0x7F){}, Package (0x80){}, Package (0x81){}, Package (0x82){}, Package (0x83){}, Package (0x84){}, Package (0x85){}, Package (0x86){}, Package (0x87){}, Package (0x88){}, Package (0x89){}, Package (0x8A){}, Package (0x8B){}, Package (0x8C){}, Package (0x8D){}, Package (0x8E){}, Package (0x8F){}, Package (0x90){}, Package (0x91){}, Package (0x92){}, Package (0x93){}, Package (0x94){}, Package (0x95){}, Package (0x96){}, Package (0x97){}, Package (0x98){}, Package (0x99){}, Package (0x9A){}, Package (0x9B){}, Package (0x9C){}, Package (0x9D){}, Package (0x9E){}, Package (0x9F){}, Package (0xA0){}, Package (0xA1){}, Package (0xA2){}, Package (0xA3){}, Package (0xA4){}, Package (0xA5){}, Package (0xA6){}, Package (0xA7){}, Package (0xA8){}, Package (0xA9){}, Package (0xAA){}, Package (0xAB){}, Package (0xAC){}, Package (0xAD){}, Package (0xAE){}, Package (0xAF){}, Package (0xB0){}, Package (0xB1){}, Package (0xB2){}, Package (0xB3){}, Package (0xB4){}, Package (0xB5){}, Package (0xB6){}, Package (0xB7){}, Package (0xB8){}, Package (0xB9){}, Package (0xBA){}, Package (0xBB){}, Package (0xBC){}, Package (0xBD){}, Package (0xBE){}, Package (0xBF){}, Package (0xC0){}, Package (0xC1){}, Package (0xC2){}, Package (0xC3){}, Package (0xC4){}, Package (0xC5){}, Package (0xC6){}, Package (0xC7){}, Package (0xC8){}, Package (0xC9){}, Package (0xCA){}, Package (0xCB){}, Package (0xCC){}, Package (0xCD){}, Package (0xCE){}, Package (0xCF){}, Package (0xD0){}, Package (0xD1){}, Package (0xD2){}, Package (0xD3){}, Package (0xD4){}, Package (0xD5){}, Package (0xD6){}, Package (0xD7){}, Package (0xD8){}, Package (0xD9){}, Package (0xDA){}, Package (0xDB){}, Package (0xDC){}, Package (0xDD){}, Package (0xDE){}, Package (0xDF){}, Package (0xE0){}, Package (0xE1){}, Package (0xE2){}, Package (0xE3){}, Package (0xE4){}, Package (0xE5){}, Package (0xE6){}, Package (0xE7){}, Package (0xE8){}, Package (0xE9){}, Package (0xEA){}, Package (0xEB){}, Package (0xEC){}, Package (0xED){}, Package (0xEE){}, Package (0xEF){}, Package (0xF0){}, Package (0xF1){}, Package (0xF2){}, Package (0xF3){}, Package (0xF4){}, Package (0xF5){}, Package (0xF6){}, Package (0xF7){}, Package (0xF8){}, Package (0xF9){}, Package (0xFA){}, Package (0xFB){}, Package (0xFC){}, Package (0xFD){}, Package (0xFE){}, Package (0xFF){} }) TS00 (__METHOD__) /* Too much time for 1 there, so use {8/16} */ Local6 = C040 /* \C040 */ Divide (0xFF, Local6, Local1, Local0) Local1 = 0x00 Local5 = 0x00 While (Local0) { Local2 = DerefOf (P000 [Local1]) Local3 = SizeOf (Local2) Local4 = (Local1 + 0x01) If ((Local4 != Local3)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local4, Local3) } Local3 = ObjectType (Local2) If ((Local3 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local3, 0x04) } Local1 += Local6 Local0-- } Local0 = SizeOf (P000) If ((Local0 != 0xFF)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0xFF) } } /* Do test for Methods, when Methods will be implemented !!!!!!!!!!!!!!! */ Method (M1F4, 0, Serialized) { TS00 (__METHOD__) /* Not implemented yet */ Method (M000, 0, NotSerialized) { Return ("aaaa") } Method (M001, 0, NotSerialized) { Return (Buffer (0x04) { 0x01, 0x02, 0x03, 0x04 // .... }) } Method (M002, 0, NotSerialized) { Return (Package (0x05) { 0x01, 0x02, 0x03, 0x04, 0x05 }) } /* Method(m003) {return (0)} */ Debug = "============= vvvvvvvvvvvvv" Local0 = RefOf (M000) Local1 = SizeOf (Local0) /* Store(SizeOf(m000), Local1) */ Debug = Local0 Debug = Local1 Debug = "============= ccccccccccccc" Return (0x00) } Method (M1F5, 3, Serialized) { /* n000 - decr cur counter (levels num) */ /* n001 - incr cur counter */ /* n002 - type of target object */ /* n004 - size of target object */ /* n003 - incr cur counter (index of first level) */ Name (N000, 0x00) Name (N001, 0x00) Name (N002, 0x1234) Name (N004, 0x00) Name (N003, 0x04) /* Type of target object */ N002 = DerefOf (Arg2 [0x00]) /* Size of target object */ N004 = DerefOf (Arg2 [0x01]) /* Repetition */ N000 = DerefOf (Arg2 [0x03]) /* Cur de-reference */ Local7 = Arg1 While (N000) { /* Index in cur object */ Local0 = DerefOf (Arg2 [N003]) /* Cur de-reference */ Local7 = DerefOf (Local7 [Local0]) Local0 = ObjectType (Local7) N003++ N001++ N000-- } /* Type */ Local0 = ObjectType (Local7) If ((Local0 != N002)) { ERR (Arg0, Z051, __LINE__, 0x00, 0x00, Local0, N002) } /* Contents */ If ((N002 >= 0x01)) { If ((N002 <= 0x03)) { Local6 = 0x00 Local1 = 0x00 Local0 = DerefOf (Arg2 [0x02]) If ((N002 != 0x01)) { Local1 = SizeOf (Local0) } If ((Local1 != N004)) { ERR (Arg0, Z051, __LINE__, 0x00, 0x00, Local1, N004) Local6 = 0x01 } ElseIf ((Local7 != Local0)) { ERR (Arg0, Z051, __LINE__, 0x00, 0x00, Local7, Local0) Local6 = 0x01 } If (Local6) { Debug = "============= To ERROR:" Debug = Local0 Debug = Local7 Debug = "=============." } } } } /* Mix */ /* - all one level combinations */ /* - 255 levels in depth */ Method (M1F6, 0, Serialized) { Name (P000, Package (0xFF) { /* 0 */ 0xB2345678, "qwert", Buffer (0x06) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 // ...... }, Package (0x01){}, /* 4, Integer, String, Buffer */ Package (0x01) { 0x00 }, Package (0x01) { "qwhj" }, Package (0x02) { 0x01, "qwu" }, Package (0x02) { "er", 0x02 }, Package (0x01) { Buffer (0x01) { 0x01 // . } }, Package (0x02) { 0x03, Buffer (0x02) { 0x02, 0x03 // .. } }, Package (0x02) { Buffer (0x03) { 0x04, 0x05, 0x06 // ... }, 0x04 }, Package (0x02) { "a", Buffer (0x04) { 0x07, 0x08, 0x09, 0x0A // .... } }, Package (0x02) { Buffer (0x05) { 0x0B, 0x0C, 0x0D, 0x0E, 0x0F // ..... }, "qw" }, Package (0x03) { Buffer (0x02) { 0x10, 0x11 // .. }, "12r", 0x37 }, Package (0x03) { Buffer (0x02) { 0x12, 0x13 // .. }, 0x38, "ghjk" }, Package (0x03) { 0x39, Buffer (0x03) { 0x14, 0x15, 0x16 // ... }, "ghjkf" }, Package (0x03) { 0x3A, "sdfghj", Buffer (0x02) { 0x17, 0x18 // .. } }, Package (0x03) { "sdfghjg", Buffer (0x01) { 0x19 // . }, 0x3B }, Package (0x03) { "sdfghjgg", 0x3C, Buffer (0x02) { 0x1A, 0x1B // .. } }, /* 19, Integer, String, Buffer, Package */ Package (0x01) { Package (0x01) { 0x00 } }, Package (0x02) { 0x00, Package (0x02) { 0x00, 0x01 } }, Package (0x02) { Package (0x01) { 0x00 }, 0x01 }, Package (0x02) { "qwhj", Package (0x03) { 0x00, 0x01, 0x02 } }, Package (0x02) { Package (0x01) { 0x00 }, "ffrgg" }, Package (0x03) { 0x01, "qwum", Package (0x04) { 0x03, 0x04, 0x04, 0x04 } }, Package (0x03) { 0x02, Package (0x05) { 0x05, 0x05, 0x05, 0x05, 0x05 }, "dfgh" }, Package (0x03) { "qwu", 0x03, Package (0x06) { 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 } }, Package (0x03) { "qwuuio", Package (0x07) { 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 }, 0x04 }, Package (0x03) { Package (0x08) { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, "asd0000f", 0x05 }, Package (0x03) { Package (0x07) { 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 }, 0x06, "fasdfbvcd" }, /* 30 */ Package (0x02) { Package (0x06) { 0x0A, 0x01, 0x01, 0x01, 0x01, 0x02 }, Buffer (0x06) { 0x1C, 0x02, 0x03, 0x04, 0x05, 0x06 // ...... } }, Package (0x02) { Buffer (0x06) { 0x1D, 0x02, 0x03, 0x04, 0x05, 0x06 // ...... }, Package (0x05) { 0x09, 0x08, 0x07, 0x06, 0x05 } }, Package (0x03) { Package (0x04) { 0x00, 0x08, 0x07, 0x06 }, 0x09, Buffer (0x06) { 0x01, 0x02, 0x1E, 0x04, 0x05, 0x06 // ...... } }, Package (0x03) { Package (0x03) { 0x06, 0x05, 0x03 }, Buffer (0x06) { 0x01, 0x02, 0x1F, 0x04, 0x05, 0x06 // ...... }, 0x0A }, Package (0x03) { Buffer (0x06) { 0x01, 0x02, 0x20, 0x04, 0x05, 0x06 // .. ... }, Package (0x02) { 0x06, 0x07 }, 0x0B }, Package (0x03) { Buffer (0x06) { 0x01, 0x02, 0x21, 0x04, 0x05, 0x06 // ..!... }, 0x0C, Package (0x07) { 0x00 } }, Package (0x03) { 0x0C, Package (0x02) { 0x07, 0x06 }, Buffer (0x06) { 0x01, 0x02, 0x22, 0x04, 0x05, 0x06 // .."... } }, Package (0x03) { 0x0D, Buffer (0x06) { 0x01, 0x02, 0x23, 0x04, 0x05, 0x06 // ..#... }, Package (0x03) { 0x05, 0x04, 0x06 } }, Package (0x03) { Package (0x04) { 0x08, 0x07, 0x06, 0x05 }, "sdfghjg0", Buffer (0x01) { 0x24 // $ } }, Package (0x03) { Package (0x05) { 0x08, 0x07, 0x08, 0x09, 0x00 }, Buffer (0x02) { 0x25, 0x26 // %& }, "cbvnm" }, /* 40 */ Package (0x03) { "sdfgh1jg", Buffer (0x01) { 0x27 // ' }, Package (0x06) { 0x09, 0x09, 0x07, 0x06, 0x05, 0x04 } }, Package (0x03) { "sdf2ghjg", Package (0x07) { 0x09, 0x00, 0x03, 0x04, 0x05, 0x07, 0x06 }, Buffer (0x03) { 0x28, 0x01, 0x02 // (.. } }, Package (0x03) { Buffer (0x02) { 0x29, 0x02 // ). }, "cb3vnm", Package (0x06) { 0x08, 0x00, 0x03, 0x05, 0x01, 0x08 } }, Package (0x03) { Buffer (0x02) { 0x01, 0x2A // .* }, Package (0x05) { 0x08, 0x07, 0x06, 0x05, 0x04 }, "zx" }, Package (0x04) { Package (0x04) { 0x02, 0x07, 0x00, 0x04 }, "sdfgh4jg", Buffer (0x03) { 0x01, 0x02, 0x2B // ..+ }, 0x3B }, Package (0x04) { Package (0x03) { 0x37, 0x42, 0x4D }, "sdfghj5g", 0x46, Buffer (0x04) { 0x01, 0x02, 0x2C, 0x2D // ..,- } }, Package (0x04) { Package (0x02) { 0x63, 0x0C }, Buffer (0x05) { 0x2E, 0x2F, 0x30, 0x01, 0x02 // ./0.. }, "g6g", 0x3B }, Package (0x04) { Package (0x01) { 0x04D2 }, Buffer (0x03) { 0x31, 0x01, 0x02 // 1.. }, 0x3B, "d7fg" }, Package (0x04) { Package (0x02) { 0x2E, 0x3B }, 0x07, "8sdfghjg", Buffer (0x03) { 0x01, 0x02, 0x32 // ..2 } }, Package (0x04) { Package (0x03) { 0x4C, 0x62, 0x3E }, 0x08, Buffer (0x02) { 0x33, 0x02 // 3. }, "9sdfghjg" }, /* 50 */ Package (0x04) { "s10dfghjg", Package (0x04) { 0x2F, 0x4E, 0x4A, 0x25 }, Buffer (0x02) { 0x01, 0x34 // .4 }, 0x3B }, Package (0x04) { "sdf11ghjg", Package (0x05) { 0x46, 0x0C, 0x22, 0x2D, 0x38 }, 0x46, Buffer (0x01) { 0x35 // 5 } }, Package (0x04) { Buffer (0x03) { 0x01, 0x02, 0x36 // ..6 }, Package (0x06) { 0x5A, 0x0C, 0x0D, 0x0E, 0x0F, 0x13 }, "g12g", 0x3B }, Package (0x04) { Buffer (0x03) { 0x01, 0x02, 0x37 // ..7 }, Package (0x05) { 0x57, 0x5E, 0x53, 0x2A, 0x36 }, 0x3B, "d1f3g" }, Package (0x04) { 0x07, Package (0x04) { 0x22, 0x38, 0x4E, 0x5A }, "1sdf4ghjg", Buffer (0x03) { 0x01, 0x02, 0x38 // ..8 } }, Package (0x04) { 0x08, Package (0x03) { 0x4C, 0x2B, 0x4F }, Buffer (0x04) { 0x01, 0x02, 0x39, 0x3A // ..9: }, "s1dfg5hjg" }, Package (0x04) { "sd1fg6hjg", Buffer (0x03) { 0x01, 0x02, 0x3B // ..; }, Package (0x02) { 0x37, 0x59 }, 0x3B }, Package (0x04) { "sdfg17hjg", 0x46, Package (0x01) { 0x5C }, Buffer (0x03) { 0x01, 0x3C, 0x02 // .<. } }, Package (0x04) { Buffer (0x02) { 0x3D, 0x02 // =. }, "g18g", Package (0x02) { 0x43, 0x59 }, 0x3B }, Package (0x04) { Buffer (0x02) { 0x01, 0x3E // .> }, 0x3B, Package (0x03) { 0x2E, 0x59, 0x5A }, "dfg19" }, /* 60 */ Package (0x04) { 0x82987640, "sdf2gh0jg", Package (0x04) { 0x2B, 0x4F, 0x2D, 0x43 }, Buffer (0x03) { 0x01, 0x02, 0x3F // ..? } }, Package (0x04) { 0x08, Buffer (0x03) { 0x40, 0x01, 0x02 // @.. }, Package (0x03) { 0x38, 0x4E, 0x60 }, "21sdfghjg" }, Package (0x04) { "sd22fghjg", Buffer (0x01) { 0x41 // A }, 0x3B, Package (0x02) { 0x31, 0x3C } }, Package (0x04) { "sdfg23hjg", 0x46, Buffer (0x04) { 0x42, 0x43, 0x01, 0x02 // BC.. }, Package (0x01) { 0x14 } }, Package (0x04) { Buffer (0x05) { 0x01, 0x02, 0x44, 0x45, 0x46 // ..DEF }, "2g4g", 0x3B, Package (0x02) { 0x0B, 0x16 } }, Package (0x04) { Buffer (0x02) { 0x47, 0x02 // G. }, 0x3B, "2dfg5", Package (0x03) { 0x0B, 0x16, 0x21 } }, Package (0x04) { 0x07, "sd26fghjg", Buffer (0x02) { 0x01, 0x48 // .H }, Package (0x04) { 0x37, 0x42, 0x4D, 0x58 } }, Package (0x04) { 0x00117B4D, Buffer (0x05) { 0x01, 0x49, 0x02, 0x03, 0x04 // .I... }, "shjd2fg7hjg", Package (0x07) { 0x59, 0x43, 0x36, 0x20, 0x01, 0x02, 0x03 } }, Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { 0x9B8DEF45 } } } } }, Package (0xFF) { 0x09, 0x07, 0x08, 0x59, 0x43, 0x36, 0x20, 0x01, 0x02, 0x03, 0x04D2, 0x0006F855 }, /* 70 */ Package (0x0A) { 0x00A88B2D, Buffer (0xCA) { 0x01, 0x49, 0x5C, 0x27, 0x04 // .I\'. }, Buffer (0x05) { 0x01, 0x49, 0x5C, 0x27, 0x04 // .I\'. }, "shjd2fg7hjg0123456", "0123456789qwertyuiop012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", Package (0x0B) { 0x59, 0x43, 0x36, 0x20, 0x01, 0x02, 0x03, 0x21, 0x2C, 0x37, 0x42 }, Package (0xFF) { 0x59, 0x43, 0x36, 0x20, 0x01, 0x02, 0x03, 0x04D2, 0x0006F855 } }, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, /* 80 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 100 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 200 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 250 */ 0xFA, 0xFB, 0xFC, 0xFD, /* 254 (maximal element) */ /* + one encircling Package, 0-63 */ Package (0xFF) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x05) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x02) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x02) { /* 64-127 */ Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x02) { /* 128-191 */ Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x02) { /* 192-253 */ Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x01) { Package (0x04) { 0x9B8DEF45, "q0w1e2r3t4y5u6i7o8p91234567890", Buffer (0x0A) { /* 0000 */ 0x11, 0x1C, 0x45, 0x0B, 0x16, 0x22, 0x23, 0x38, // ..E.."#8 /* 0008 */ 0x43, 0x0B // C. }, Package (0x09) { 0x13, 0x1B, 0x4A, 0x20, 0x12, 0x02, 0x03, 0x43, 0x22 } /* 192-253 */ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }, 0x19283746 /* 128-191 */ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }, 0x98765432 /* 64-127 */ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }, 0x12345678 /* 32-63 */ } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }, 0xB0AC61DF /* 16-31 */ } } } } } } } } } } } } } } } }, 0xC1DC51B3, "qwertyuiop1234567890", Buffer (0x09) { /* 0000 */ 0x01, 0x02, 0x3F, 0x0B, 0x16, 0x22, 0x23, 0x38, // ..?.."#8 /* 0008 */ 0x43 // C }, Package (0x07) { 0x13, 0x1B, 0x4A, 0x20, 0x12, 0x02, 0x03 } /* 0-15 */ } } } } } } } } } } } } } } }, /* 1 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 10 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 100 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 200 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, /* 250 */ 0xFA, 0xFB, 0xFC, 0xFD, Buffer (0x012C) { /* 0000 */ 0x01, 0x02, 0x3F, 0x63, 0x05, 0x43, 0x0E, 0x00, // ..?c.C.. /* 0008 */ 0x06, 0x00, 0x1F // ... } } }) Name (P001, Package (0x1D) { /* 0 - 12 */ Package (0x05) { 0x01, 0x00, 0xB2345678, 0x01, 0x00 }, Package (0x05) { 0x02, 0x05, "qwert", 0x01, 0x01 }, Package (0x05) { 0x03, 0x06, Buffer (0x06) { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 // ...... }, 0x01, 0x02 }, Package (0x05) { 0x04, 0x01, 0x00, 0x01, 0x03 }, Package (0x06) { 0x01, 0x00, 0x82987640, 0x02, 0x3C, 0x00 }, Package (0x06) { 0x02, 0x09, "sdf2gh0jg", 0x02, 0x3C, 0x01 }, Package (0x06) { 0x04, 0x04, 0x00, 0x02, 0x3C, 0x02 }, Package (0x06) { 0x03, 0x03, Buffer (0x03) { 0x01, 0x02, 0x3F // ..? }, 0x02, 0x3C, 0x03 }, Package (0x06) { 0x01, 0x00, 0x00117B4D, 0x02, 0x43, 0x00 }, Package (0x06) { 0x03, 0x05, Buffer (0x05) { 0x01, 0x49, 0x02, 0x03, 0x04 // .I... }, 0x02, 0x43, 0x01 }, Package (0x06) { 0x02, 0x0B, "shjd2fg7hjg", 0x02, 0x43, 0x02 }, Package (0x06) { 0x04, 0x07, 0x00, 0x02, 0x43, 0x03 }, Package (0x0A) { 0x01, 0x00, 0x9B8DEF45, 0x06, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 13-19 */ Package (0x06) { 0x01, 0x00, 0x00A88B2D, 0x02, 0x46, 0x00 }, Package (0x06) { 0x03, 0xCA, Buffer (0xCA) { 0x01, 0x49, 0x5C, 0x27, 0x04 // .I\'. }, 0x02, 0x46, 0x01 }, Package (0x06) { 0x03, 0x05, Buffer (0x05) { 0x01, 0x49, 0x5C, 0x27, 0x04 // .I\'. }, 0x02, 0x46, 0x02 }, Package (0x06) { 0x02, 0x12, "shjd2fg7hjg0123456", 0x02, 0x46, 0x03 }, Package (0x06) { 0x02, 0xC8, "0123456789qwertyuiop012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", 0x02, 0x46, 0x04 }, Package (0x06) { 0x04, 0x0B, 0x00, 0x02, 0x46, 0x05 }, Package (0x06) { 0x04, 0xFF, 0x00, 0x02, 0x46, 0x06 }, /* 20 */ Package (0x06) { 0x03, 0x012C, Buffer (0x012C) { /* 0000 */ 0x01, 0x02, 0x3F, 0x63, 0x05, 0x43, 0x0E, 0x00, // ..?c.C.. /* 0008 */ 0x06, 0x00, 0x1F // ... }, 0x02, 0xFE, 0xFE }, /* 21-28 */ Package (0x15) { 0x01, 0x00, 0xC1DC51B3, 0x11, 0xFE, /* 0-15 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, Package (0x15) { 0x02, 0x14, "qwertyuiop1234567890", 0x11, 0xFE, /* 0-15 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }, Package (0x15) { 0x03, 0x09, Buffer (0x09) { /* 0000 */ 0x01, 0x02, 0x3F, 0x0B, 0x16, 0x22, 0x23, 0x38, // ..?.."#8 /* 0008 */ 0x43 // C }, 0x11, 0xFE, /* 0-15 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 }, Package (0x15) { 0x04, 0x07, Package (0x07) { 0x13, 0x1B, 0x4A, 0x20, 0x12, 0x02, 0x03 }, 0x11, 0xFE, /* 0-15 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }, Package (0x25) { 0x01, 0x00, 0xB0AC61DF, 0x21, 0xFE, /* 0-31 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, Package (0x45) { 0x01, 0x00, 0x12345678, 0x41, 0xFE, /* 0-63 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, Package (0x85) { 0x01, 0x00, 0x98765432, 0x81, 0xFE, /* 0-63 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 64-127 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, Package (0x0103) { 0x01, 0x00, 0x9B8DEF45, 0xFF, 0xFE, /* 0-63 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 64-127 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 128-191 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 192-253 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) /* n000 - step */ /* n001 - decr cur counter */ /* n002 - incr cur counter */ TS00 (__METHOD__) Name (N000, 0x00) Name (N001, 0x00) Name (N002, 0x00) /* Too much time for 1 there, so use {8/16} */ N000 = 0x01 Divide (C041, N000, N002, N001) /* \M1F6.N001 */ N002 = 0x00 While (N001) { If (PR02) { Debug = N001 /* \M1F6.N001 */ } Local0 = DerefOf (P001 [N002]) Local1 = ObjectType (Local0) M1F5 (__METHOD__, P000, Local0) N002 += N000 /* \M1F6.N000 */ N001-- } Local0 = SizeOf (P000) If ((Local0 != 0xFF)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0xFF) } Local0 = SizeOf (P001) If ((Local0 != 0x1D)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x1D) } } /* Check uninitialized elements of Package */ /* */ /* Now - causes crash!!!!!!! */ /* Do this test when ObjectType will be fixed. */ Method (M1F7, 0, Serialized) { TS00 (__METHOD__) Name (P000, Package (0xFF){}) /* Store(DeRefOf(Index(p000, 0)), Local0) */ Store (P000 [0x00], Local0) Local2 = ObjectType (Local0) /* Store(ObjectType(Local0), Local1) */ } /* Write Integers into Package, then Read and verify */ /* */ /* <Package>,<size>,<start value> */ Method (M1F8, 3, Serialized) { Name (N000, 0x00) Name (NCUR, 0x00) /* Writing with indexes */ N000 = Arg1 NCUR = 0x00 Local0 = Arg2 While (N000) { Arg0 [NCUR] = Local0 If (0x00) { Debug = Local0 } Local0++ N000-- NCUR++ } /* Reading and verifying */ N000 = Arg1 NCUR = 0x00 Local0 = Arg2 While (N000) { Local1 = DerefOf (Arg0 [NCUR]) If (0x00) { Debug = Local1 } If ((Local1 != Local0)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local1, Local0) } Local0++ N000-- NCUR++ } Local0 = ObjectType (Arg0) If ((Local0 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x04) } Local0 = SizeOf (Arg0) If ((Local0 != Arg1)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, Arg1) } } Method (M1F9, 1, Serialized) { Name (P000, Package (Arg0){}) /* Write */ M1F8 (P000, Arg0, 0x80000000) /* Re-write */ M1F8 (P000, Arg0, 0x12345678) } /* Write/rewrite Integers into Package and verify */ Method (M1FA, 0, Serialized) { TS00 (__METHOD__) M1F9 (0xFF) } /* Write Strings into Package, then Read and verify */ /* */ /* <Package>,<size>,<start string> */ Method (M1FB, 3, Serialized) { Name (N000, 0x00) Name (NCUR, 0x00) /* Writing with indexes */ N000 = Arg1 NCUR = 0x00 While (N000) { Concatenate (Arg2, NCUR, Local0) Arg0 [NCUR] = Local0 If (0x00) { Debug = Local0 } N000-- NCUR++ } /* Reading and verifying */ N000 = Arg1 NCUR = 0x00 While (N000) { Concatenate (Arg2, NCUR, Local0) Local1 = DerefOf (Arg0 [NCUR]) If (0x00) { Debug = Local1 } If ((Local1 != Local0)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local1, Local0) } N000-- NCUR++ } Local0 = ObjectType (Arg0) If ((Local0 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x04) } Local0 = SizeOf (Arg0) If ((Local0 != Arg1)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, Arg1) } } Method (M1FC, 1, Serialized) { Name (P000, Package (Arg0){}) /* Write */ M1FB (P000, Arg0, "qwert") /* Re-write */ M1FB (P000, Arg0, "mnbvcxzdf0123456789qwertyuiopllkjhgfdsa") } /* Write/rewrite Strings into Package and verify */ Method (M1FD, 0, Serialized) { TS00 (__METHOD__) M1FC (0xFF) } /* Write Buffers into Package, then Read and verify */ /* */ /* <Package>,<size>,<start buffer> */ Method (M1FE, 3, Serialized) { Name (N000, 0x00) Name (NCUR, 0x00) /* Writing with indexes */ N000 = Arg1 NCUR = 0x00 While (N000) { Concatenate (Arg2, NCUR, Local0) Arg0 [NCUR] = Local0 If (0x00) { Debug = Local0 } N000-- NCUR++ } /* Reading and verifying */ N000 = Arg1 NCUR = 0x00 While (N000) { Concatenate (Arg2, NCUR, Local0) Local1 = DerefOf (Arg0 [NCUR]) If (0x00) { Debug = NCUR /* \M1FE.NCUR */ Debug = Local0 Debug = Local1 } If ((Local1 != Local0)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, 0x00, 0x00) Debug = Local0 Debug = Local1 Return (Ones) } N000-- NCUR++ } Local0 = ObjectType (Arg0) If ((Local0 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x04) } Local0 = SizeOf (Arg0) If ((Local0 != Arg1)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, Arg1) } Return (Zero) } /* More complex cases with buffers of different sizes */ /* are performed into conversion tests. */ Method (M1FF, 1, Serialized) { Name (P000, Package (Arg0){}) /* Write */ M1FE (P000, Arg0, Buffer (0x05) { 0x51, 0x52, 0x53, 0x54, 0x55 // QRSTU }) /* Re-write */ M1FE (P000, Arg0, Buffer (0x05) { 0x01, 0x02, 0x03, 0x04, 0x05 // ..... }) } /* Write/rewrite Buffers into Package and verify */ Method (M200, 0, Serialized) { TS00 (__METHOD__) M1FF (0xFF) } /* Write Packages into Package, then Read (and verify) */ /* */ /* <Package>,<size>,<start Package> */ Method (M201, 3, Serialized) { Name (PR00, 0x00) Name (N000, 0x00) Name (NCUR, 0x00) /* Writing with indexes */ N000 = Arg1 NCUR = 0x00 If (PR00) { Debug = "Writing:" } While (N000) { If (PR00) { Debug = NCUR /* \M201.NCUR */ } Arg0 [NCUR] = Arg2 N000-- NCUR++ } /* Reading (and verifying) */ N000 = Arg1 NCUR = 0x00 If (PR00) { Debug = "Reading:" } While (N000) { If (PR00) { Debug = NCUR /* \M201.NCUR */ } Local1 = DerefOf (Arg0 [NCUR]) Local0 = ObjectType (Local1) If ((Local0 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x04) Return (Ones) } N000-- NCUR++ } Local0 = ObjectType (Arg0) If ((Local0 != 0x04)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, 0x04) } Local0 = SizeOf (Arg0) If ((Local0 != Arg1)) { ERR (__METHOD__, Z051, __LINE__, 0x00, 0x00, Local0, Arg1) } Return (Zero) } /* More complex cases are performed into obj_deletion.asl test */ Method (M202, 1, Serialized) { Name (P000, Package (Arg0){}) /* Write */ M201 (P000, Arg0, Package (0x01) { 0x51 }) /* Re-write */ M201 (P000, Arg0, Package (0x01) { 0x51 }) } /* Write/rewrite Packages into Package (and verify) */ /* */ /* Verification of the contents of Packages is not */ /* performed, too complex. */ Method (M203, 0, Serialized) { TS00 (__METHOD__) /* m202(255) */ M202 (0x01) } /* Run-method */ Method (PCG0, 0, NotSerialized) { Debug = "TEST: PCG0, Declare Package Object" SRMT ("m1f0") M1F0 () SRMT ("m1f1") M1F1 () SRMT ("m1f2") M1F2 () SRMT ("m1f3") M1F3 () /* SRMT("m1f4") */ /* m1f4() */ SRMT ("m1f6") M1F6 () /* SRMT("m1f7") */ /* m1f7() */ SRMT ("m1fa") M1FA () SRMT ("m1fd") M1FD () SRMT ("m200") M200 () SRMT ("m203") M203 () }