Integrate uACPI
This commit is contained in:
70
kernel/hal/x86_64/uACPI/tests/test-cases/table-overrides.asl
Normal file
70
kernel/hal/x86_64/uACPI/tests/test-cases/table-overrides.asl
Normal file
@ -0,0 +1,70 @@
|
||||
// Name: Table overrides work
|
||||
// Expect: int => 0
|
||||
|
||||
DefinitionBlock ("", "DSDT", 2, "uTEST", "TESTTABL", 0xF0F0F0F0)
|
||||
{
|
||||
/*
|
||||
* We expect this table to be denied by the test-runner because it denies
|
||||
* anything with "DENYTABL" in OEM table id.
|
||||
*
|
||||
* DefinitionBlock ("x.aml", "SSDT", 1, "uTEST", "DENYTABL", 0xF0F0F0F0)
|
||||
* {
|
||||
* Name (BUG, 1)
|
||||
* }
|
||||
*/
|
||||
Name (TAB0, Buffer {
|
||||
0x53, 0x53, 0x44, 0x54, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0xe1, 0x75, 0x54, 0x45, 0x53, 0x54, 0x00,
|
||||
0x44, 0x45, 0x4e, 0x59, 0x54, 0x41, 0x42, 0x4c,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0x49, 0x4e, 0x54, 0x4c,
|
||||
0x28, 0x06, 0x23, 0x20, 0x08, 0x42, 0x55, 0x47,
|
||||
0x5f, 0x01
|
||||
})
|
||||
|
||||
/*
|
||||
* We expect this table to be overriden by the test-runner because it
|
||||
* overrides anything with "OVERTABL" in OEM table id. The override it
|
||||
* provides has a Name(VAL, "TestRunner")
|
||||
*
|
||||
* DefinitionBlock ("x.aml", "SSDT", 1, "uTEST", "OVERTABL", 0xF0F0F0F0)
|
||||
* {
|
||||
* Name (VAL, "Hello")
|
||||
* }
|
||||
*/
|
||||
Name (TAB1, Buffer {
|
||||
0x53, 0x53, 0x44, 0x54, 0x30, 0x00, 0x00, 0x00,
|
||||
0x01, 0xcd, 0x75, 0x54, 0x45, 0x53, 0x54, 0x00,
|
||||
0x4f, 0x56, 0x45, 0x52, 0x54, 0x41, 0x42, 0x4c,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0x49, 0x4e, 0x54, 0x4c,
|
||||
0x25, 0x09, 0x20, 0x20, 0x08, 0x56, 0x41, 0x4c,
|
||||
0x5f, 0x0d, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x00
|
||||
})
|
||||
|
||||
Method (MAIN, 0, NotSerialized)
|
||||
{
|
||||
Load(TAB0, Local0)
|
||||
If (Local0) {
|
||||
Debug = "Table was not denied load"
|
||||
Return (0xDEAD)
|
||||
}
|
||||
|
||||
If (CondRefOf(BUG)) {
|
||||
Debug = "Table was not loaded but the BUG object exists"
|
||||
Return (0xDEAD)
|
||||
}
|
||||
|
||||
Load(TAB1, Local0)
|
||||
If (!Local0) {
|
||||
Debug = "Failed to load table"
|
||||
Return (0xDEAD)
|
||||
}
|
||||
|
||||
If (VAL != "TestRunner") {
|
||||
Printf("Table didn't get overriden correctly: expected %o got %o",
|
||||
"TestRunner", VAL)
|
||||
Return (0xDEAD)
|
||||
}
|
||||
|
||||
Return (0)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user