ASLTS: Update tests for FieldUnit and BufferField.

Fixes errors in ASLTS due to an incorrect interpretation of the
use of references for Field Units and Buffer Fields. Per the ACPI
spec, "Fields permanently retain their types and cannot be changed".
Fixes those errors that incorrectly expected the Field type to change.
David Box.

Please enter the commit message for your changes. Lines starting
This commit is contained in:
Robert Moore 2013-09-26 11:49:08 -07:00
parent 51527fe019
commit 0d93cbf26f
2 changed files with 19 additions and 7 deletions

View File

@ -253,8 +253,8 @@ Method(m22c,, Serialized)
Store(0x2b, bf90)
CopyObject(0x9999992b, bf90)
if (LNotEqual(bf90, 0x9999992b)) {
err(ts, z111, 3, 0, 0, bf90, 0x9999992b)
if (LNotEqual(bf90, 0x2b)) {
err(ts, z111, 3, 0, 0, bf90, 0x2b)
}
}
@ -390,8 +390,8 @@ Method(m234,, Serialized)
err(ts, z111, 2, 0, 0, bf90, 0x77)
}
CopyObject(0x9999992b, bf90)
if (LNotEqual(bf90, 0x9999992b)) {
err(ts, z111, 3, 0, 0, bf90, 0x9999992b)
if (LNotEqual(bf90, 0x2b)) {
err(ts, z111, 3, 0, 0, bf90, 0x2b)
}
}

View File

@ -1675,7 +1675,8 @@ Device(DTM0) {
return (0)
}
// Object of any type can be used as the DDBHandle argument
// Object of any type (expect Field Units and Buffer Fields)
// can be used as the DDBHandle argument
Method(tstg, 1, Serialized)
{
Name(DDB0, 0)
@ -1699,8 +1700,19 @@ Device(DTM0) {
}
Load(RFU0, arg2)
if (CH03(arg0, z174, 0x0b2, 0, 0)) {
return (1)
if (LOr(LEqual(arg3, c00d), // Field Unit
LEqual(arg3, c016))) { // Buffer Field
// AE_AML_OPERAND_TYPE
if (CH04(arg0, 2, 47, z174, 0x0e9, 0, 0)) {
return (1)
} else {
return (0)
}
} else {
if (CH03(arg0, z174, 0x0b2, 0, 0)) {
return (1)
}
}
if (y260) {
Store(ObjectType(arg2), Local0)