server03DSDT.dsl里面IVOC方法的参数0x81-0x89没有0x85和_SB.PCI0.OEMR有关
第一部分:
Method (IVOC, 2, NotSerialized)
{
Store (Or (Or (ShiftLeft (0x40E9, 0x10), ShiftLeft (Arg0, 0x08
)), Arg1), \_SB.PCI0.OEMR)
}
第二部分:
Method (VMPS, 1, NotSerialized)
{
Acquire (OEML, 0xFFFF)
IVOC (0x81, Arg0) 第一个:
Store (\_SB.PCI0.OEMR, Local0)
Release (OEML)
Return (Local0)
}
Method (VMBB, 1, NotSerialized)
{
Acquire (OEML, 0xFFFF)
IVOC (0x82, Arg0) 第2个:
Store (Package (0x0D)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
"VMware Virtual Battery",
"",
"",
""
}, Local0)
Store (\_SB.PCI0.OEMR, Index (Local0, 0x00))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x01))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x02))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x03))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x04))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x05))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x06))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x07))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x08))
Store (\_SB.PCI0.OEMR, Local1)
Release (OEML)
Method (VMBS, 1, NotSerialized)
{
Acquire (OEML, 0xFFFF)
IVOC (0x83, Arg0) 第3个:
Store (Package (0x04)
{
0x00,
0x00,
0x00,
0x00
}, Local0)
Store (\_SB.PCI0.OEMR, Index (Local0, 0x00))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x01))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x02))
Store (\_SB.PCI0.OEMR, Index (Local0, 0x03))
Store (\_SB.PCI0.OEMR, Local1)
Release (OEML)
Method (VMAP, 0, NotSerialized)
{
Acquire (OEML, 0xFFFF)
IVOC (0x84, 0x00) 第4个:
Store (\_SB.PCI0.OEMR, Local0)
Store (\_SB.PCI0.OEMR, Local1)
Release (OEML)
If (LNotEqual (Local1, 0x01))
{
Store (0x01, Local0)
}
Return (Local0)
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Acquire (OEML, 0xFFFF)
IVOC (0x87, 0x00) 第5个:
IVOC (0x88, 0x00) 第6个:
Release (OEML)
}
Method (BFEA, 0, NotSerialized)
{
Acquire (OEML, 0xFFFF)
IVOC (0x89, 0x00) 第7个:
Store (\_SB.PCI0.OEMR, Local0)
Release (OEML)
Return (Local0)
}
Scope (\_GPE)
{
Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Acquire (\_SB.OEML, 0xFFFF)
\_SB.IVOC (0x86, 0x00) 第8个:
Store (\_SB.PCI0.OEMR, Local0)
Release (\_SB.OEML)
Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Acquire (\_SB.OEML, 0xFFFF)
\_SB.IVOC (0x86, 0x00)
Store (\_SB.PCI0.OEMR, Local0)
Release (\_SB.OEML)
If (LNotEqual (Local0, 0x00))
{
Notify (\_SB.BAT1, Local0)
Notify (\_SB.BAT2, Local0)
Notify (\_SB.ACAD, 0x80)
}
Acquire (\_SB.OEML, 0xFFFF)
\_SB.IVOC (0x88, 0x00)
Store (\_SB.PCI0.OEMR, Local0)
Release (\_SB.OEML)
If (And (Local0, 0x01))
{
Notify (\_SB.SLPB, 0x80)
}
If (And (Local0, 0x02))
{
Notify (\_SB.SLPB, 0x02)
}
If (LNotEqual (Local0, 0x00))
{
\_SB.IVOC (0x88, And (Local0, 0xFF))
}
}