/*
* Some or all of this work - Copyright (c) 2006 - 2018, 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 ()
}