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

82 lines
2.6 KiB
Plaintext

// Name: _OSI works correctly
// Expect: int => 0
DefinitionBlock ("", "DSDT", 2, "uTEST", "TESTTABL", 0xF0F0F0F0)
{
Method (CHEK, 2) {
Local0 = _OSI(Arg0)
If (Local0 != Arg1) {
Printf("_OSI(%o) failed (expected %o, got %o)", Arg0, Arg1, Local0)
Return (1)
}
Return (0)
}
Method (MAIN, 0, NotSerialized)
{
Local0 = 0
If (!CondRefOf(_OSI)) {
Debug = "No _OSI method!"
Return (1111111)
}
Local0 += CHEK("Windows 2000", Ones)
Local0 += CHEK("Windows 2001", Ones)
Local0 += CHEK("Windows 2001 SP1", Ones)
Local0 += CHEK("Windows 2001.1", Ones)
Local0 += CHEK("Windows 2001 SP2", Ones)
Local0 += CHEK("Windows 2001.1 SP1", Ones)
Local0 += CHEK("Windows 2006.1", Ones)
Local0 += CHEK("Windows 2006 SP1", Ones)
Local0 += CHEK("Windows 2006 SP2", Ones)
Local0 += CHEK("Windows 2009", Ones)
Local0 += CHEK("Windows 2012", Ones)
Local0 += CHEK("Windows 2013", Ones)
Local0 += CHEK("Windows 2015", Ones)
Local0 += CHEK("Windows 2016", Ones)
Local0 += CHEK("Windows 2017", Ones)
Local0 += CHEK("Windows 2017.2", Ones)
Local0 += CHEK("Windows 2018", Ones)
Local0 += CHEK("Windows 2018.2", Ones)
Local0 += CHEK("Windows 2019", Ones)
// ACPICA acpiexec
If (_OSI("AnotherTestString")) {
// do nothing
Debug = "ACPICA acpiexec detected"
} ElseIf (_OSI("TestRunner")) {
Debug = "uACPI test runner detected"
// These are only enabled in uACPI test runner
Local0 += CHEK("3.0 Thermal Model", Ones)
Local0 += CHEK("Module Device", Ones)
// Don't check these in ACPICA, it might be too old to have these
Local0 += CHEK("Windows 2020", Ones)
Local0 += CHEK("Windows 2021", Ones)
Local0 += CHEK("Windows 2022", Ones)
} Else {
Debug = "Neither uACPI nor ACPICA were detected, aborting test"
Return (123321)
}
// This is removed in both uACPI and ACPICA test runners
Local0 += CHEK("Windows 2006", Zero)
Local0 += CHEK("Extended Address Space Descriptor", Ones)
Local0 += CHEK("Processor Aggregator Device", Zero)
Local0 += CHEK("3.0 _SCP Extensions", Zero)
Local0 += CHEK("Processor Device", Zero)
Local0 += CHEK("", Zero)
Local0 += CHEK("Windows 99999", Zero)
Local0 += CHEK("Windows 2014", Zero)
Local0 += CHEK("Linux", Zero)
Return (Local0)
}
}