Как понять метод ACPI _OS C, определенный в таблице DSDT - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в 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?

...