Files
my-os-project2/kernel/hal/x86_64/uACPI/tests/test-cases/indices-1.asl
2025-08-17 18:37:57 +02:00

53 lines
1.3 KiB
Plaintext

// 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)
}
}