Integrate uACPI
This commit is contained in:
52
kernel/hal/x86_64/uACPI/tests/test-cases/indices-1.asl
Normal file
52
kernel/hal/x86_64/uACPI/tests/test-cases/indices-1.asl
Normal file
@ -0,0 +1,52 @@
|
||||
// Name: Dump Package Contents
|
||||
// Expect: str => { HelloWorld, 123, deadbeef, { some string, { ffffffffeeeeeeee, middle package }, cafebabe } }
|
||||
|
||||
DefinitionBlock ("", "DSDT", 2, "uTEST", "TESTTABL", 0xF0F0F0F0)
|
||||
{
|
||||
Method (DUMP, 1)
|
||||
{
|
||||
Local0 = 0
|
||||
Local1 = "{ "
|
||||
|
||||
While (Local0 < SizeOf(Arg0)) {
|
||||
// If package, invoke DUMP recursively
|
||||
If (ObjectType(DerefOf(Arg0[Local0])) == 4) {
|
||||
Fprintf(Local1, "%o, %o", Local1, DUMP(DerefOf(Arg0[Local0])))
|
||||
Local0 += 1
|
||||
Continue;
|
||||
}
|
||||
|
||||
If (Local0 == 0) {
|
||||
Local3 = ""
|
||||
} Else {
|
||||
Local3 = ", "
|
||||
}
|
||||
|
||||
Fprintf(Local1, "%o%o%o", Local1, Local3, DerefOf(Arg0[Local0]))
|
||||
Local0 += 1
|
||||
}
|
||||
|
||||
Fprintf(Local1, "%o }", Local1)
|
||||
Return(Local1)
|
||||
}
|
||||
|
||||
Method (MAIN, 0, NotSerialized)
|
||||
{
|
||||
Local0 = Package {
|
||||
"HelloWorld",
|
||||
0x123,
|
||||
0xDEADBEEF,
|
||||
Package {
|
||||
"some string",
|
||||
Package {
|
||||
0xFFFFFFFFEEEEEEEE,
|
||||
"middle package",
|
||||
},
|
||||
0xCAFEBABE,
|
||||
},
|
||||
}
|
||||
|
||||
Local1 = DUMP(Local0)
|
||||
Return(Local1)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user