Skip to content

Instantly share code, notes, and snippets.

@KunYi
Last active April 18, 2022 11:12
Show Gist options
  • Save KunYi/6c79a58cf8dd313c57d09d26b2dc4506 to your computer and use it in GitHub Desktop.
Save KunYi/6c79a58cf8dd313c57d09d26b2dc4506 to your computer and use it in GitHub Desktop.
Custom DSDT for VirtualBox 6/Windows ACPI driver study
DefinitionBlock("DSDT.AML", "DSDT", 0x02, "VBOX ", "VBOXBIOS", 0x00000002)
{
OperationRegion(DBG0, SystemIO, 0x3000, 0x4)
Field(DBG0, ByteAcc, NoLock, Preserve)
{
DHE1, 8
}
Field(DBG0, WordAcc, NoLock, Preserve)
{
DHE2, 16
}
Field(DBG0, DWordAcc, NoLock, Preserve)
{
DHE4, 32
}
Field(DBG0, ByteAcc, NoLock, Preserve)
{
, 8,
DCHR, 8
}
Method(HEX_, 0x1, NotSerialized)
{
Store(Arg0, DHE1)
}
Method(HEX2, 0x1, NotSerialized)
{
Store(Arg0, DHE2)
}
Method(HEX4, 0x1, NotSerialized)
{
Store(Arg0, DHE4)
}
Method(SLEN, 0x1, NotSerialized)
{
Store(Arg0, Local0)
Return(SizeOf(Local0))
}
Method(S2BF, 0x1, Serialized)
{
Store(Arg0, Local0)
Add(SLEN(Local0), One, Local0)
Name(BUFF, Buffer(Local0)
{
})
Store(Arg0, BUFF)
Return(BUFF)
}
Method(MIN_, 0x2, NotSerialized)
{
If(LLess(Arg0, Arg1))
{
Return(Arg0)
}
Else
{
Return(Arg1)
}
}
Method(SCMP, 0x2, NotSerialized)
{
Store(Arg0, Local0)
Store(S2BF(Local0), Local0)
Store(S2BF(Arg1), Local1)
Store(Zero, Local4)
Store(SLEN(Arg0), Local5)
Store(SLEN(Arg1), Local6)
Store(MIN_(Local5, Local6), Local7)
While(LLess(Local4, Local7))
{
Store(DerefOf(Index(Local0, Local4, )), Local2)
Store(DerefOf(Index(Local1, Local4, )), Local3)
If(LGreater(Local2, Local3))
{
Return(One)
}
Else
{
If(LLess(Local2, Local3))
{
Return(Ones)
}
}
Increment(Local4)
}
If(LLess(Local4, Local5))
{
Return(One)
}
Else
{
If(LLess(Local4, Local6))
{
Return(Ones)
}
Else
{
Return(Zero)
}
}
}
Method(MTCH, 0x2, NotSerialized)
{
Store(Arg0, Local0)
Store(Arg1, Local1)
Store(SCMP(Local0, Local1), Local2)
Return(LNot(Local2))
}
Method(DBG_, 0x1, NotSerialized)
{
Store(Arg0, Local0)
Store(S2BF(Local0), Local1)
Store(SizeOf(Local1), Local0)
Decrement(Local0)
Store(Zero, Local2)
While(Local0)
{
Decrement(Local0)
Store(DerefOf(Index(Local1, Local2, )), DCHR)
Increment(Local2)
}
}
Name(MSWV, Ones)
Method(MSWN, 0x0, NotSerialized)
{
If(LNot(LEqual(MSWV, Ones)))
{
Return(MSWV)
}
Store(Zero, MSWV)
DBG_("_OS: ")
DBG_(_OS_)
DBG_("")
If(CondRefOf(_OSI, Local0))
{
DBG_("_OSI exists")
If(_OSI("Windows 2001"))
{
Store(0x4, MSWV)
}
If(_OSI("Windows 2001.1"))
{
Store(0x5, MSWV)
}
If(_OSI("Windows 2006"))
{
Store(0x6, MSWV)
}
If(_OSI("Windows 2009"))
{
Store(0x7, MSWV)
}
If(_OSI("Windows 2012"))
{
Store(0x8, MSWV)
}
If(_OSI("Windows 2013"))
{
Store(0x9, MSWV)
}
If(_OSI("Windows 2015"))
{
Store(0xa, MSWV)
}
If(_OSI("Windows 2006 SP2"))
{
DBG_("Windows 2006 SP2 supported")
Store(Zero, MSWV)
}
}
Else
{
If(MTCH(_OS_, "Microsoft Windows NT"))
{
Store(0x3, MSWV)
}
If(MTCH(_OS_, "Microsoft WindowsME: Millennium Edition"))
{
Store(0x2, MSWV)
}
}
If(CondRefOf(_REV, Local0))
{
DBG_("_REV: ")
HEX4(_REV)
If(LAnd(LGreater(MSWV, Zero), LGreater(_REV, 0x2)))
{
If(LLess(MSWV, 0x8))
{
DBG_("ACPI rev mismatch, not a Microsoft OS")
Store(Zero, MSWV)
}
}
}
DBG_("Determined MSWV: ")
HEX4(MSWV)
Return(MSWV)
}
Name(PICM, Zero)
Method(_PIC, 0x1, NotSerialized)
{
DBG_("Pic mode: ")
HEX4(Arg0)
Store(Arg0, PICM)
}
OperationRegion(SYSI, SystemIO, 0x4048, 0x8)
Field(SYSI, DWordAcc, NoLock, Preserve)
{
IDX0, 32,
DAT0, 32
}
IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve)
{
MEML, 32,
UIOA, 32,
UHPT, 32,
USMC, 32,
UFDC, 32,
SL2B, 32,
SL2I, 32,
SL3B, 32,
SL3I, 32,
PMNN, 32,
URTC, 32,
CPUL, 32,
CPUC, 32,
CPET, 32,
CPEV, 32,
NICA, 32,
HDAA, 32,
PWRS, 32,
IOCA, 32,
HBCA, 32,
PCIB, 32,
PCIL, 32,
SL0B, 32,
SL0I, 32,
SL1B, 32,
SL1I, 32,
PP0B, 32,
PP0I, 32,
PP1B, 32,
PP1I, 32,
PMNX, 32,
NVMA, 32,
ININ, 32,
Offset(0x200),
VAIN, 32
}
Scope(_SB_)
{
Method(_INI, 0x0, NotSerialized)
{
Store(0xbadc0de, VAIN)
DBG_("MEML: ")
HEX4(MEML)
DBG_("UIOA: ")
HEX4(UIOA)
DBG_("UHPT: ")
HEX4(UHPT)
DBG_("USMC: ")
HEX4(USMC)
DBG_("UFDC: ")
HEX4(UFDC)
DBG_("PMNN: ")
HEX4(PMNN)
}
Name(PR00, Package(0x78)
{
Package(0x4)
{
0x2ffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x2ffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x2ffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x2ffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x3ffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x3ffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x3ffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x3ffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x4ffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x4ffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x4ffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x4ffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x5ffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x5ffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x5ffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x5ffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0x6ffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x6ffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x6ffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x6ffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x7ffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x7ffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x7ffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x7ffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x8ffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x8ffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x8ffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x8ffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x9ffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x9ffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x9ffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x9ffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0xaffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0xaffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0xaffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0xaffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0xbffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0xbffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0xbffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0xbffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0xcffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0xcffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0xcffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0xcffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0xdffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0xdffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0xdffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0xdffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0xeffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0xeffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0xeffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0xeffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0xfffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0xfffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0xfffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0xfffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x10ffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x10ffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x10ffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x10ffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x11ffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x11ffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x11ffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x11ffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0x12ffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x12ffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x12ffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x12ffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x13ffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x13ffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x13ffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x13ffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x14ffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x14ffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x14ffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x14ffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x15ffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x15ffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x15ffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x15ffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0x16ffff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x16ffff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x16ffff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x16ffff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x17ffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x17ffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x17ffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x17ffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x18ffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x18ffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x18ffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x18ffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x19ffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x19ffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x19ffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x19ffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0x1affff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x1affff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x1affff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x1affff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x1bffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x1bffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x1bffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x1bffff,
0x3,
LNKB,
Zero
},
Package(0x4)
{
0x1cffff,
Zero,
LNKD,
Zero
},
Package(0x4)
{
0x1cffff,
One,
LNKA,
Zero
},
Package(0x4)
{
0x1cffff,
0x2,
LNKB,
Zero
},
Package(0x4)
{
0x1cffff,
0x3,
LNKC,
Zero
},
Package(0x4)
{
0x1dffff,
Zero,
LNKA,
Zero
},
Package(0x4)
{
0x1dffff,
One,
LNKB,
Zero
},
Package(0x4)
{
0x1dffff,
0x2,
LNKC,
Zero
},
Package(0x4)
{
0x1dffff,
0x3,
LNKD,
Zero
},
Package(0x4)
{
0x1effff,
Zero,
LNKB,
Zero
},
Package(0x4)
{
0x1effff,
One,
LNKC,
Zero
},
Package(0x4)
{
0x1effff,
0x2,
LNKD,
Zero
},
Package(0x4)
{
0x1effff,
0x3,
LNKA,
Zero
},
Package(0x4)
{
0x1fffff,
Zero,
LNKC,
Zero
},
Package(0x4)
{
0x1fffff,
One,
LNKD,
Zero
},
Package(0x4)
{
0x1fffff,
0x2,
LNKA,
Zero
},
Package(0x4)
{
0x1fffff,
0x3,
LNKB,
Zero
}
})
Name(PR01, Package(0x78)
{
Package(0x4)
{
0x2ffff,
Zero,
Zero,
0x12
},
Package(0x4)
{
0x2ffff,
One,
Zero,
0x13
},
Package(0x4)
{
0x2ffff,
0x2,
Zero,
0x14
},
Package(0x4)
{
0x2ffff,
0x3,
Zero,
0x15
},
Package(0x4)
{
0x3ffff,
Zero,
Zero,
0x13
},
Package(0x4)
{
0x3ffff,
One,
Zero,
0x14
},
Package(0x4)
{
0x3ffff,
0x2,
Zero,
0x15
},
Package(0x4)
{
0x3ffff,
0x3,
Zero,
0x16
},
Package(0x4)
{
0x4ffff,
Zero,
Zero,
0x14
},
Package(0x4)
{
0x4ffff,
One,
Zero,
0x15
},
Package(0x4)
{
0x4ffff,
0x2,
Zero,
0x16
},
Package(0x4)
{
0x4ffff,
0x3,
Zero,
0x17
},
Package(0x4)
{
0x5ffff,
Zero,
Zero,
0x15
},
Package(0x4)
{
0x5ffff,
One,
Zero,
0x16
},
Package(0x4)
{
0x5ffff,
0x2,
Zero,
0x17
},
Package(0x4)
{
0x5ffff,
0x3,
Zero,
0x10
},
Package(0x4)
{
0x6ffff,
Zero,
Zero,
0x16
},
Package(0x4)
{
0x6ffff,
One,
Zero,
0x17
},
Package(0x4)
{
0x6ffff,
0x2,
Zero,
0x10
},
Package(0x4)
{
0x6ffff,
0x3,
Zero,
0x11
},
Package(0x4)
{
0x7ffff,
Zero,
Zero,
0x17
},
Package(0x4)
{
0x7ffff,
One,
Zero,
0x10
},
Package(0x4)
{
0x7ffff,
0x2,
Zero,
0x11
},
Package(0x4)
{
0x7ffff,
0x3,
Zero,
0x12
},
Package(0x4)
{
0x8ffff,
Zero,
Zero,
0x10
},
Package(0x4)
{
0x8ffff,
One,
Zero,
0x11
},
Package(0x4)
{
0x8ffff,
0x2,
Zero,
0x12
},
Package(0x4)
{
0x8ffff,
0x3,
Zero,
0x13
},
Package(0x4)
{
0x9ffff,
Zero,
Zero,
0x11
},
Package(0x4)
{
0x9ffff,
One,
Zero,
0x12
},
Package(0x4)
{
0x9ffff,
0x2,
Zero,
0x13
},
Package(0x4)
{
0x9ffff,
0x3,
Zero,
0x14
},
Package(0x4)
{
0xaffff,
Zero,
Zero,
0x12
},
Package(0x4)
{
0xaffff,
One,
Zero,
0x13
},
Package(0x4)
{
0xaffff,
0x2,
Zero,
0x14
},
Package(0x4)
{
0xaffff,
0x3,
Zero,
0x15
},
Package(0x4)
{
0xbffff,
Zero,
Zero,
0x13
},
Package(0x4)
{
0xbffff,
One,
Zero,
0x14
},
Package(0x4)
{
0xbffff,
0x2,
Zero,
0x15
},
Package(0x4)
{
0xbffff,
0x3,
Zero,
0x16
},
Package(0x4)
{
0xcffff,
Zero,
Zero,
0x14
},
Package(0x4)
{
0xcffff,
One,
Zero,
0x15
},
Package(0x4)
{
0xcffff,
0x2,
Zero,
0x16
},
Package(0x4)
{
0xcffff,
0x3,
Zero,
0x17
},
Package(0x4)
{
0xdffff,
Zero,
Zero,
0x15
},
Package(0x4)
{
0xdffff,
One,
Zero,
0x16
},
Package(0x4)
{
0xdffff,
0x2,
Zero,
0x17
},
Package(0x4)
{
0xdffff,
0x3,
Zero,
0x10
},
Package(0x4)
{
0xeffff,
Zero,
Zero,
0x16
},
Package(0x4)
{
0xeffff,
One,
Zero,
0x17
},
Package(0x4)
{
0xeffff,
0x2,
Zero,
0x10
},
Package(0x4)
{
0xeffff,
0x3,
Zero,
0x11
},
Package(0x4)
{
0xfffff,
Zero,
Zero,
0x17
},
Package(0x4)
{
0xfffff,
One,
Zero,
0x10
},
Package(0x4)
{
0xfffff,
0x2,
Zero,
0x11
},
Package(0x4)
{
0xfffff,
0x3,
Zero,
0x12
},
Package(0x4)
{
0x10ffff,
Zero,
Zero,
0x10
},
Package(0x4)
{
0x10ffff,
One,
Zero,
0x11
},
Package(0x4)
{
0x10ffff,
0x2,
Zero,
0x12
},
Package(0x4)
{
0x10ffff,
0x3,
Zero,
0x13
},
Package(0x4)
{
0x11ffff,
Zero,
Zero,
0x11
},
Package(0x4)
{
0x11ffff,
One,
Zero,
0x12
},
Package(0x4)
{
0x11ffff,
0x2,
Zero,
0x13
},
Package(0x4)
{
0x11ffff,
0x3,
Zero,
0x14
},
Package(0x4)
{
0x12ffff,
Zero,
Zero,
0x12
},
Package(0x4)
{
0x12ffff,
One,
Zero,
0x13
},
Package(0x4)
{
0x12ffff,
0x2,
Zero,
0x14
},
Package(0x4)
{
0x12ffff,
0x3,
Zero,
0x15
},
Package(0x4)
{
0x13ffff,
Zero,
Zero,
0x13
},
Package(0x4)
{
0x13ffff,
One,
Zero,
0x14
},
Package(0x4)
{
0x13ffff,
0x2,
Zero,
0x15
},
Package(0x4)
{
0x13ffff,
0x3,
Zero,
0x16
},
Package(0x4)
{
0x14ffff,
Zero,
Zero,
0x14
},
Package(0x4)
{
0x14ffff,
One,
Zero,
0x15
},
Package(0x4)
{
0x14ffff,
0x2,
Zero,
0x16
},
Package(0x4)
{
0x14ffff,
0x3,
Zero,
0x17
},
Package(0x4)
{
0x15ffff,
Zero,
Zero,
0x15
},
Package(0x4)
{
0x15ffff,
One,
Zero,
0x16
},
Package(0x4)
{
0x15ffff,
0x2,
Zero,
0x17
},
Package(0x4)
{
0x15ffff,
0x3,
Zero,
0x10
},
Package(0x4)
{
0x16ffff,
Zero,
Zero,
0x16
},
Package(0x4)
{
0x16ffff,
One,
Zero,
0x17
},
Package(0x4)
{
0x16ffff,
0x2,
Zero,
0x10
},
Package(0x4)
{
0x16ffff,
0x3,
Zero,
0x11
},
Package(0x4)
{
0x17ffff,
Zero,
Zero,
0x17
},
Package(0x4)
{
0x17ffff,
One,
Zero,
0x10
},
Package(0x4)
{
0x17ffff,
0x2,
Zero,
0x11
},
Package(0x4)
{
0x17ffff,
0x3,
Zero,
0x12
},
Package(0x4)
{
0x18ffff,
Zero,
Zero,
0x10
},
Package(0x4)
{
0x18ffff,
One,
Zero,
0x11
},
Package(0x4)
{
0x18ffff,
0x2,
Zero,
0x12
},
Package(0x4)
{
0x18ffff,
0x3,
Zero,
0x13
},
Package(0x4)
{
0x19ffff,
Zero,
Zero,
0x11
},
Package(0x4)
{
0x19ffff,
One,
Zero,
0x12
},
Package(0x4)
{
0x19ffff,
0x2,
Zero,
0x13
},
Package(0x4)
{
0x19ffff,
0x3,
Zero,
0x14
},
Package(0x4)
{
0x1affff,
Zero,
Zero,
0x12
},
Package(0x4)
{
0x1affff,
One,
Zero,
0x13
},
Package(0x4)
{
0x1affff,
0x2,
Zero,
0x14
},
Package(0x4)
{
0x1affff,
0x3,
Zero,
0x15
},
Package(0x4)
{
0x1bffff,
Zero,
Zero,
0x13
},
Package(0x4)
{
0x1bffff,
One,
Zero,
0x14
},
Package(0x4)
{
0x1bffff,
0x2,
Zero,
0x15
},
Package(0x4)
{
0x1bffff,
0x3,
Zero,
0x16
},
Package(0x4)
{
0x1cffff,
Zero,
Zero,
0x14
},
Package(0x4)
{
0x1cffff,
One,
Zero,
0x15
},
Package(0x4)
{
0x1cffff,
0x2,
Zero,
0x16
},
Package(0x4)
{
0x1cffff,
0x3,
Zero,
0x17
},
Package(0x4)
{
0x1dffff,
Zero,
Zero,
0x15
},
Package(0x4)
{
0x1dffff,
One,
Zero,
0x16
},
Package(0x4)
{
0x1dffff,
0x2,
Zero,
0x17
},
Package(0x4)
{
0x1dffff,
0x3,
Zero,
0x10
},
Package(0x4)
{
0x1effff,
Zero,
Zero,
0x16
},
Package(0x4)
{
0x1effff,
One,
Zero,
0x17
},
Package(0x4)
{
0x1effff,
0x2,
Zero,
0x10
},
Package(0x4)
{
0x1effff,
0x3,
Zero,
0x11
},
Package(0x4)
{
0x1fffff,
Zero,
Zero,
0x17
},
Package(0x4)
{
0x1fffff,
One,
Zero,
0x10
},
Package(0x4)
{
0x1fffff,
0x2,
Zero,
0x11
},
Package(0x4)
{
0x1fffff,
0x3,
Zero,
0x12
}
})
Name(PRSA, Buffer(0x6)
{
0x23, 0x20, 0x0e, 0x18, 0x79, 0x00
})
Name(PRSB, Buffer(0x6)
{
0x23, 0x20, 0x0e, 0x18, 0x79, 0x00
})
Name(PRSC, Buffer(0x6)
{
0x23, 0x20, 0x0e, 0x18, 0x79, 0x00
})
Name(PRSD, Buffer(0x6)
{
0x23, 0x20, 0x0e, 0x18, 0x79, 0x00
})
Device(PCI0)
{
Name(_HID, 0x30ad041)
Method(_ADR, 0x0, NotSerialized)
{
Return(HBCA)
}
Name(_BBN, Zero)
Name(_UID, Zero)
Method(_PRT, 0x0, NotSerialized)
{
If(LEqual(LAnd(PICM, UIOA), Zero))
{
DBG_("RETURNING PIC
")
Store(Zero, ^SBRG.APDE)
Store(Zero, ^SBRG.APAD)
Return(PR00)
}
Else
{
DBG_("RETURNING APIC
")
Store(0xbe, ^SBRG.APDE)
Store(0xef, ^SBRG.APAD)
Return(PR01)
}
}
Device(SBRG)
{
Method(_ADR, 0x0, NotSerialized)
{
Return(IOCA)
}
OperationRegion(PCIC, PCI_Config, Zero, 0xff)
Field(PCIC, ByteAcc, NoLock, Preserve)
{
Offset(0xad),
APAD, 8,
Offset(0xde),
APDE, 8
}
Device(^PCIE)
{
Name(_HID, 0x20cd041)
Name(_UID, 0x11)
Name(CRS_, Buffer(0xe)
{
0x86, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x04,
0x79, 0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateDWordField(CRS_, 0x4, BAS1)
CreateDWordField(CRS_, 0x8, LEN1)
Store(PCIB, BAS1)
Store(PCIL, LEN1)
Return(CRS_)
}
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(PCIB, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
}
Device(PS2K)
{
Name(_HID, 0x303d041)
Method(_STA, 0x0, NotSerialized)
{
Return(0xf)
}
Name(_CRS, Buffer(0x15)
{
0x47, 0x01, 0x60, 0x00, 0x60, 0x00, 0x00, 0x01, 0x47, 0x01, 0x64, 0x00,
0x64, 0x00, 0x00, 0x01, 0x22, 0x02, 0x00, 0x79, 0x00
})
}
Device(DMAC)
{
Name(_HID, 0x2d041)
Name(_CRS, Buffer(0x1d)
{
0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x47, 0x01, 0x80, 0x00,
0x80, 0x00, 0x01, 0x10, 0x47, 0x01, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x20,
0x2a, 0x10, 0x05, 0x79, 0x00
})
}
Device(FDC0)
{
Name(_HID, 0x7d041)
Method(_STA, 0x0, NotSerialized)
{
Return(UFDC)
}
Name(_CRS, Buffer(0x18)
{
0x47, 0x01, 0xf0, 0x03, 0xf0, 0x03, 0x01, 0x06, 0x47, 0x01, 0xf7, 0x03,
0xf7, 0x03, 0x01, 0x01, 0x22, 0x40, 0x00, 0x2a, 0x04, 0x00, 0x79, 0x00
})
Name(_PRS, Buffer(0x18)
{
0x47, 0x01, 0xf0, 0x03, 0xf0, 0x03, 0x01, 0x06, 0x47, 0x01, 0xf7, 0x03,
0xf7, 0x03, 0x01, 0x01, 0x22, 0x40, 0x00, 0x2a, 0x04, 0x00, 0x79, 0x00
})
}
Device(PS2M)
{
Name(_HID, 0x30fd041)
Method(_STA, 0x0, NotSerialized)
{
Return(0xf)
}
Name(_CRS, Buffer(0x5)
{
0x22, 0x00, 0x10, 0x79, 0x00
})
}
Device(^LPT0)
{
Name(_HID, 0x4d041)
Name(_UID, One)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(PP0B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x08, 0x08, 0x22, 0x80, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, PMI0)
CreateWordField(CRS_, 0x4, PMA0)
CreateWordField(CRS_, 0x6, PAL0)
CreateWordField(CRS_, 0x7, PLE0)
CreateWordField(CRS_, 0x9, PIQ0)
Store(PP0B, PMI0)
Store(PP0B, PMA0)
If(LEqual(0x3bc, PP0B))
{
Store(0x4, PAL0)
Store(0x4, PLE0)
}
ShiftLeft(One, PP0I, PIQ0)
Return(CRS_)
}
}
Device(^LPT1)
{
Name(_HID, 0x4d041)
Name(_UID, 0x2)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(PP1B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x08, 0x08, 0x22, 0x20, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, PMI1)
CreateWordField(CRS_, 0x4, PMA1)
CreateWordField(CRS_, 0x6, PAL1)
CreateWordField(CRS_, 0x7, PLE1)
CreateWordField(CRS_, 0x9, PIQ1)
Store(PP1B, PMI1)
Store(PP1B, PMA1)
If(LEqual(0x3bc, PP1B))
{
Store(0x4, PAL1)
Store(0x4, PLE1)
}
ShiftLeft(One, PP1I, PIQ1)
Return(CRS_)
}
}
Device(^SRL0)
{
Name(_HID, 0x105d041)
Name(_UID, One)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(SL0B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, MIN0)
CreateWordField(CRS_, 0x4, MAX0)
CreateWordField(CRS_, 0x9, IRQ0)
Store(SL0B, MIN0)
Store(SL0B, MAX0)
ShiftLeft(One, SL0I, IRQ0)
Return(CRS_)
}
}
Device(^SRL1)
{
Name(_HID, 0x105d041)
Name(_UID, 0x2)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(SL1B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0x08, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, MIN1)
CreateWordField(CRS_, 0x4, MAX1)
CreateWordField(CRS_, 0x9, IRQ1)
Store(SL1B, MIN1)
Store(SL1B, MAX1)
ShiftLeft(One, SL1I, IRQ1)
Return(CRS_)
}
}
Device(^SRL2)
{
Name(_HID, 0x105d041)
Name(_UID, 0x3)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(SL2B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0x08, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, MIN1)
CreateWordField(CRS_, 0x4, MAX1)
CreateWordField(CRS_, 0x9, IRQ1)
Store(SL2B, MIN1)
Store(SL2B, MAX1)
ShiftLeft(One, SL2I, IRQ1)
Return(CRS_)
}
}
Device(^SRL3)
{
Name(_HID, 0x105d041)
Name(_UID, 0x4)
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(SL3B, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0x08, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateWordField(CRS_, 0x2, MIN1)
CreateWordField(CRS_, 0x4, MAX1)
CreateWordField(CRS_, 0x9, IRQ1)
Store(SL3B, MIN1)
Store(SL3B, MAX1)
ShiftLeft(One, SL3I, IRQ1)
Return(CRS_)
}
}
Device(TIMR)
{
Name(_HID, 0x1d041)
Name(_CRS, Buffer(0x12)
{
0x47, 0x01, 0x40, 0x00, 0x40, 0x00, 0x00, 0x04, 0x47, 0x01, 0x50, 0x00,
0x50, 0x00, 0x10, 0x04, 0x79, 0x00
})
}
Device(PIC_)
{
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x15)
{
0x47, 0x01, 0x20, 0x00, 0x20, 0x00, 0x00, 0x02, 0x47, 0x01, 0xa0, 0x00,
0xa0, 0x00, 0x00, 0x02, 0x22, 0x04, 0x00, 0x79, 0x00
})
}
Device(RTC_)
{
Name(_HID, 0xbd041)
Name(_CRS, Buffer(0xa)
{
0x47, 0x01, 0x70, 0x00, 0x70, 0x00, 0x01, 0x02, 0x79, 0x00
})
Method(_STA, 0x0, NotSerialized)
{
Return(URTC)
}
}
Device(HPET)
{
Name(_HID, 0x301d041)
Name(_CID, 0x10cd041)
Name(_UID, Zero)
Method(_STA, 0x0, NotSerialized)
{
Return(UHPT)
}
Name(CRS_, Buffer(0x14)
{
0x22, 0x01, 0x00, 0x22, 0x00, 0x01, 0x86, 0x09, 0x00, 0x01, 0x00, 0x00,
0xd0, 0xfe, 0x00, 0x04, 0x00, 0x00, 0x79, 0x00
})
Method(_CRS, 0x0, NotSerialized)
{
Return(CRS_)
}
}
Device(SMC_)
{
Name(_HID, 0x1001006)
Name(_CID, "smc-napa")
Method(_STA, 0x0, NotSerialized)
{
Return(USMC)
}
Name(CRS_, Buffer(0xd)
{
0x47, 0x01, 0x00, 0x03, 0x00, 0x03, 0x01, 0x20, 0x22, 0x40, 0x00, 0x79,
0x00
})
Method(_CRS, 0x0, NotSerialized)
{
Return(CRS_)
}
}
}
Device(SSD0)
{
Method(_ADR, 0x0, NotSerialized)
{
Return(NVMA)
}
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(NVMA, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Device(PRT0)
{
Name(_ADR, 0xffff)
}
}
Device(GIGE)
{
Name(_HID, 0x9083d041)
Method(_ADR, 0x0, NotSerialized)
{
Return(NICA)
}
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(NICA, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
}
Device(GFX0)
{
Name(_ADR, 0x20000)
Method(_STA, 0x0, NotSerialized)
{
If(LAnd(LGreater(MSWN(), Zero), LLess(MSWN(), 0x8)))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
Scope(\_GPE)
{
Method(_L02, 0x0, NotSerialized)
{
Notify(\_SB_.PCI0.GFX0, 0x81)
}
}
Method(_DOS, 0x1, NotSerialized)
{
}
Method(_DOD, 0x0, NotSerialized)
{
Return(Package(0x1)
{
0x80000100
})
}
Device(VGA_)
{
Method(_ADR, 0x0, Serialized)
{
Return(0x100)
}
}
}
Device(HDEF)
{
Method(_DSM, 0x4, NotSerialized)
{
Store(Package(0x4)
{
"layout-id",
Buffer(0x4)
{
0x04, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer(Zero)
{
}
}, Local0)
If(LEqual(Arg0, Buffer(0x10)
{
0xc6, 0xb7, 0xb5, 0xa0, 0x18, 0x13, 0x1c, 0x44, 0xb0, 0xc9, 0xfe, 0x69,
0x5e, 0xaf, 0x94, 0x9b
}))
{
If(LEqual(Arg1, One))
{
If(LEqual(Arg2, Zero))
{
Store(Buffer(One)
{
0x03
}, Local0)
Return(Local0)
}
If(LEqual(Arg2, One))
{
Return(Local0)
}
}
}
Store(Buffer(One)
{
0x00
}, Local0)
Return(Local0)
}
Method(_ADR, 0x0, NotSerialized)
{
Return(HDAA)
}
Method(_STA, 0x0, NotSerialized)
{
If(LEqual(HDAA, Zero))
{
Return(Zero)
}
Else
{
Return(0xf)
}
}
}
Device(BAT0)
{
Name(_HID, 0xa0cd041)
Name(_UID, Zero)
Scope(\_GPE)
{
Method(_L00, 0x0, NotSerialized)
{
Notify(\_SB_.PCI0.BAT0, 0x80)
Notify(\_SB_.PCI0.AC__, 0x80)
}
}
OperationRegion(CBAT, SystemIO, 0x4040, 0x8)
Field(CBAT, DWordAcc, NoLock, Preserve)
{
IDX0, 32,
DAT0, 32
}
IndexField(IDX0, DAT0, DWordAcc, NoLock, Preserve)
{
STAT, 32,
PRAT, 32,
RCAP, 32,
PVOL, 32,
UNIT, 32,
DCAP, 32,
LFCP, 32,
BTEC, 32,
DVOL, 32,
DWRN, 32,
DLOW, 32,
GRN1, 32,
GRN2, 32,
BSTA, 32,
APSR, 32
}
Method(_STA, 0x0, NotSerialized)
{
Return(BSTA)
}
Name(PBIF, Package(0xd)
{
One,
0x7fffffff,
0x7fffffff,
Zero,
0xffffffff,
Zero,
Zero,
0x4,
0x4,
"1",
"0",
"VBOX",
"innotek"
})
Name(PBST, Package(0x4)
{
Zero,
0x7fffffff,
0x7fffffff,
0x7fffffff
})
Method(_BIF, 0x0, NotSerialized)
{
Store(UNIT, Index(PBIF, Zero, ))
Store(DCAP, Index(PBIF, One, ))
Store(LFCP, Index(PBIF, 0x2, ))
Store(BTEC, Index(PBIF, 0x3, ))
Store(DVOL, Index(PBIF, 0x4, ))
Store(DWRN, Index(PBIF, 0x5, ))
Store(DLOW, Index(PBIF, 0x6, ))
Store(GRN1, Index(PBIF, 0x7, ))
Store(GRN2, Index(PBIF, 0x8, ))
DBG_("_BIF:")
HEX4(DerefOf(Index(PBIF, Zero, )))
HEX4(DerefOf(Index(PBIF, One, )))
HEX4(DerefOf(Index(PBIF, 0x2, )))
HEX4(DerefOf(Index(PBIF, 0x3, )))
HEX4(DerefOf(Index(PBIF, 0x4, )))
HEX4(DerefOf(Index(PBIF, 0x5, )))
HEX4(DerefOf(Index(PBIF, 0x6, )))
HEX4(DerefOf(Index(PBIF, 0x7, )))
HEX4(DerefOf(Index(PBIF, 0x8, )))
Return(PBIF)
}
Method(_BST, 0x0, NotSerialized)
{
Store(STAT, Index(PBST, Zero, ))
Store(PRAT, Index(PBST, One, ))
Store(RCAP, Index(PBST, 0x2, ))
Store(PVOL, Index(PBST, 0x3, ))
Return(PBST)
}
}
Device(AC__)
{
Name(_HID, "ACPI0003")
Name(_UID, Zero)
Name(_PCL, Package(0x1)
{
_SB_
})
Method(_PSR, 0x0, NotSerialized)
{
Return(^^BAT0.APSR)
}
Method(_STA, 0x0, NotSerialized)
{
Return(0xf)
}
}
}
}
Scope(_SB_)
{
Scope(PCI0)
{
Name(CRS_, Buffer(0x6e)
{
0x88, 0x0d, 0x00, 0x02, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
0x00, 0x00, 0x00, 0x01, 0x47, 0x01, 0xf8, 0x0c, 0xf8, 0x0c, 0x01, 0x08,
0x88, 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x0c,
0x00, 0x00, 0xf8, 0x0c, 0x88, 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00,
0x00, 0x0d, 0xff, 0xff, 0x00, 0x00, 0x00, 0xf3, 0x87, 0x17, 0x00, 0x00,
0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0xff, 0xff,
0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x17,
0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e,
0x79, 0x00
})
Name(TOM_, Buffer(0x30)
{
0x8a, 0x2b, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x79, 0x00
})
Method(_CRS, 0x0, NotSerialized)
{
CreateDWordField(CRS_, 0x5c, RAMT)
CreateDWordField(CRS_, 0x68, RAMR)
Store(MEML, RAMT)
Subtract(0xfe000000, RAMT, RAMR)
If(LNot(LEqual(PMNN, Zero)))
{
If(LOr(LLess(MSWN(), One), LGreater(MSWN(), 0x6)))
{
CreateQWordField(TOM_, 0xe, TM4N)
CreateQWordField(TOM_, 0x16, TM4X)
CreateQWordField(TOM_, 0x26, TM4L)
Multiply(PMNN, 0x10000, TM4N)
Subtract(Multiply(PMNX, 0x10000, ), One, TM4X)
Add(Subtract(TM4X, TM4N, ), One, TM4L)
ConcatenateResTemplate(CRS_, TOM_, Local2)
Return(Local2)
}
}
Return(CRS_)
}
Method(_OSC, 0x4, NotSerialized)
{
Name(SUPP, Zero)
Name(CTRL, Zero)
CreateDWordField(Arg3, Zero, CDW1)
CreateDWordField(Arg3, 0x4, CDW2)
CreateDWordField(Arg3, 0x8, CDW3)
If(LEqual(Arg0, Buffer(0x10)
{
0x5b, 0x4d, 0xdb, 0x33, 0xf7, 0x1f, 0x1c, 0x40, 0x96, 0x57, 0x74, 0x41,
0xc0, 0x3d, 0xd7, 0x66
}))
{
Store(CDW2, SUPP)
Store(CDW3, CTRL)
DBG_("_OSC: SUPP=")
HEX4(SUPP)
DBG_(" CTRL=")
HEX4(CTRL)
DBG_("
")
And(CTRL, 0xf, CTRL)
If(LNot(LEqual(CDW3, CTRL)))
{
Or(CDW1, 0x10, CDW1)
}
Store(CTRL, CDW3)
Return(Arg3)
}
Else
{
Or(CDW1, 0x4, CDW1)
Return(Arg3)
}
}
}
}
Scope(_SB_)
{
Field(PCI0.SBRG.PCIC, ByteAcc, NoLock, Preserve)
{
Offset(0x60),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
Name(BUFA, Buffer(0x6)
{
0x23, 0x00, 0x80, 0x18, 0x79, 0x00
})
CreateWordField(BUFA, One, ICRS)
Method(LSTA, 0x1, NotSerialized)
{
And(Arg0, 0x80, Local0)
If(Local0)
{
Return(0x9)
}
Else
{
Return(0xb)
}
}
Method(LCRS, 0x1, NotSerialized)
{
And(Arg0, 0xf, Local0)
ShiftLeft(One, Local0, ICRS)
Return(BUFA)
}
Method(LSRS, 0x1, NotSerialized)
{
CreateWordField(Arg0, One, ISRS)
FindSetRightBit(ISRS, Local0)
Return(Decrement(Local0))
}
Method(LDIS, 0x1, NotSerialized)
{
Return(Or(Arg0, 0x80, ))
}
Device(LNKA)
{
Name(_HID, 0xf0cd041)
Name(_UID, One)
Method(_STA, 0x0, NotSerialized)
{
DBG_("LNKA._STA
")
Return(LSTA(PIRA))
}
Method(_PRS, 0x0, NotSerialized)
{
DBG_("LNKA._PRS")
Return(PRSA)
}
Method(_DIS, 0x0, NotSerialized)
{
DBG_("LNKA._DIS")
Store(LDIS(PIRA), PIRA)
}
Method(_CRS, 0x0, NotSerialized)
{
DBG_("LNKA._CRS")
Return(LCRS(PIRA))
}
Method(_SRS, 0x1, NotSerialized)
{
DBG_("LNKA._SRS: ")
HEX_(LSRS(Arg0))
Store(LSRS(Arg0), PIRA)
}
}
Device(LNKB)
{
Name(_HID, 0xf0cd041)
Name(_UID, 0x2)
Method(_STA, 0x0, NotSerialized)
{
Return(LSTA(PIRB))
}
Method(_PRS, 0x0, NotSerialized)
{
Return(PRSB)
}
Method(_DIS, 0x0, NotSerialized)
{
Store(LDIS(PIRB), PIRB)
}
Method(_CRS, 0x0, NotSerialized)
{
Return(LCRS(PIRB))
}
Method(_SRS, 0x1, NotSerialized)
{
DBG_("LNKB._SRS: ")
HEX_(LSRS(Arg0))
Store(LSRS(Arg0), PIRB)
}
}
Device(LNKC)
{
Name(_HID, 0xf0cd041)
Name(_UID, 0x3)
Method(_STA, 0x0, NotSerialized)
{
Return(LSTA(PIRC))
}
Method(_PRS, 0x0, NotSerialized)
{
Return(PRSC)
}
Method(_DIS, 0x0, NotSerialized)
{
Store(LDIS(PIRC), PIRC)
}
Method(_CRS, 0x0, NotSerialized)
{
Return(LCRS(PIRC))
}
Method(_SRS, 0x1, NotSerialized)
{
DBG_("LNKC._SRS: ")
HEX_(LSRS(Arg0))
Store(LSRS(Arg0), PIRC)
}
}
Device(LNKD)
{
Name(_HID, 0xf0cd041)
Name(_UID, 0x4)
Method(_STA, 0x0, NotSerialized)
{
Return(LSTA(PIRD))
}
Method(_PRS, 0x0, NotSerialized)
{
Return(PRSD)
}
Method(_DIS, 0x0, NotSerialized)
{
Store(LDIS(PIRA), PIRD)
}
Method(_CRS, 0x0, NotSerialized)
{
Return(LCRS(PIRD))
}
Method(_SRS, 0x1, NotSerialized)
{
DBG_("LNKD._SRS: ")
HEX_(LSRS(Arg0))
Store(LSRS(Arg0), PIRD)
}
}
}
Device(UW00)
{
Name(_HID, "UWINGS")
Name(_UID, 0)
Method(UMT0, 1) {
DBG_("UWING TEST1")
}
Method(UMT1, 0) {
DBG_("UWING TEST2")
}
}
Device(AMW0)
{
// pnp0c14 is pnp id assigned to WMI mapper
Name(_HID, "*pnp0c14")
Name(_UID, 0x0)
//
// Description of data, events and methods supported by this ASL device.
Name(_WDG, Buffer(){
//
// Query - Set Guids.
//
// {ABBC0F6a-8EA1-11d1-00A0-C90629100000}
// Query - Set Package Guid
0x6a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
65, 65, // Object Id (AA)
4, // Instance Count
0x01, // Flags (WMIACPI_REGFLAG_EXPENSIVE)
// {ABBC0F6b-8EA1-11d1-00A0-C90629100000}
// Query - Set String Guid
0x6b, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
65, 66, // Object Id (AB)
4, // Instance Count
0x05, // Flags (WMIACPI_REGFLAG_EXPENSIVE |
// WMIACPI_REGFLAG_STRING)
// Query - Set ULONG Guid
// {ABBC0F6c-8EA1-11d1-00A0-C90629100000}
0x6c, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
65, 67, // Object Id (AC)
4, // Instance Count
0x01, // Flags (WMIACPI_REGFLAG_EXPENSIVE)
//
// Method Guids
// Method Id 1 is get with no input
// Method Id 2 is set with no output
// Method Id 3 is fire event
// Package
// {ABBC0F6d-8EA1-11d1-00A0-C90629100000}
0x6d, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
66, 65, // Object Id (BA)
4, // Instance Count
0x02, // Flags (WMIACPI_REGFLAG_METHOD)
// String
// {ABBC0F6e-8EA1-11d1-00A0-C90629100000}
0x6e, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
66, 66, // Object Id (BB)
4, // Instance Count
0x06, // Flags (WMIACPI_REGFLAG_METHOD)
// WMIACPI_REGFLAG_STRING)
// ULONG
// {ABBC0F6f-8EA1-11d1-00A0-C90629100000}
0x6f, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
66, 67, // Object Id (BC)
4, // Instance Count
0x02, // Flags (WMIACPI_REGFLAG_METHOD)
//
// Event Guids
// Package
// {ABBC0F70-8EA1-11d1-00A0-C90629100000}
0x70, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
0xd0, 0, // Notification Id
1, // Instance Count
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
// String
// {ABBC0F71-8EA1-11d1-00A0-C90629100000}
0x71, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
0xd1, 0, // Notification Id
1, // Instance Count
0x0c, // Flags (WMIACPI_REGFLAG_EVENT)
// WMIACPI_REGFLAG_STRING)
// ULONG
// {ABBC0F72-8EA1-11d1-00A0-C90629100000}
0x72, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
0xd2, 0, // Notification Id
1, // Instance Count
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
// This GUID WMI_BMOF for return the MOF data
// {05901221-D566-11D1-B2F0-00A0C9062910}
0x21, 0x12, 0x90, 0x05, 0x66, 0xd5, 0xd1, 0x11, 0xb2, 0xf0, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, //
67, 67, // Object ID (CC), Return BMOF
1, // Instance Count
0x00 // Flags
})
// Storage for 4 instances of Package
Name(SAA0, Buffer(0x10)
{
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
})
Name(SAA1, Buffer(0x10)
{
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
})
Name(SAA2, Buffer(0x10)
{
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
})
Name(SAA3, Buffer(0x10)
{
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
})
// Storage for 4 instances of string
// Maximum length for string is 80 chars
Name(SAB0, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
Name(SAB1, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
Name(SAB2, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
Name(SAB3, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
// Storage for 4 instances of ULONG
Name(SAC0, 0)
Name(SAC1, 1)
Name(SAC2, 2)
Name(SAC3, 3)
// Collection Control flags
Name(CCAA, 0)
Name(CCAB, 0)
Name(CCAC, 0)
// Event Control flags
Name(ECD0, 0)
Name(ECD1, 0)
Name(ECD2, 0)
// Collection control for AA
// Arg0 has 0 for disable, non 0 for enable
Method(WCAA, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(CCAA, Zero))
{
// ERROR - Collection Control was already disabled
Name(Foo, "WMIACPI: ASL: WCAA called, but CCAA is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 14, 0)
}
} else {
// We are enabling
if (LNotEqual(CCAA, Zero))
{
// ERROR - Collection Control was already enabled
Name(Foo1, "WMIACPI: ASL: WCAA called, but CCAA is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 13, 0)
}
}
Store(Arg0, CCAA)
}
// Collection control for AB
// Arg0 has 0 for disable, non 0 for enable
Method(WCAB, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(CCAB, Zero))
{
// ERROR - Collection Control was already disabled
Name(Foo, "WMIACPI: ASL: WCAB called, but CCAB is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 16, 0)
}
} else {
// We are enabling
if (LNotEqual(CCAB, Zero))
{
// ERROR - Collection Control was already enabled
Name(Foo1, "WMIACPI: ASL: WCAB called, but CCAB is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 15, 0)
}
}
Store(Arg0, CCAB)
}
// Collection control for AC
// Arg0 has 0 for disable, non 0 for enable
Method(WCAC, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(CCAC, Zero))
{
// ERROR - Collection Control was already disabled
Name(Foo, "WMIACPI: ASL: WCAC called, but CCAC is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 18, 0)
}
} else {
// We are enabling
if (LNotEqual(CCAC, Zero))
{
// ERROR - Collection Control was already enabled
Name(Foo1, "WMIACPI: ASL: WCAC called, but CCAC is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 17, 0)
}
}
Store(Arg0, CCAC)
}
// Event control for D0
// Arg0 has 0 for disable, non 0 for enable
Method(WED0, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(ECD0, Zero))
{
// ERROR - Event Control was already disabled
Name(Foo, "WMIACPI: ASL: WED0 called, but ECD0 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 20, 0)
}
} else {
// We are enabling
if (LNotEqual(ECD0, Zero))
{
// ERROR - Event Control was already enabled
Name(Foo1, "WMIACPI: ASL: WED0 called, but WED0 is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 19, 0)
}
}
Store(Arg0, ECD0)
}
// Event control for D1
// Arg0 has 0 for disable, non 0 for enable
Method(WED1, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(ECD1, Zero))
{
// ERROR - Event Control was already disabled
Name(Foo, "WMIACPI: ASL: WED1 called, but ECD1 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 22, 0)
}
} else {
// We are enabling
if (LNotEqual(ECD1, Zero))
{
// ERROR - Event Control was already enabled
Name(Foo1, "WMIACPI: ASL: WED1 called, but WED1 is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 21, 0)
}
}
Store(Arg0, ECD1)
}
// Event control for D2
// Arg0 has 0 for disable, non 0 for enable
Method(WED2, 1) {
if (LEqual(Arg0, Zero))
{
// We are disabling
if (LEqual(ECD2, Zero))
{
// ERROR - Event Control was already disabled
Name(Foo, "WMIACPI: ASL: WED2 called, but ECD2 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 24, 0)
}
} else {
// We are enabling
if (LNotEqual(ECD2, Zero))
{
// ERROR - Event Control was already enabled
Name(Foo1, "WMIACPI: ASL: WED2 called, but WED2 is 1\n")
Store(Foo1, Debug)
Fatal(0xa0, 23, 0)
}
}
Store(Arg0, ECD2)
}
// Get value for package A
Method(GETA, 1)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Return(SAA0)
}
if (LEqual(Arg0, 1)) {
Return(SAA1)
}
if (LEqual(Arg0, 2)) {
Return(SAA2)
}
if (LEqual(Arg0, 3)) {
Return(SAA3)
}
Name(Foo, "WMIACPI: ASL: GETA called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 2, 0)
}
// Get value for package A
Method(GETB, 1)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Return(SAB0)
}
if (LEqual(Arg0, 1)) {
Return(SAB1)
}
if (LEqual(Arg0, 2)) {
Return(SAB2)
}
if (LEqual(Arg0, 3)) {
Return(SAB3)
}
Name(Foo, "WMIACPI: ASL: GETB called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 4, 0)
}
Method(GETC, 1)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Return(SAC0)
}
if (LEqual(Arg0, 1)) {
Return(SAC1)
}
if (LEqual(Arg0, 2)) {
Return(SAC2)
}
if (LEqual(Arg0, 3)) {
Return(SAC3)
}
Name(Foo, "WMIACPI: ASL: GETC called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 6, 0)
}
//
// Package Query data block
// Arg0 has the instance being queried
Method(WQAA, 1) {
if (LEqual(CCAA, Zero))
{
// ERROR - Collection Control was not enabled
Name(Foo, "WMIACPI: ASL: WQAA called, but CCAA is 0\n")
Store(Foo, Debug)
Name(Foo1, "aa")
Store(Debug, Foo1)
Fatal(0xa0, 1, 0)
}
Return(GETA(Arg0))
}
//
// String Query data block
// Arg0 has the instance being queried
Method(WQAB, 1) {
if (LEqual(CCAB, Zero))
{
// ERROR - Collection Control was not enabled
Name(Foo, "WMIACPI: ASL: WQAB called, but CCAB is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 3, 0)
}
Return(GETB(Arg0))
}
//
// ULONG Query data block
// Arg0 has the instance being queried
Method(WQAC, 1) {
if (LEqual(CCAC, Zero))
{
// ERROR - Collection Control was not enabled
Name(Foo, "WMIACPI: ASL: WQAC called, but CCAC is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 5, 0)
}
Return(GETC(Arg0))
}
Method(SETA, 2)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Store(Arg1, SAA0)
Return(SAA0)
}
if (LEqual(Arg0, 1)) {
Store(Arg1, SAA1)
Return(SAA1)
}
if (LEqual(Arg0, 2)) {
Store(Arg1, SAA2)
Return(SAA2)
}
if (LEqual(Arg0, 3)) {
Store(Arg1, SAA3)
Return(SAA3)
}
Name(Foo, "WMIACPI: ASL: SETA called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 8, 0)
}
Method(SETB, 2)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Store(Arg1, SAB0)
Return(SAB0)
}
if (LEqual(Arg0, 1)) {
Store(Arg1, SAB1)
Return(SAB1)
}
if (LEqual(Arg0, 2)) {
Store(Arg1, SAB2)
Return(SAB2)
}
if (LEqual(Arg0, 3)) {
Store(Arg1, SAB3)
Return(SAB3)
}
Name(Foo, "WMIACPI: ASL: SETB called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 10, 0)
}
Method(SETC, 2)
{
//
// Return data corresponding to instance specified
if (LEqual(Arg0, Zero)) {
Store(Arg1, SAC0)
Return(SAC0)
}
if (LEqual(Arg0, 1)) {
Store(Arg1, SAC1)
Return(SAC1)
}
if (LEqual(Arg0, 2)) {
Store(Arg1, SAC2)
Return(SAC2)
}
if (LEqual(Arg0, 3)) {
Store(Arg1, SAC3)
Return(SAC3)
}
Name(Foo, "WMIACPI: ASL: SETC called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 12, 0)
}
//
// Set Data Block - Package
// Arg0 has the instance being queried
// Arg1 has the new value for the data block instance
Method(WSAA, 2) {
if (LEqual(CCAA, Zero))
{
// ERROR - Collection Control was not enabled
Name(Foo, "WMIACPI: ASL: WSAA called, but CCAA is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 7, 0)
}
Return(SETA(Arg0, Arg1))
}
//
// Set Data Block - String
// Arg0 has the instance being queried
// Arg1 has the new value for the data block instance
Method(WSAB, 2) {
if (LEqual(CCAB, Zero))
{
// ERROR - Collection Control was not enabled
Name(Foo, "WMIACPI: ASL: WSAB called, but CCAB is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 9, 0)
}
Return(SETB(Arg0, Arg1))
}
//
// Set Data Block - ULONG
// Arg0 has the instance being queried
// Arg1 has the new value for the data block instance
Method(WSAC, 2) {
if (LEqual(CCAC, Zero))
{
// ERROR - Collection Control was not enACled
Name(Foo, "WMIACPI: ASL: WSAC called, but CCAC is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 11, 0)
}
Return(SETC(Arg0, Arg1))
}
//
// Validate that instance index is between 0 and 3
Method(VINS, 1)
{
if (LLess(Arg0, Zero))
{
Name(Foo, "WMIACPI: ASL: VINS called with InstanceIndex = ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 27, 0)
}
if (LGreater(Arg0, 3))
{
Name(Foo1, "WMIACPI: ASL: VINS called with InstanceIndex = ")
Store(Foo1, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 28, 0)
}
}
//
// Package Method data block
// Arg0 has the instance being queried
// Arg1 has the method id
// Arg2 has the data passed
Method(WMBA, 3) {
// MethodId 1 - Get
if (LEqual(Arg1, 1))
{
Return(GETA(Arg0))
}
// MethodId 2 - Set
if (LEqual(Arg1, 2))
{
SETA(Arg0, Arg2)
Return(0)
}
// MethodId 3 - Event Generate
if (LEqual(Arg1, 3))
{
VINS(Arg0)
if (LEqual(ECD0, Zero))
{
// ERROR - Event Control was not enabled
Name(Foo, "WMIACPI: ASL: WMBA called, but ECD0 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 25, 0)
}
Notify(AMW0, 0xd0)
Return(0)
}
Name(Foo1, "WMIACPI: ASL: WMBA passed method id ")
Store(Foo1, Debug)
Store(Arg1, Debug)
Fatal(0xa0, 26, 0)
}
//
// String Method data block
// Arg0 has the instance being queried
// Arg1 has the method id
// Arg2 has the data passed
Method(WMBB, 3) {
// MethodId 1 - Get
if (LEqual(Arg1, 1))
{
Return(GETB(Arg0))
}
// MethodId 2 - Set
if (LEqual(Arg1, 2))
{
SETB(Arg0, Arg2)
Return(0)
}
// MethodId 3 - Event Generate
if (LEqual(Arg1, 3))
{
VINS(Arg0)
if (LEqual(ECD1, Zero))
{
// ERROR - Event Control was not enabled
Name(Foo, "WMIACPI: ASL: WMBB called, but ECD1 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 29, 0)
}
Notify(AMW0, 0xd1)
Return(0)
}
Name(Foo1, "WMIACPI: ASL: WMBB passed method id ")
Store(Foo1, Debug)
Store(Arg1, Debug)
Fatal(0xa0, 30, 0)
}
//
// ULONG Method data block
// Arg0 has the instance being queried
// Arg1 has the method id
// Arg2 has the data passed
Method(WMBC, 3) {
// MethodId 1 - Get
if (LEqual(Arg1, 1))
{
Return(GETC(Arg0))
}
// MethodId 2 - Set
if (LEqual(Arg1, 2))
{
SETC(Arg0, Arg2)
Return(0)
}
// MethodId 3 - Event Generate
if (LEqual(Arg1, 3))
{
VINS(Arg0)
if (LEqual(ECD2, Zero))
{
// ERROR - Event Control was not enabled
Name(Foo, "WMIACPI: ASL: WMBC called, but ECD2 is 0\n")
Store(Foo, Debug)
Fatal(0xa0, 31, 0)
}
Notify(AMW0, 0xd2)
Return(0)
}
Name(Foo1 , "WMIACPI: ASL: WMBC passed method id ")
Store(Foo1, Debug)
Store(Arg1, Debug)
Fatal(0xa0 , 32, 0)
}
//
// More info about an event
// Arg0 is the event id that was fired
Method(_WED, 1)
{
if (LEqual(Arg0, 0xd0))
{
Return(GETA(0))
}
if (LEqual(Arg0, 0xd1))
{
Return(GETB(0))
}
if (LEqual(Arg0, 0xd2))
{
Return(GETC(0))
}
Name(Foo, "WMIACPI: ASL: _WED passed event code ")
Store(Foo, Debug)
Store(Arg0, Debug)
Fatal(0xa0, 33, 0)
}
Name(WQCC, Buffer() {
0x46, 0x4f, 0x4d, 0x42, 0x01, 0x00, 0x00, 0x00, 0x8e, 0x08, 0x00, 0x00, 0x3c, 0x42, 0x00, 0x00,
0x44, 0x53, 0x00, 0x01, 0x1a, 0x7d, 0xda, 0x54, 0x18, 0x54, 0xa0, 0x00, 0x01, 0x06, 0x18, 0x42,
0x10, 0x17, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, 0xa1, 0xc8, 0x2c, 0x0c, 0x86, 0x10, 0x38, 0x2e,
0x84, 0x1c, 0x40, 0x48, 0x1c, 0x14, 0x4a, 0x08, 0x84, 0xfa, 0x13, 0xc8, 0xaf, 0x00, 0x84, 0x0e,
0x05, 0xc8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, 0x11, 0xf4, 0x2a, 0xc0, 0xa6, 0x00, 0x93, 0x02,
0x2c, 0x0a, 0xd0, 0x2e, 0xc0, 0xb2, 0x00, 0xdd, 0x02, 0xa4, 0xc3, 0x12, 0x91, 0xe0, 0x28, 0x31,
0xe0, 0x28, 0x9d, 0xd8, 0xc2, 0x0d, 0x1b, 0xbc, 0x50, 0x14, 0xcd, 0x20, 0x4a, 0x82, 0xca, 0x05,
0xf8, 0x46, 0x10, 0x78, 0xb9, 0x02, 0x24, 0x4f, 0x40, 0x9a, 0x05, 0x18, 0x16, 0x60, 0x5d, 0x80,
0xec, 0x21, 0x50, 0xa9, 0x43, 0x40, 0xc9, 0x19, 0x02, 0x6a, 0x00, 0xad, 0x4e, 0x40, 0xf8, 0x95,
0x4e, 0x09, 0x49, 0x10, 0xce, 0x58, 0xc5, 0xe3, 0x6b, 0x16, 0x4d, 0xcf, 0x49, 0xce, 0x31, 0xe4,
0x78, 0x5c, 0xe8, 0x41, 0x70, 0x81, 0x0b, 0x35, 0x81, 0xe4, 0x0f, 0x59, 0x92, 0x60, 0x50, 0x12,
0xc6, 0x42, 0x47, 0x4e, 0x80, 0xe9, 0x48, 0xd9, 0x80, 0x0c, 0x51, 0xda, 0xa8, 0xd1, 0x03, 0x3a,
0xbf, 0x23, 0x39, 0xbb, 0xa3, 0x3b, 0x92, 0x04, 0x46, 0x3d, 0xa6, 0x63, 0x2c, 0x6c, 0x46, 0x42,
0x8d, 0xd1, 0x1c, 0x14, 0x09, 0x37, 0x68, 0xb4, 0x44, 0x58, 0x8d, 0x2b, 0xf6, 0x99, 0x59, 0xf8,
0xb0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xb0, 0x16, 0x0d, 0x23, 0xb4, 0x82, 0xe0, 0x34, 0x88, 0xa3,
0x88, 0x12, 0x86, 0xe1, 0x19, 0x33, 0xd0, 0x51, 0x32, 0xa4, 0x30, 0x41, 0x4f, 0x20, 0xc8, 0xc9,
0x33, 0x2c, 0x43, 0x9c, 0x01, 0xc7, 0x8a, 0x11, 0x2a, 0x24, 0x66, 0x20, 0xc1, 0xff, 0xff, 0x27,
0xd0, 0x35, 0x86, 0x3c, 0x03, 0x91, 0x7b, 0xc0, 0x09, 0x04, 0x89, 0x1e, 0x25, 0xb8, 0x71, 0x8d,
0xca, 0xc6, 0x74, 0x36, 0xb8, 0x81, 0x99, 0x20, 0xce, 0xe1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xf1,
0x63, 0x87, 0x4f, 0x60, 0xf7, 0xc7, 0x01, 0x29, 0x44, 0xd0, 0x85, 0xe0, 0x4c, 0x6b, 0x14, 0xa0,
0x0d, 0x43, 0xb6, 0x0e, 0x0f, 0x3a, 0x0b, 0xc4, 0x6a, 0x0c, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31,
0x58, 0x84, 0x50, 0xf1, 0x8c, 0x7a, 0xce, 0x41, 0xa2, 0x56, 0x06, 0x22, 0xb4, 0x60, 0x46, 0x60,
0xf6, 0x07, 0x41, 0x42, 0x9d, 0x07, 0xf4, 0x23, 0xb0, 0x24, 0x10, 0x19, 0xd9, 0x52, 0x02, 0x72,
0x58, 0xf0, 0x70, 0x3c, 0x93, 0xe6, 0x67, 0xa6, 0x51, 0x31, 0x09, 0x80, 0xd2, 0x00, 0x22, 0x51,
0x27, 0x0b, 0x4a, 0x60, 0x29, 0x27, 0x03, 0x62, 0x7b, 0x5c, 0xba, 0x06, 0x1c, 0xe0, 0xa9, 0xfb,
0x6e, 0x70, 0x66, 0xfe, 0x68, 0x78, 0x0b, 0x3e, 0x23, 0xf0, 0x31, 0x78, 0xa8, 0x87, 0x10, 0xf0,
0x08, 0xd9, 0x21, 0xc1, 0x80, 0x78, 0xef, 0xb7, 0x02, 0x32, 0x17, 0x03, 0xb2, 0x83, 0xc2, 0xf3,
0x01, 0x58, 0x26, 0x79, 0x9a, 0xc7, 0x50, 0xf1, 0xd4, 0x10, 0x47, 0x02, 0x3e, 0x95, 0x93, 0x62,
0x27, 0x0c, 0x3e, 0x3a, 0x3e, 0x0a, 0x9f, 0x1d, 0x4e, 0xbb, 0xd8, 0x23, 0x04, 0x95, 0x75, 0x8c,
0x40, 0xcf, 0xfd, 0x08, 0x03, 0xbe, 0x34, 0x34, 0x7b, 0xd5, 0x20, 0x04, 0xaf, 0x03, 0xbe, 0x31,
0xf8, 0x54, 0xe2, 0x13, 0x05, 0xfe, 0x58, 0x02, 0x07, 0xfb, 0x71, 0x01, 0xf3, 0xff, 0x1f, 0xa3,
0x4f, 0x25, 0xc0, 0x63, 0x04, 0x5c, 0xf8, 0xd3, 0xc3, 0x04, 0x0a, 0xf1, 0x12, 0x90, 0x54, 0x18,
0xd4, 0xb9, 0xc0, 0x07, 0x10, 0xb8, 0x92, 0xe0, 0x50, 0xe3, 0xf3, 0x21, 0xe0, 0xe4, 0x0f, 0xf3,
0x44, 0xde, 0x0f, 0x3c, 0xb8, 0x27, 0x11, 0x18, 0xe7, 0x04, 0x4f, 0xeb, 0xa4, 0x7c, 0x43, 0x79,
0x9e, 0xf0, 0xd5, 0xc2, 0x04, 0x3e, 0x2c, 0x30, 0x34, 0x7e, 0x2c, 0x01, 0xeb, 0x41, 0x03, 0x77,
0x4e, 0x80, 0x3b, 0xeb, 0x77, 0x12, 0x0c, 0x56, 0xa8, 0x18, 0x46, 0x35, 0x46, 0x94, 0x46, 0xc7,
0xad, 0x51, 0x79, 0x86, 0x7d, 0x4d, 0x44, 0x28, 0xa1, 0x0c, 0xfb, 0x38, 0x82, 0x3f, 0x83, 0x80,
0x0d, 0xfa, 0x19, 0x04, 0xec, 0x31, 0x15, 0x40, 0xb4, 0x00, 0xa2, 0x48, 0xa3, 0xa1, 0xff, 0xff,
0x33, 0x08, 0x3f, 0x16, 0xf8, 0x48, 0xf0, 0x04, 0xe3, 0x4b, 0x85, 0x41, 0x0e, 0xec, 0xb4, 0x1e,
0x18, 0x9e, 0x07, 0x3c, 0x72, 0x76, 0x51, 0xf0, 0xc1, 0xc2, 0x07, 0x04, 0xfc, 0x0c, 0x03, 0x1e,
0xe8, 0xc3, 0x07, 0xac, 0x43, 0x08, 0x7e, 0x44, 0x8f, 0x18, 0xb0, 0xc7, 0xe3, 0x7b, 0x11, 0x9b,
0xf0, 0xd3, 0x10, 0x19, 0x04, 0x6a, 0x64, 0x86, 0xf6, 0x48, 0x4f, 0xeb, 0x7d, 0xc0, 0xc7, 0x23,
0x13, 0xf8, 0xe4, 0xe1, 0x4d, 0x6a, 0x3c, 0x40, 0xe0, 0x5e, 0xf2, 0x98, 0xe1, 0x4b, 0x83, 0xe7,
0x6b, 0x48, 0x1d, 0x2e, 0x64, 0x63, 0x3c, 0xa8, 0x51, 0xf8, 0x02, 0xc3, 0x09, 0x1c, 0x1c, 0x42,
0x47, 0x00, 0x9f, 0x65, 0x80, 0xe7, 0xc7, 0x4c, 0x87, 0x0a, 0x90, 0xdc, 0x38, 0x0c, 0x06, 0x67,
0x00, 0xb8, 0x01, 0xe3, 0xfe, 0xff, 0x03, 0xe6, 0x98, 0x27, 0x5c, 0x35, 0xbc, 0xee, 0x01, 0x56,
0x77, 0x71, 0x81, 0x70, 0xd6, 0xc1, 0x1e, 0x63, 0xe0, 0x9d, 0x0b, 0x3c, 0x9a, 0x93, 0x39, 0x8b,
0x17, 0x0e, 0x86, 0xf7, 0xc2, 0xf1, 0xfc, 0xe2, 0x31, 0xe0, 0x0f, 0x33, 0xc0, 0x47, 0xee, 0x49,
0x06, 0x25, 0xf0, 0x30, 0x03, 0x50, 0xe2, 0x18, 0x82, 0x1f, 0x0b, 0xee, 0xff, 0x7f, 0x98, 0x81,
0x7f, 0x6b, 0x78, 0x98, 0x01, 0x7b, 0xb8, 0xc3, 0x0c, 0x40, 0x93, 0x97, 0x8b, 0x07, 0x8e, 0x1b,
0x85, 0x8f, 0x20, 0xbe, 0x5c, 0x9a, 0xc0, 0x81, 0x0f, 0x33, 0x40, 0xeb, 0xff, 0x7f, 0x98, 0x01,
0x5e, 0xe7, 0x01, 0xf0, 0x9d, 0x5a, 0x70, 0x07, 0x19, 0xb0, 0x21, 0x9c, 0x02, 0xee, 0x1c, 0x03,
0x7c, 0x0e, 0x78, 0x3c, 0xc2, 0x2b, 0x40, 0xe2, 0x60, 0x50, 0xe7, 0x18, 0xc0, 0xd5, 0x09, 0xf5,
0x19, 0x01, 0xe6, 0xff, 0xff, 0x1c, 0x03, 0xfe, 0xbb, 0xf0, 0x09, 0xf5, 0x79, 0x0f, 0x90, 0xc7,
0x63, 0x0c, 0xe8, 0x40, 0x1e, 0x63, 0xc0, 0x1e, 0xed, 0x18, 0x03, 0x50, 0xc5, 0xc9, 0x31, 0x06,
0x7d, 0x3a, 0xf0, 0x65, 0xc1, 0xf3, 0xf2, 0xff, 0xff, 0x18, 0x03, 0xf8, 0x3c, 0xf3, 0x72, 0x67,
0xc7, 0x07, 0x11, 0x78, 0x20, 0x8f, 0x31, 0x60, 0x1d, 0x39, 0xee, 0x14, 0x03, 0x7c, 0x84, 0x2d,
0x9c, 0xc6, 0x39, 0xf8, 0xfa, 0x35, 0x40, 0x61, 0x7c, 0x8a, 0x01, 0xce, 0xff, 0xff, 0x53, 0x0c,
0x78, 0x03, 0x9c, 0x62, 0x40, 0x79, 0x90, 0xc7, 0xdc, 0x63, 0x18, 0x44, 0xd4, 0xa3, 0xf2, 0x49,
0xc2, 0x07, 0x7a, 0x9f, 0x4c, 0x7c, 0x99, 0x37, 0x58, 0xc8, 0x37, 0x6f, 0x76, 0xa3, 0xf7, 0xe5,
0x17, 0xce, 0x59, 0x06, 0x6c, 0xe3, 0x7a, 0xc2, 0x03, 0xfd, 0xb9, 0x40, 0xdf, 0x25, 0x9f, 0x65,
0x00, 0xa7, 0xff, 0xff, 0xb3, 0x0c, 0x70, 0x39, 0xa1, 0x81, 0x75, 0x12, 0x0f, 0xf5, 0xc0, 0x2b,
0xa4, 0x87, 0x03, 0x01, 0x0b, 0xb2, 0x56, 0xd9, 0x58, 0xab, 0x07, 0x41, 0x85, 0x1f, 0x12, 0x74,
0xb8, 0x7a, 0x96, 0xf0, 0xb9, 0x16, 0x86, 0x58, 0x38, 0x1d, 0x75, 0x0c, 0x61, 0x99, 0x14, 0x12,
0x09, 0xa1, 0x01, 0x19, 0xce, 0xb2, 0xe0, 0x28, 0x88, 0x0f, 0x00, 0x8e, 0x0c, 0xa1, 0x93, 0x33,
0xdc, 0x88, 0x10, 0x3a, 0x3e, 0xf8, 0xc0, 0x80, 0x1f, 0xdc, 0x91, 0x9d, 0x98, 0x67, 0xe1, 0x83,
0x0d, 0xee, 0x08, 0x02, 0x77, 0x6a, 0xd8, 0x35, 0x1e, 0x0a, 0x6e, 0x20, 0x3e, 0x1f, 0xf1, 0x31,
0xf8, 0x66, 0x70, 0x16, 0x26, 0x60, 0xc7, 0x65, 0xf8, 0xff, 0xff, 0xe3, 0x32, 0xfc, 0x01, 0xe0,
0x4f, 0x09, 0x70, 0x80, 0x7c, 0x29, 0xb0, 0xd2, 0x83, 0x01, 0x9d, 0x47, 0x88, 0x30, 0xd1, 0x7c,
0x32, 0x41, 0x8d, 0x5e, 0x47, 0x29, 0xcb, 0x1a, 0x1b, 0x6a, 0xb0, 0x3e, 0xd3, 0x30, 0xec, 0xd7,
0x15, 0xcc, 0x59, 0x0a, 0x03, 0xeb, 0xe1, 0x73, 0x58, 0xa3, 0x85, 0x3d, 0xea, 0x87, 0x09, 0x5f,
0x44, 0x7c, 0x53, 0xf2, 0x1d, 0xc6, 0x47, 0x10, 0xb0, 0x1c, 0xab, 0xe0, 0x1f, 0x88, 0xc1, 0x33,
0xcc, 0x53, 0xf3, 0x01, 0x21, 0xd8, 0x73, 0x8d, 0x47, 0xe7, 0x3b, 0x81, 0x41, 0xe3, 0x79, 0x0e,
0xc6, 0xf0, 0xf9, 0x86, 0x9d, 0x29, 0x9e, 0x6f, 0xe0, 0x85, 0x38, 0x54, 0x40, 0x39, 0x05, 0xb2,
0x43, 0x05, 0x30, 0xfe, 0xff, 0x8f, 0xd6, 0xf7, 0x17, 0x0f, 0x9d, 0x1f, 0x2a, 0x00, 0xcf, 0x12,
0x0e, 0x15, 0xa0, 0x3b, 0x08, 0xf8, 0x50, 0x01, 0x5c, 0x51, 0x7d, 0x24, 0x00, 0xc7, 0x99, 0x94,
0x5f, 0x29, 0xc0, 0x19, 0x6a, 0x95, 0xfa, 0xff, 0x1f, 0x29, 0x70, 0xe2, 0x47, 0xad, 0xc3, 0xd7,
0x69, 0x1c, 0x9b, 0xaf, 0x03, 0x78, 0xc1, 0x47, 0x0a, 0x94, 0x54, 0x0a, 0x09, 0x3d, 0x52, 0xa0,
0xa4, 0xc1, 0x51, 0x10, 0x0f, 0xdd, 0xb1, 0x21, 0x74, 0x9a, 0xc4, 0x9f, 0x92, 0x0e, 0x82, 0x11,
0x38, 0xe6, 0x91, 0x02, 0x14, 0x87, 0xa4, 0x03, 0x06, 0xcb, 0xc1, 0x8f, 0xad, 0xf0, 0xe8, 0x6c,
0xfc, 0xc4, 0x46, 0x50, 0x3c, 0x5c, 0x4f, 0x96, 0x1f, 0xe4, 0x7c, 0x8d, 0x63, 0x07, 0x3e, 0x7e,
0xb0, 0x80, 0x7b, 0x90, 0x04, 0xdf, 0xa1, 0x02, 0x78, 0xc8, 0x39, 0x54, 0x80, 0x0e, 0xd2, 0x87,
0x0a, 0xe0, 0xf0, 0xff, 0x3f, 0x54, 0x80, 0xe7, 0x18, 0xe7, 0x43, 0x01, 0x38, 0x8e, 0x61, 0x06,
0x79, 0x4b, 0xc4, 0x9d, 0xdb, 0x8c, 0x11, 0xe5, 0x7d, 0xce, 0xa3, 0xf2, 0xc9, 0x02, 0x83, 0xf6,
0x0c, 0xe0, 0xf3, 0x1d, 0xbb, 0x57, 0xe0, 0x81, 0x8e, 0xeb, 0x25, 0x86, 0x87, 0x57, 0x31, 0x1c,
0x16, 0xe6, 0x38, 0xe1, 0x75, 0x53, 0x18, 0x1f, 0x3e, 0x01, 0x57, 0x07, 0x00, 0xf0, 0x1c, 0x3e,
0x81, 0xc5, 0xad, 0x11, 0x7b, 0xf6, 0x84, 0xfb, 0xff, 0x3f, 0x7b, 0xe2, 0xaf, 0x15, 0xcf, 0x9e,
0x00, 0x3b, 0xc1, 0x8e, 0x10, 0x7b, 0xf6, 0x04, 0xff, 0xff, 0xff, 0xec, 0xc9, 0xa3, 0x9c, 0x3d,
0xa9, 0xf4, 0x53, 0x13, 0xea, 0xd0, 0xe1, 0x03, 0x9d, 0xcf, 0x9e, 0x6c, 0x3a, 0x58, 0x89, 0x87,
0x26, 0x94, 0x38, 0x0a, 0x9d, 0x97, 0x7c, 0x68, 0xe2, 0x62, 0xe0, 0x28, 0x88, 0xc7, 0xef, 0xa0,
0x67, 0x06, 0xf4, 0xb1, 0x0e, 0x1f, 0xec, 0xe8, 0x09, 0x8a, 0xe3, 0x3b, 0x78, 0x66, 0x86, 0xbb,
0xd5, 0xe1, 0x4e, 0x4b, 0xe0, 0x3e, 0x3e, 0xe0, 0x4f, 0x4b, 0xc0, 0x43, 0xc4, 0xa9, 0x13, 0x50,
0xf0, 0xff, 0x3f, 0x2d, 0xc1, 0x1d, 0xcf, 0x53, 0x27, 0xf0, 0xba, 0x04, 0x60, 0x85, 0x9f, 0x26,
0xa0, 0x1c, 0xf3, 0xd8, 0x69, 0x02, 0x18, 0x9f, 0xe8, 0x70, 0xa7, 0x09, 0xc0, 0xe9, 0x71, 0x13,
0xff, 0xff, 0x3f, 0x6e, 0x02, 0x8e, 0xcf, 0x00, 0xf8, 0xe3, 0x26, 0xdc, 0x83, 0x10, 0xfe, 0xb8,
0x09, 0xf8, 0xfd, 0xff, 0x1f, 0x37, 0x01, 0x06, 0xde, 0x2b, 0x70, 0xb7, 0x4d, 0x1c, 0xc1, 0xd0,
0xc7, 0x4d, 0x94, 0xcc, 0xe3, 0x26, 0xd0, 0xfa, 0xff, 0x1f, 0x37, 0x01, 0x9b, 0x56, 0x47, 0x45,
0xce, 0x27, 0xfc, 0xb8, 0x09, 0x2e, 0x88, 0xc7, 0x4d, 0xb0, 0x47, 0x3b, 0x6e, 0x02, 0xda, 0xfe,
0xff, 0xc7, 0x4d, 0xe0, 0x7b, 0x99, 0xf1, 0x71, 0x13, 0x9c, 0xd7, 0x04, 0xdc, 0x69, 0x13, 0x78,
0x84, 0x38, 0x6d, 0x82, 0xe0, 0x10, 0x81, 0x3d, 0xd0, 0x81, 0xef, 0xcc, 0x84, 0x3f, 0x6d, 0x02,
0xaf, 0x99, 0x9d, 0xe4, 0x99, 0xb1, 0xfb, 0x1c, 0xee, 0xb0, 0x04, 0x96, 0xff, 0xff, 0x61, 0x09,
0xf8, 0x9e, 0x36, 0x01, 0xf3, 0xe7, 0x1a, 0xf4, 0x69, 0x13, 0xe2, 0x69, 0x02, 0xd8, 0xfe, 0xff,
0x4f, 0x9b, 0xe0, 0x3d, 0x4d, 0x00, 0xae, 0x56, 0xee, 0xd3, 0x26, 0xe0, 0x46, 0xf0, 0x69, 0x13,
0x28, 0xdd, 0x20, 0x70, 0x81, 0xce, 0x12, 0x68, 0xe9, 0x87, 0x4d, 0xd4, 0xff, 0x1f, 0x14, 0x77,
0xd6, 0x04, 0xf8, 0x75, 0x34, 0xf1, 0x59, 0x13, 0xf0, 0xf1, 0xff, 0x3f, 0x52, 0xe0, 0x8e, 0x87,
0xcf, 0x9a, 0xc0, 0xef, 0x2e, 0x81, 0xb9, 0x6a, 0xe2, 0xa2, 0x3e, 0x1d, 0x7c, 0xb4, 0xf0, 0xc0,
0x15, 0x0e, 0x06, 0x75, 0xd4, 0x04, 0x5c, 0x45, 0x38, 0x6a, 0x82, 0x72, 0xe4, 0xb0, 0x6e, 0x00,
0x38, 0xa0, 0x57, 0x01, 0xec, 0xa9, 0xd3, 0x87, 0x0d, 0xdf, 0x44, 0x8c, 0x11, 0xcf, 0x47, 0x00,
0xdc, 0x61, 0x13, 0x4c, 0xde, 0x2e, 0x99, 0xe4, 0xb0, 0xe9, 0xff, 0xff, 0x61, 0x13, 0xbc, 0x62,
0xde, 0x15, 0x3a, 0x18, 0xf8, 0xb0, 0x09, 0xf0, 0x43, 0xca, 0x11, 0x43, 0x36, 0x4e, 0x65, 0x50,
0xa3, 0x43, 0xe8, 0xd4, 0x62, 0x51, 0xa7, 0x16, 0xd4, 0xd1, 0xc2, 0xa7, 0x0a, 0x86, 0xca, 0xcf,
0x7c, 0x98, 0x93, 0x0a, 0xf8, 0x0f, 0xa4, 0xb8, 0xa3, 0x85, 0xff, 0xff, 0x47, 0x0b, 0x78, 0x73,
0x7c, 0x93, 0xc0, 0x8e, 0x0e, 0x77, 0xe8, 0xc1, 0x8f, 0x18, 0x3f, 0x81, 0x33, 0xae, 0x1a, 0x5b,
0x17, 0x01, 0xab, 0x9b, 0x02, 0x9a, 0xc0, 0x48, 0x4f, 0xac, 0xe0, 0x9c, 0xc6, 0x63, 0x07, 0x9f,
0x04, 0xfe, 0xd0, 0x0a, 0x3c, 0xc6, 0x8d, 0x3b, 0x58, 0x78, 0x08, 0x7c, 0x00, 0x8f, 0x37, 0xa7,
0xe9, 0x43, 0xd2, 0x89, 0xe1, 0x4e, 0x06, 0x7c, 0x58, 0x98, 0xb3, 0x12, 0x2e, 0xe0, 0x11, 0x07,
0x15, 0xe9, 0x94, 0x03, 0xa8, 0xf9, 0xff, 0x9f, 0x72, 0x00, 0x0b, 0x27, 0x7e, 0x98, 0xa7, 0x1c,
0x70, 0x1d, 0x70, 0x7c, 0xca, 0x01, 0xb7, 0x84, 0x53, 0x0e, 0xa0, 0xfc, 0xff, 0x7f, 0xca, 0x01,
0xe7, 0x93, 0xc6, 0x03, 0xc7, 0x8d, 0xc2, 0x47, 0x13, 0x9f, 0x1f, 0x9e, 0x38, 0x58, 0xe0, 0x53,
0x0e, 0xd0, 0x3d, 0xdd, 0x82, 0xe7, 0xa2, 0xf1, 0x26, 0x81, 0xbb, 0xe4, 0x60, 0xce, 0x03, 0xe0,
0x3b, 0xe0, 0x80, 0x7f, 0x48, 0x38, 0x02, 0x1f, 0x70, 0x80, 0xfb, 0xff, 0xff, 0x80, 0x03, 0xef,
0x48, 0xc8, 0xe3, 0x3c, 0x0c, 0x14, 0x07, 0x06, 0x75, 0xc0, 0x01, 0xde, 0x01, 0xce, 0x34, 0x40,
0xf4, 0x64, 0x09, 0xeb, 0x00, 0x04, 0xce, 0xf3, 0x0d, 0xb8, 0x2e, 0x35, 0xcf, 0x37, 0x60, 0x7f,
0x8a, 0xf8, 0x7c, 0x03, 0xce, 0xff, 0xff, 0xf9, 0x06, 0x70, 0x7e, 0xbc, 0xc6, 0x9f, 0xb8, 0x71,
0xe7, 0x1b, 0xc0, 0xcb, 0xad, 0x02, 0x77, 0x26, 0xc4, 0x9d, 0xb1, 0xc1, 0x37, 0x83, 0xc0, 0xd8,
0xff, 0xff, 0xf9, 0x06, 0x7c, 0x63, 0xc7, 0x1d, 0x6f, 0x00, 0x27, 0x0a, 0x6d, 0xfa, 0xd4, 0x68,
0xd4, 0xaa, 0x41, 0x99, 0x1a, 0x65, 0x1a, 0xd4, 0xea, 0x53, 0xa9, 0x31, 0x63, 0xae, 0x4e, 0x1d,
0x7e, 0x22, 0xe8, 0x8c, 0x60, 0xd9, 0x0f, 0x0f, 0x81, 0x38, 0x34, 0x08, 0xf7, 0x00, 0xc2, 0xe2,
0xaa, 0x00, 0x61, 0x62, 0x9f, 0x06, 0x02, 0x21, 0x4f, 0x03, 0x81, 0x58, 0x9a, 0x0f, 0x10, 0x16,
0x0c, 0x84, 0x2f, 0x5e, 0x20, 0x0e, 0xf4, 0x80, 0xd0, 0xe9, 0x83, 0x3c, 0x1b, 0x04, 0xe2, 0x88,
0x56, 0x20, 0x1a, 0x39, 0x3f, 0x18, 0x44, 0x40, 0x96, 0xba, 0x66, 0x01, 0x59, 0x38, 0x88, 0x80,
0x1c, 0x5d, 0x0d, 0x10, 0x13, 0xe2, 0x06, 0x88, 0xc5, 0xd4, 0x03, 0xc2, 0x44, 0xfa, 0x19, 0x12,
0x7d, 0x39, 0x08, 0xd0, 0x12, 0x0c, 0x01, 0x31, 0xb9, 0x8e, 0x80, 0x98, 0x78, 0x10, 0x01, 0x39,
0xb6, 0x25, 0x20, 0x26, 0x42, 0xd3, 0x60, 0xa8, 0x29, 0x10, 0x26, 0x50, 0xd5, 0x00, 0xe9, 0x4a,
0x05, 0xe8, 0xf0, 0x20, 0x02, 0xb2, 0x50, 0x5d, 0x40, 0x4c, 0x36, 0x88, 0x80, 0x1c, 0xf6, 0xe5,
0x20, 0x20, 0x47, 0x07, 0x11, 0x90, 0xa3, 0xbd, 0x71, 0x04, 0x62, 0x61, 0xd6, 0x20, 0xfe, 0xff,
0x87, 0x4a, 0x5e, 0x31, 0x41, 0x48, 0x88, 0xdf, 0x8d, 0x40, 0x2c, 0xe1, 0x75, 0x1a, 0x84, 0xb9,
0x03, 0x61, 0x12, 0xf5, 0x81, 0xb0, 0x80, 0x20, 0xdc, 0x1f, 0x08, 0xfb, 0xff, 0x03
})
}
Name(_S0_, Package(0x2)
{
Zero,
Zero
})
If(And(PWRS, 0x2, ))
{
Name(_S1_, Package(0x2)
{
One,
One
})
}
If(And(PWRS, 0x10, ))
{
Name(_S4_, Package(0x2)
{
0x5,
0x5
})
}
Name(_S5_, Package(0x2)
{
0x5,
0x5
})
Method(_PTS, 0x1, NotSerialized)
{
DBG_("Prepare to sleep: ")
HEX_(Arg0)
}
}
@KunYi
Copy link
Author

KunYi commented Apr 18, 2022

Update with WQCC for embedded BMOF (Binary MOF)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment