Integrate uACPI
This commit is contained in:
@ -0,0 +1,60 @@
|
||||
// Name: Increment And Decrement Fields & Indices
|
||||
// Expect: int => 150
|
||||
|
||||
DefinitionBlock ("", "DSDT", 2, "uTEST", "TESTTABL", 0xF0F0F0F0)
|
||||
{
|
||||
Method (BROK, 2) {
|
||||
Printf ("%o increment is broken", Arg0)
|
||||
Return (Arg1)
|
||||
}
|
||||
|
||||
Method (MAIN, 0, Serialized)
|
||||
{
|
||||
Local0 = Buffer { 1 }
|
||||
Local1 = Package {
|
||||
123, 22
|
||||
}
|
||||
|
||||
Debug = Increment(Local0[0])
|
||||
Debug = Decrement(Local1[0])
|
||||
|
||||
Local2 = Local1[1]
|
||||
Debug = Increment(Local2)
|
||||
|
||||
OperationRegion(NVSM, SystemMemory, 0x100000, 128)
|
||||
Field (NVSM, AnyAcc, NoLock, WriteAsZeros) {
|
||||
FILD, 1,
|
||||
}
|
||||
FILD = 0
|
||||
|
||||
Debug = Increment(FILD)
|
||||
|
||||
// We get a 2 here but write back 0 because field is one bit
|
||||
Local3 = Increment(FILD)
|
||||
If (FILD != 0) {
|
||||
Return (BROK("Field unit", 0xDEADBEEF))
|
||||
}
|
||||
|
||||
Local4 = Increment(FILD)
|
||||
If (FILD != 1) {
|
||||
Return (BROK("Field unit", 0xBEEFDEAD))
|
||||
}
|
||||
|
||||
If (DerefOf(Local2) != DerefOf(Local1[1])) {
|
||||
Return (BROK("Buffer index", 0xCAFEBABE))
|
||||
}
|
||||
|
||||
Return (
|
||||
// 2
|
||||
DerefOf(Local0[0]) +
|
||||
// 122
|
||||
DerefOf(Local1[0]) +
|
||||
// 23
|
||||
DerefOf(Local2) +
|
||||
// 2
|
||||
Local3 +
|
||||
// 1
|
||||
Local4
|
||||
)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user