Я новичок в ACPI.
И я пытаюсь понять метод _OS C, определенный в следующей таблице DSDT на Linux хосте.
Name (SUPP, 0x00)
Name (CTRL, 0x00)
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
}))
{
Store (CDW2, SUPP)
Store (CDW3, CTRL)
And (CTRL, 0x0C, CTRL)
If (LNotEqual (Arg1, 0x01))
{
Or (CDW1, 0x0A, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
}
Else
{
Or (CDW1, 0x06, CDW1)
}
Return (Arg3)
}
Что делает этот метод, например, где находится SUPP / CTRL?