/*
* 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.
*/
/*
* Test of the Object and Index References
* and the call-by-reference convention.
*
* SPEC2 file contains specification of the tests.
*/
/*
??????????????????
SEE: current number of errors (17.04.2005): 0x26
SEE: report the name of each started test
SEE: q000,q001...
SEE: extend in every possible way the "total tests",
see top of this spec, as far as fixing the bugs.
SEE: continue to work on "Package total"
SEE: extend the test "The chain of Index_References" after bug fixing
SEE: CURRENTLY: compiler failed, Too few arguments (M002 requires X)
SEE: test ref70 now works in accordance with the current behaviour -
expects exceptions when dealing with ArgX-ORef & ArgX-IRef.
should be re-dericted: when read autimatic dereference will
be done properly.
??????????????????????
*/
Name (Z111, 0x6F)
/* TEST 1: Read of ArgX-ORef with DerefOf */
Method (M221, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x00, 0x01, 0x01, 0x01, 0x00)
M341 ()
If (C088)
{
M4D0 ()
}
}
/* TEST 2: Read of ArgX-ORef without DerefOf (automatic dereference) */
Method (M222, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x00, 0x01, 0x01, 0x00, 0x00)
If (Y507)
{
M342 ()
If (C088)
{
M4D0 ()
}
}
Else
{
M1AE (__METHOD__, "read of ArgX-ORef without DerefOf", "AE_AML_OPERAND_TYPE exception instead of automatic dereference")
}
}
/* TEST 3: Read of ArgX-IRef with DerefOf */
Method (M223, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x00, 0x01, 0x01, 0x01, 0x00)
M343 ()
If (C088)
{
M4D1 ()
}
}
/* TEST 4: Read of ArgX-IRef without DerefOf */
Method (M224, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x00, 0x01, 0x01, 0x00, 0x00)
If (Y507)
{
M344 ()
If (C088)
{
M4D1 ()
}
}
Else
{
M1AE (__METHOD__, "read of ArgX-IRef without DerefOf", "AE_AML_OPERAND_TYPE exception instead of automatic dereference")
}
}
/* TEST 5.0: Store into ArgX-object doesn't change original data */
Method (M225, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x01, 0x01, 0x00, 0x00, 0x00)
M1C0 ()
}
/* TEST 5.1: CopyObject into ArgX-object doesn't change original data */
Method (M226, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x02, 0x01, 0x00, 0x00, 0x00)
M1C0 ()
}
/* TEST 6.0: Store into ArgX-ORef changes original data */
Method (M227, 0, Serialized)
{
TS00 (__METHOD__)
M362 ()
M363 ()
M364 ()
If (C088)
{
M1AD (__METHOD__, 0x01, 0x01, 0x01, 0x01, 0x00)
M4D0 ()
}
}
/* TEST 6.1: CopyObject into ArgX-ORef changes original data */
Method (M228, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x02, 0x01, 0x01, 0x01, 0x00)
M4D0 ()
}
/* TEST 7.0: Store into ArgX-IRef */
/* */
/* ACTUALLY: doesn't write to the original object. */
Method (M229, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x01, 0x01, 0x01, 0x01, 0x00)
M4D1 ()
}
/* TEST 7.1: CopyObject into ArgX-IRef */
/* */
/* ACTUALLY: doesn't write to the original object. */
Method (M22A, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x02, 0x01, 0x01, 0x01, 0x00)
M4D1 ()
}
/* TEST 8: */
/* ArgX-object is one of String, Buffer and Package. */
/* Create IRef to the elements of the */
/* ArgX-object inside the Method and write to them. */
/* */
/* ACTUALLY: writes to the original object. */
Method (M22B, 0, NotSerialized)
{
TS00 ("m22b")
/* Store and CopyObject */
M345 ()
}
/* TEST 10: Check Buffer passed as a parameter. */
/* Create Buffer Field inside Method and write to it. */
/* */
/* ACTUALLY: writes to the original object. */
Method (M22C, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M22C.TS__ */
}
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Method (M000, 1, NotSerialized)
{
CreateField (Arg0, 0x08, 0x08, BF90)
If ((BF90 != 0x77))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x77)
}
BF90 = 0x9999992B
If ((BF90 != 0x2B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x2B)
}
}
Method (M001, 1, NotSerialized)
{
CreateField (Arg0, 0x08, 0x08, BF90)
If ((BF90 != 0x77))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x77)
}
BF90 = 0x2B
CopyObject (0x9999992B, BF90) /* \M22C.M001.BF90 */
If ((BF90 != 0x2B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x2B)
}
}
BEG0 (Z111, __METHOD__)
M000 (B000)
If (X191)
{
M001 (B010)
}
M386 (__METHOD__, B000, 0x00, __LINE__)
If (X191)
{
M386 (__METHOD__, B010, 0x00, __LINE__)
}
END0 ()
}
/* TEST 11: Check RefOf of ArgX-Object (ArgX is any type Object) */
Method (M22D, 0, Serialized)
{
TS00 (__METHOD__)
M346 ()
If (C088)
{
/* RefOf */
C08B = 0x01 /* do RefOf(ArgX) checkings */
M1AD (__METHOD__, 0x00, 0x01, 0x00, 0x00, 0x00)
M1C0 ()
/* CondRefOf */
C08B = 0x02 /* do RefOf(ArgX) checkings */
M1AD (__METHOD__, 0x00, 0x01, 0x00, 0x00, 0x00)
M1C0 ()
C08B = 0x00 /* do RefOf(ArgX) checkings */
}
}
/* TEST 12: Check DerefOf(RefOf) of ArgX-Object (ArgX is any type Object) */
Method (M22E, 0, NotSerialized)
{
TS00 ("m22e")
M347 ()
}
/* TEST 13: Check RefOf of ArgX-ORef */
Method (M22F, 0, NotSerialized)
{
TS00 ("m22f")
M348 ()
}
/* TEST 14: Check DerefOf(RefOf) of ArgX-ORef */
/* */
/* ACTUALLY: writes to the original object. */
Method (M230, 0, NotSerialized)
{
TS00 ("m230")
M349 ()
}
/* TEST 15: Check RefOf of ArgX-IRef */
Method (M231, 0, NotSerialized)
{
TS00 ("m231")
M34A ()
}
/* TEST 16: Check DerefOf(RefOf) of ArgX-IRef */
Method (M232, 0, NotSerialized)
{
TS00 ("m232")
M34B ()
}
/* TEST 17: Check RefOf of ArgX-String, ArgX-Buffer, ArgX-Package */
/* */
/* ACTUALLY: */
/* */
/* ArgX-String - writes to the original String */
/* ArgX-Buffer - doesnt */
/* ArgX-Package - doesnt */
Method (M233, 0, NotSerialized)
{
TS00 ("m233")
M34C ()
}
/* TEST 19: Check RefOf of ArgX-Buffer (check its Buffer Field) */
/* */
/* ACTUALLY: doesn't write to the original object. */
Method (M234, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M234.TS__ */
}
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Method (M000, 1, NotSerialized)
{
Local2 = DerefOf (Arg0)
CreateField (Local2, 0x08, 0x08, BF90)
If ((BF90 != 0x77))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x77)
}
BF90 = 0x9999992B
If ((BF90 != 0x2B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x2B)
}
}
Method (M001, 1, NotSerialized)
{
Local2 = DerefOf (Arg0)
CreateField (Local2, 0x08, 0x08, BF90)
If ((BF90 != 0x77))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x77)
}
CopyObject (0x9999992B, BF90) /* \M234.M001.BF90 */
If ((BF90 != 0x2B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, BF90, 0x2B)
}
}
Method (M010, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M000 (Local0)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M020, 2, NotSerialized)
{
M000 (RefOf (Arg0))
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M011, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M001 (Local0)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M021, 2, NotSerialized)
{
M001 (RefOf (Arg0))
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
BEG0 (Z111, __METHOD__)
M010 (B000, C00B)
M382 (__METHOD__, B000, 0x00, __LINE__)
M020 (B000, C00B)
M382 (__METHOD__, B000, 0x00, __LINE__)
If (X191)
{
M011 (B000, C00B)
M382 (__METHOD__, B000, 0x00, __LINE__)
}
If (X191)
{
M021 (B000, C00B)
M382 (__METHOD__, B000, 0x00, __LINE__)
}
END0 ()
}
/*
* TEST 20: Check writing from ArgX to ArgY
*
* ACTUALLY:
*
* '+' writes
* '-' not writes
* 'e' exceptions occurs
*
*
* - from ArgX-Object to ArgY-Object
* + from ArgX-Object to ArgY-ORef
* - from ArgX-Object to ArgY-IRef
*
* - from ArgX-ORef to ArgY-Object
* e from ArgX-ORef to ArgY-ORef
* - from ArgX-ORef to ArgY-IRef
*
* - from ArgX-IRef to ArgY-Object
* e from ArgX-IRef to ArgY-ORef
* - from ArgX-IRef to ArgY-IRef
*/
Method (M235, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M235.TS__ */
}
Name (I000, 0x77)
Name (I010, 0x77)
Name (I020, 0x77)
Name (S000, "qwer0000")
Name (S010, "qwer0000")
Name (S021, "q+er0000")
Name (S031, "q+er0000")
Name (I001, 0x2B)
Name (I011, 0x2B)
Name (I021, 0x2B)
Name (I031, 0x2B)
Name (I041, 0x2B)
Name (I051, 0x2B)
Name (I061, 0x2B)
Method (M000, 3, NotSerialized)
{
Arg1 = Arg0
If ((Arg2 == C009))
{
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00A))
{
M381 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00B))
{
M382 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00C))
{
M383 (__METHOD__, Arg1, 0x00, __LINE__)
}
}
Method (M001, 3, NotSerialized)
{
CopyObject (Arg0, Arg1)
If ((Arg2 == C009))
{
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00A))
{
M381 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00B))
{
M382 (__METHOD__, Arg1, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00C))
{
M383 (__METHOD__, Arg1, 0x00, __LINE__)
}
}
Method (M002, 3, NotSerialized)
{
Arg1 = Arg0
Local2 = DerefOf (Arg1)
If ((Arg2 == C009))
{
M380 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00A))
{
M381 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00B))
{
M382 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00C))
{
M383 (__METHOD__, Local2, 0x00, __LINE__)
}
}
Method (M003, 3, NotSerialized)
{
CopyObject (Arg0, Arg1)
Local2 = DerefOf (Arg1)
If ((Arg2 == C009))
{
M380 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00A))
{
M381 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00B))
{
M382 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg2 == C00C))
{
M383 (__METHOD__, Local2, 0x00, __LINE__)
}
}
Method (M004, 2, NotSerialized)
{
Arg1 = Arg0
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
Method (M005, 2, NotSerialized)
{
Arg1 = Arg0
}
BEG0 (Z111, __METHOD__)
/* ArgX-Object -->> ArgY-Object */
M000 (I000, I001, C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M384 (__METHOD__, I001, 0x00, __LINE__)
M001 (I000, I001, C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M384 (__METHOD__, I001, 0x00, __LINE__)
/* ArgX-Object -->> ArgY-ORef */
M002 (I000, RefOf (I001), C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I001, 0x00, __LINE__)
M003 (I000, RefOf (I021), C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I021, 0x00, __LINE__)
Local0 = RefOf (I031)
M002 (I000, Local0, C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I031, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M380 (__METHOD__, Local2, 0x00, __LINE__)
Local0 = RefOf (I041)
M003 (I000, Local0, C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I041, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M380 (__METHOD__, Local2, 0x00, __LINE__)
/* ArgX-Object -->> ArgY-IRef */
M004 (I000, Local0 = S021 [0x01])
M380 (__METHOD__, I000, 0x00, __LINE__)
M385 (__METHOD__, S021, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M384 (__METHOD__, Local2, 0x00, __LINE__)
Local1 = Local0 = S021 [0x01]
M004 (I000, Local0)
M380 (__METHOD__, I000, 0x00, __LINE__)
M385 (__METHOD__, S021, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M384 (__METHOD__, Local2, 0x00, __LINE__)
M004 (I000, Local1)
M380 (__METHOD__, I000, 0x00, __LINE__)
M385 (__METHOD__, S021, 0x00, __LINE__)
Local2 = DerefOf (Local1)
M384 (__METHOD__, Local2, 0x00, __LINE__)
/* ArgX-ORef -->> ArgY-Object */
M005 (RefOf (I000), S000)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M005 (RefOf (I000), I051)
M380 (__METHOD__, I000, 0x00, __LINE__)
M384 (__METHOD__, I051, 0x00, __LINE__)
Local0 = RefOf (I000)
M005 (Local0, S000)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M005 (Local0, I051)
M380 (__METHOD__, I000, 0x00, __LINE__)
M384 (__METHOD__, I051, 0x00, __LINE__)
/* ArgX-IRef -->> ArgY-Object */
M005 (Local0 = S000 [0x01], I000)
M381 (__METHOD__, S000, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
/* The entire expression (exercised below): */
/* m005(Index(s021, 1, Local0), RefOf(i010)) */
/* here is executed step by step: */
M385 (__METHOD__, S021, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M005 (Local0 = S021 [0x01], I010)
M385 (__METHOD__, S021, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M005 (I051, RefOf (I010))
M385 (__METHOD__, S021, 0x00, __LINE__)
M384 (__METHOD__, I051, 0x00, __LINE__)
M384 (__METHOD__, I010, 0x00, __LINE__)
If (Y513)
{
/* ArgX-IRef -->> ArgY-ORef */
M005 (Local0 = S021 [0x01], RefOf (I020))
M385 (__METHOD__, S021, 0x00, __LINE__)
M384 (__METHOD__, I020, 0x00, __LINE__)
Local1 = DerefOf (Local0)
M384 (__METHOD__, Local1, 0x00, __LINE__)
}
/* ArgX-IRef -->> ArgY-IRef */
M005 (Local0 = S021 [0x01], Local1 = S010 [0x01])
M385 (__METHOD__, S021, 0x00, __LINE__)
M381 (__METHOD__, S010, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M384 (__METHOD__, Local2, 0x00, __LINE__)
Local2 = DerefOf (Local1)
M380 (__METHOD__, Local2, 0x00, __LINE__)
If (Y513)
{
/* ArgX-ORef -->> ArgY-ORef */
M005 (RefOf (I000), RefOf (I061))
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I061, 0x00, __LINE__)
}
/* ArgX-ORef -->> ArgY-IRef */
M005 (RefOf (I000), Local0 = S031 [0x01])
M380 (__METHOD__, I000, 0x00, __LINE__)
M385 (__METHOD__, S031, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M384 (__METHOD__, Local2, 0x00, __LINE__)
END0 ()
}
/*
* TEST 21: Check writing from ArgX to LocalX
*
* ACTUALLY:
*
* - from ArgX-Object to LocalX
* - from ArgX-ORef to LocalX
* - from ArgX-IRef to LocalX
*/
Method (M236, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M236.TS__ */
}
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I001, 0x2B)
Name (S001, "q+er0000")
Method (M000, 2, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == C009))
{
M380 (__METHOD__, Local0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00A))
{
M381 (__METHOD__, Local0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Local0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Local0, 0x00, __LINE__)
}
Local0 = 0x11
}
Method (M001, 2, NotSerialized)
{
Local0 = Arg0
Local0 = ObjectType (Arg0)
If ((Local0 != Arg1))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, Arg1)
}
/* Overwrite LocalX which contains either */
/* Object or ORef or IRef. */
Local0 = 0x11
}
BEG0 (Z111, __METHOD__)
/* ArgX-Object -->> LocalX */
M000 (I000, C009)
M000 (S000, C00A)
M000 (B000, C00B)
M000 (P000, C00C)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
/* ArgX-ORef -->> LocalX */
M001 (RefOf (I000), C009)
M001 (RefOf (S000), C00A)
M001 (RefOf (B000), C00B)
M001 (RefOf (P000), C00C)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
/* ArgX-IRef -->> LocalX */
M001 (S000 [0x01], C016)
M001 (B000 [0x01], C016)
M001 (P000 [0x01], C009)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
END0 ()
}
/*
* TEST 23: Generate LocalX-ORef and write to it
*
* ACTUALLY: doesn't write to the original object
*/
Method (M237, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M237.TS__ */
}
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
/* Overwrite LocalX-ORef */
Method (M000, 1, NotSerialized)
{
Local0 = RefOf (Arg0)
Local0 = 0x11
Local0 = RefOf (I000)
Local0 = 0x11
Local0 = RefOf (S000)
Local0 = 0x11
Local0 = RefOf (B000)
Local0 = 0x11
Local0 = RefOf (P000)
Local0 = 0x11
}
BEG0 (Z111, __METHOD__)
M000 (I000)
M000 (S000)
M000 (B000)
M000 (P000)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
END0 ()
}
/*
* TEST 24: Generate LocalX-IRef and write to it
*
* ACTUALLY: doesn't write to the original object
*/
Method (M238, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M238.TS__ */
}
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
/* Overwrite LocalX-ORef */
Method (M000, 1, NotSerialized)
{
Local1 = Local0 = Arg0 [0x01]
Local0 = 0x11
Local1 = 0x22
Local1 = Local0 = S000 [0x01]
Local0 = 0x11
Local1 = 0x22
Local1 = Local0 = B000 [0x01]
Local0 = 0x11
Local1 = 0x22
Local1 = Local0 = P000 [0x01]
Local0 = 0x11
Local1 = 0x22
}
Method (M001, 1, NotSerialized)
{
Local1 = Local0 = Arg0 [0x01]
CopyObject (0x11, Local0)
CopyObject (0x22, Local1)
Local1 = Local0 = S000 [0x01]
CopyObject (0x11, Local0)
CopyObject (0x22, Local1)
Local1 = Local0 = B000 [0x01]
CopyObject (0x11, Local0)
CopyObject (0x22, Local1)
Local1 = Local0 = P000 [0x01]
CopyObject (0x11, Local0)
CopyObject (0x22, Local1)
}
BEG0 (Z111, __METHOD__)
M000 (S000)
M000 (B000)
M000 (P000)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M001 (S000)
M001 (B000)
M001 (P000)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
END0 ()
}
/*
* TEST 25: Generate ORef to global Object into ArgX and write to it
*
* ACTUALLY:
*
* - doesn't write to the original object
* - the repeated attempts to overwrite ORef-ArgX cause exceptions
*/
Method (M239, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M239.TS__ */
}
/* Local Objects */
Method (M000, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
Arg1 = 0x11
}
Method (M001, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
Arg1 = 0x11
Arg1 = RefOf (IA00)
Arg1 = 0x11
Arg1 = RefOf (SA00)
Arg1 = 0x11
Arg1 = RefOf (BA00)
Arg1 = 0x11
Arg1 = RefOf (PA00)
Arg1 = 0x11
}
Method (M002, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
CopyObject (0x11, Arg1)
Arg1 = RefOf (IA00)
CopyObject (0x11, Arg1)
Arg1 = RefOf (SA00)
CopyObject (0x11, Arg1)
Arg1 = RefOf (BA00)
CopyObject (0x11, Arg1)
Arg1 = RefOf (PA00)
CopyObject (0x11, Arg1)
}
Method (M003, 2, NotSerialized)
{
CopyObject (RefOf (Arg0), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (IA00), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (SA00), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (BA00), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (PA00), Arg1)
CopyObject (0x11, Arg1)
}
BEG0 (Z111, __METHOD__)
/* m000 */
M000 (IA00, IA10)
M000 (SA00, SA10)
M000 (BA00, BA10)
M000 (PA00, PA10)
M380 (__METHOD__, IA00, 0x00, __LINE__)
M381 (__METHOD__, SA00, 0x00, __LINE__)
M382 (__METHOD__, BA00, 0x00, __LINE__)
M383 (__METHOD__, PA00, 0x00, __LINE__)
M380 (__METHOD__, IA10, 0x00, __LINE__)
M381 (__METHOD__, SA10, 0x00, __LINE__)
M382 (__METHOD__, BA10, 0x00, __LINE__)
M383 (__METHOD__, PA10, 0x00, __LINE__)
If (Y514)
{
/* m001 */
M001 (IA00, IA10)
M001 (SA00, SA10)
M001 (BA00, BA10)
M001 (PA00, PA10)
M380 (__METHOD__, IA00, 0x00, __LINE__)
M381 (__METHOD__, SA00, 0x00, __LINE__)
M382 (__METHOD__, BA00, 0x00, __LINE__)
M383 (__METHOD__, PA00, 0x00, __LINE__)
M380 (__METHOD__, IA10, 0x00, __LINE__)
M381 (__METHOD__, SA10, 0x00, __LINE__)
M382 (__METHOD__, BA10, 0x00, __LINE__)
M383 (__METHOD__, PA10, 0x00, __LINE__)
/* m002 */
M002 (IA00, IA10)
M002 (SA00, SA10)
M002 (BA00, BA10)
M002 (PA00, PA10)
M380 (__METHOD__, IA00, 0x00, __LINE__)
M381 (__METHOD__, SA00, 0x00, __LINE__)
M382 (__METHOD__, BA00, 0x00, __LINE__)
M383 (__METHOD__, PA00, 0x00, __LINE__)
M380 (__METHOD__, IA10, 0x00, __LINE__)
M381 (__METHOD__, SA10, 0x00, __LINE__)
M382 (__METHOD__, BA10, 0x00, __LINE__)
M383 (__METHOD__, PA10, 0x00, __LINE__)
}
/* m003 */
M003 (IA00, IA10)
M003 (SA00, SA10)
M003 (BA00, BA10)
M003 (PA00, PA10)
M380 (__METHOD__, IA00, 0x00, __LINE__)
M381 (__METHOD__, SA00, 0x00, __LINE__)
M382 (__METHOD__, BA00, 0x00, __LINE__)
M383 (__METHOD__, PA00, 0x00, __LINE__)
M380 (__METHOD__, IA10, 0x00, __LINE__)
M381 (__METHOD__, SA10, 0x00, __LINE__)
M382 (__METHOD__, BA10, 0x00, __LINE__)
M383 (__METHOD__, PA10, 0x00, __LINE__)
END0 ()
}
/*
* TEST 26: Generate ORef to local Object into ArgX and write to it
*
* ACTUALLY:
*
* - doesn't write to the original object
* - the repeated attempts to overwrite ORef-ArgX cause exceptions
*/
Method (M23A, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M23A.TS__ */
}
/* Local Objects */
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I010, 0x77)
Name (S010, "qwer0000")
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P010, Package (0x03)
{
0x05,
0x77,
0x07
})
Method (M000, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
Arg1 = 0x11
}
Method (M001, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
Arg1 = 0x11
Arg1 = RefOf (I000)
Arg1 = 0x11
Arg1 = RefOf (S000)
Arg1 = 0x11
Arg1 = RefOf (B000)
Arg1 = 0x11
Arg1 = RefOf (P000)
Arg1 = 0x11
}
Method (M002, 2, NotSerialized)
{
Arg1 = RefOf (Arg0)
CopyObject (0x11, Arg1)
Arg1 = RefOf (I000)
CopyObject (0x11, Arg1)
Arg1 = RefOf (S000)
CopyObject (0x11, Arg1)
Arg1 = RefOf (B000)
CopyObject (0x11, Arg1)
Arg1 = RefOf (P000)
CopyObject (0x11, Arg1)
}
Method (M003, 2, NotSerialized)
{
CopyObject (RefOf (Arg0), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (I000), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (S000), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (B000), Arg1)
CopyObject (0x11, Arg1)
CopyObject (RefOf (P000), Arg1)
CopyObject (0x11, Arg1)
}
BEG0 (Z111, __METHOD__)
/* m000 */
M000 (I000, I010)
M000 (S000, S010)
M000 (B000, B010)
M000 (P000, P010)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M381 (__METHOD__, S010, 0x00, __LINE__)
M382 (__METHOD__, B010, 0x00, __LINE__)
M383 (__METHOD__, P010, 0x00, __LINE__)
If (Y514)
{
/* m001 */
M001 (I000, I010)
M001 (S000, S010)
M001 (B000, B010)
M001 (P000, P010)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M381 (__METHOD__, S010, 0x00, __LINE__)
M382 (__METHOD__, B010, 0x00, __LINE__)
M383 (__METHOD__, P010, 0x00, __LINE__)
/* m002 */
M002 (I000, I010)
M002 (S000, S010)
M002 (B000, B010)
M002 (P000, P010)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M381 (__METHOD__, S010, 0x00, __LINE__)
M382 (__METHOD__, B010, 0x00, __LINE__)
M383 (__METHOD__, P010, 0x00, __LINE__)
}
/* m003 */
M003 (I000, I010)
M003 (S000, S010)
M003 (B000, B010)
M003 (P000, P010)
M380 (__METHOD__, I000, 0x00, __LINE__)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M380 (__METHOD__, I010, 0x00, __LINE__)
M381 (__METHOD__, S010, 0x00, __LINE__)
M382 (__METHOD__, B010, 0x00, __LINE__)
M383 (__METHOD__, P010, 0x00, __LINE__)
END0 ()
}
/*
* TEST 27: Check CopyObject to LocalX
*
* Local0-Local7 can be written with any type object without any conversion
*
* Check each type after each one
*/
Method (M23B, 0, NotSerialized)
{
TS00 ("m23b")
M1B1 ()
}
/*
* TEST 28: Check Store to LocalX
*
* Local0-Local7 can be written without any conversion
*
* Check each type after each one
*/
Method (M23C, 0, NotSerialized)
{
TS00 ("m23c")
M1B2 ()
}
/*
* TEST 29: CopyObject the result of RefOf to LocalX
*
* References to any type Objects are available.
*/
Method (M23D, 0, NotSerialized)
{
TS00 ("m23d")
M1B4 ()
}
/*
* TEST 30: Store the result of RefOf to LocalX
*
* ACTUALLY: references to any type Objects are available
*/
Method (M23E, 0, NotSerialized)
{
TS00 ("m23e")
M1B5 ()
}
/*
* TEST 31: CopyObject the result of Index to LocalX
*/
Method (M23F, 0, NotSerialized)
{
TS00 ("m23f")
M1B6 ()
}
/*
* TEST 32: Store the result of Index to LocalX
*/
Method (M250, 0, NotSerialized)
{
TS00 ("m250")
M1B7 ()
}
/*
* TEST 33: mix of all the legal ways (enumerated in
* tests TEST 27 - TEST 35) of initializing
* the LocalX.
*/
Method (M251, 0, NotSerialized)
{
TS00 ("m251")
/* Strategies: */
/* 1 - mix of groups, 2 - Mod-6 strategy, otherwise - linear */
M1E0 (0x01)
}
/*
* TEST 34: Obtain the NamedX objects of all the types
* and check their {type,size,value}.
*
* SEE: it is implemented in name/name.asl
*/
/*
* TEST 35
*
* Obtain and verify the ORef
* and IRef to named objects
* {type,size,value}.
*/
Method (M252, 0, Serialized)
{
TS00 (__METHOD__)
M1AD (__METHOD__, 0x00, 0x01, 0x01, 0x01, 0x00)
/* NamedX-ORef */
M4D2 ()
/* NamedX-IRef */
M4D3 ()
}
/*
* TEST 36: Check ArgX-ORef being passed further to another Method
*
* ACTUALLY: writes to the original object
* Object:RefOf:ORef:ArgX-ORef:M2:M3:...:M*:write
* ^ Changed
*
* A set of available for Store types for to write into is restricted
*/
Method (M253, 0, NotSerialized)
{
TS00 ("m253")
/* Store */
M34D (0x00)
/* CopyObject */
M34D (0x01)
}
/*
* TEST 37: Check ArgX-IRef being passed further to another Method
*
* ACTUALLY: doesn't write to the original object
*/
Method (M254, 0, NotSerialized)
{
TS00 ("m254")
/* Store */
M34E (0x00)
/* CopyObject */
M34E (0x01)
}
/*
* TEST 38: Check write(x, RefOf(y))
*/
Method (M255, 0, NotSerialized)
{
TS00 ("m255")
/* Store */
M34F ()
/* CopyObject */
/* CURRENTLY: compiler failed CopyObject(xx, RefOf(xx)) */
/* m350() */
}
/*
* TEST 39: Check write(x, Index(String))
*/
Method (M256, 0, Serialized)
{
TS00 (__METHOD__)
Name (S000, "qwer0000")
Name (S010, "qwer0000")
BEG0 (Z111, __METHOD__)
/* Store */
S000 [0x01] = 0x2B
M385 (__METHOD__, S000, 0x00, __LINE__)
Local0 = S010 [0x01]
S010 [0x01] = 0x2B
M385 (__METHOD__, S010, 0x00, __LINE__)
/* CopyObject */
/* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) */
/* CopyObject(0x2b, Index(s020, 1)) */
/* m385 (ts, s020, 0, __LINE__)*/
END0 ()
}
/*
* TEST 40: Check write(x, Index(Buffer))
*/
Method (M257, 0, Serialized)
{
TS00 (__METHOD__)
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
BEG0 (Z111, __METHOD__)
/* Store */
B000 [0x01] = 0x2B
M386 (__METHOD__, B000, 0x00, __LINE__)
Local0 = B010 [0x01]
B010 [0x01] = 0x2B
M386 (__METHOD__, B010, 0x00, __LINE__)
END0 ()
}
/*
* TEST 41: Check Store(Object, Index(Package(){Uninitialized}))
*/
Method (M258, 1, Serialized)
{
TS00 (__METHOD__)
Name (P100, Package (0x12){})
P100 [0x00] = 0x00
P100 [0x01] = I900 /* \I900 */
P100 [0x02] = S900 /* \S900 */
P100 [0x03] = B900 /* \B900 */
P100 [0x04] = P953 /* \P953 */
P100 [0x05] = F900 /* \F900 */
/*
// Removed 09/2015. iASL now disallows these stores
if (arg0) {
// Check these for exceptions but not there
Store(d900, Index(p100, 6))
Store(e900, Index(p100, 7))
Store(m914, Index(p100, 8))
Store(mx90, Index(p100, 9))
Store(r900, Index(p100, 10))
Store(pw90, Index(p100, 11))
Store(pr90, Index(p100, 12))
Store(tz90, Index(p100, 13))
}
*/
P100 [0x0E] = BF90 /* \BF90 */
P100 [0x0F] = 0x0F
P100 [0x10] = 0x10
/* Verify p955-like Package */
M1AF (P100, 0x00, 0x00, 0x00)
M1A6 ()
}
/*
* TEST 42: Check CopyObject(Object, Index(Package(){Uninitialized}))
*
* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx))
*/
Method (M259, 0, Serialized)
{
TS00 ("m259")
Name (P100, Package (0x12){})
/*
* CopyObject(i900, Index(p100, 1))
* CopyObject(s900, Index(p100, 2))
* CopyObject(b900, Index(p100, 3))
* CopyObject(p953, Index(p100, 4))
* CopyObject(f900, Index(p100, 5))
* CopyObject(d900, Index(p100, 6))
* CopyObject(e900, Index(p100, 7))
* CopyObject(m914, Index(p100, 8))
* CopyObject(mx90, Index(p100, 9))
* CopyObject(r900, Index(p100, 10))
* CopyObject(pw90, Index(p100, 11))
* CopyObject(pr90, Index(p100, 12))
* CopyObject(tz90, Index(p100, 13))
* CopyObject(bf90, Index(p100, 14))
*
* m1af(p100, 1, 0, 0)
*
*
* m1a6()
*/
}
/*
* TEST 43: Check Store(RefOf(Object), Index(Package(){Uninitialized}))
*/
Method (M25A, 0, Serialized)
{
TS00 ("m25a")
Name (P100, Package (0x12){})
M352 (P100)
M1AF (P100, 0x01, 0x01, 0x01)
M1A6 ()
}
/*
* TEST 44: Check Store(Index(Object,x), Index(Package(){Uninitialized}))
*/
Method (M25B, 0, Serialized)
{
TS00 ("m25b")
Name (P100, Package (0x12){})
/* Store IRef (Index(p955, x)) into Package */
M353 (P100, 0x00)
/* Verify p955-like Package */
M1AF (P100, 0x01, 0x00, 0x01)
M1A6 ()
}
/*
* TEST 45: Check write(x, Index(Package(){Constant}))
*/
Method (M25C, 0, Serialized)
{
TS00 (__METHOD__)
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (P010, Package (0x03)
{
0x05,
0x77,
0x07
})
BEG0 (Z111, __METHOD__)
/* Store */
P000 [0x01] = 0x2B
M387 (__METHOD__, P000, 0x00, __LINE__)
Local0 = P010 [0x01]
P010 [0x01] = 0x2B
M387 (__METHOD__, P010, 0x00, __LINE__)
END0 ()
}
/*
* TEST 46: Check write(x, Index(Package(){NamedX}))
*/
Method (M25D, 0, NotSerialized)
{
TS00 ("m25d")
/* Write Integer into Package and verify the obtained contents */
M351 (P955)
/* Restore p955 Package */
M1C6 ()
/* Check that the original data (i900,...) */
/* are unchanged: */
M1A6 ()
}
/*
* TEST 47: Check Store(Object, Index(Package(){ORef}))
*/
Method (M25E, 0, Serialized)
{
TS00 ("m25e")
Name (P100, Package (0x12){})
/* Prepare Package with ORef elements */
/* pointing to the global *9** data: */
M352 (P100)
/* Verify p955-like Package */
M1AF (P100, 0x01, 0x01, 0x01)
/* Check the global *9** data are safe: */
M1A6 ()
/* Write Integer into Package over the ORef */
/* and verify the obtained contents */
M351 (P100)
/* Check the global *9** data are safe: */
M1A6 ()
}
/*
* TEST 48: Check Store(Object, Index(Package(){IRef}))
*/
Method (M25F, 0, Serialized)
{
TS00 ("m25f")
Name (P100, Package (0x12){})
/* Store IRef (Index(p955, x)) into Package */
/* (p955 belongs to *9** data): */
M353 (P100, 0x00)
/* Verify p955-like Package */
M1AF (P100, 0x01, 0x00, 0x01)
M1A6 ()
/* Write Integer into Package over the IRef */
/* and verify the obtained contents */
M351 (P100)
/* Check the global *9** data are safe: */
M1A6 ()
}
/*
* TEST 49: ORef-LocalX
*/
Method (M260, 0, NotSerialized)
{
TS00 ("m260")
/* Store */
M354 ()
/* CopyObject */
M355 ()
}
Method (M354, 0, Serialized)
{
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
Arg0 = 0x2B
}
BEG0 (Z111, __METHOD__)
Local0 = RefOf (I000)
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (Local0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (Local0, C009, 0x00, 0x00, 0x02)
M380 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = RefOf (S000)
M1A3 (Local0, C00A, 0x00, 0x00, 0x05)
M381 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = RefOf (B000)
M1A3 (Local0, C00B, 0x00, 0x00, 0x08)
M382 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = RefOf (P000)
M1A3 (Local0, C00C, 0x00, 0x00, 0x0B)
M383 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = RefOf (D000)
M1A3 (Local0, C00E, 0x00, 0x00, 0x0E)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
END0 ()
}
Method (M355, 0, Serialized)
{
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
CopyObject (0x2B, Arg0)
}
BEG0 (Z111, __METHOD__)
CopyObject (RefOf (I000), Local0)
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (Local0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (Local0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
CopyObject (RefOf (S000), Local0)
M1A3 (Local0, C00A, 0x00, 0x00, 0x03)
M381 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
CopyObject (RefOf (B000), Local0)
M1A3 (Local0, C00B, 0x00, 0x00, 0x06)
M382 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
CopyObject (RefOf (P000), Local0)
M1A3 (Local0, C00C, 0x00, 0x00, 0x09)
M383 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
CopyObject (RefOf (D000), Local0)
M1A3 (Local0, C00E, 0x00, 0x00, 0x0C)
M000 (Local0)
M384 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
END0 ()
}
/*
* TEST 50: ORef-ArgX
*/
Method (M261, 0, Serialized)
{
TS00 (__METHOD__)
Name (I000, 0x77)
Name (I001, 0x77)
BEG0 (Z111, __METHOD__)
/* Store */
If (Y519)
{
M356 (I000)
M380 (__METHOD__, I000, 0x00, __LINE__)
}
Else
{
M1AE (__METHOD__, "Store ORef to ArgX", "AE_AML_OPERAND_TYPE exception occurs")
}
/* CopyObject */
If (Y520)
{
M357 (I001)
M380 (__METHOD__, I001, 0x00, __LINE__)
}
Else
{
M1AE (__METHOD__, "CopyObject ORef to ArgX", "AE_AML_OPERAND_TYPE exception occurs")
}
END0 ()
}
Method (M356, 1, Serialized)
{
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
Arg0 = 0x2B
}
BEG0 (Z111, __METHOD__)
Arg0 = RefOf (I000)
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (Arg0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (Arg0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
Arg0 = RefOf (S000)
M1A3 (Arg0, C00A, 0x00, 0x00, 0x03)
M381 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
Arg0 = RefOf (B000)
M1A3 (Arg0, C00B, 0x00, 0x00, 0x06)
M382 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
Arg0 = RefOf (P000)
M1A3 (Arg0, C00C, 0x00, 0x00, 0x09)
M383 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
Arg0 = RefOf (D000)
M1A3 (Arg0, C00E, 0x00, 0x00, 0x0C)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
END0 ()
}
Method (M357, 1, Serialized)
{
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
CopyObject (0x2B, Arg0)
}
BEG0 (Z111, __METHOD__)
CopyObject (RefOf (I000), Arg0)
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (Arg0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (Arg0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
CopyObject (RefOf (S000), Arg0)
M1A3 (Arg0, C00A, 0x00, 0x00, 0x03)
M381 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
CopyObject (RefOf (B000), Arg0)
M1A3 (Arg0, C00B, 0x00, 0x00, 0x06)
M382 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
CopyObject (RefOf (P000), Arg0)
M1A3 (Arg0, C00C, 0x00, 0x00, 0x09)
M383 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
CopyObject (RefOf (D000), Arg0)
M1A3 (Arg0, C00E, 0x00, 0x00, 0x0C)
M000 (Arg0)
M384 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
END0 ()
}
/*
* TEST 51: ORef-NamedX
*/
Method (M262, 0, Serialized)
{
TS00 (__METHOD__)
/* Store */
If (Y521)
{
M358 ()
}
Else
{
M1AE (__METHOD__, "Store ORef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
}
/* CopyObject */
If (Y522)
{
M359 ()
}
Else
{
M1AE (__METHOD__, "CopyObject ORef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
}
}
Method (M358, 0, Serialized)
{
Name (III0, 0x00)
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
Arg0 = 0x2B
}
BEG0 (Z111, __METHOD__)
III0 = RefOf (I000)
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (III0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (III0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
III0 = RefOf (S000)
M1A3 (III0, C00A, 0x00, 0x00, 0x03)
M381 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
III0 = RefOf (B000)
M1A3 (III0, C00B, 0x00, 0x00, 0x06)
M382 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
III0 = RefOf (P000)
M1A3 (III0, C00C, 0x00, 0x00, 0x09)
M383 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
III0 = RefOf (D000)
M1A3 (III0, C00E, 0x00, 0x00, 0x0C)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
END0 ()
}
Method (M359, 0, Serialized)
{
Name (III0, 0x00)
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
Method (M000, 1, NotSerialized)
{
CopyObject (0x2B, Arg0)
}
BEG0 (Z111, __METHOD__)
CopyObject (RefOf (I000), III0) /* \M359.III0 */
If (0x00)
{
/* This is a reference */
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
Local7 = (III0 + 0x01)
CH04 (__METHOD__, 0x00, 0xFF, 0x00, __LINE__, 0x00, 0x00)
}
M1A3 (III0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
CopyObject (RefOf (S000), III0) /* \M359.III0 */
M1A3 (III0, C00A, 0x00, 0x00, 0x03)
M381 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
CopyObject (RefOf (B000), III0) /* \M359.III0 */
M1A3 (III0, C00B, 0x00, 0x00, 0x06)
M382 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
CopyObject (RefOf (P000), III0) /* \M359.III0 */
M1A3 (III0, C00C, 0x00, 0x00, 0x09)
M383 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
CopyObject (RefOf (D000), III0) /* \M359.III0 */
M1A3 (III0, C00E, 0x00, 0x00, 0x0C)
M000 (III0)
M384 (__METHOD__, DerefOf (III0), 0x00, __LINE__)
END0 ()
}
/*
* TEST 52: ORef-El_of_Package
*/
Method (M263, 0, NotSerialized)
{
TS00 ("m263")
/* Store */
M35A ()
/* CopyObject */
M35B ()
}
Method (M35A, 0, Serialized)
{
Name (PPP0, Package (0x05){})
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Device (D000)
{
Name (I000, 0xABCD0017)
}
BEG0 (Z111, __METHOD__)
PPP0 [0x00] = RefOf (I000)
PPP0 [0x01] = RefOf (S000)
PPP0 [0x02] = RefOf (B000)
PPP0 [0x03] = RefOf (P000)
PPP0 [0x04] = RefOf (D000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C009, 0x00, 0x00, 0x00)
M380 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = DerefOf (PPP0 [0x01])
M1A3 (Local0, C00A, 0x00, 0x00, 0x02)
M381 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = DerefOf (PPP0 [0x02])
M1A3 (Local0, C00B, 0x00, 0x00, 0x04)
M382 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = DerefOf (PPP0 [0x03])
M1A3 (Local0, C00C, 0x00, 0x00, 0x06)
M383 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
Local0 = DerefOf (PPP0 [0x04])
M1A3 (Local0, C00E, 0x00, 0x00, 0x08)
/* Replace */
PPP0 [0x00] = RefOf (I000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C009, 0x00, 0x00, 0x09)
M380 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
PPP0 [0x00] = RefOf (S000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C00A, 0x00, 0x00, 0x0B)
M381 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
PPP0 [0x00] = RefOf (B000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C00B, 0x00, 0x00, 0x0D)
M382 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
PPP0 [0x00] = RefOf (P000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C00C, 0x00, 0x00, 0x0F)
M383 (__METHOD__, DerefOf (Local0), 0x00, __LINE__)
PPP0 [0x00] = RefOf (D000)
Local0 = DerefOf (PPP0 [0x00])
M1A3 (Local0, C00E, 0x00, 0x00, 0x11)
END0 ()
}
/* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) */
Method (M35B, 0, NotSerialized)
{
/*
Name(ts, "m35b")
Name(ppp0, Package(5) {})
Name(i000, 0x77)
Name(s000, "qwer0000")
Name(b000, Buffer(4) {1,0x77,3,4})
Name(p000, Package(3) {5,0x77,7})
Device(d000) { Name(i000, 0xabcd0017) }
BEG0(z111, ts)
CopyObject(RefOf(i000), Index(ppp0, 0))
CopyObject(RefOf(s000), Index(ppp0, 1))
CopyObject(RefOf(b000), Index(ppp0, 2))
CopyObject(RefOf(p000), Index(ppp0, 3))
CopyObject(RefOf(d000), Index(ppp0, 4))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c009, 0, 0, 0)
m380 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(DerefOf(Index(ppp0, 1)), Local0)
m1a3(Local0, c00a, 0, 0, 2)
m381 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(DerefOf(Index(ppp0, 2)), Local0)
m1a3(Local0, c00b, 0, 0, 4)
m382 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(DerefOf(Index(ppp0, 3)), Local0)
m1a3(Local0, c00c, 0, 0, 6)
m383 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(DerefOf(Index(ppp0, 4)), Local0)
m1a3(Local0, c00e, 0, 0, 8)
// Replace
CopyObject(RefOf(i000), Index(ppp0, 0))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c009, 0, 0, 9)
m380 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(RefOf(s000), Index(ppp0, 0))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c00a, 0, 0, 11)
m381 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(RefOf(b000), Index(ppp0, 0))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c00b, 0, 0, 13)
m382 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(RefOf(p000), Index(ppp0, 0))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c00c, 0, 0, 15)
m383 (ts, DerefOf(Local0), 0, __LINE__)
CopyObject(RefOf(d000), Index(ppp0, 0))
CopyObject(DerefOf(Index(ppp0, 0)), Local0)
m1a3(Local0, c00e, 0, 0, 17)
END0()
*/
}
/*
* TEST 53: IRef-LocalX
*/
Method (M264, 0, NotSerialized)
{
TS00 ("m264")
/* Store */
M35C ()
/* CopyObject */
M35D ()
}
Method (M35C, 0, Serialized)
{
Name (P000, Package (0x12){})
BEG0 (Z111, __METHOD__)
/* Construct the p955-like Package p000 applying LocalX-IRef */
Store (P956 [0x00], Local0)
P000 [0x00] = Local0
Store (P956 [0x01], Local0)
P000 [0x01] = Local0
Store (P956 [0x02], Local0)
P000 [0x02] = Local0
Store (P956 [0x03], Local0)
P000 [0x03] = Local0
Store (P956 [0x04], Local0)
P000 [0x04] = Local0
Store (P956 [0x05], Local0)
P000 [0x05] = Local0
Store (P956 [0x06], Local0)
P000 [0x06] = Local0
Store (P956 [0x07], Local0)
P000 [0x07] = Local0
Store (P956 [0x08], Local0)
P000 [0x08] = Local0
Store (P956 [0x09], Local0)
P000 [0x09] = Local0
Store (P956 [0x0A], Local0)
P000 [0x0A] = Local0
Store (P956 [0x0B], Local0)
P000 [0x0B] = Local0
Store (P956 [0x0C], Local0)
P000 [0x0C] = Local0
Store (P956 [0x0D], Local0)
P000 [0x0D] = Local0
Store (P956 [0x0E], Local0)
P000 [0x0E] = Local0
Store (P956 [0x0F], Local0)
P000 [0x0F] = Local0
Store (P956 [0x10], Local0)
P000 [0x10] = Local0
P000 [0x00] = 0x00
P000 [0x0F] = 0x0F
P000 [0x10] = 0x10
/* Verify p955-like Package */
M1AF (P000, 0x01, 0x00, 0x01)
M1A6 ()
END0 ()
}
/* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) */
Method (M35D, 0, NotSerialized)
{
/*
Name(ts, "m35d")
Name(p000, Package(18) {})
BEG0(z111, ts)
// Construct the p955-like Package p000 applying LocalX-IRef
CopyObject(Index(p956, 0), Local0)
CopyObject(Local0, Index(p000, 0))
CopyObject(Index(p956, 1), Local0)
CopyObject(Local0, Index(p000, 1))
CopyObject(Index(p956, 2), Local0)
CopyObject(Local0, Index(p000, 2))
CopyObject(Index(p956, 3), Local0)
CopyObject(Local0, Index(p000, 3))
CopyObject(Index(p956, 4), Local0)
CopyObject(Local0, Index(p000, 4))
CopyObject(Index(p956, 5), Local0)
CopyObject(Local0, Index(p000, 5))
CopyObject(Index(p956, 6), Local0)
CopyObject(Local0, Index(p000, 6))
CopyObject(Index(p956, 7), Local0)
CopyObject(Local0, Index(p000, 7))
CopyObject(Index(p956, 8), Local0)
CopyObject(Local0, Index(p000, 8))
CopyObject(Index(p956, 9), Local0)
CopyObject(Local0, Index(p000, 9))
CopyObject(Index(p956, 10), Local0)
CopyObject(Local0, Index(p000, 10))
CopyObject(Index(p956, 11), Local0)
CopyObject(Local0, Index(p000, 11))
CopyObject(Index(p956, 12), Local0)
CopyObject(Local0, Index(p000, 12))
CopyObject(Index(p956, 13), Local0)
CopyObject(Local0, Index(p000, 13))
CopyObject(Index(p956, 14), Local0)
CopyObject(Local0, Index(p000, 14))
CopyObject(Index(p956, 15), Local0)
CopyObject(Local0, Index(p000, 15))
CopyObject(Index(p956, 16), Local0)
CopyObject(Local0, Index(p000, 16))
CopyObject(0, Index(p000, 0))
CopyObject(15, Index(p000, 15))
CopyObject(16, Index(p000, 16))
// Verify p955-like Package
m1af(p000, 1, 0, 1)
m1a6()
END0()
*/
}
/*
* TEST 54: IRef-ArgX
*/
Method (M265, 0, Serialized)
{
TS00 (__METHOD__)
Name (I000, 0x77)
Name (I010, 0x77)
/* Store */
M35E (I000)
M380 (__METHOD__, I000, Z111, __LINE__)
/* CopyObject */
M35F (I010)
M380 (__METHOD__, I010, Z111, __LINE__)
}
Method (M35E, 1, Serialized)
{
Name (P000, Package (0x12){})
BEG0 (Z111, __METHOD__)
/* Construct the p955-like Package p000 applying LocalX-IRef */
Store (P956 [0x00], Arg0)
P000 [0x00] = Arg0
Store (P956 [0x01], Arg0)
P000 [0x01] = Arg0
Store (P956 [0x02], Arg0)
P000 [0x02] = Arg0
Store (P956 [0x03], Arg0)
P000 [0x03] = Arg0
Store (P956 [0x04], Arg0)
P000 [0x04] = Arg0
Store (P956 [0x05], Arg0)
P000 [0x05] = Arg0
Store (P956 [0x06], Arg0)
P000 [0x06] = Arg0
Store (P956 [0x07], Arg0)
P000 [0x07] = Arg0
Store (P956 [0x08], Arg0)
P000 [0x08] = Arg0
Store (P956 [0x09], Arg0)
P000 [0x09] = Arg0
Store (P956 [0x0A], Arg0)
P000 [0x0A] = Arg0
Store (P956 [0x0B], Arg0)
P000 [0x0B] = Arg0
Store (P956 [0x0C], Arg0)
P000 [0x0C] = Arg0
Store (P956 [0x0D], Arg0)
P000 [0x0D] = Arg0
Store (P956 [0x0E], Arg0)
P000 [0x0E] = Arg0
Store (P956 [0x0F], Arg0)
P000 [0x0F] = Arg0
Store (P956 [0x10], Arg0)
P000 [0x10] = Arg0
P000 [0x00] = 0x00
P000 [0x0F] = 0x0F
P000 [0x10] = 0x10
/* Verify p955-like Package */
M1AF (P000, 0x01, 0x00, 0x01)
M1A6 ()
END0 ()
}
/* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) */
Method (M35F, 1, NotSerialized)
{
/*
Name(ts, "m35f")
Name(p000, Package(18) {})
BEG0(z111, ts)
// Construct the p955-like Package p000 applying LocalX-IRef
CopyObject(Index(p956, 0), Arg0)
CopyObject(Arg0, Index(p000, 0))
CopyObject(Index(p956, 1), Arg0)
CopyObject(Arg0, Index(p000, 1))
CopyObject(Index(p956, 2), Arg0)
CopyObject(Arg0, Index(p000, 2))
CopyObject(Index(p956, 3), Arg0)
CopyObject(Arg0, Index(p000, 3))
CopyObject(Index(p956, 4), Arg0)
CopyObject(Arg0, Index(p000, 4))
CopyObject(Index(p956, 5), Arg0)
CopyObject(Arg0, Index(p000, 5))
CopyObject(Index(p956, 6), Arg0)
CopyObject(Arg0, Index(p000, 6))
CopyObject(Index(p956, 7), Arg0)
CopyObject(Arg0, Index(p000, 7))
CopyObject(Index(p956, 8), Arg0)
CopyObject(Arg0, Index(p000, 8))
CopyObject(Index(p956, 9), Arg0)
CopyObject(Arg0, Index(p000, 9))
CopyObject(Index(p956, 10), Arg0)
CopyObject(Arg0, Index(p000, 10))
CopyObject(Index(p956, 11), Arg0)
CopyObject(Arg0, Index(p000, 11))
CopyObject(Index(p956, 12), Arg0)
CopyObject(Arg0, Index(p000, 12))
CopyObject(Index(p956, 13), Arg0)
CopyObject(Arg0, Index(p000, 13))
CopyObject(Index(p956, 14), Arg0)
CopyObject(Arg0, Index(p000, 14))
CopyObject(Index(p956, 15), Arg0)
CopyObject(Arg0, Index(p000, 15))
CopyObject(Index(p956, 16), Arg0)
CopyObject(Arg0, Index(p000, 16))
CopyObject(0, Index(p000, 0))
CopyObject(15, Index(p000, 15))
CopyObject(16, Index(p000, 16))
// Verify p955-like Package
m1af(p000, 1, 0, 1)
m1a6()
END0()
*/
}
/*
* TEST 55: IRef-NamedX
*/
Method (M266, 0, Serialized)
{
TS00 (__METHOD__)
/* Store */
If (Y521)
{
M360 ()
}
Else
{
M1AE (__METHOD__, "Store IRef to NamedX", "AE_AML_OPERAND_TYPE exception occurs")
}
/* CopyObject */
M361 ()
}
Method (M360, 0, Serialized)
{
Name (III0, 0x00)
Name (P000, Package (0x12){})
BEG0 (Z111, __METHOD__)
/* Construct the p955-like Package p000 applying LocalX-IRef */
Store (P956 [0x00], III0) /* \M360.III0 */
P000 [0x00] = III0 /* \M360.III0 */
Store (P956 [0x01], III0) /* \M360.III0 */
P000 [0x01] = III0 /* \M360.III0 */
Store (P956 [0x02], III0) /* \M360.III0 */
P000 [0x02] = III0 /* \M360.III0 */
Store (P956 [0x03], III0) /* \M360.III0 */
P000 [0x03] = III0 /* \M360.III0 */
Store (P956 [0x04], III0) /* \M360.III0 */
P000 [0x04] = III0 /* \M360.III0 */
Store (P956 [0x05], III0) /* \M360.III0 */
P000 [0x05] = III0 /* \M360.III0 */
Store (P956 [0x06], III0) /* \M360.III0 */
P000 [0x06] = III0 /* \M360.III0 */
Store (P956 [0x07], III0) /* \M360.III0 */
P000 [0x07] = III0 /* \M360.III0 */
Store (P956 [0x08], III0) /* \M360.III0 */
P000 [0x08] = III0 /* \M360.III0 */
Store (P956 [0x09], III0) /* \M360.III0 */
P000 [0x09] = III0 /* \M360.III0 */
Store (P956 [0x0A], III0) /* \M360.III0 */
P000 [0x0A] = III0 /* \M360.III0 */
Store (P956 [0x0B], III0) /* \M360.III0 */
P000 [0x0B] = III0 /* \M360.III0 */
Store (P956 [0x0C], III0) /* \M360.III0 */
P000 [0x0C] = III0 /* \M360.III0 */
Store (P956 [0x0D], III0) /* \M360.III0 */
P000 [0x0D] = III0 /* \M360.III0 */
Store (P956 [0x0E], III0) /* \M360.III0 */
P000 [0x0E] = III0 /* \M360.III0 */
Store (P956 [0x0F], III0) /* \M360.III0 */
P000 [0x0F] = III0 /* \M360.III0 */
Store (P956 [0x10], III0) /* \M360.III0 */
P000 [0x10] = III0 /* \M360.III0 */
P000 [0x00] = 0x00
P000 [0x0F] = 0x0F
P000 [0x10] = 0x10
/* Verify p955-like Package */
M1AF (P000, 0x01, 0x00, 0x01)
M1A6 ()
END0 ()
}
/* CURRENTLY: compiler failed CopyObject(xx, Index(xx,xx)) */
Method (M361, 0, NotSerialized)
{
/*
Name(ts, "m361")
Name(iii0, 0)
Name(p000, Package(18) {})
BEG0(z111, ts)
// Construct the p955-like Package p000 applying LocalX-IRef
CopyObject(Index(p956, 0), iii0)
CopyObject(iii0, Index(p000, 0))
CopyObject(Index(p956, 1), iii0)
CopyObject(iii0, Index(p000, 1))
CopyObject(Index(p956, 2), iii0)
CopyObject(iii0, Index(p000, 2))
CopyObject(Index(p956, 3), iii0)
CopyObject(iii0, Index(p000, 3))
CopyObject(Index(p956, 4), iii0)
CopyObject(iii0, Index(p000, 4))
CopyObject(Index(p956, 5), iii0)
CopyObject(iii0, Index(p000, 5))
CopyObject(Index(p956, 6), iii0)
CopyObject(iii0, Index(p000, 6))
CopyObject(Index(p956, 7), iii0)
CopyObject(iii0, Index(p000, 7))
CopyObject(Index(p956, 8), iii0)
CopyObject(iii0, Index(p000, 8))
CopyObject(Index(p956, 9), iii0)
CopyObject(iii0, Index(p000, 9))
CopyObject(Index(p956, 10), iii0)
CopyObject(iii0, Index(p000, 10))
CopyObject(Index(p956, 11), iii0)
CopyObject(iii0, Index(p000, 11))
CopyObject(Index(p956, 12), iii0)
CopyObject(iii0, Index(p000, 12))
CopyObject(Index(p956, 13), iii0)
CopyObject(iii0, Index(p000, 13))
CopyObject(Index(p956, 14), iii0)
CopyObject(iii0, Index(p000, 14))
CopyObject(Index(p956, 15), iii0)
CopyObject(iii0, Index(p000, 15))
CopyObject(Index(p956, 16), iii0)
CopyObject(iii0, Index(p000, 16))
CopyObject(0, Index(p000, 0))
CopyObject(15, Index(p000, 15))
CopyObject(16, Index(p000, 16))
// Verify p955-like Package
m1af(p000, 1, 0, 1)
m1a6()
END0()
*/
}
/*
* TEST 56: IRef-El_of_Package
*/
Method (M267, 0, Serialized)
{
TS00 ("m267")
Name (P100, Package (0x12){})
/* Store */
M25B ()
If (Q003)
{
/* CopyObject */
/* CopyObject IRef (Index(p955, x)) into Package */
M353 (P100, 0x01)
/* Verify p955-like Package */
M1AF (P100, 0x01, 0x00, 0x01)
M1A6 ()
}
}
/*
* TEST 57: Store total
*/
Method (M268, 0, NotSerialized)
{
M1AE ("m268", "Store total", "Not implemented yet")
}
/*
* TEST 58: CopyObject total
*/
Method (M269, 0, NotSerialized)
{
M1AE ("m269", "CopyObject total", "Not implemented yet")
}
/*
* TEST 59: Mix of Store and CopyObject total
*/
Method (M26A, 0, NotSerialized)
{
M1AE ("m26a", "Mix of Store and CopyObject total", "Not implemented yet")
}
/*
* TEST 60: Package total
*/
Method (M26B, 0, Serialized)
{
TS00 (__METHOD__)
Name (I000, 0x77)
Name (I001, 0x77)
/* READ */
/* m1c1 & m1c2 - perform all the ways reading */
/* element of Package passed by ArgX. */
/* Read immediate image element of Package */
/* */
/* Package specified by the immediate */
/* images of {Integer, String, Buffer, Package}. */
M1C1 ()
/* Read NamedX element of Package */
/* {Integer, String, Buffer, Package}. */
M1C2 ()
/* Read any type named object element of Package */
M1AF (P955, 0x01, 0x01, 0x00)
/* Check Uninitialized element of Package */
M1C4 ()
/* The chain of Index_References */
M1C5 ()
/* Access to the Method named object element of Package */
M1C7 ()
M1C8 ()
/* Read automatic dereference expected */
/* when accessing element of Package. */
M1CE ()
If (X132)
{
M1CF () /* bug 132 */
M1D0 () /* bug 132 */
}
/* WRITE */
/* Write to element of Package specified as */
/* immediate IRef passed to method. */
If (X133)
{
M1D9 () /* bug 133 */
M1DA () /* bug 133 */
}
/* EXCEPTIONS */
/* No read automatic dereference expected */
M1D1 ()
If (X127)
{
M1D2 () /* bug 127 */
}
M1D3 (I000, I001)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I001, 0x00, __LINE__)
If (X127)
{
M1D4 (I000, I001) /* bug 127 */
}
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I001, 0x00, __LINE__)
If (X127)
{
M1D5 () /* bug 127 */
M1D6 () /* bug 127 */
M1DB () /* bug 127 */
}
/* Other */
M1D7 ()
M1D8 ()
/* DerefOf of the Method named object element of Package */
M1C9 ()
/* Size of Package */
/* m1ca: bug 129 (not a bug, in case of */
/* dynamically created Package non-limited */
/* size Package is allowed. Handled by the */
/* particular AML opcode VarPackage). */
M1CA ()
M1CB ()
}
/*
* TEST 61: String total
*/
Method (M26C, 0, NotSerialized)
{
M1AE ("m26c", "String total", "Not implemented yet")
}
/*
* TEST 62: Buffer total
*/
Method (M26D, 0, NotSerialized)
{
CH03 ("m26d", 0x00, __LINE__, 0x00, 0x00)
M1AE ("m26d", "Buffer total", "Not implemented yet")
CH03 ("m26d", 0x00, __LINE__, 0x00, 0x00)
}
/*
* TEST 63: All the legal ways of WRITING ORef reference to some target location
*/
Method (M26E, 0, Serialized)
{
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M26E.TS__ */
}
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
/* Store */
M365 ()
/* CopyObject */
M366 ()
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
}
Method (M365, 0, Serialized)
{
Name (I000, 0x77)
Name (I001, 0x77)
Name (I002, 0x77)
Name (I003, 0x00)
Name (I004, 0x77)
Name (III0, 0x11)
Name (III1, 0x22)
Name (III2, 0x33)
Name (III3, 0x44)
Name (III4, 0x55)
Name (III5, 0x66)
Name (III6, 0x88)
Name (III7, 0x99)
Name (PPP0, Package (0x01)
{
0x11
})
Name (PPP1, Package (0x01){})
Method (M000, 1, Serialized)
{
Name (I002, 0x77)
Arg0 = RefOf (I002)
M380 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
}
Method (M001, 1, NotSerialized)
{
Arg0 = RefOf (I000)
}
Method (M002, 2, NotSerialized)
{
Arg0 = 0x00
M001 (RefOf (Arg0))
Arg1 = DerefOf (Arg0)
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
Method (M003, 0, NotSerialized)
{
Local0 = RefOf (III1)
Return (Local0)
}
Method (M004, 1, NotSerialized)
{
Local0 = RefOf (III2)
Return (Local0)
}
Method (M009, 0, NotSerialized)
{
Return (RefOf (III7))
}
Method (M005, 1, NotSerialized)
{
DerefOf (Arg0) = RefOf (I000)
}
Method (M006, 2, NotSerialized)
{
Arg0 = 0x00
M005 (RefOf (Arg0))
Arg1 = DerefOf (Arg0)
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
Method (M007, 1, NotSerialized)
{
Arg0 = RefOf (I004)
}
Method (M008, 1, NotSerialized)
{
DerefOf (Arg0) = RefOf (I004)
}
BEG0 (Z111, __METHOD__)
/* 1. */
Local0 = RefOf (I000)
Local1 = DerefOf (Local0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
/* 2. */
M000 (I001)
M380 (__METHOD__, I001, 0x00, __LINE__)
/* 3. */
CopyObject (RefOf (I000), III0) /* \M365.III0 */
III0 = RefOf (I001)
Local1 = DerefOf (III0)
M380 (__METHOD__, I001, 0x00, __LINE__)
If (Y523)
{
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 4. */
Local0 = 0x00
M001 (RefOf (Local0))
Local1 = DerefOf (Local0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
/* 5. */
M002 (I001, I002)
M380 (__METHOD__, I001, 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
/* 6. */
If (Y526)
{
CopyObject (RefOf (I003), III5) /* \M365.III5 */
M007 (RefOf (III5))
Local1 = DerefOf (III5)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 7. */
If (Y113)
{
M001 (PPP0 [0x00])
Store (PPP0 [0x00], Local0)
Local1 = DerefOf (Local0)
Local2 = DerefOf (Local1)
M380 (__METHOD__, Local2, 0x00, __LINE__)
}
/* 8. */
If (Y525)
{
CopyObject (RefOf (III3), III4) /* \M365.III4 */
RefOf (III4) = RefOf (I000)
Local1 = DerefOf (III4)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 9. */
PPP1 [0x00] = RefOf (I000)
Local2 = DerefOf (PPP1 [0x00])
Local1 = DerefOf (Local2)
M380 (__METHOD__, Local1, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
/* 10. */
/*
* There are some statements try to pass a value of an integer to a LocalX via reference,
* But they all use the wrong expression, so they are removed from here.
*/
/* 11. */
/* 12. */
If (Y524)
{
Local7 = 0x12
Local6 = RefOf (Local7)
DerefOf (Local6) = RefOf (I000)
Local0 = DerefOf (Local7)
M380 (__METHOD__, Local0, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
}
/* Particular cases of (12): */
If (Y524)
{
/* 13. (4) */
Local0 = 0x00
M005 (RefOf (Local0))
Local1 = DerefOf (Local0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
/* 14. (5) */
M006 (I001, I002)
M380 (__METHOD__, I001, 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
/* 15. (6) */
If (Y526)
{
CopyObject (RefOf (I003), III6) /* \M365.III6 */
M008 (RefOf (III6))
Local1 = DerefOf (III6)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 16. (7) */
If (Y113)
{
M005 (PPP0 [0x00])
Store (PPP0 [0x00], Local0)
Local1 = DerefOf (Local0)
Local2 = DerefOf (Local1)
M380 (__METHOD__, Local2, 0x00, __LINE__)
}
/* 17. (8) */
If (Y525)
{
CopyObject (RefOf (III3), III4) /* \M365.III4 */
DerefOf (RefOf (III4)) = RefOf (I000)
Local1 = DerefOf (III4)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 18. (9) */
DerefOf (PPP1 [0x00]) = RefOf (I000)
Local2 = DerefOf (PPP1 [0x00])
Local1 = DerefOf (Local2)
M380 (__METHOD__, Local1, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
/* 19. (10) */
DerefOf (M003 ()) = RefOf (I000)
Local1 = DerefOf (III1)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, Local1, 0x00, __LINE__)
/* 20. (11) */
DerefOf (M004 (0x00)) = RefOf (I000)
Local1 = DerefOf (III2)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
END0 ()
}
Method (M366, 0, Serialized)
{
Name (I000, 0x77)
Name (I001, 0x77)
Name (I002, 0x77)
Name (III0, 0x00)
Name (III1, 0x00)
Name (PPP0, Package (0x01){})
Name (PPP1, Package (0x01)
{
0x00
})
Method (M000, 1, Serialized)
{
Name (I002, 0x77)
CopyObject (RefOf (I002), Arg0)
M380 (__METHOD__, DerefOf (Arg0), 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
}
Method (M001, 1, NotSerialized)
{
CopyObject (RefOf (I000), Arg0)
}
Method (M002, 2, NotSerialized)
{
Arg0 = 0x00
M001 (RefOf (Arg0))
Arg1 = DerefOf (Arg0)
M380 (__METHOD__, Arg1, 0x00, __LINE__)
}
BEG0 (Z111, __METHOD__)
/* 21. */
CopyObject (RefOf (I000), Local0)
Local1 = DerefOf (Local0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
/* 22. */
M000 (I001)
M380 (__METHOD__, I001, 0x00, __LINE__)
/* 23. */
If (Y128)
{
CopyObject (RefOf (I000), III0) /* \M366.III0 */
Local1 = DerefOf (III0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
M380 (__METHOD__, I000, 0x00, __LINE__)
}
/* 24. */
Local0 = 0x00
M001 (RefOf (Local0))
Local1 = DerefOf (Local0)
M380 (__METHOD__, Local1, 0x00, __LINE__)
/* 25. */
M002 (I001, I002)
M380 (__METHOD__, I001, 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
/* 26. */
If (Y526)
{
III1 = 0x00
M001 (RefOf (III1))
Local1 = DerefOf (III1)
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
/* 27. */
If (Y113)
{
M001 (PPP1 [0x00])
Store (PPP1 [0x00], Local0)
Local1 = DerefOf (Local0)
Local2 = DerefOf (Local1)
M380 (__METHOD__, Local2, 0x00, __LINE__)
}
/*
* 28. (Compiler failed)
*
* CopyObject(RefOf(i000), Index(ppp0, 0))
* Store(DerefOf(Index(ppp0, 0)), Local2)
* Store(DerefOf(Local2), Local1)
* m380 (ts, Local1, 0, __LINE__)
* m380 (ts, i000, 0, __LINE__)
*/
END0 ()
}
/*
* TEST 64: All the legal ways of WRITING IRef reference to some target location
*/
Method (M26F, 0, NotSerialized)
{
CH03 ("m26f", 0x00, __LINE__, 0x00, 0x00)
M1AE ("m26f", "All the legal ways of writing IRef reference to some target location", "Not implemented yet")
CH03 ("m26f", 0x00, __LINE__, 0x00, 0x00)
}
/*
* TEST 65: All the legal SOURCES of references (both ORef and IRef)
*/
Method (M270, 0, Serialized)
{
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
If (Y100)
{
TS00 (__METHOD__)
}
Else
{
Debug = __METHOD__ /* \M270.TS__ */
}
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
/* Store */
M367 ()
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
/* CopyObject */
M368 ()
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
M1AE ("m270", "All the legal sources of references (ORef and IRef)", "Started, but not implemented yet")
CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00)
}
Method (M367, 0, Serialized)
{
Name (I000, 0x77)
Name (I001, 0x77)
Name (I002, 0x77)
Name (I003, 0x77)
Name (I004, 0x77)
Name (I005, 0x77)
Name (I006, 0x77)
Name (III0, 0x11)
Name (III1, 0x22)
Method (M001, 7, NotSerialized)
{
Local0 = RefOf (I000)
Arg0 = Local0
Arg1 = Local0
Arg2 = Local0
Arg3 = Local0
Arg4 = Local0
Arg5 = Local0
Arg6 = Local0
Local7 = DerefOf (Arg0)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg1)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg2)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg3)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg4)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg5)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Arg6)
M380 (__METHOD__, Local7, 0x00, __LINE__)
}
Method (M002, 7, NotSerialized)
{
Arg0 = RefOf (I000)
Arg1 = Arg0
Arg2 = Arg1
Arg3 = Arg2
Arg4 = Arg3
Arg5 = Arg4
Arg6 = Arg5
M380 (__METHOD__, DerefOf (Arg6), 0x00, __LINE__)
Arg6 = DerefOf (Arg0)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
Arg6 = DerefOf (Arg1)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
Arg6 = DerefOf (Arg2)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
Arg6 = DerefOf (Arg3)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
Arg6 = DerefOf (Arg4)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
Arg6 = DerefOf (Arg5)
M380 (__METHOD__, Arg6, 0x00, __LINE__)
}
BEG0 (Z111, __METHOD__)
/* 1. ORef-LocalX */
Local0 = RefOf (I000)
Local1 = Local0
Local2 = Local1
Local3 = Local2
Local4 = Local3
Local5 = Local4
Local6 = Local5
Local7 = Local6
M380 (__METHOD__, DerefOf (Local7), 0x00, __LINE__)
Local7 = DerefOf (Local0)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local1)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local2)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local3)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local4)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local5)
M380 (__METHOD__, Local7, 0x00, __LINE__)
Local7 = DerefOf (Local6)
M380 (__METHOD__, Local7, 0x00, __LINE__)
/* 2. ORef-LocalX */
M001 (I000, I001, I002, I003, I004, I005, I006)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I001, 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
M380 (__METHOD__, I003, 0x00, __LINE__)
M380 (__METHOD__, I004, 0x00, __LINE__)
M380 (__METHOD__, I005, 0x00, __LINE__)
M380 (__METHOD__, I006, 0x00, __LINE__)
If (Y134)
{
/* 2. ORef-ArgX */
M002 (I000, I001, I002, I003, I004, I005, I006)
M380 (__METHOD__, I000, 0x00, __LINE__)
M380 (__METHOD__, I001, 0x00, __LINE__)
M380 (__METHOD__, I002, 0x00, __LINE__)
M380 (__METHOD__, I003, 0x00, __LINE__)
M380 (__METHOD__, I004, 0x00, __LINE__)
M380 (__METHOD__, I005, 0x00, __LINE__)
M380 (__METHOD__, I006, 0x00, __LINE__)
}
/* 3. ORef-LocalX */
If (X128)
{
/* This operation causes Bug 128 */
CopyObject (RefOf (III1), III0) /* \M367.III0 */
Local0 = RefOf (I000)
III0 = Local0
Local1 = DerefOf (III0)
M380 (__METHOD__, I000, 0x00, __LINE__)
If (Y523)
{
M380 (__METHOD__, Local1, 0x00, __LINE__)
}
}
END0 ()
}
Method (M368, 0, Serialized)
{
Name (I000, 0x77)
BEG0 (Z111, __METHOD__)
/* 21. ORef-LocalX */
CopyObject (RefOf (I000), Local0)
CopyObject (Local0, Local1)
CopyObject (Local1, Local2)
CopyObject (Local2, Local3)
CopyObject (Local3, Local4)
CopyObject (Local4, Local5)
CopyObject (Local5, Local6)
CopyObject (Local6, Local7)
M380 (__METHOD__, DerefOf (Local7), 0x00, __LINE__)
CopyObject (DerefOf (Local0), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local1), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local2), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local3), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local4), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local5), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
CopyObject (DerefOf (Local6), Local7)
M380 (__METHOD__, Local7, 0x00, __LINE__)
END0 ()
}
/*
* Separately (though such are already):
* put reference into element of Package
* and then write another reference into
* that element of that Package.
* No any correlation must be.
*/
Name (I003, 0x12345678)
Name (P090, Package (0x09){})
Name (P091, Package (0x09)
{
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09
})
Method (M271, 2, NotSerialized)
{
P090 [Arg1] = Arg0
}
/* IRef upon IRef */
Method (M272, 0, NotSerialized)
{
M271 (P091 [0x01], 0x03)
M271 (P091 [0x01], 0x03)
}
/* IRef upon ORef */
Method (M273, 0, NotSerialized)
{
M271 (RefOf (I003), 0x04)
M271 (P091 [0x01], 0x04)
}
/* ORef upon IRef */
Method (M274, 0, NotSerialized)
{
M271 (P091 [0x01], 0x05)
M271 (RefOf (I003), 0x05)
}
/* ORef upon ORef */
Method (M275, 0, NotSerialized)
{
M271 (RefOf (I003), 0x06)
M271 (RefOf (I003), 0x06)
}
Method (M276, 0, NotSerialized)
{
M272 ()
M273 ()
M274 ()
M275 ()
}
/*
*
* Simple Tests
*
*/
/* Simple TEST 1: read of ArgX-ORef with DerefOf */
Method (M341, 0, Serialized)
{
Name (I000, 0x19283746)
Local0 = RefOf (I000)
Method (M000, 1, NotSerialized)
{
Local0 = DerefOf (Arg0)
Local7 = (Local0 + 0x05)
If ((Local7 != 0x1928374B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local7, 0x1928374B)
}
}
M000 (Local0)
}
/* Simple TEST 2: read of ArgX-ORef without DerefOf */
Method (M342, 0, Serialized)
{
Name (I000, 0x00)
BEG0 (Z111, __METHOD__)
Local0 = RefOf (I000)
M1CC (__METHOD__, Local0, 0x01, 0x00)
M1CD (__METHOD__, Local0, 0x01, 0x00)
M1CC (__METHOD__, RefOf (I000), 0x01, 0x00)
M1CD (__METHOD__, RefOf (I000), 0x01, 0x00)
END0 ()
}
/* Simple TEST 3: read of ArgX-IRef with DerefOf */
Method (M343, 0, Serialized)
{
Name (P000, Package (0x05)
{
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
Store (P000 [0x03], Local0)
Method (M000, 1, NotSerialized)
{
Local0 = DerefOf (Arg0)
Local7 = (Local0 + 0x05)
If ((Local7 != 0x13))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local7, 0x13)
}
}
M000 (Local0)
}
/* Simple TEST 4: read of ArgX-IRef without DerefOf */
Method (M344, 0, Serialized)
{
Name (P000, Package (0x05)
{
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
Store (P000 [0x03], Local0)
Method (M000, 1, NotSerialized)
{
Local7 = (Arg0 + 0x05)
If ((Local7 != 0x13))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local7, 0x13)
}
}
M000 (Local0)
}
/* Simple TEST 8 */
Method (M345, 0, Serialized)
{
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (S010, "qwer0000")
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P010, Package (0x03)
{
0x05,
0x77,
0x07
})
/* Store to reference keeping in LocalX */
Method (M000, 1, NotSerialized)
{
Local1 = Local0 = Arg0 [0x01]
Local0 = 0x90
If ((Local0 != 0x90))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x90)
}
Local1 = 0x91
If ((Local1 != 0x91))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, 0x91)
}
}
/* CopyObject to reference keeping in LocalX */
Method (M001, 1, NotSerialized)
{
Local1 = Local0 = Arg0 [0x01]
CopyObject (0x94, Local0)
If ((Local0 != 0x94))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x94)
}
CopyObject (0x95, Local1)
If ((Local1 != 0x95))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, 0x95)
}
}
/* Store to reference immediately */
Method (M002, 1, NotSerialized)
{
Arg0 [0x01] = 0x2B
}
/* Store to reference immediately */
Method (M003, 1, NotSerialized)
{
Local0 = Arg0 [0x01]
Arg0 [0x01] = 0x2B
}
/* CopyObject to reference immediately */
Method (M004, 1, NotSerialized)
{
/* CopyObject(0x96, Index(arg0, 1)) */
/* CopyObject(0x97, Index(arg0, 1, Local0)) */
}
BEG0 (Z111, __METHOD__)
M000 (S000)
M000 (B000)
M000 (P000)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M001 (S000)
M001 (B000)
M001 (P000)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M002 (S000)
M002 (B000)
M002 (P000)
M385 (__METHOD__, S000, 0x00, __LINE__)
M386 (__METHOD__, B000, 0x00, __LINE__)
M387 (__METHOD__, P000, 0x00, __LINE__)
M003 (S010)
M003 (B010)
M003 (P010)
M385 (__METHOD__, S010, 0x00, __LINE__)
M386 (__METHOD__, B010, 0x00, __LINE__)
M387 (__METHOD__, P010, 0x00, __LINE__)
END0 ()
}
Method (M346, 0, Serialized)
{
Name (I000, 0xABCD0000)
Method (M000, 1, NotSerialized)
{
Local0 = RefOf (Arg0)
Local6 = DerefOf (Local0)
RefOf (Arg0) = 0x11111111
/* CopyObject(0x11111111, RefOf(arg0)) */
Local7 = DerefOf (Local0)
Local1 = ObjectType (Local0)
If ((Local1 != C009))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, C009)
}
Else
{
Local1 = SizeOf (Local0)
If ((Local1 != ISZ0))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, ISZ0)
}
If ((Local6 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local6, 0xABCD0000)
}
If ((Local7 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local7, 0x11111111)
}
}
}
M000 (I000)
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
}
Method (M347, 0, Serialized)
{
Name (I000, 0xABCD0000)
Method (M000, 1, NotSerialized)
{
Local0 = DerefOf (RefOf (Arg0))
Local1 = ObjectType (Local0)
If ((Local1 != C009))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, C009)
}
Else
{
Local1 = SizeOf (Local0)
If ((Local1 != ISZ0))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, ISZ0)
}
If ((Local0 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0xABCD0000)
}
}
}
M000 (I000)
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
}
Method (M348, 0, Serialized)
{
Name (I000, 0xABCD0000)
Method (M000, 1, NotSerialized)
{
Local0 = RefOf (Arg0)
Local1 = DerefOf (Local0)
Local2 = DerefOf (Local1)
If ((Local2 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0xABCD0000)
}
RefOf (Arg0) = 0x11111111
Local0 = RefOf (Arg0)
Local0 = 0x11111111
If ((Local0 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x11111111)
}
}
M000 (RefOf (I000))
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
Local0 = RefOf (I000)
M000 (Local0)
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
Local2 = DerefOf (Local0)
If ((Local2 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0xABCD0000)
}
}
Method (M349, 0, Serialized)
{
Name (I000, 0xABCD0000)
Name (I001, 0xABCD0001)
Method (M000, 1, NotSerialized)
{
Local1 = DerefOf (RefOf (Arg0))
Local2 = DerefOf (Local1)
If ((Local2 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0xABCD0000)
}
}
Method (M001, 1, NotSerialized)
{
DerefOf (RefOf (Arg0)) = 0x11111111
/* CopyObject(0x11111111, DerefOf(RefOf(arg0))) */
}
/* Reading */
M000 (RefOf (I000))
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
Local0 = RefOf (I000)
M000 (Local0)
If ((I000 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I000, 0xABCD0000)
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0xABCD0000))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0xABCD0000)
}
}
/* Writing */
M001 (RefOf (I001))
If ((I001 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I001, 0x11111111)
}
Local0 = RefOf (I001)
M001 (Local0)
If ((I001 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, I001, 0x11111111)
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x11111111)
}
}
}
Method (M34A, 0, Serialized)
{
Name (B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
Method (M000, 1, NotSerialized)
{
Local2 = DerefOf (Arg0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
/* The same but use RefOf and than back DerefOf */
Method (M001, 1, NotSerialized)
{
Local0 = RefOf (Arg0)
Local1 = DerefOf (Local0)
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
Method (M002, 1, NotSerialized)
{
RefOf (Arg0) = 0x11111111
Local0 = RefOf (Arg0)
Local0 = 0x11111111
If ((Local0 != 0x11111111))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x11111111)
}
}
/* m000 */
M000 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Store (B000 [0x02], Local0)
M000 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
Local1 = Local0 = B000 [0x02]
M000 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
M000 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
/* m001 */
M001 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Store (B000 [0x02], Local0)
M001 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
Local1 = Local0 = B000 [0x02]
M001 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
M001 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
/* m002 */
M002 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Store (B000 [0x02], Local0)
M002 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
Local1 = Local0 = B000 [0x02]
M002 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
M002 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
Method (M34B, 0, Serialized)
{
Name (B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
Name (B001, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
Method (M000, 1, NotSerialized)
{
Local2 = DerefOf (Arg0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
/* The same but use RefOf and than back DerefOf */
Method (M001, 1, NotSerialized)
{
Local1 = DerefOf (RefOf (Arg0))
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
Method (M002, 1, NotSerialized)
{
DerefOf (RefOf (Arg0)) = 0x11111111
/* CopyObject(0x11111111, DerefOf(RefOf(arg0))) */
}
/* m000 */
M000 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Store (B000 [0x02], Local0)
M000 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
Local1 = Local0 = B000 [0x02]
M000 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
M000 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
/* m001 */
M001 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
Store (B000 [0x02], Local0)
M001 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
Local1 = Local0 = B000 [0x02]
M001 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
M001 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x69, 0x04, 0x05 // ..i..
})
}
If (Y512)
{
Local2 = DerefOf (Local1)
If ((Local2 != 0x69))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x69)
}
}
/* m002 */
M002 (B000 [0x02])
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
})
}
Store (B000 [0x02], Local0)
M002 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
})
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0x11))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x11)
}
}
Local1 = Local0 = B000 [0x02]
M002 (Local0)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
})
}
If (Y512)
{
Local2 = DerefOf (Local0)
If ((Local2 != 0x11))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x11)
}
}
M002 (Local1)
If ((B000 != Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
}))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, B000, Buffer (0x05)
{
0x01, 0x02, 0x11, 0x04, 0x05 // .....
})
}
If (Y512)
{
Local2 = DerefOf (Local1)
If ((Local2 != 0x11))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x11)
}
}
}
/* Simple TEST 17 */
Method (M34C, 0, Serialized)
{
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (S010, "qwer0000")
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P010, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (S020, "qwer0000")
Name (B020, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P020, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (S030, "qwer0000")
Name (B030, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P030, Package (0x03)
{
0x05,
0x77,
0x07
})
/* Store to reference keeping in LocalX */
Method (M000, 2, NotSerialized)
{
Local2 = DerefOf (Arg0)
Local3 = ObjectType (Local2)
If ((Local3 != Arg1))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local3, Arg1)
}
Local1 = Local0 = Local2 [0x01]
Local0 = 0x90
If ((Local0 != 0x90))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x90)
}
Local1 = 0x91
If ((Local1 != 0x91))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, 0x91)
}
}
/* CopyObject to reference keeping in LocalX */
Method (M001, 1, NotSerialized)
{
Local2 = DerefOf (Arg0)
Local1 = Local0 = Local2 [0x01]
CopyObject (0x94, Local0)
If ((Local0 != 0x94))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, 0x94)
}
CopyObject (0x95, Local1)
If ((Local1 != 0x95))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, 0x95)
}
}
/* Store to reference immediately */
Method (M002, 2, NotSerialized)
{
Local2 = DerefOf (Arg0)
Local2 [0x01] = 0x2B
If ((Arg1 == C00A))
{
M385 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M386 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M387 (__METHOD__, Local2, 0x00, __LINE__)
}
}
/* Store to reference immediately */
Method (M003, 2, NotSerialized)
{
Local2 = DerefOf (Arg0)
Local0 = Local2 [0x01]
Local2 [0x01] = 0x2B
If ((Arg1 == C00A))
{
M385 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M386 (__METHOD__, Local2, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M387 (__METHOD__, Local2, 0x00, __LINE__)
}
Local2 = DerefOf (Local0)
If ((Local2 != 0x2B))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local2, 0x2B)
}
}
Method (M010, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M000 (Local0, Arg1)
M000 (RefOf (Arg0), Arg1)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M011, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M001 (Local0)
M001 (RefOf (Arg0))
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M012, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M002 (Local0, Arg1)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M022, 2, NotSerialized)
{
M002 (RefOf (Arg0), Arg1)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M013, 2, NotSerialized)
{
Local0 = RefOf (Arg0)
M003 (Local0, Arg1)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
Method (M023, 2, NotSerialized)
{
M003 (RefOf (Arg0), Arg1)
If ((Arg1 == C00A))
{
M381 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00B))
{
M382 (__METHOD__, Arg0, 0x00, __LINE__)
}
ElseIf ((Arg1 == C00C))
{
M383 (__METHOD__, Arg0, 0x00, __LINE__)
}
}
BEG0 (Z111, __METHOD__)
M010 (S000, C00A)
M010 (B000, C00B)
M010 (P000, C00C)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M011 (S000, C00A)
M011 (B000, C00B)
M011 (P000, C00C)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M012 (S000, C00A)
M012 (B000, C00B)
M012 (P000, C00C)
M381 (__METHOD__, S000, 0x00, __LINE__)
M382 (__METHOD__, B000, 0x00, __LINE__)
M383 (__METHOD__, P000, 0x00, __LINE__)
M022 (S010, C00A)
M022 (B010, C00B)
M022 (P010, C00C)
M381 (__METHOD__, S010, 0x00, __LINE__)
M382 (__METHOD__, B010, 0x00, __LINE__)
M383 (__METHOD__, P010, 0x00, __LINE__)
M013 (S020, C00A)
M013 (B020, C00B)
M013 (P020, C00C)
M381 (__METHOD__, S020, 0x00, __LINE__)
M382 (__METHOD__, B020, 0x00, __LINE__)
M383 (__METHOD__, P020, 0x00, __LINE__)
M023 (S030, C00A)
M023 (B030, C00B)
M023 (P030, C00C)
M381 (__METHOD__, S030, 0x00, __LINE__)
M382 (__METHOD__, B030, 0x00, __LINE__)
M383 (__METHOD__, P030, 0x00, __LINE__)
END0 ()
}
Method (M34D, 1, Serialized)
{
Name (OP00, 0x00)
Name (OP01, 0x01)
OP00 = Arg0
Name (I000, 0x77)
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I010, 0x77)
Name (S010, "qwer0000")
Name (B010, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P010, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I020, 0x77)
Name (S020, "qwer0000")
Name (B020, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P020, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I030, 0x77)
Name (S030, "qwer0000")
Name (B030, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P030, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I040, 0x77)
Name (S040, "qwer0000")
Name (B040, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P040, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I050, 0x77)
Name (S050, "qwer0000")
Name (B050, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P050, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I060, 0x77)
Name (S060, "qwer0000")
Name (B060, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P060, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I070, 0x77)
Name (S070, "qwer0000")
Name (B070, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P070, Package (0x03)
{
0x05,
0x77,
0x07
})
Name (I001, 0x2B)
Name (S001, "q+er0000")
Name (B001, Buffer (0x04)
{
0x01, 0x2B, 0x03, 0x04 // .+..
})
Name (P001, Package (0x03)
{
0x05,
0x2B,
0x07
})
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Local0 = ObjectType (Arg0)
If ((Local0 != Arg2))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, Arg2)
}
If (OP00)
{
/* CopyObject */
If ((Arg1 == C009))
{
CopyObject (0x2B, Arg0)
}
ElseIf ((Arg1 == C00A))
{
CopyObject ("q+er0000", Arg0)
}
ElseIf ((Arg1 == C00B))
{
CopyObject (Buffer (0x04)
{
0x01, 0x2B, 0x03, 0x04 // .+..
}, Arg0)
}
ElseIf ((Arg1 == C00C))
{
CopyObject (Package (0x03)
{
0x05,
0x2B,
0x07
}, Arg0)
}
}
ElseIf /* Store */
((Arg1 == C009))
{
Arg0 = 0x2B
}
ElseIf ((Arg1 == C00A))
{
Arg0 = "q+er0000"
}
ElseIf ((Arg1 == C00B))
{
Arg0 = Buffer (0x04)
{
0x01, 0x2B, 0x03, 0x04 // .+..
}
}
ElseIf ((Arg1 == C00C))
{
Arg0 = Package (0x03)
{
0x05,
0x2B,
0x07
}
}
Local0 = DerefOf (Arg0)
M391 (Local0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M391 (Local0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M391 (Local0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M391 (Local0, Arg1, 0x00, __LINE__)
}
BEG0 (Z111, __METHOD__)
/* Write Integer */
Local0 = RefOf (I000)
M000 (Local0, C009, C009)
M391 (I000, C009, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C009, 0x00, __LINE__)
Local0 = RefOf (S000)
M000 (Local0, C009, C00A)
M391 (S000, C009, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C009, 0x00, __LINE__)
Local0 = RefOf (B000)
M000 (Local0, C009, C00B)
M391 (B000, C009, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C009, 0x00, __LINE__)
/* Write String */
Local0 = RefOf (I010)
M000 (Local0, C00A, C009)
M391 (I010, C00A, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00A, 0x00, __LINE__)
Local0 = RefOf (S010)
M000 (Local0, C00A, C00A)
M391 (S010, C00A, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00A, 0x00, __LINE__)
Local0 = RefOf (B010)
M000 (Local0, C00A, C00B)
M391 (B010, C00A, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00A, 0x00, __LINE__)
/* Write Buffer */
Local0 = RefOf (I020)
M000 (Local0, C00B, C009)
M391 (I020, C00B, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00B, 0x00, __LINE__)
Local0 = RefOf (S020)
M000 (Local0, C00B, C00A)
M391 (S020, C00B, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00B, 0x00, __LINE__)
Local0 = RefOf (B020)
M000 (Local0, C00B, C00B)
M391 (B020, C00B, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00B, 0x00, __LINE__)
/* Write Package */
If (!OP00)
{
If (!Y516)
{
OP01 = 0x00
}
}
If (OP01)
{
Local0 = RefOf (I030)
M000 (Local0, C00C, C009)
M391 (I030, C00C, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00C, 0x00, __LINE__)
Local0 = RefOf (S030)
M000 (Local0, C00C, C00A)
M391 (S030, C00C, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00C, 0x00, __LINE__)
Local0 = RefOf (B030)
M000 (Local0, C00C, C00B)
M391 (B030, C00C, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00C, 0x00, __LINE__)
Local0 = RefOf (P030)
M000 (Local0, C00C, C00C)
M391 (P030, C00C, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M391 (Local2, C00C, 0x00, __LINE__)
}
/* Write Integer */
M000 (RefOf (I040), C009, C009)
M391 (I040, C009, 0x00, __LINE__)
M000 (RefOf (S040), C009, C00A)
M391 (I040, C009, 0x00, __LINE__)
M000 (RefOf (B040), C009, C00B)
M391 (I040, C009, 0x00, __LINE__)
/* Write String */
M000 (RefOf (I050), C00A, C009)
M391 (I050, C00A, 0x00, __LINE__)
M000 (RefOf (S050), C00A, C00A)
M391 (I050, C00A, 0x00, __LINE__)
M000 (RefOf (B050), C00A, C00B)
M391 (I050, C00A, 0x00, __LINE__)
/* Write Bufer */
M000 (RefOf (I060), C00B, C009)
M391 (I060, C00B, 0x00, __LINE__)
M000 (RefOf (S060), C00B, C00A)
M391 (I060, C00B, 0x00, __LINE__)
M000 (RefOf (B060), C00B, C00B)
M391 (I060, C00B, 0x00, __LINE__)
/* Write Package */
If (OP01)
{
M000 (RefOf (I070), C00C, C009)
M391 (I070, C00C, 0x00, __LINE__)
M000 (RefOf (S070), C00C, C00A)
M391 (I070, C00C, 0x00, __LINE__)
M000 (RefOf (B070), C00C, C00B)
M391 (I070, C00C, 0x00, __LINE__)
M000 (RefOf (P070), C00C, C00C)
M391 (I070, C00C, 0x00, __LINE__)
}
END0 ()
}
Method (M34E, 1, Serialized)
{
Name (OP00, 0x00)
OP00 = Arg0
Name (S000, "qwer0000")
Name (B000, Buffer (0x04)
{
0x01, 0x77, 0x03, 0x04 // .w..
})
Name (P000, Package (0x03)
{
0x05,
0x77,
0x07
})
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Method (M000, 3, NotSerialized)
{
Local0 = ObjectType (Arg0)
If ((Local0 != Arg2))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local0, Arg2)
}
If (OP00)
{
CopyObject (0x2B, Arg0)
}
Else
{
Arg0 = 0x2B
}
M391 (Arg0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M390 (Local0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M390 (Local0, Arg1, 0x00, __LINE__)
}
M000 (Arg0, Arg1, Arg2)
Local0 = DerefOf (Arg0)
M390 (Local0, Arg1, 0x00, __LINE__)
}
BEG0 (Z111, __METHOD__)
/* String */
Store (S000 [0x01], Local0)
M000 (Local0, C009, C016)
M390 (S000, C00A, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M380 (__METHOD__, Local2, 0x00, __LINE__)
/* Buffer */
Store (B000 [0x01], Local0)
M000 (Local0, C009, C016)
M390 (B000, C00B, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M380 (__METHOD__, Local2, 0x00, __LINE__)
/* Package */
Store (P000 [0x01], Local0)
M000 (Local0, C009, C009)
M390 (P000, C00C, 0x00, __LINE__)
Local2 = DerefOf (Local0)
M380 (__METHOD__, Local2, 0x00, __LINE__)
END0 ()
}
Method (M34F, 0, Serialized)
{
BEG0 (Z111, __METHOD__)
RefOf (I900) = 0x77
M380 (__METHOD__, I900, 0x00, __LINE__)
RefOf (S900) = 0x77
M4C0 (__METHOD__, S900, "0000000000000077", "00000077")
RefOf (B900) = 0x77
M1AA (__METHOD__, B900, C00B, Buffer (0x05)
{
0x77, 0x00, 0x00, 0x00, 0x00 // w....
}, 0x01)
RefOf (P953) = 0x77
M380 (__METHOD__, P953, 0x00, __LINE__)
RefOf (E900) = 0x77
M380 (__METHOD__, E900, 0x00, __LINE__)
RefOf (MX90) = 0x77
M380 (__METHOD__, MX90, 0x00, __LINE__)
RefOf (D900) = 0x77
M380 (__METHOD__, D900, 0x00, __LINE__)
If (Y508)
{
RefOf (TZ90) = 0x77
M380 (__METHOD__, TZ90, 0x00, __LINE__)
}
RefOf (PR90) = 0x77
M380 (__METHOD__, PR90, 0x00, __LINE__)
If (Y510)
{
RefOf (R900) = 0x77
M380 (__METHOD__, R900, 0x00, __LINE__)
}
RefOf (PW90) = 0x77
M380 (__METHOD__, PW90, 0x00, __LINE__)
M1AC ()
M1A6 ()
END0 ()
}
/* CURRENTLY: compiler failed CopyObject(xx, RefOf(xx)) */
Method (M350, 0, Serialized)
{
/* CopyObject(0x77, RefOf(i900)) */
}
/* Write Integer into Package and verify the obtained contents */
/* arg0 - Package */
Method (M351, 1, Serialized)
{
Name (LPN0, 0x11)
Name (LPC0, 0x00)
Local6 = 0x10
While (LPN0)
{
Arg0 [LPC0] = Local6
Local6++
LPN0--
LPC0++
}
/* Check that elements of Package are properly changed */
LPN0 = 0x11
LPC0 = 0x00
Local6 = 0x10
While (LPN0)
{
Store (Arg0 [LPC0], Local0)
Local1 = ObjectType (Local0)
If ((Local1 != C009))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, C009)
}
Else
{
Local1 = DerefOf (Local0)
If ((Local1 != Local6))
{
ERR (__METHOD__, Z111, __LINE__, 0x00, 0x00, Local1, Local6)
}
}
Local6++
LPN0--
LPC0++
}
}
/* Write ORef into Package */
/* arg0 - Package */
Method (M352, 1, NotSerialized)
{
Arg0 [0x00] = 0x00
Arg0 [0x01] = RefOf (I900)
Arg0 [0x02] = RefOf (S900)
Arg0 [0x03] = RefOf (B900)
Arg0 [0x04] = RefOf (P953)
Arg0 [0x05] = RefOf (F900)
Arg0 [0x06] = RefOf (D900)
Arg0 [0x07] = RefOf (E900)
Arg0 [0x08] = RefOf (M914)
Arg0 [0x09] = RefOf (MX90)
Arg0 [0x0A] = RefOf (R900)
Arg0 [0x0B] = RefOf (PW90)
Arg0 [0x0C] = RefOf (PR90)
Arg0 [0x0D] = RefOf (TZ90)
Arg0 [0x0E] = RefOf (BF90)
Arg0 [0x0F] = 0x0F
Arg0 [0x10] = 0x10
}
/* Write IRef (Index(p955, x)) into Package */
/* arg0 - Package */
/* arg1 - 0 - Store, otherwise - CopyObject */
Method (M353, 2, Serialized)
{
Name (LPN0, 0x11)
Name (LPC0, 0x00)
If (Arg1){ /*
* While (lpN0) {
* CopyObject(Index(p955, lpC0), Index(arg0, lpC0))
* Decrement(lpN0)
* Increment(lpC0)
* }
* CopyObject(0, Index(arg0, 0))
* CopyObject(15, Index(arg0, 15))
* CopyObject(16, Index(arg0, 16))
*/
}
Else
{
While (LPN0)
{
Store (P955 [LPC0], Arg0 [LPC0])
LPN0--
LPC0++
}
Arg0 [0x00] = 0x00
Arg0 [0x0F] = 0x0F
Arg0 [0x10] = 0x10
}
}
Method (M362, 0, Serialized)
{
Name (I000, 0x00)
Method (M000, 1, NotSerialized)
{
Local0 = (0x76 + 0x01)
Arg0 = Local0
}
M000 (RefOf (I000))
M380 ("m362", I000, Z111, __LINE__)
}
Method (M363, 0, Serialized)
{
Name (I000, 0x00)
Method (M000, 1, NotSerialized)
{
Arg0 = (0x76 + 0x01)
}
M000 (RefOf (I000))
M380 ("m363", I000, Z111, __LINE__)
}
Method (M364, 0, Serialized)
{
Name (I000, 0x00)
Method (M000, 1, NotSerialized)
{
Arg0 = (0x76 + 0x01)
}
Local0 = RefOf (I000)
M000 (Local0)
M380 ("m364", I000, Z111, __LINE__)
}
/*
*
* Auxiliary Methods
*
*/
/* Run all the ORef relevant Methods of ref1-ref4 */
Method (M4D0, 0, NotSerialized)
{
M16F (0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00)
M175 (0x00, 0x01, 0x01)
M185 (0x00, 0x01, 0x01)
M195 (0x00, 0x01, 0x01, 0x01, 0x00)
}
/* Run all the IRef relevant Methods of ref1-ref4 */
Method (M4D1, 0, NotSerialized)
{
M16F (0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01)
M175 (0x01, 0x00, 0x00)
M185 (0x01, 0x00, 0x00)
M195 (0x01, 0x00, 0x00, 0x00, 0x01)
}
/* Run all the NamedX-ORef relevant Methods of ref1-ref4 */
Method (M4D2, 0, NotSerialized)
{
M16F (0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00)
M175 (0x00, 0x01, 0x01)
M185 (0x00, 0x01, 0x01)
M195 (0x00, 0x01, 0x01, 0x01, 0x00)
}
/* Run all the NamedX-IRef relevant Methods of ref1-ref4 */
Method (M4D3, 0, NotSerialized)
{
M16F (0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01)
M175 (0x01, 0x00, 0x00)
M185 (0x01, 0x00, 0x00)
M195 (0x01, 0x00, 0x00, 0x00, 0x01)
}
/*
Method(m4d0) {}
Method(m4d1) {}
Method(m4d2) {}
Method(m4d3) {}
Method(m1e0, 1) {}
*/
Method (MFAB, 0, Serialized)
{
/*
* Update required: do this test for different type target objects
* and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
*/
Name (PP00, Package (0x08)
{
0x80,
0x81,
0x82,
0x83,
0x84,
0x85,
0x86,
0x87
})
Name (P000, Package (0x10)
{
0x00,
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
/* Over Integers */
P000 [0x00] = RefOf (PP00)
Store (P000 [0x00], P000 [0x01])
Store (P000 [0x01], P000 [0x02])
Store (P000 [0x02], P000 [0x03])
Store (P000 [0x03], P000 [0x04])
Store (P000 [0x04], P000 [0x05])
Store (P000 [0x05], P000 [0x06])
Store (P000 [0x06], P000 [0x07])
Store (P000 [0x07], P000 [0x08])
Store (P000 [0x08], P000 [0x09])
Store (P000 [0x09], P000 [0x0A])
Store (P000 [0x0A], P000 [0x0B])
Store (P000 [0x0B], P000 [0x0C])
Store (P000 [0x0C], P000 [0x0D])
Store (P000 [0x0D], P000 [0x0E])
Store (P000 [0x0E], P000 [0x0F])
Local0 = P000 [0x0F]
Local1 = ObjectType (Local0)
If ((Local1 != C01C))
{
ERR ("mfab", Z111, __LINE__, 0x00, 0x00, Local1, C01C)
}
Local1 = ObjectType (DerefOf (Local0))
If ((Local1 != C01C))
{
ERR ("mfab", Z111, __LINE__, 0x00, 0x00, Local1, C01C)
}
}
Method (MFAD, 0, Serialized)
{
/*
* Update required: do this test for different type target objects
* and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
*/
Name (I000, 0xABCD0000)
Name (P000, Package (0x10)
{
0x00,
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
/* Over Integers */
P000 [0x00] = RefOf (I000)
Store (P000 [0x00], P000 [0x01])
Store (P000 [0x01], P000 [0x02])
Store (P000 [0x02], P000 [0x03])
Store (P000 [0x03], P000 [0x04])
Store (P000 [0x04], P000 [0x05])
Store (P000 [0x05], P000 [0x06])
Store (P000 [0x06], P000 [0x07])
Store (P000 [0x07], P000 [0x08])
Store (P000 [0x08], P000 [0x09])
Store (P000 [0x09], P000 [0x0A])
Store (P000 [0x0A], P000 [0x0B])
Store (P000 [0x0B], P000 [0x0C])
Store (P000 [0x0C], P000 [0x0D])
Store (P000 [0x0D], P000 [0x0E])
Store (P000 [0x0E], P000 [0x0F])
Store (P000 [0x0F], P000 [0x00])
Local0 = P000 [0x0F]
Debug = Local0
If (0x00)
{
Local1 = ObjectType (Local0)
Debug = Local1
If ((Local1 != C01C))
{
ERR ("mfad", Z111, __LINE__, 0x00, 0x00, Local1, C01C)
}
}
Else
{
/*
* ObjectType here falls into the infinitive loop.
* Sort this out!
*/
ERR ("mfad", Z111, __LINE__, 0x00, 0x00, 0x00, 0x00)
}
}
Method (MFC3, 0, Serialized)
{
/*
* Update required: do this test for different type target objects
* and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
*/
Name (I000, 0xABCD0000)
Name (P000, Package (0x10)
{
0x00,
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
/* Over Integers */
P000 [0x00] = RefOf (I000)
Store (P000 [0x00], P000 [0x01])
Store (P000 [0x01], P000 [0x02])
Store (P000 [0x02], P000 [0x03])
Store (P000 [0x03], P000 [0x04])
Store (P000 [0x04], P000 [0x05])
Store (P000 [0x05], P000 [0x06])
Store (P000 [0x06], P000 [0x07])
Store (P000 [0x07], P000 [0x08])
Store (P000 [0x08], P000 [0x09])
Store (P000 [0x09], P000 [0x0A])
Store (P000 [0x0A], P000 [0x0B])
Store (P000 [0x0B], P000 [0x0C])
Store (P000 [0x0C], P000 [0x0D])
Store (P000 [0x0D], P000 [0x0E])
Store (P000 [0x0E], P000 [0x0F])
Store (P000 [0x0F], P000 [0x00])
Local0 = P000 [0x0F]
Debug = Local0
If (0x00)
{
Local1 = SizeOf (Local0)
Debug = Local1
If ((Local1 != 0x64))
{
ERR ("mfc3", Z111, __LINE__, 0x00, 0x00, Local1, 0x64)
}
}
Else
{
/*
* SizeOf here falls into the infinitive loop.
* Sort this out!
*/
ERR ("mfc3", Z111, __LINE__, 0x00, 0x00, 0x00, 0x00)
}
}
Method (MFC4, 0, Serialized)
{
/*
* Update required: do this test for different type target objects
* and reference elements (Iref/Oref; LocalX/ArgX/NamedX/...).
*/
Name (I000, 0xABCD0000)
Name (P000, Package (0x10)
{
0x00,
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F
})
/* Over Integers */
P000 [0x00] = RefOf (I000)
Store (P000 [0x00], P000 [0x01])
Store (P000 [0x01], P000 [0x02])
Store (P000 [0x02], P000 [0x03])
Store (P000 [0x03], P000 [0x04])
Store (P000 [0x04], P000 [0x05])
Store (P000 [0x05], P000 [0x06])
Store (P000 [0x06], P000 [0x07])
Store (P000 [0x07], P000 [0x08])
Store (P000 [0x08], P000 [0x09])
Store (P000 [0x09], P000 [0x0A])
Store (P000 [0x0A], P000 [0x0B])
Store (P000 [0x0B], P000 [0x0C])
Store (P000 [0x0C], P000 [0x0D])
Store (P000 [0x0D], P000 [0x0E])
Store (P000 [0x0E], P000 [0x0F])
Store (P000 [0x0F], P000 [0x00])
Local0 = P000 [0x0F]
Debug = Local0
If (0x01)
{
Local1 = DerefOf (Local0)
Debug = Local1
If ((Local1 != 0x64))
{
ERR ("mfc4", Z111, __LINE__, 0x00, 0x00, Local1, 0x64)
}
}
Else
{
/*
* SizeOf here falls into the infinitive loop.
* Sort this out!
*/
ERR ("mfc4", Z111, __LINE__, 0x00, 0x00, 0x00, 0x00)
}
}
/*
!!!!!!!!!!!!!!!!!!!!!!!
Do this test, like this - run Derefof for the chain of references (IR/OR)
and for ring of them.
I dont remember if we have already such test.
!!!!!!!!!!!!!!!!!!!!!!!
Method(m000)
{
*
* Printing excluded while bug 206 (Store-to-Debug operation
* falls into infinite loop for ring of RefOf references) is
* not fixed.
*
Store(RefOf(Local0), Local1)
Store(RefOf(Local1), Local2)
Store(RefOf(Local2), Local0)
Store(DerefOf(Local0), Local7)
Store(Local7, Debug)
Store(DerefOf(Local7), Local6)
Store(Local6, Debug)
Store(DerefOf(Local6), Local5)
Store(Local5, Debug)
}
*/
/* Run-method */
Method (REF9, 0, NotSerialized)
{
Debug = "TEST: REF9, Object and Index References and the call-by-reference convention"
C085 = 0x01 /* create the chain of references to LocalX, then dereference them */
C086 = 0x00 /* flag, run test till the first error */
C088 = 0x01 /* test run mode */
C089 = 0x00 /* flag of Reference, object otherwise */
C08B = 0x00 /* do RefOf(ArgX) checkings */
If (!C088)
{
Debug = "A T T E N T I O N: simple mode!"
}
If (0x01)
{
SRMT ("m221")
M221 ()
SRMT ("m222")
M222 ()
SRMT ("m223")
M223 ()
SRMT ("m224")
M224 ()
SRMT ("m225")
M225 ()
SRMT ("m226")
M226 ()
SRMT ("m227")
M227 ()
SRMT ("m228")
M228 ()
SRMT ("m229")
M229 ()
SRMT ("m22a")
M22A ()
SRMT ("m22b")
M22B ()
SRMT ("m22c")
M22C ()
SRMT ("m22d")
If (Y164)
{
M22D ()
}
Else
{
BLCK ()
}
SRMT ("m22e")
M22E ()
SRMT ("m22f")
M22F ()
SRMT ("m230")
M230 ()
SRMT ("m231")
M231 ()
SRMT ("m232")
M232 ()
SRMT ("m233")
M233 () /* bug 130 (m34c) */
SRMT ("m234")
M234 ()
SRMT ("m235")
M235 ()
SRMT ("m236")
M236 ()
SRMT ("m237")
M237 ()
SRMT ("m238")
M238 ()
SRMT ("m239")
M239 ()
SRMT ("m23a")
M23A ()
SRMT ("m23b")
M23B ()
SRMT ("m23c")
M23C ()
SRMT ("m23d")
M23D ()
SRMT ("m23e")
M23E ()
SRMT ("m23f")
M23F ()
SRMT ("m250")
M250 ()
SRMT ("m251")
M251 ()
SRMT ("m252")
M252 ()
SRMT ("m253")
M253 ()
SRMT ("m254")
M254 ()
SRMT ("m255")
M255 ()
SRMT ("m256")
M256 ()
SRMT ("m257")
M257 ()
SRMT ("m258")
M258 (0x00)
SRMT ("m259")
M259 ()
SRMT ("m25a")
M25A ()
SRMT ("m25b")
M25B ()
SRMT ("m25c")
M25C ()
SRMT ("m25d")
M25D ()
SRMT ("m25e")
M25E ()
SRMT ("m25f")
M25F ()
SRMT ("m260")
M260 ()
SRMT ("m261")
M261 ()
SRMT ("m262")
M262 ()
SRMT ("m263")
M263 ()
SRMT ("m264")
M264 ()
SRMT ("m265")
M265 ()
SRMT ("m266")
M266 ()
SRMT ("m267")
M267 ()
SRMT ("m268")
M268 ()
SRMT ("m269")
M269 ()
SRMT ("m26a")
M26A ()
SRMT ("m26b")
If (Y164)
{
M26B () /* bugs, see inside */
}
Else
{
BLCK ()
}
SRMT ("m26c")
M26C ()
SRMT ("m26d")
M26D ()
SRMT ("m26e")
M26E () /* bug 131 (m365) */
SRMT ("m26f")
M26F ()
SRMT ("m270")
M270 () /* bug 134 */
SRMT ("m276")
M276 ()
SRMT ("mfab")
If (Y603)
{
MFAB ()
}
Else
{
BLCK ()
}
SRMT ("mfad")
If (Y603)
{
MFAD ()
}
Else
{
BLCK ()
}
SRMT ("mfc3")
If (Y603)
{
MFC3 ()
}
Else
{
BLCK ()
}
SRMT ("mfc4")
If (Y603)
{
MFC4 ()
}
Else
{
BLCK ()
}
}
/*
SRMT("m23b")
m23b()
SRMT("m251")
m251()
*/
/*
SRMT("mfab")
mfab()
SRMT("mfad")
mfad()
SRMT("mfc3")
mfc3()
SRMT("mfc4")
mfc4()
// SRMT("m234")
// m234()
// SRMT("m26b")
// m26b()
// m251()
// m22d()
// m26b()
// m276()
*/
Else
{
/* To run particular sub-tests here */
SRMT ("m1d5")
M1D5 ()
}
/* SEE and do these below: */
/*
1. See bug 130, add this checking:
see this when worked on m233()
Method(m000, 1)
{
// Store(DerefOf(arg0), Local2)
// Store(0x2b, Index(Local2, 1))
Store(0x2b, Index(DerefOf(arg0), 1))
}
2. do many enclosed method calls
to show that index to Str,Buf,Pckg
changes the intial object nevertheless
*/
/*
Method (M001)
{
Name(P004, Package(Add (128, 3)) {})
Name(P005, Package(Add (128, 1024)) {})
}
*/
/*
Use the same object in several operands and results
*/
}