82 lines
2.6 KiB
Plaintext
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)
|
|
}
|
|
}
|