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

38 lines
646 B
Plaintext

// Name: Recursive mutex
// Expect: int => 253
DefinitionBlock ("", "DSDT", 2, "uTEST", "TESTTABL", 0xF0F0F0F0)
{
Method (CHEK, 1, Serialized, 15)
{
If (Arg0 != 0) {
Debug = "Failed to acquire mutex!"
Return (1)
}
Return (0)
}
Mutex (MUTX)
Method (ACQ, 1, Serialized) {
CHEK(Acquire(MUTX, 0xFFFF))
Local0 = 0
If (Arg0 < 22) {
Local0 += Arg0 + ACQ(Arg0 + 1)
} Else {
Local0 += Arg0
}
Release(MUTX)
Return (Local0)
}
Method (MAIN, 0, Serialized)
{
Return (ACQ(0))
}
}