You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5305 lines
154 KiB
5305 lines
154 KiB
/*
|
|
* Intel ACPI Component Architecture
|
|
* AML/ASL+ Disassembler version 20220331 (64-bit version)
|
|
* Copyright (c) 2000 - 2022 Intel Corporation
|
|
*
|
|
* Disassembling to symbolic ASL+ operators
|
|
*
|
|
* Disassembly of ssdt5.dat, Thu Sep 1 23:24:17 2022
|
|
*
|
|
* Original Table Header:
|
|
* Signature "SSDT"
|
|
* Length 0x00007E2F (32303)
|
|
* Revision 0x01
|
|
* Checksum 0xE5
|
|
* OEM ID "LENOVO"
|
|
* OEM Table ID "CB-01 "
|
|
* OEM Revision 0x00000001 (1)
|
|
* Compiler ID "ACPI"
|
|
* Compiler Version 0x00040000 (262144)
|
|
*/
|
|
DefinitionBlock ("", "SSDT", 1, "LENOVO", "CB-01 ", 0x00000001)
|
|
{
|
|
External (_GPE, DeviceObj)
|
|
External (_GPE.AIE0, MethodObj) // 0 Arguments
|
|
External (_GPE.AIE1, MethodObj) // 0 Arguments
|
|
External (_GPE.AIE2, MethodObj) // 0 Arguments
|
|
External (_GPE.AIE3, MethodObj) // 0 Arguments
|
|
External (_GPE.BIE0, MethodObj) // 0 Arguments
|
|
External (_GPE.BIE1, MethodObj) // 0 Arguments
|
|
External (_GPE.BIE2, MethodObj) // 0 Arguments
|
|
External (_GPE.BIE3, MethodObj) // 0 Arguments
|
|
External (_GPE.PTS0, MethodObj) // 1 Arguments
|
|
External (_GPE.PTS1, MethodObj) // 1 Arguments
|
|
External (_GPE.PTS2, MethodObj) // 1 Arguments
|
|
External (_GPE.PTS3, MethodObj) // 1 Arguments
|
|
External (_GPE.SP00, MethodObj) // 0 Arguments
|
|
External (_GPE.SP01, MethodObj) // 0 Arguments
|
|
External (_GPE.SP02, MethodObj) // 0 Arguments
|
|
External (_GPE.SP03, MethodObj) // 0 Arguments
|
|
External (_GPE.SP04, MethodObj) // 0 Arguments
|
|
External (_GPE.SP05, MethodObj) // 0 Arguments
|
|
External (_GPE.SP06, MethodObj) // 0 Arguments
|
|
External (_GPE.SP07, MethodObj) // 0 Arguments
|
|
External (_GPE.SP10, MethodObj) // 0 Arguments
|
|
External (_GPE.SP11, MethodObj) // 0 Arguments
|
|
External (_GPE.SP12, MethodObj) // 0 Arguments
|
|
External (_GPE.SP13, MethodObj) // 0 Arguments
|
|
External (_GPE.SP14, MethodObj) // 0 Arguments
|
|
External (_GPE.SP15, MethodObj) // 0 Arguments
|
|
External (_GPE.SP16, MethodObj) // 0 Arguments
|
|
External (_GPE.SP17, MethodObj) // 0 Arguments
|
|
External (_GPE.SP20, MethodObj) // 0 Arguments
|
|
External (_GPE.SP21, MethodObj) // 0 Arguments
|
|
External (_GPE.SP22, MethodObj) // 0 Arguments
|
|
External (_GPE.SP23, MethodObj) // 0 Arguments
|
|
External (_GPE.SP24, MethodObj) // 0 Arguments
|
|
External (_GPE.SP25, MethodObj) // 0 Arguments
|
|
External (_GPE.SP26, MethodObj) // 0 Arguments
|
|
External (_GPE.SP27, MethodObj) // 0 Arguments
|
|
External (_GPE.SP30, MethodObj) // 0 Arguments
|
|
External (_GPE.SP31, MethodObj) // 0 Arguments
|
|
External (_GPE.SP32, MethodObj) // 0 Arguments
|
|
External (_GPE.SP33, MethodObj) // 0 Arguments
|
|
External (_GPE.SP34, MethodObj) // 0 Arguments
|
|
External (_GPE.SP35, MethodObj) // 0 Arguments
|
|
External (_GPE.SP36, MethodObj) // 0 Arguments
|
|
External (_GPE.SP37, MethodObj) // 0 Arguments
|
|
External (_GPE.SP40, MethodObj) // 0 Arguments
|
|
External (_GPE.SP41, MethodObj) // 0 Arguments
|
|
External (_GPE.SP42, MethodObj) // 0 Arguments
|
|
External (_GPE.SP43, MethodObj) // 0 Arguments
|
|
External (_GPE.SP44, MethodObj) // 0 Arguments
|
|
External (_GPE.SP45, MethodObj) // 0 Arguments
|
|
External (_GPE.SP46, MethodObj) // 0 Arguments
|
|
External (_GPE.SP47, MethodObj) // 0 Arguments
|
|
External (_GPE.SP50, MethodObj) // 0 Arguments
|
|
External (_GPE.SP51, MethodObj) // 0 Arguments
|
|
External (_GPE.SP52, MethodObj) // 0 Arguments
|
|
External (_GPE.SP53, MethodObj) // 0 Arguments
|
|
External (_GPE.SP54, MethodObj) // 0 Arguments
|
|
External (_GPE.SP55, MethodObj) // 0 Arguments
|
|
External (_GPE.SP56, MethodObj) // 0 Arguments
|
|
External (_GPE.SP57, MethodObj) // 0 Arguments
|
|
External (_GPE.SP60, MethodObj) // 0 Arguments
|
|
External (_GPE.SP61, MethodObj) // 0 Arguments
|
|
External (_GPE.SP62, MethodObj) // 0 Arguments
|
|
External (_GPE.SP63, MethodObj) // 0 Arguments
|
|
External (_GPE.SP64, MethodObj) // 0 Arguments
|
|
External (_GPE.SP65, MethodObj) // 0 Arguments
|
|
External (_GPE.SP66, MethodObj) // 0 Arguments
|
|
External (_GPE.SP67, MethodObj) // 0 Arguments
|
|
External (_GPE.SP70, MethodObj) // 0 Arguments
|
|
External (_GPE.SP71, MethodObj) // 0 Arguments
|
|
External (_GPE.SP72, MethodObj) // 0 Arguments
|
|
External (_GPE.SP73, MethodObj) // 0 Arguments
|
|
External (_GPE.SP74, MethodObj) // 0 Arguments
|
|
External (_GPE.SP75, MethodObj) // 0 Arguments
|
|
External (_GPE.SP76, MethodObj) // 0 Arguments
|
|
External (_GPE.SP77, MethodObj) // 0 Arguments
|
|
External (_GPE.WAK0, MethodObj) // 1 Arguments
|
|
External (_GPE.WAK1, MethodObj) // 1 Arguments
|
|
External (_GPE.WAK2, MethodObj) // 1 Arguments
|
|
External (_GPE.WAK3, MethodObj) // 1 Arguments
|
|
External (_SB_.ALIB, MethodObj) // 2 Arguments
|
|
External (_SB_.GPIO, DeviceObj)
|
|
External (_SB_.IPTS, MethodObj) // 1 Arguments
|
|
External (_SB_.IWAK, MethodObj) // 1 Arguments
|
|
External (_SB_.M263, MethodObj) // 1 Arguments
|
|
External (_SB_.M264, MethodObj) // 1 Arguments
|
|
External (_SB_.M284, MethodObj) // 1 Arguments
|
|
External (_SB_.OPTS, MethodObj) // 1 Arguments
|
|
External (_SB_.OWAK, MethodObj) // 1 Arguments
|
|
External (_SB_.PCI0.PTBR.PTST.TPTS, MethodObj) // 1 Arguments
|
|
External (_SB_.PCI0.PTBR.PTST.TWAK, MethodObj) // 1 Arguments
|
|
External (_SB_.PCXX.GPXX.SAXX.TPTS, MethodObj) // 1 Arguments
|
|
External (_SB_.PCXX.GPXX.SAXX.TWAK, MethodObj) // 1 Arguments
|
|
External (_SB_.PCXX.SAXX.TPTS, MethodObj) // 1 Arguments
|
|
External (_SB_.PCXX.SAXX.TWAK, MethodObj) // 1 Arguments
|
|
External (M038, MethodObj) // 1 Arguments
|
|
External (M039, MethodObj) // 2 Arguments
|
|
External (M050, DeviceObj)
|
|
External (M051, DeviceObj)
|
|
External (M052, DeviceObj)
|
|
External (M053, DeviceObj)
|
|
External (M054, DeviceObj)
|
|
External (M055, DeviceObj)
|
|
External (M056, DeviceObj)
|
|
External (M057, DeviceObj)
|
|
External (M058, DeviceObj)
|
|
External (M059, DeviceObj)
|
|
External (M062, DeviceObj)
|
|
External (M068, DeviceObj)
|
|
External (M069, DeviceObj)
|
|
External (M070, DeviceObj)
|
|
External (M071, DeviceObj)
|
|
External (M072, DeviceObj)
|
|
External (M074, DeviceObj)
|
|
External (M075, DeviceObj)
|
|
External (M076, DeviceObj)
|
|
External (M077, DeviceObj)
|
|
External (M078, DeviceObj)
|
|
External (M079, DeviceObj)
|
|
External (M080, DeviceObj)
|
|
External (M081, DeviceObj)
|
|
External (M127, DeviceObj)
|
|
External (MOEM, MethodObj) // 3 Arguments
|
|
External (NFPC, MethodObj) // 0 Arguments
|
|
|
|
OperationRegion (CPNV, SystemMemory, 0x7AF67018, 0x000100F7)
|
|
Field (CPNV, AnyAcc, Lock, Preserve)
|
|
{
|
|
M082, 32,
|
|
M083, 32,
|
|
M084, 32,
|
|
M085, 8,
|
|
M221, 8,
|
|
M086, 16,
|
|
M229, 8,
|
|
M231, 16,
|
|
M235, 8,
|
|
M233, 32,
|
|
, 1,
|
|
, 2,
|
|
, 1,
|
|
, 1,
|
|
, 1,
|
|
, 1,
|
|
Offset (0x19),
|
|
M087, 1,
|
|
, 1,
|
|
Offset (0x1C),
|
|
M088, 16,
|
|
M089, 16,
|
|
M090, 3,
|
|
M091, 5,
|
|
M092, 8,
|
|
M093, 3,
|
|
M094, 5,
|
|
M095, 8,
|
|
M096, 8,
|
|
M097, 8,
|
|
M098, 32,
|
|
M099, 32,
|
|
M100, 32,
|
|
M101, 32,
|
|
M102, 32,
|
|
M103, 32,
|
|
M104, 224,
|
|
M105, 32,
|
|
M106, 32768,
|
|
M378, 32768,
|
|
M379, 32768,
|
|
M380, 32768,
|
|
M381, 32768,
|
|
M382, 32768,
|
|
M383, 32768,
|
|
M384, 32768,
|
|
M385, 32768,
|
|
M386, 32768,
|
|
M387, 32768,
|
|
M388, 32768,
|
|
M389, 32768,
|
|
M390, 32768,
|
|
M391, 32768,
|
|
M392, 32768,
|
|
M107, 64,
|
|
M320, 32,
|
|
M321, 32,
|
|
M322, 32,
|
|
M323, 32,
|
|
M324, 32,
|
|
M325, 32,
|
|
M326, 32,
|
|
M327, 16,
|
|
M328, 8,
|
|
M128, 32,
|
|
M108, 32,
|
|
M109, 32,
|
|
M110, 32,
|
|
M122, 32,
|
|
M131, 32,
|
|
M132, 32,
|
|
M133, 32,
|
|
M134, 32,
|
|
M135, 32,
|
|
M136, 32,
|
|
M220, 32,
|
|
M226, 32,
|
|
M251, 32,
|
|
M310, 32,
|
|
M280, 32,
|
|
M290, 32,
|
|
M331, 32,
|
|
M414, 16,
|
|
M444, 72,
|
|
M453, 32,
|
|
M454, 16,
|
|
M455, 8,
|
|
M456, 8,
|
|
M457, 8,
|
|
M449, 72,
|
|
M4C0, 32,
|
|
M23A, 8,
|
|
M31C, 32,
|
|
M4F0, 32
|
|
}
|
|
|
|
Name (CTMR, Zero)
|
|
Name (M285, Buffer (0x04)
|
|
{
|
|
0x01, 0x03, 0x80, 0x00 // ....
|
|
})
|
|
Method (M000, 1, Serialized)
|
|
{
|
|
CreateByteField (M285, Zero, M286)
|
|
CreateByteField (M285, One, M287)
|
|
CreateWordField (M285, 0x02, M288)
|
|
Name (M450, Buffer (0x05)
|
|
{
|
|
0x00, 0x96, 0x05, 0x00, 0x00 // .....
|
|
})
|
|
CreateDWordField (M450, Zero, M452)
|
|
CreateByteField (M450, 0x04, M451)
|
|
Local0 = (Arg0 + 0xB0000000)
|
|
If ((ToInteger (M286) == One))
|
|
{
|
|
Local1 = ToInteger (M288)
|
|
If ((ToInteger (M287) == 0x03))
|
|
{
|
|
OperationRegion (VARM, SystemIO, Local1, 0x04)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 32
|
|
}
|
|
|
|
VARR = Local0
|
|
}
|
|
ElseIf ((ToInteger (M287) == 0x02))
|
|
{
|
|
OperationRegion (VARN, SystemIO, Local1, 0x02)
|
|
Field (VARN, WordAcc, NoLock, Preserve)
|
|
{
|
|
VARS, 16
|
|
}
|
|
|
|
VARS = (Local0 & 0xFFFF)
|
|
}
|
|
ElseIf ((ToInteger (M287) == One))
|
|
{
|
|
OperationRegion (VARO, SystemIO, Local1, One)
|
|
Field (VARO, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VART, 8
|
|
}
|
|
|
|
VART = (Local0 & 0xFF)
|
|
}
|
|
}
|
|
|
|
If ((ToInteger (M451) == One))
|
|
{
|
|
Local2 = ToInteger (M452)
|
|
M250 (Zero, Zero, Zero, Local2, Local0)
|
|
}
|
|
|
|
OperationRegion (VARP, SystemMemory, 0xFED80808, 0x04)
|
|
Field (VARP, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARU, 32
|
|
}
|
|
|
|
Local1 = VARU /* \M000.VARU */
|
|
If ((Local1 >= CTMR))
|
|
{
|
|
Local2 = (Local1 - CTMR) /* \CTMR */
|
|
}
|
|
Else
|
|
{
|
|
Local2 = (Local1 + ((0xFFFFFFFE - CTMR) + One))
|
|
}
|
|
|
|
Divide (Local2, 0x19, Local3, Local2)
|
|
Divide ((Local2 * 0x07), 0x03E8, Local3, Local2)
|
|
If ((Local3 >= 0x64))
|
|
{
|
|
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
|
|
}
|
|
ElseIf ((Local3 >= 0x0A))
|
|
{
|
|
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.0%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
|
|
}
|
|
Else
|
|
{
|
|
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.00%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
|
|
}
|
|
|
|
CTMR = Local1
|
|
}
|
|
|
|
Method (M034, 1, Serialized)
|
|
{
|
|
Return (M011 ((M084 + 0x0700), Arg0, Zero, 0x08))
|
|
}
|
|
|
|
Method (M015, 1, Serialized)
|
|
{
|
|
Return (M011 ((M084 + 0x0400), Arg0, Zero, 0x08))
|
|
}
|
|
|
|
Method (M016, 2, Serialized)
|
|
{
|
|
M012 ((M084 + 0x0400), Arg0, Zero, 0x08, Arg1)
|
|
}
|
|
|
|
Method (M035, 1, Serialized)
|
|
{
|
|
Return (M011 (M084, Arg0, Zero, 0x08))
|
|
}
|
|
|
|
Method (M036, 2, Serialized)
|
|
{
|
|
M012 (M084, Arg0, Zero, 0x08, Arg1)
|
|
}
|
|
|
|
Method (M001, 2, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
If ((Arg0 == 0x15))
|
|
{
|
|
Local0 = One
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M003, 3, Serialized)
|
|
{
|
|
Local0 = (Arg0 << 0x05)
|
|
Local1 = (Local0 + Arg1)
|
|
Local2 = (Local1 << 0x18)
|
|
Local3 = (Local2 + Arg2)
|
|
Return (Local3)
|
|
}
|
|
|
|
Method (M004, 1, Serialized)
|
|
{
|
|
OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local0 = VAR2 /* \M004.VAR2 */
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M005, 2, Serialized)
|
|
{
|
|
OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
VAR2 = Arg1
|
|
}
|
|
|
|
Method (M006, 3, Serialized)
|
|
{
|
|
Local0 = (M004 (Arg0) & Arg1)
|
|
Local1 = (Local0 | Arg2)
|
|
M005 (Arg0, Local1)
|
|
}
|
|
|
|
Method (M002, 2, Serialized)
|
|
{
|
|
If ((Arg0 == Zero))
|
|
{
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFEFFF, Zero)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFEFE, Zero)
|
|
}
|
|
|
|
If ((Arg1 == One))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFDFFF, Zero)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFDFD, Zero)
|
|
}
|
|
|
|
If ((Arg1 == 0x02))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFBFFF, Zero)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFBFB, Zero)
|
|
}
|
|
|
|
If ((Arg1 == 0x03))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFF7FFF, Zero)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFF7F7, Zero)
|
|
}
|
|
|
|
Sleep (One)
|
|
}
|
|
|
|
If ((Arg0 == One))
|
|
{
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFEFFF, 0x1000)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFEFE, 0x0101)
|
|
}
|
|
|
|
If ((Arg1 == One))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFDFFF, 0x2000)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFDFD, 0x0202)
|
|
}
|
|
|
|
If ((Arg1 == 0x02))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFFBFFF, 0x4000)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFFBFB, 0x0404)
|
|
}
|
|
|
|
If ((Arg1 == 0x03))
|
|
{
|
|
M006 (M003 (0x06, Zero, 0xC0), 0xFFFF7FFF, 0x8000)
|
|
M006 (M003 (One, Zero, 0x65), 0xFFFFF7F7, 0x0808)
|
|
}
|
|
|
|
Sleep (One)
|
|
}
|
|
|
|
If ((Arg0 == Zero))
|
|
{
|
|
M008 (Arg1)
|
|
Local0 = M004 (M003 (0x03, Arg1, 0xA5))
|
|
Local0 &= 0xFF
|
|
Local1 = 0x01F4
|
|
While (((Local1 > Zero) && (Local0 != 0x10)))
|
|
{
|
|
Local0 = M004 (M003 (0x03, Arg1, 0xA5))
|
|
Local0 &= 0xFF
|
|
Local1--
|
|
Sleep (One)
|
|
}
|
|
|
|
If ((Local0 != 0x10))
|
|
{
|
|
M007 (Arg1)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M008, 1, Serialized)
|
|
{
|
|
Local0 = M019 (Zero, 0x15, Arg0, 0x88)
|
|
Local1 = ((Local0 & 0xFFFFFFF0) | 0x02)
|
|
M020 (Zero, 0x15, Arg0, 0x88, Local1)
|
|
M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, One)
|
|
M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
|
|
M006 (M003 (0x03, Arg0, 0xC0), 0xFFFF7FFF, 0x8000)
|
|
M006 (M003 (0x03, Arg0, 0xA4), 0xDFFFFFFF, 0x20000000)
|
|
Sleep (One)
|
|
}
|
|
|
|
Method (M007, 1, Serialized)
|
|
{
|
|
Local0 = M019 (Zero, 0x15, Arg0, 0x88)
|
|
Local1 = ((Local0 & 0xFFFFFFF0) | One)
|
|
M020 (Zero, 0x15, Arg0, 0x88, Local1)
|
|
M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, Zero)
|
|
M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
|
|
Sleep (One)
|
|
}
|
|
|
|
Method (M111, 2, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M110 /* \M110 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
If (((Local2 == Arg0) && (Local3 == Arg1)))
|
|
{
|
|
Local3 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
|
|
If ((Local3 != Zero))
|
|
{
|
|
Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
|
|
If ((Local4 == Zero))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
M010 ((Local5 & 0xFF00FFFF), Local6)
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M000 (0x0DD8)
|
|
}
|
|
Else
|
|
{
|
|
M000 (0x0DDB)
|
|
}
|
|
}
|
|
|
|
If ((Local4 == One))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)){}
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M000 (0x0DD9)
|
|
}
|
|
Else
|
|
{
|
|
M000 (0x0DDC)
|
|
}
|
|
}
|
|
|
|
If ((Local4 == 0x02))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Sleep (((Local5 + 0x03E7) / 0x03E8))
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M000 (0x0DDA)
|
|
}
|
|
Else
|
|
{
|
|
M000 (0x0DDD)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Local1 += 0x08
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M470, 2, Serialized)
|
|
{
|
|
Local7 = Zero
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M110 /* \M110 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
If (((Local2 == Arg0) && (Local3 == Arg1)))
|
|
{
|
|
Local3 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
|
|
Local4 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
|
|
If (((Local3 == Zero) && (Local4 != Zero)))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
|
|
{
|
|
Local7 = One
|
|
}
|
|
}
|
|
}
|
|
|
|
Local1 += 0x08
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
}
|
|
}
|
|
}
|
|
|
|
Return (Local7)
|
|
}
|
|
|
|
Method (M228, 1, Serialized)
|
|
{
|
|
If ((Arg0 > 0x03))
|
|
{
|
|
Local0 = M110 /* \M110 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local3 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
|
|
If ((Local3 == Arg0))
|
|
{
|
|
Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
|
|
If ((Local4 == Zero))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
M010 ((Local5 & 0xFF00FFFF), Local6)
|
|
}
|
|
|
|
If ((Local4 == One))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)){}
|
|
}
|
|
|
|
If ((Local4 == 0x02))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Sleep (((Local5 + 0x03E7) / 0x03E8))
|
|
}
|
|
}
|
|
|
|
Local1 += 0x08
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M219, 2, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M221 /* \M221 */
|
|
If ((Local0 & 0x02))
|
|
{
|
|
Local0 = M220 /* \M220 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = One
|
|
While ((Local2 != 0xFF))
|
|
{
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
Local4 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local5 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
|
|
Local7 = M013 ((Local0 + Local1), 0x08, Zero, 0x20)
|
|
If ((Local4 == Arg0))
|
|
{
|
|
If (((Local2 < 0x0A) && (Local5 & 0x80)))
|
|
{
|
|
If ((Arg1 == Zero))
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
ElseIf ((Local5 & 0x04))
|
|
{
|
|
If ((Arg1 == One))
|
|
{
|
|
If ((M085 >= 0x04))
|
|
{
|
|
Local3 = 0x03
|
|
}
|
|
Else
|
|
{
|
|
Local3 = 0x0F
|
|
}
|
|
}
|
|
|
|
If ((Arg1 == 0x02))
|
|
{
|
|
Local6 = M017 (Zero, M013 ((Local0 + Local1), 0x05, Zero, 0x08),
|
|
M013 ((Local0 + Local1), 0x06, Zero, 0x08), 0x19, Zero, 0x08)
|
|
If ((M265 (Local6, Zero, Zero) == One))
|
|
{
|
|
If ((M085 >= 0x04))
|
|
{
|
|
Local3 = One
|
|
}
|
|
}
|
|
ElseIf ((M085 >= 0x04))
|
|
{
|
|
Local3 = 0x03
|
|
}
|
|
Else
|
|
{
|
|
Local3 = 0x0F
|
|
}
|
|
}
|
|
}
|
|
ElseIf ((M085 >= 0x04))
|
|
{
|
|
Local3 = 0x03
|
|
}
|
|
Else
|
|
{
|
|
Local3 = 0x0F
|
|
}
|
|
|
|
If ((M085 >= 0x04))
|
|
{
|
|
If ((M085 == 0x08))
|
|
{
|
|
If (((Local7 & 0x0FF00000) > Zero))
|
|
{
|
|
Local6 = M249 (((Local7 >> 0x18) & 0x0F), ((
|
|
Local7 >> 0x14) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00)
|
|
Local6 &= (Ones ^ (0x03 << (Local2 << One)))
|
|
Local6 |= (Local3 << (Local2 << One))
|
|
M250 (((Local7 >> 0x18) & 0x0F), ((Local7 >> 0x14
|
|
) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00, Local6)
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 &
|
|
0x03) << One), 0x02, Local3)
|
|
}
|
|
}
|
|
ElseIf (((Local7 >> 0x1C) == 0x02))
|
|
{
|
|
M012 ((M084 + 0x1300), (Local2 >> 0x02), ((Local2 &
|
|
0x03) << One), 0x02, Local3)
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 &
|
|
0x03) << One), 0x02, Local3)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Local2 >> One), ((Local2 &
|
|
One) << 0x02), 0x04, Local3)
|
|
}
|
|
|
|
If ((Arg1 == Zero))
|
|
{
|
|
M000 (0x0DE0)
|
|
}
|
|
|
|
If ((Arg1 == One))
|
|
{
|
|
M000 (0x0DE1)
|
|
}
|
|
|
|
If ((Arg1 == 0x02))
|
|
{
|
|
M000 (0x0DE2)
|
|
}
|
|
|
|
Local2 = 0xFF
|
|
}
|
|
}
|
|
|
|
Local1 += 0x0C
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M112, 2, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M109 /* \M109 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = One
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
If (((Local2 == Arg0) && (Local3 == Arg1)))
|
|
{
|
|
If ((Local3 < 0x02))
|
|
{
|
|
Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
|
|
If ((Local4 == Zero))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x10)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
M010 (Local5, Local6)
|
|
}
|
|
|
|
If ((Local4 == One))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
M010 ((Local5 & 0xFF00FFFF), Local6)
|
|
Local7 = M009 ((Local5 & 0xFF00FFFF))
|
|
Local4 = 0x03F2
|
|
While (((Local4 > Zero) && (Local7 != Local6)))
|
|
{
|
|
Local4 = (Local4 - One)
|
|
Stall (0x63)
|
|
Local7 = M009 ((Local5 & 0xFF00FFFF))
|
|
}
|
|
}
|
|
|
|
If ((Local3 == Zero))
|
|
{
|
|
M000 (0x0DD5)
|
|
}
|
|
|
|
If ((Local3 == One))
|
|
{
|
|
M000 (0x0DD6)
|
|
}
|
|
}
|
|
|
|
If ((Local3 == 0x02))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Sleep (((Local5 + 0x03E7) / 0x03E8))
|
|
M000 (0x0DD7)
|
|
}
|
|
}
|
|
|
|
Local1 += 0x08
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M275, 2, Serialized)
|
|
{
|
|
Local7 = Zero
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M109 /* \M109 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = One
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
If (((Local2 == Arg0) && (Local3 == Arg1)))
|
|
{
|
|
If ((Local3 < 0x02))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
|
|
If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
|
|
{
|
|
Local7 = One
|
|
}
|
|
}
|
|
}
|
|
|
|
Local1 += 0x08
|
|
}
|
|
}
|
|
}
|
|
|
|
Return (Local7)
|
|
}
|
|
|
|
Method (M113, 1, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = M108 /* \M108 */
|
|
Local7 = One
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = One
|
|
While (((Local2 != 0xFF) && (Local2 != Zero)))
|
|
{
|
|
Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
If ((Local2 == Arg0))
|
|
{
|
|
Local2 = 0xFF
|
|
Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
|
|
If ((Local3 == Zero))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
}
|
|
|
|
If ((Local3 == One))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
|
|
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
}
|
|
|
|
If ((Local3 == 0x02))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
|
|
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x0A, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x0C, Zero, 0x08)
|
|
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
}
|
|
|
|
If ((Local3 == 0x03))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
|
|
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
}
|
|
|
|
If ((Local3 == 0x04))
|
|
{
|
|
Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
|
|
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
|
|
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
Local5 = M013 ((Local0 + Local1), 0x0A, Zero, 0x20)
|
|
Local6 = M013 ((Local0 + Local1), 0x0C, Zero, 0x08)
|
|
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local1 += 0x0E
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local7 = Zero
|
|
}
|
|
|
|
If (Local7)
|
|
{
|
|
Local7 = One
|
|
}
|
|
|
|
Return (Local7)
|
|
}
|
|
|
|
Name (M046, 0xAA)
|
|
Method (M045, 0, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
If ((M046 == 0xAA))
|
|
{
|
|
M046 = Zero
|
|
If (CondRefOf (\_OSI))
|
|
{
|
|
If (\_OSI ("Windows 2021"))
|
|
{
|
|
M046 = 0x0B
|
|
M460 (" KER-ASL-_OSI = Windows 11\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2020"))
|
|
{
|
|
M046 = 0x0A
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 2004\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2019"))
|
|
{
|
|
M046 = 0x09
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1903\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2018.2"))
|
|
{
|
|
M046 = 0x08
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1809\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2018"))
|
|
{
|
|
M046 = 0x07
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1803\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2017.2"))
|
|
{
|
|
M046 = 0x06
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1709\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2017"))
|
|
{
|
|
M046 = 0x05
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1703\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2016"))
|
|
{
|
|
M046 = 0x04
|
|
M460 (" KER-ASL-_OSI = Windows 10, version 1607\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2015"))
|
|
{
|
|
M046 = 0x03
|
|
M460 (" KER-ASL-_OSI = Windows 10\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2013"))
|
|
{
|
|
M046 = 0x02
|
|
M460 (" KER-ASL-_OSI = Windows 8.1\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf (\_OSI ("Windows 2012"))
|
|
{
|
|
M046 = One
|
|
M460 (" KER-ASL-_OSI = Windows 8, Win Server 2012\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
}
|
|
}
|
|
|
|
If ((M046 >= One))
|
|
{
|
|
Local0 = One
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Mutex (M230, 0x00)
|
|
Method (M232, 3, Serialized)
|
|
{
|
|
Local0 = Arg0
|
|
Local1 = Arg1
|
|
Local2 = Arg2
|
|
M460 (" KER-ASL-CpmTriggerSmi (0x%X, 0x%X, %d)\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
|
|
Acquire (M230, 0xFFFF)
|
|
Local0 = Arg0
|
|
OperationRegion (VARM, SystemIO, M231, 0x02)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 8,
|
|
VAR2, 8
|
|
}
|
|
|
|
VAR2 = Local1
|
|
VAR1 = Local0
|
|
If ((Local2 > Zero))
|
|
{
|
|
Sleep (Local2)
|
|
}
|
|
|
|
Release (M230)
|
|
}
|
|
|
|
Method (M043, 3, Serialized)
|
|
{
|
|
If (CondRefOf (MOEM))
|
|
{
|
|
Return (MOEM (Arg0, Arg1, Arg2))
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Method (MLIB, 2, Serialized)
|
|
{
|
|
Switch (ToInteger (Arg0))
|
|
{
|
|
Case (Zero)
|
|
{
|
|
Local0 = DerefOf (Arg1 [0x02])
|
|
Switch (ToInteger (Local0))
|
|
{
|
|
Case (0x03)
|
|
{
|
|
M228 (0x04)
|
|
M228 (0x05)
|
|
}
|
|
Case (0x04)
|
|
{
|
|
M228 (0x04)
|
|
M228 (0x06)
|
|
}
|
|
Case (0x05)
|
|
{
|
|
M228 (0x04)
|
|
M228 (0x07)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
Method (M458, 1, NotSerialized)
|
|
{
|
|
ToInteger (M453, Local0)
|
|
If ((Local0 > 0xFFFF))
|
|
{
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x20)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
THRM, 8,
|
|
Offset (0x14),
|
|
LSRM, 8,
|
|
Offset (0x18),
|
|
MSRM, 8
|
|
}
|
|
|
|
Local1 = 0x001E8480
|
|
While (((Local1 > Zero) && ((LSRM & 0x60) != 0x60)))
|
|
{
|
|
Local1 -= One
|
|
}
|
|
|
|
If ((M457 != Zero))
|
|
{
|
|
Local2 = 0x001E8480
|
|
While (((Local2 > Zero) && ((MSRM & 0x10) != 0x10)))
|
|
{
|
|
Local2 -= One
|
|
}
|
|
}
|
|
|
|
If ((Local1 != Zero))
|
|
{
|
|
THRM = Arg0
|
|
Return (Zero)
|
|
}
|
|
}
|
|
ElseIf ((Local0 > Zero))
|
|
{
|
|
CreateWordField (M285, 0x02, M288)
|
|
OperationRegion (VARN, SystemIO, Local0, 0x08)
|
|
Field (VARN, ByteAcc, NoLock, Preserve)
|
|
{
|
|
THRI, 8,
|
|
Offset (0x05),
|
|
LSRI, 8
|
|
}
|
|
|
|
Local1 = 0x001E8480
|
|
If ((ToInteger (M288) != Local0))
|
|
{
|
|
While (((Local1 > Zero) && ((LSRI & 0x60) != 0x60)))
|
|
{
|
|
Local1 -= One
|
|
}
|
|
}
|
|
|
|
If ((Local1 != Zero))
|
|
{
|
|
THRI = Arg0
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Return (0xFF)
|
|
}
|
|
|
|
Method (M459, 2, NotSerialized)
|
|
{
|
|
ToInteger (M453, Local0)
|
|
If ((Local0 == Zero))
|
|
{
|
|
Return (0xFF)
|
|
}
|
|
ElseIf ((Local0 > 0xFFFF))
|
|
{
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x20)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
DLLM, 8,
|
|
Offset (0x04),
|
|
DLHM, 8,
|
|
Offset (0x08),
|
|
FCRM, 8,
|
|
Offset (0x0C),
|
|
LCRM, 8,
|
|
Offset (0x10),
|
|
MCRM, 8
|
|
}
|
|
|
|
If (((LCRM & 0x3F) != M455))
|
|
{
|
|
LCRM = 0x80
|
|
DLHM = (M454 >> 0x08)
|
|
DLLM = (M454 & 0xFF)
|
|
LCRM = M455 /* \M455 */
|
|
FCRM = Zero
|
|
FCRM = M456 /* \M456 */
|
|
DLHM = Zero
|
|
MCRM = Zero
|
|
}
|
|
}
|
|
|
|
Local0 = SizeOf (Arg0)
|
|
ToInteger (Arg1, Local1)
|
|
Local2 = Zero
|
|
ToBuffer (Arg0, Local3)
|
|
If ((Local0 != Zero))
|
|
{
|
|
While (((Local0 > Local1) && (Local2 == Zero)))
|
|
{
|
|
Local2 = M458 (DerefOf (Local3 [Local1]))
|
|
Local1 += One
|
|
}
|
|
}
|
|
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M460, 7, Serialized)
|
|
{
|
|
CreateWordField (M285, 0x02, M288)
|
|
ToInteger (M453, Local7)
|
|
If ((Local7 == Zero))
|
|
{
|
|
Return (0xFF)
|
|
}
|
|
ElseIf ((Local7 > 0xFFFF))
|
|
{
|
|
OperationRegion (VARM, SystemMemory, Local7, 0x20)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
DLLM, 8,
|
|
Offset (0x04),
|
|
DLHM, 8,
|
|
Offset (0x08),
|
|
FCRM, 8,
|
|
Offset (0x0C),
|
|
LCRM, 8,
|
|
Offset (0x10),
|
|
MCRM, 8
|
|
}
|
|
|
|
If (((LCRM & 0x3F) != M455))
|
|
{
|
|
LCRM = 0x80
|
|
DLHM = (M454 >> 0x08)
|
|
DLLM = (M454 & 0xFF)
|
|
LCRM = M455 /* \M455 */
|
|
FCRM = Zero
|
|
FCRM = M456 /* \M456 */
|
|
DLHM = Zero
|
|
MCRM = Zero
|
|
}
|
|
}
|
|
ElseIf ((ToInteger (M288) == Local7))
|
|
{
|
|
OperationRegion (VARS, SystemIO, Local7, 0x04)
|
|
Field (VARS, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VART, 32
|
|
}
|
|
|
|
VART = 0x5F535452
|
|
}
|
|
|
|
Local0 = SizeOf (Arg0)
|
|
Local1 = Zero
|
|
Local2 = Zero
|
|
Local5 = One
|
|
ToBuffer (Arg0, Local3)
|
|
If ((Local0 != Zero))
|
|
{
|
|
While (((Local0 > Local1) && (Local2 == Zero)))
|
|
{
|
|
Local4 = DerefOf (Local3 [Local1])
|
|
If (((Local4 == 0x25) && (0x07 > Local5)))
|
|
{
|
|
If ((Local5 == One))
|
|
{
|
|
Local6 = Arg1
|
|
}
|
|
ElseIf ((Local5 == 0x02))
|
|
{
|
|
Local6 = Arg2
|
|
}
|
|
ElseIf ((Local5 == 0x03))
|
|
{
|
|
Local6 = Arg3
|
|
}
|
|
ElseIf ((Local5 == 0x04))
|
|
{
|
|
Local6 = Arg4
|
|
}
|
|
ElseIf ((Local5 == 0x05))
|
|
{
|
|
Local6 = Arg5
|
|
}
|
|
ElseIf ((Local5 == 0x06))
|
|
{
|
|
Local6 = Arg6
|
|
}
|
|
|
|
Local5 += One
|
|
Local1 += One
|
|
Local4 = DerefOf (Local3 [Local1])
|
|
If (((Local4 == 0x58) || (Local4 == 0x78)))
|
|
{
|
|
Local2 = M459 (ToHexString (Local6), 0x02)
|
|
}
|
|
ElseIf (((Local4 == 0x44) || (Local4 == 0x64)))
|
|
{
|
|
Local2 = M459 (ToDecimalString (Local6), Zero)
|
|
}
|
|
ElseIf (((Local4 == 0x53) || (Local4 == 0x73)))
|
|
{
|
|
Local2 = M459 (Local6, Zero)
|
|
}
|
|
Else
|
|
{
|
|
Local2 = M458 (0x25)
|
|
Local5 -= One
|
|
Local1 -= One
|
|
}
|
|
}
|
|
ElseIf ((Local4 == 0x0A))
|
|
{
|
|
Local2 = M458 (0x0D)
|
|
Local2 = M458 (0x0A)
|
|
}
|
|
Else
|
|
{
|
|
Local2 = M458 (Local4)
|
|
}
|
|
|
|
Local1 += One
|
|
}
|
|
}
|
|
|
|
If ((ToInteger (M288) == Local7))
|
|
{
|
|
OperationRegion (VARU, SystemIO, Local7, 0x04)
|
|
Field (VARU, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARV, 32
|
|
}
|
|
|
|
VARV = 0x5F454E44
|
|
}
|
|
|
|
Return (Local2)
|
|
}
|
|
|
|
Name (M404, Buffer (0x07)
|
|
{
|
|
0x00, 0x02, 0x06, 0x08, 0x04, 0x0A, 0x0C // .......
|
|
})
|
|
Method (M405, 5, Serialized)
|
|
{
|
|
If ((M085 >= 0x04))
|
|
{
|
|
If ((M085 == 0x08))
|
|
{
|
|
Local1 = DerefOf (M404 [Arg4])
|
|
If (((Arg0 > Zero) || (Arg1 > Zero)))
|
|
{
|
|
Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
|
|
Local0 >>= Local1
|
|
Local0 &= 0x03
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
|
|
Local1 & 0x07), 0x02)
|
|
}
|
|
}
|
|
ElseIf ((Arg3 == 0x02))
|
|
{
|
|
Local0 = M011 ((M084 + 0x1300), (Local1 >> 0x08), (
|
|
Local1 & 0x07), 0x02)
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
|
|
Local1 & 0x07), 0x02)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M011 ((M084 + 0x0E00), (Arg4 >> One), (
|
|
(Arg4 & One) << 0x02), 0x04)
|
|
}
|
|
|
|
M460 (" KER-ASL-CpmReadClkReq (%d, %d, %d, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Arg4, Local0)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M406, 6, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmWriteClkReq (%d, %d, %d, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Arg5)
|
|
If ((M085 >= 0x04))
|
|
{
|
|
If ((M085 == 0x08))
|
|
{
|
|
Local1 = DerefOf (M404 [Arg4])
|
|
If (((Arg0 > Zero) || (Arg1 > Zero)))
|
|
{
|
|
Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
|
|
Local0 &= (Ones ^ (0x03 << Local1))
|
|
Local0 |= (Arg5 << Local1)
|
|
M250 (Arg0, Arg1, Arg2, 0x02D01E00, Local0)
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
|
|
), 0x02, Arg5)
|
|
}
|
|
}
|
|
ElseIf ((Arg3 == 0x02))
|
|
{
|
|
M012 ((M084 + 0x1300), (Local1 >> 0x08), (Local1 & 0x07
|
|
), 0x02, Arg5)
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
|
|
), 0x02, Arg5)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0E00), (Arg4 >> One), ((Arg4 &
|
|
One) << 0x02), 0x04, Arg5)
|
|
}
|
|
}
|
|
|
|
Method (MPTS, 1, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-MPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
M000 (0x0DE7)
|
|
Local0 = M049 (M128, 0x67)
|
|
If (((Local0 & 0x03) == 0x03))
|
|
{
|
|
If ((M085 >= 0x08))
|
|
{
|
|
If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TPTS))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCXX.GPXX.SAXX.TPTS (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_SB.PCI0.PTBR.PTST.TPTS))
|
|
{
|
|
M460 (" KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCI0.PTBR.PTST.TPTS (Arg0)
|
|
}
|
|
}
|
|
ElseIf (CondRefOf (\_SB.PCXX.SAXX.TPTS))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.PCXX.SAXX.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCXX.SAXX.TPTS (Arg0)
|
|
}
|
|
}
|
|
|
|
If ((M226 != Zero))
|
|
{
|
|
If (CondRefOf (\_SB.M263))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.CpmOtherHotplugCard_PTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.M263 (Arg0)
|
|
}
|
|
}
|
|
|
|
If ((M331 != Zero))
|
|
{
|
|
Local0 = M049 (M331, 0x10)
|
|
Local1 = M049 (M331, 0x21)
|
|
If (((Local0 != Zero) && (Local1 != Zero)))
|
|
{
|
|
If (CondRefOf (\_SB.IPTS))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.IPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.IPTS (Arg0)
|
|
}
|
|
}
|
|
}
|
|
|
|
If ((M4F0 != Zero))
|
|
{
|
|
If (CondRefOf (\_GPE.PTS0))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.PTS0 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.PTS0 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.PTS1))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.PTS1 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.PTS1 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.PTS2))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.PTS2 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.PTS2 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.PTS3))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.PTS3 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.PTS3 (Arg0)
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_SB.OPTS))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.OPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.OPTS (Arg0)
|
|
}
|
|
|
|
M000 (0x0DE8)
|
|
}
|
|
|
|
Method (MWAK, 1, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-MWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
M000 (0x0DE9)
|
|
Local0 = M049 (M128, 0x67)
|
|
If (((Local0 & 0x03) == 0x03))
|
|
{
|
|
If ((M085 >= 0x08))
|
|
{
|
|
If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TWAK))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCXX.GPXX.SAXX.TWAK (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_SB.PCI0.PTBR.PTST.TWAK))
|
|
{
|
|
M460 (" KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCI0.PTBR.PTST.TWAK (Arg0)
|
|
}
|
|
}
|
|
ElseIf (CondRefOf (\_SB.PCXX.SAXX.TWAK))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.PCXX.SAXX.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.PCXX.SAXX.TWAK (Arg0)
|
|
}
|
|
}
|
|
|
|
If ((M226 != Zero))
|
|
{
|
|
If (CondRefOf (\_SB.M264))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.CpmOtherHotplugCard_WAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.M264 (Arg0)
|
|
}
|
|
}
|
|
|
|
If ((M280 != Zero))
|
|
{
|
|
If (CondRefOf (\_SB.M284))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.CpmLowPowerEthernet_WAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.M284 (Arg0)
|
|
}
|
|
}
|
|
|
|
If ((M331 != Zero))
|
|
{
|
|
Local0 = M049 (M331, 0x10)
|
|
Local1 = M049 (M331, 0x21)
|
|
If (((Local0 != Zero) && (Local1 != Zero)))
|
|
{
|
|
If (CondRefOf (\_SB.IWAK))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.IWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.IWAK (Arg0)
|
|
}
|
|
}
|
|
}
|
|
|
|
If ((M4F0 != Zero))
|
|
{
|
|
If (CondRefOf (\_GPE.WAK0))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.WAK0 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.WAK0 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.WAK1))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.WAK1 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.WAK1 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.WAK2))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.WAK2 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.WAK2 (Arg0)
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.WAK3))
|
|
{
|
|
M460 (" KER-ASL-Call \\_GPE.WAK3 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.WAK3 (Arg0)
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_SB.OWAK))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.OWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.OWAK (Arg0)
|
|
}
|
|
|
|
M000 (0x0DEA)
|
|
}
|
|
|
|
Method (M019, 4, Serialized)
|
|
{
|
|
Return (M017 (Arg0, Arg1, Arg2, Arg3, Zero, 0x20))
|
|
}
|
|
|
|
Method (M020, 5, Serialized)
|
|
{
|
|
M018 (Arg0, Arg1, Arg2, Arg3, Zero, 0x20, Arg4)
|
|
}
|
|
|
|
Method (M021, 4, Serialized)
|
|
{
|
|
Local0 = (M083 + (Arg0 << 0x14))
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Local0 += 0xE0
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local0 = VAR2 /* \M021.VAR2 */
|
|
M460 (" KER-ASL-CpmReadPcieRegister (0x%X, 0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local0, Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M022, 5, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmWritePcieRegister (0x%X, 0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
Local0 = (M083 + (Arg0 << 0x14))
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Local0 += 0xE0
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
VAR2 = Arg4
|
|
}
|
|
|
|
Method (M023, 3, Serialized)
|
|
{
|
|
M018 (Arg0, Arg1, Arg2, 0x70, 0x03, One, Zero)
|
|
M018 (Arg0, Arg1, Arg2, 0x70, 0x13, One, One)
|
|
}
|
|
|
|
Method (M024, 3, Serialized)
|
|
{
|
|
Local0 = M019 (Arg0, Arg1, Arg2, 0x0128)
|
|
If ((Local0 & 0x00020000))
|
|
{
|
|
Return (Ones)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Method (M026, 3, Serialized)
|
|
{
|
|
Local0 = M021 (Arg0, Arg1, Arg2, 0xA2)
|
|
Local0 &= 0xFFFFFFF8
|
|
Local1 = (Local0 >> 0x04)
|
|
Local1 &= 0x07
|
|
Local0 |= Local1
|
|
Local0 |= 0x0100
|
|
M022 (Arg0, Arg1, Arg2, 0xA2, Local0)
|
|
}
|
|
|
|
Method (M025, 4, Serialized)
|
|
{
|
|
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, Zero)
|
|
If (Arg3)
|
|
{
|
|
M429 (Arg0, Arg1, Arg2, 0x88, Zero, 0x04, Arg3)
|
|
}
|
|
|
|
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, One)
|
|
Local1 = 0x64
|
|
Local2 = One
|
|
While ((Local1 && Local2))
|
|
{
|
|
Sleep (One)
|
|
Local3 = M430 (Arg0, Arg1, Arg2)
|
|
If ((Local3 & 0x0800))
|
|
{
|
|
Local1--
|
|
}
|
|
Else
|
|
{
|
|
Local2 = Zero
|
|
}
|
|
}
|
|
|
|
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, Zero)
|
|
If (!Local2)
|
|
{
|
|
Return (Ones)
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Method (M430, 3, Serialized)
|
|
{
|
|
Local0 = M017 (Arg0, Arg1, Arg2, 0x68, 0x10, 0x10)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M017, 6, Serialized)
|
|
{
|
|
Local0 = M083 /* \M083 */
|
|
Local1 = (M083 >> 0x14)
|
|
Local2 = (Local1 & 0x0F00)
|
|
Local2 += 0x0100
|
|
If (((Local1 + Arg0) >= Local2))
|
|
{
|
|
Local3 = 0x7FFFFFFF
|
|
Local3 |= 0x80000000
|
|
Local4 = ((Local3 >> Arg4) & (Local3 >> (0x20 - Arg5)
|
|
))
|
|
Return (Local4)
|
|
}
|
|
|
|
Local0 += (Arg0 << 0x14)
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Return (M013 (Local0, Arg3, Arg4, Arg5))
|
|
}
|
|
|
|
Method (M018, 7, Serialized)
|
|
{
|
|
Local0 = M083 /* \M083 */
|
|
Local1 = (M083 >> 0x14)
|
|
Local2 = (Local1 & 0x0F00)
|
|
Local2 += 0x0100
|
|
If (((Local1 + Arg0) < Local2))
|
|
{
|
|
Local0 += (Arg0 << 0x14)
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Local3 = 0x7FFFFFFF
|
|
Local3 |= 0x80000000
|
|
If ((M013 (Local0, Zero, Zero, 0x20) != Local3))
|
|
{
|
|
M014 (Local0, Arg3, Arg4, Arg5, Arg6)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M428, 6, Serialized)
|
|
{
|
|
Local0 = M083 /* \M083 */
|
|
Local1 = (M083 >> 0x14)
|
|
Local2 = (Local1 & 0x0F00)
|
|
Local2 += 0x0100
|
|
If (((Local1 + Arg0) >= Local2))
|
|
{
|
|
Local3 = 0xFF
|
|
Local4 = ((Local3 >> Arg4) & (Local3 >> (0x08 - Arg5)
|
|
))
|
|
Return (Local4)
|
|
}
|
|
|
|
Local0 += (Arg0 << 0x14)
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Return (M011 (Local0, Arg3, Arg4, Arg5))
|
|
}
|
|
|
|
Method (M429, 7, Serialized)
|
|
{
|
|
Local0 = M083 /* \M083 */
|
|
Local1 = (M083 >> 0x14)
|
|
Local2 = (Local1 & 0x0F00)
|
|
Local2 += 0x0100
|
|
If (((Local1 + Arg0) < Local2))
|
|
{
|
|
Local0 += (Arg0 << 0x14)
|
|
Local0 += (Arg1 << 0x0F)
|
|
Local0 += (Arg2 << 0x0C)
|
|
Local3 = 0x7FFFFFFF
|
|
Local3 |= 0x80000000
|
|
If ((M013 (Local0, Zero, Zero, 0x20) != Local3))
|
|
{
|
|
M012 (Local0, Arg3, Arg4, Arg5, Arg6)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M265, 3, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
|
|
While ((Local1 != Zero))
|
|
{
|
|
Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
|
|
If (((Local2 == Zero) || (Local2 == 0xFF)))
|
|
{
|
|
Break
|
|
}
|
|
|
|
If ((Local2 == 0x10))
|
|
{
|
|
Local3 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x0C), 0x12, One)
|
|
Local4 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x10), 0x08, One)
|
|
If (((Local3 == One) && (Local4 == One)))
|
|
{
|
|
Local0 = One
|
|
}
|
|
|
|
Break
|
|
}
|
|
|
|
Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M033, 3, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
|
|
While ((Local1 != Zero))
|
|
{
|
|
Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
|
|
If (((Local2 == Zero) || (Local2 == 0xFF)))
|
|
{
|
|
Break
|
|
}
|
|
|
|
If ((Local2 == 0x10))
|
|
{
|
|
Local0 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x0C), 0x0A, 0x02)
|
|
Break
|
|
}
|
|
|
|
Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M027, 3, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
|
|
While ((Local1 != Zero))
|
|
{
|
|
Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
|
|
If (((Local2 == Zero) || (Local2 == 0xFF)))
|
|
{
|
|
Break
|
|
}
|
|
|
|
If ((Local2 == 0x10))
|
|
{
|
|
Local0 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x10), Zero, 0x02)
|
|
Break
|
|
}
|
|
|
|
Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
|
|
}
|
|
|
|
M460 (" KER-ASL-CpmGetPcieAspm (0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Local0, Zero, Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M028, 4, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmSetPcieAspm (0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Zero, Zero)
|
|
Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
|
|
While (((Local1 != Zero) && (Local1 < 0xFF)))
|
|
{
|
|
Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
|
|
If (((Local2 == Zero) || (Local2 == 0xFF)))
|
|
{
|
|
Break
|
|
}
|
|
|
|
If ((Local2 == 0x10))
|
|
{
|
|
M018 (Arg0, Arg1, Arg2, (Local1 + 0x10), Zero, 0x02, Arg3)
|
|
Break
|
|
}
|
|
|
|
Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
|
|
}
|
|
}
|
|
|
|
Method (M114, 4, Serialized)
|
|
{
|
|
Local7 = Zero
|
|
If (!M001 (Arg0, Arg1))
|
|
{
|
|
Name (M115, Buffer (0x05){})
|
|
CreateWordField (M115, Zero, M116)
|
|
CreateField (M115, 0x10, 0x03, M117)
|
|
CreateField (M115, 0x13, 0x05, M118)
|
|
CreateByteField (M115, 0x03, M119)
|
|
CreateByteField (M115, 0x04, M120)
|
|
M116 = 0x05
|
|
M119 = Zero
|
|
M118 = Arg0
|
|
M117 = Arg1
|
|
If ((Arg2 == Zero))
|
|
{
|
|
If ((Arg3 != One))
|
|
{
|
|
M120 = Zero
|
|
\_SB.ALIB (0x06, M115)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If ((Arg3 != One))
|
|
{
|
|
M120 = One
|
|
\_SB.ALIB (0x06, M115)
|
|
}
|
|
|
|
Local0 = M017 (Zero, Arg0, Arg1, 0x19, Zero, 0x08)
|
|
If (((Local0 != Zero) && (Local0 != 0xFF)))
|
|
{
|
|
Local1 = M019 (Local0, Zero, Zero, Zero)
|
|
Local2 = 0x7FFFFFFF
|
|
Local2 |= 0x80000000
|
|
If (((Local1 != Zero) && (Local1 != Local2)))
|
|
{
|
|
Local7 = One
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ElseIf ((Arg2 == Zero))
|
|
{
|
|
M002 (One, Arg1)
|
|
}
|
|
Else
|
|
{
|
|
M002 (Zero, Arg1)
|
|
Local0 = M017 (Zero, Arg0, Arg1, 0x19, Zero, 0x08)
|
|
If (((Local0 != Zero) && (Local0 != 0xFF)))
|
|
{
|
|
Local1 = M019 (Local0, Zero, Zero, Zero)
|
|
Local2 = 0x7FFFFFFF
|
|
Local2 |= 0x80000000
|
|
If (((Local1 != Zero) && (Local1 != Local2)))
|
|
{
|
|
Local7 = One
|
|
}
|
|
}
|
|
}
|
|
|
|
Return (Local7)
|
|
}
|
|
|
|
Method (M248, 1, Serialized)
|
|
{
|
|
If ((M085 == 0x08))
|
|
{
|
|
If ((Arg0 == Zero))
|
|
{
|
|
Return (M017 (Zero, 0x07, One, 0x19, Zero, 0x08))
|
|
}
|
|
Else
|
|
{
|
|
Return (M017 (Zero, 0x08, One, 0x19, Zero, 0x08))
|
|
}
|
|
}
|
|
ElseIf ((M085 >= 0x0B))
|
|
{
|
|
If ((M085 >= 0x0D))
|
|
{
|
|
Return (M017 (Zero, 0x08, (Arg0 + One), 0x19, Zero, 0x08))
|
|
}
|
|
ElseIf ((Arg0 == Zero))
|
|
{
|
|
Return (M017 (Zero, 0x07, One, 0x19, Zero, 0x08))
|
|
}
|
|
Else
|
|
{
|
|
Return (M017 (Zero, 0x08, Arg0, 0x19, Zero, 0x08))
|
|
}
|
|
}
|
|
ElseIf ((M085 >= 0x09))
|
|
{
|
|
If ((Arg0 == Zero))
|
|
{
|
|
Return (M017 (Zero, 0x08, One, 0x19, Zero, 0x08))
|
|
}
|
|
Else
|
|
{
|
|
Return (M017 (Zero, 0x08, 0x02, 0x19, Zero, 0x08))
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Method (M401, 3, Serialized)
|
|
{
|
|
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
|
|
{
|
|
If ((Arg0 <= 0x03))
|
|
{
|
|
Local3 = (0x06 - Arg0)
|
|
}
|
|
Else
|
|
{
|
|
Local3 = 0x06
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local3 = 0x03
|
|
}
|
|
|
|
Local3 = (0x14001000 + (Local3 << 0x14))
|
|
Local0 = (Arg1 & 0x1F)
|
|
Local0 = ((Local0 << 0x03) | (Arg2 & 0x07))
|
|
Local1 = Zero
|
|
If (((M085 >= 0x09) && (M085 <= 0x0A)))
|
|
{
|
|
Local2 = 0x09
|
|
}
|
|
ElseIf (((M085 >= 0x0B) && (M085 <= 0x0C)))
|
|
{
|
|
Local2 = 0x16
|
|
}
|
|
ElseIf ((M085 == 0x0D))
|
|
{
|
|
Local2 = 0x0D
|
|
}
|
|
ElseIf ((M085 == 0x0E))
|
|
{
|
|
Local2 = 0x0A
|
|
}
|
|
ElseIf ((M085 == 0x0F))
|
|
{
|
|
Local2 = 0x10
|
|
}
|
|
Else
|
|
{
|
|
Local2 = 0x12
|
|
}
|
|
|
|
Local4 = M249 (Zero, Zero, Zero, ((Local1 * 0x04) + Local3
|
|
))
|
|
While (((Local1 < Local2) && (Local4 != Local0)))
|
|
{
|
|
Local1++
|
|
Local4 = M249 (Zero, Zero, Zero, ((Local1 * 0x04) + Local3
|
|
))
|
|
}
|
|
|
|
If ((Local1 <= Local2))
|
|
{
|
|
Return (Local1)
|
|
}
|
|
Else
|
|
{
|
|
Return (0xFF)
|
|
}
|
|
}
|
|
|
|
Method (M471, 3, Serialized)
|
|
{
|
|
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
|
|
{
|
|
If ((Arg0 <= 0x03))
|
|
{
|
|
Local5 = (0x04 - Arg0)
|
|
}
|
|
Else
|
|
{
|
|
Local5 = 0x04
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local5 = (Arg0 + One)
|
|
}
|
|
|
|
ToInteger (Arg1, Local4)
|
|
If (((M085 >= 0x0D) && (M085 <= 0x0E)))
|
|
{
|
|
If ((Local4 >= 0x03))
|
|
{
|
|
Local4 -= 0x03
|
|
Local5 += One
|
|
}
|
|
}
|
|
ElseIf ((M085 == 0x0F))
|
|
{
|
|
If ((Local4 >= 0x0C))
|
|
{
|
|
Local4 -= 0x0C
|
|
Local5 += 0x03
|
|
}
|
|
ElseIf ((Local4 == 0x0B))
|
|
{
|
|
Local4 -= 0x0B
|
|
Local5 += 0x02
|
|
}
|
|
ElseIf ((Local4 >= 0x05))
|
|
{
|
|
Local4 -= 0x05
|
|
Local5 += One
|
|
}
|
|
}
|
|
ElseIf ((Local4 >= 0x08))
|
|
{
|
|
Local4 -= 0x08
|
|
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
|
|
{
|
|
Local5 += 0x04
|
|
}
|
|
Else
|
|
{
|
|
Local5 += One
|
|
}
|
|
}
|
|
|
|
Local6 = (0x11000000 + (Local5 << 0x14))
|
|
Local6 += (Arg2 << 0x10)
|
|
If (((Arg2 == Zero) || (Arg2 == 0x04)))
|
|
{
|
|
Local6 += (Local4 << 0x0C)
|
|
}
|
|
|
|
Return (Local6)
|
|
}
|
|
|
|
Method (M402, 3, Serialized)
|
|
{
|
|
Local4 = M401 (Arg0, Arg1, Arg2)
|
|
If ((Local4 != 0xFF))
|
|
{
|
|
If (((M085 >= 0x08) && (M085 <= 0x0B)))
|
|
{
|
|
Local7 = (M471 (Arg0, Local4, 0x08) + 0x0188)
|
|
Local0 = M249 (Zero, Zero, Zero, Local7)
|
|
Local0 &= 0xFFFFDFFF
|
|
M250 (Zero, Zero, Zero, Local7, (Local0 | 0x2000))
|
|
}
|
|
|
|
Local1 = (M019 (Zero, Zero, Zero, 0x84) & 0xFF00FCFF)
|
|
Local2 = ((Arg1 << 0x13) | (Arg2 << 0x10))
|
|
Local1 |= Local2
|
|
M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0100))
|
|
M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0300))
|
|
If ((M085 >= 0x0C))
|
|
{
|
|
Local3 = M019 (Zero, Zero, Zero, 0x84)
|
|
Local5 = 0x4EEA
|
|
While (((Local5 > Zero) && ((Local3 & 0x0400) != 0x0400)))
|
|
{
|
|
Local5 = (Local5 - One)
|
|
Stall (0x63)
|
|
Local3 = M019 (Zero, Zero, Zero, 0x84)
|
|
}
|
|
}
|
|
|
|
Local6 = (M471 (Arg0, Local4, 0x04) + 0x0294)
|
|
Local3 = M249 (Zero, Zero, Zero, Local6)
|
|
Local5 = 0x4EEA
|
|
While (((Local5 > Zero) && ((Local3 & 0x3F) != 0x1F)))
|
|
{
|
|
Local5 = (Local5 - One)
|
|
Stall (0x63)
|
|
Local3 = M249 (Zero, Zero, Zero, Local6)
|
|
}
|
|
|
|
M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0100))
|
|
If (((M085 >= 0x08) && (M085 <= 0x0B)))
|
|
{
|
|
M250 (Zero, Zero, Zero, Local7, Local0)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M403, 4, Serialized)
|
|
{
|
|
Local4 = M401 (Arg0, Arg1, Arg2)
|
|
If ((Local4 != 0xFF))
|
|
{
|
|
Local2 = (M471 (Arg0, Local4, 0x04) + 0x0280)
|
|
Local0 = M249 (Zero, Zero, Zero, Local2)
|
|
Local0 &= 0xFFBFFFFF
|
|
Local1 = Arg3
|
|
Local0 |= (Local1 << 0x16)
|
|
M250 (Zero, Zero, Zero, Local2, Local0)
|
|
}
|
|
}
|
|
|
|
Method (M472, 4, Serialized)
|
|
{
|
|
Local4 = M401 (Arg0, Arg1, Arg2)
|
|
If ((Local4 != 0xFF))
|
|
{
|
|
Local7 = (M471 (Arg0, Local4, 0x08) + 0x0428)
|
|
If (((M085 >= 0x0D) && (M085 <= 0x0E)))
|
|
{
|
|
If ((Local4 >= 0x03))
|
|
{
|
|
Local4 -= 0x03
|
|
}
|
|
}
|
|
ElseIf ((M085 == 0x0F))
|
|
{
|
|
If ((Local4 >= 0x05))
|
|
{
|
|
Local4 -= 0x05
|
|
}
|
|
}
|
|
ElseIf ((Local4 >= 0x08))
|
|
{
|
|
Local4 -= 0x08
|
|
}
|
|
|
|
Local0 = M249 (Zero, Zero, Zero, Local7)
|
|
Local1 = (One << Local4)
|
|
Local2 = (Arg3 << Local4)
|
|
If (((Local0 & Local1) != Local2))
|
|
{
|
|
Local3 = (Local0 & (Ones ^ Local1))
|
|
M250 (Zero, Zero, Zero, Local7, (Local3 | Local2))
|
|
}
|
|
}
|
|
}
|
|
|
|
Mutex (M421, 0x00)
|
|
Method (M422, 4, Serialized)
|
|
{
|
|
Local0 = M049 (M128, 0x81)
|
|
If ((Local0 == Zero))
|
|
{
|
|
Return (Ones)
|
|
}
|
|
|
|
Local0 = (M083 + (Local0 << 0x14))
|
|
Local0 += 0xE0
|
|
Acquire (M421, 0xFFFF)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local1 = VAR1 /* \M422.VAR1 */
|
|
Local2 = VAR2 /* \M422.VAR2 */
|
|
VAR1 = Local1
|
|
Release (M421)
|
|
M460 (" KER-ASL-CpmReadBxbSmnRegister (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M423, 5, Serialized)
|
|
{
|
|
Local0 = M049 (M128, 0x81)
|
|
If ((Local0 != Zero))
|
|
{
|
|
M460 (" KER-ASL-CpmWriteBxbSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
Local0 = (M083 + (Local0 << 0x14))
|
|
Local0 += 0xE0
|
|
Acquire (M421, 0xFFFF)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local1 = VAR1 /* \M423.VAR1 */
|
|
VAR2 = Arg4
|
|
VAR1 = Local1
|
|
Release (M421)
|
|
}
|
|
}
|
|
|
|
Mutex (M253, 0x00)
|
|
Method (M249, 4, Serialized)
|
|
{
|
|
If ((((Arg0 + Arg1) + Arg2) == Zero))
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M252 (Arg0, Arg1, Arg2)
|
|
}
|
|
|
|
If ((Local0 == Ones))
|
|
{
|
|
Return (Ones)
|
|
}
|
|
|
|
Local0 = (M083 + (Local0 << 0x14))
|
|
Local0 += 0xB8
|
|
Acquire (M253, 0xFFFF)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local1 = VAR1 /* \M249.VAR1 */
|
|
Local2 = VAR2 /* \M249.VAR2 */
|
|
VAR1 = Local1
|
|
Release (M253)
|
|
M460 (" KER-ASL-CpmReadSmnRegister (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M250, 5, Serialized)
|
|
{
|
|
If ((((Arg0 + Arg1) + Arg2) == Zero))
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M252 (Arg0, Arg1, Arg2)
|
|
}
|
|
|
|
If ((Local0 != Ones))
|
|
{
|
|
M460 (" KER-ASL-CpmWriteSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
Local0 = (M083 + (Local0 << 0x14))
|
|
Local0 += 0xB8
|
|
Acquire (M253, 0xFFFF)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x08)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VAR1, 32
|
|
}
|
|
|
|
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x04),
|
|
VAR2, 32
|
|
}
|
|
|
|
Local1 = VAR1 /* \M250.VAR1 */
|
|
VAR2 = Arg4
|
|
VAR1 = Local1
|
|
Release (M253)
|
|
}
|
|
}
|
|
|
|
Method (M013, 4, Serialized)
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x04)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 32
|
|
}
|
|
|
|
Local1 = VARR /* \M013.VARR */
|
|
Local5 = 0x7FFFFFFF
|
|
Local5 |= 0x80000000
|
|
Local2 = ((Local1 >> Arg2) & (Local5 >> (0x20 - Arg3)
|
|
))
|
|
M460 (" KER-ASL-CpmReadMem32 (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M014, 5, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmWriteMem32 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x04)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 32
|
|
}
|
|
|
|
Local1 = VARR /* \M014.VARR */
|
|
Local5 = 0x7FFFFFFF
|
|
Local5 |= 0x80000000
|
|
Local2 = (Arg2 + Arg3)
|
|
Local2 = (0x20 - Local2)
|
|
Local2 = (((Local5 << Local2) & Local5) >> Local2)
|
|
Local2 = ((Local2 >> Arg2) << Arg2)
|
|
Local3 = (Arg4 << Arg2)
|
|
Local4 = ((Local1 & (Local5 ^ Local2)) | Local3)
|
|
VARR = Local4
|
|
}
|
|
|
|
Method (M011, 4, Serialized)
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, One)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 8
|
|
}
|
|
|
|
Local1 = VARR /* \M011.VARR */
|
|
Local2 = ((Local1 >> Arg2) & (0xFF >> (0x08 - Arg3)
|
|
))
|
|
M460 (" KER-ASL-CpmReadMem8 (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M012, 5, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmWriteMem8 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, One)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 8
|
|
}
|
|
|
|
Local1 = VARR /* \M012.VARR */
|
|
Local2 = (Arg2 + Arg3)
|
|
Local2 = (0x08 - Local2)
|
|
Local2 = (((0xFF << Local2) & 0xFF) >> Local2)
|
|
Local2 = ((Local2 >> Arg2) << Arg2)
|
|
Local3 = (Arg4 << Arg2)
|
|
Local4 = ((Local1 & (0xFF ^ Local2)) | Local3)
|
|
VARR = Local4
|
|
}
|
|
|
|
Method (M252, 3, Serialized)
|
|
{
|
|
If ((M085 >= 0x08))
|
|
{
|
|
Local0 = M251 /* \M251 */
|
|
If (Local0)
|
|
{
|
|
Local0 += 0x10
|
|
Local1 = Zero
|
|
Local2 = Zero
|
|
While ((Local2 != 0xFF))
|
|
{
|
|
Local2 = M011 ((Local0 + Local1), Zero, Zero, 0x08)
|
|
Local3 = M011 ((Local0 + Local1), One, Zero, 0x08)
|
|
Local4 = M011 ((Local0 + Local1), 0x02, Zero, 0x08)
|
|
Local5 = M011 ((Local0 + Local1), 0x03, Zero, 0x08)
|
|
If (((Local2 == Arg0) && (Local3 == Arg1)))
|
|
{
|
|
If ((Local4 == Arg2))
|
|
{
|
|
Return (Local5)
|
|
}
|
|
}
|
|
|
|
Local1 += 0x04
|
|
}
|
|
}
|
|
}
|
|
|
|
Return (Ones)
|
|
}
|
|
|
|
Method (M049, 2, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, One)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 8
|
|
}
|
|
|
|
Local0 = VARR /* \M049.VARR */
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M04A, 2, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x02)
|
|
Field (VARM, WordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 16
|
|
}
|
|
|
|
Local0 = VARR /* \M04A.VARR */
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M04B, 2, Serialized)
|
|
{
|
|
Local0 = Zero
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x04)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 32
|
|
}
|
|
|
|
Local0 = VARR /* \M04B.VARR */
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M04C, 3, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, One)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 8
|
|
}
|
|
|
|
VARR = Arg2
|
|
}
|
|
}
|
|
|
|
Method (M04D, 3, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x02)
|
|
Field (VARM, WordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 16
|
|
}
|
|
|
|
VARR = Arg2
|
|
}
|
|
}
|
|
|
|
Method (M04E, 3, Serialized)
|
|
{
|
|
If ((Arg0 != Zero))
|
|
{
|
|
Local0 = (Arg0 + Arg1)
|
|
OperationRegion (VARM, SystemMemory, Local0, 0x04)
|
|
Field (VARM, DWordAcc, NoLock, Preserve)
|
|
{
|
|
VARR, 32
|
|
}
|
|
|
|
VARR = Arg2
|
|
}
|
|
}
|
|
|
|
Method (M412, 1, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x1F)
|
|
Local0 &= One
|
|
Local1 = (Arg0 >> 0x18)
|
|
Local1 &= 0x7F
|
|
Local3 = (Arg0 >> 0x04)
|
|
Local3 &= 0x03
|
|
Local4 = (Arg0 & 0x07)
|
|
Local5 = M409 (Local0, Local1, Local3)
|
|
Local5 >>= Local4
|
|
Local5 &= One
|
|
Return (Local5)
|
|
}
|
|
|
|
Method (M4E3, 1, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x15)
|
|
Local0 &= 0x07
|
|
Local1 = (Arg0 >> 0x18)
|
|
Local1 &= 0x7F
|
|
Local3 = (Arg0 >> 0x04)
|
|
Local3 &= 0x03
|
|
Local4 = (Arg0 & 0x07)
|
|
Local5 = M4E1 (Local0, Local1, Local3)
|
|
Local5 >>= Local4
|
|
Local5 &= One
|
|
Return (Local5)
|
|
}
|
|
|
|
Method (M413, 2, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x1F)
|
|
Local0 &= One
|
|
Local1 = (Arg0 >> 0x18)
|
|
Local1 &= 0x7F
|
|
Local2 = (Arg0 >> 0x06)
|
|
Local2 &= 0x03
|
|
Local3 = (Arg0 >> 0x04)
|
|
Local3 &= 0x03
|
|
Local4 = (Arg0 & 0x07)
|
|
Local5 = M409 (Local0, Local1, (((Local2 + One) * One
|
|
) + Local3))
|
|
Local6 = Local5
|
|
Local5 &= (Ones ^ (One << Local4))
|
|
Local5 |= ((Arg1 & One) << Local4)
|
|
If ((Local5 != Local6))
|
|
{
|
|
M410 (Local0, Local1, (((Local2 + One) * One) + Local3
|
|
), Local5)
|
|
}
|
|
}
|
|
|
|
Method (M4E4, 2, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x15)
|
|
Local0 &= 0x07
|
|
Local1 = (Arg0 >> 0x18)
|
|
Local1 &= 0x7F
|
|
Local2 = (Arg0 >> 0x06)
|
|
Local2 &= 0x03
|
|
Local3 = (Arg0 >> 0x04)
|
|
Local3 &= 0x03
|
|
Local4 = (Arg0 & 0x07)
|
|
Local5 = M4E1 (Local0, Local1, (((Local2 + One) * One
|
|
) + Local3))
|
|
Local6 = Local5
|
|
Local5 &= (Ones ^ (One << Local4))
|
|
Local5 |= ((Arg1 & One) << Local4)
|
|
If ((Local5 != Local6))
|
|
{
|
|
M4E2 (Local0, Local1, (((Local2 + One) * One) + Local3
|
|
), Local5)
|
|
}
|
|
}
|
|
|
|
Method (M440, 1, Serialized)
|
|
{
|
|
M012 (0xFEC30000, Zero, Arg0, One, Zero)
|
|
Local0 = M011 (0xFEC30000, 0x04, Arg0, One)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M441, 2, Serialized)
|
|
{
|
|
M012 (0xFEC30000, Zero, Arg0, One, One)
|
|
M012 (0xFEC30000, 0x08, Arg0, One, Arg1)
|
|
}
|
|
|
|
Method (M009, 1, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x08)
|
|
Local0 &= 0x07
|
|
Local1 = (Arg0 & 0xFF)
|
|
Local2 = Zero
|
|
If (((Local0 == Zero) || (Local0 == One)))
|
|
{
|
|
If ((M085 >= 0x02))
|
|
{
|
|
If (((Arg0 & 0xF8000000) == Zero))
|
|
{
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local2 = M011 ((M084 + 0x1502), (Local1 * 0x04), Zero,
|
|
One)
|
|
}
|
|
Else
|
|
{
|
|
Local2 = M011 ((M084 + 0x1202), (Local1 * 0x04), Zero,
|
|
One)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local3 = (Arg0 >> 0x1F)
|
|
Local3 &= One
|
|
Local4 = (Arg0 >> 0x1D)
|
|
Local4 &= 0x03
|
|
Local5 = (Arg0 >> 0x1B)
|
|
Local5 &= 0x03
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local6 = (0x02D02500 + (Local1 * 0x04))
|
|
}
|
|
Else
|
|
{
|
|
Local6 = (0x02D02200 + (Local1 * 0x04))
|
|
}
|
|
|
|
Local2 = M249 (Local3, Local4, Local5, Local6)
|
|
Local2 >>= 0x10
|
|
Local2 &= One
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local2 = M011 ((M084 + 0x0100), Local1, 0x07, One)
|
|
}
|
|
}
|
|
ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
|
|
{
|
|
Local3 = (Arg0 >> 0x1F)
|
|
Local3 &= One
|
|
Local4 = (Arg0 >> 0x1D)
|
|
Local4 &= 0x03
|
|
Local5 = (Arg0 >> 0x1B)
|
|
Local5 &= 0x03
|
|
If ((Local0 == 0x04))
|
|
{
|
|
Local6 = (0x02D02500 + (Local1 * 0x04))
|
|
}
|
|
Else
|
|
{
|
|
Local6 = (0x02D02200 + (Local1 * 0x04))
|
|
}
|
|
|
|
Local2 = M422 (Local3, Local4, Local5, Local6)
|
|
Local2 >>= 0x10
|
|
Local2 &= One
|
|
}
|
|
ElseIf ((Local0 == 0x02))
|
|
{
|
|
If ((M049 (M128, 0x77) == One))
|
|
{
|
|
Local2 = M038 ((Local1 + 0x08))
|
|
}
|
|
Else
|
|
{
|
|
Local2 = 0xFF
|
|
}
|
|
}
|
|
ElseIf ((Local0 == 0x03))
|
|
{
|
|
Local2 = M440 (Local1)
|
|
}
|
|
ElseIf ((Local0 == 0x06))
|
|
{
|
|
Local2 = M412 (Arg0)
|
|
}
|
|
ElseIf ((Local0 == 0x07))
|
|
{
|
|
Local2 = M4E3 (Arg0)
|
|
}
|
|
|
|
M460 (" KER-ASL-CpmReadGpio (0x%X) = 0x%X\n", Arg0, Local2, Zero, Zero, Zero, Zero)
|
|
Return (Local2)
|
|
}
|
|
|
|
Method (M010, 2, Serialized)
|
|
{
|
|
Local0 = (Arg0 >> 0x08)
|
|
Local0 &= 0x07
|
|
Local1 = (Arg0 & 0xFF)
|
|
M460 (" KER-ASL-CpmWriteGpio (0x%X, 0x%X)\n", Arg0, Arg1, Zero, Zero, Zero, Zero)
|
|
If (((Local0 == Zero) || (Local0 == One)))
|
|
{
|
|
If ((M085 >= 0x02))
|
|
{
|
|
If (((Arg0 & 0xF8000000) == Zero))
|
|
{
|
|
If ((Local0 == Zero))
|
|
{
|
|
M012 ((M084 + 0x1502), (Local1 * 0x04), 0x06, 0x02, (
|
|
0x02 | Arg1))
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x1202), (Local1 * 0x04), 0x06, 0x02, (
|
|
0x02 | Arg1))
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local3 = (Arg0 >> 0x1F)
|
|
Local3 &= One
|
|
Local4 = (Arg0 >> 0x1D)
|
|
Local4 &= 0x03
|
|
Local5 = (Arg0 >> 0x1B)
|
|
Local5 &= 0x03
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local6 = (0x02D02500 + (Local1 * 0x04))
|
|
}
|
|
Else
|
|
{
|
|
Local6 = (0x02D02200 + (Local1 * 0x04))
|
|
}
|
|
|
|
Local2 = M249 (Local3, Local4, Local5, Local6)
|
|
Local2 &= 0xCF3FFFFF
|
|
Local2 |= 0x00800000
|
|
Local2 |= (Arg1 << 0x16)
|
|
M250 (Local3, Local4, Local5, Local6, Local2)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M012 ((M084 + 0x0100), Local1, 0x06, One, Arg1)
|
|
M012 ((M084 + 0x0100), Local1, 0x05, One, Zero)
|
|
}
|
|
}
|
|
ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
|
|
{
|
|
Local3 = (Arg0 >> 0x1F)
|
|
Local3 &= One
|
|
Local4 = (Arg0 >> 0x1D)
|
|
Local4 &= 0x03
|
|
Local5 = (Arg0 >> 0x1B)
|
|
Local5 &= 0x03
|
|
If ((Local0 == 0x04))
|
|
{
|
|
Local6 = (0x02D02500 + (Local1 * 0x04))
|
|
}
|
|
Else
|
|
{
|
|
Local6 = (0x02D02200 + (Local1 * 0x04))
|
|
}
|
|
|
|
Local2 = M422 (Local3, Local4, Local5, Local6)
|
|
Local2 &= 0xCF3FFFFF
|
|
Local2 |= 0x00800000
|
|
Local2 |= (Arg1 << 0x16)
|
|
M423 (Local3, Local4, Local5, Local6, Local2)
|
|
}
|
|
ElseIf ((Local0 == 0x02))
|
|
{
|
|
If ((M049 (M128, 0x77) == One))
|
|
{
|
|
M039 ((Local1 + 0x08), Arg1)
|
|
}
|
|
}
|
|
ElseIf ((Local0 == 0x03))
|
|
{
|
|
M441 (Local1, Arg1)
|
|
}
|
|
ElseIf ((Local0 == 0x06))
|
|
{
|
|
M413 (Arg0, Arg1)
|
|
}
|
|
ElseIf ((Local0 == 0x07))
|
|
{
|
|
M4E4 (Arg0, Arg1)
|
|
}
|
|
}
|
|
|
|
Name (M037, Buffer (0x17)
|
|
{
|
|
/* 0000 */ 0x7E, 0x81, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05, // ~.......
|
|
/* 0008 */ 0x02, 0x20, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // . ......
|
|
/* 0010 */ 0x17, 0x19, 0x0B, 0x01, 0x0F, 0x0D, 0x09 // .......
|
|
})
|
|
Name (M227, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x41, 0x42, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05, // AB......
|
|
/* 0008 */ 0x02, 0x44, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // .D......
|
|
/* 0010 */ 0x17, 0x45, 0x0B, 0x01, 0x0F, 0x0D, 0x09, 0x08 // .E......
|
|
})
|
|
Name (M329, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
|
|
/* 0008 */ 0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x12, 0x18, // .V.L....
|
|
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
|
|
})
|
|
Name (M32A, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
|
|
/* 0008 */ 0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x1D, 0x1E, // .V.L....
|
|
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
|
|
})
|
|
Name (M330, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
|
|
/* 0008 */ 0x02, 0x56, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // .V......
|
|
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
|
|
})
|
|
Name (M32B, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x0B, 0x5B, 0x05, // YZ....[.
|
|
/* 0008 */ 0x02, 0x1D, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // ........
|
|
/* 0010 */ 0x17, 0x20, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // . T.(...
|
|
})
|
|
Method (M029, 1, Serialized)
|
|
{
|
|
If ((M085 == 0x02))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M037 [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf ((M085 < 0x02))
|
|
{
|
|
Return (M011 ((M084 + 0x0160), Arg0, 0x07, One))
|
|
}
|
|
ElseIf (((M085 > 0x02) && (M085 < 0x08)))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M227 [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf ((M085 == 0x08))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M329 [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf (((M085 == 0x09) || (M085 == 0x0A)))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf (((M085 == 0x0B) || (M085 == 0x0C)))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M32A [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf (((M085 == 0x0D) || (M085 == 0x0E)))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
ElseIf ((M085 == 0x0F))
|
|
{
|
|
Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) *
|
|
0x04), Zero, One))
|
|
}
|
|
}
|
|
|
|
Method (M031, 1, Serialized)
|
|
{
|
|
Local0 = M011 ((M084 + 0x0240), Arg0, Zero, 0x05)
|
|
Return (M011 ((M084 + 0x0208), (Local0 / 0x08), (Local0 &
|
|
0x07), One))
|
|
}
|
|
|
|
Method (M032, 2, Serialized)
|
|
{
|
|
Local0 = M011 ((M084 + 0x0240), Arg0, Zero, 0x05)
|
|
M012 ((M084 + 0x0208), (Local0 / 0x08), (Local0 & 0x07
|
|
), One, Arg1)
|
|
}
|
|
|
|
Method (M477, 2, Serialized)
|
|
{
|
|
If ((Arg1 == Zero))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
|
|
OperationRegion (VARM, SystemIO, Arg0, 0x09)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x08),
|
|
SMB8, 8
|
|
}
|
|
|
|
Local0 = Arg1
|
|
While ((Local0 > Zero))
|
|
{
|
|
SMB8 |= 0x40
|
|
If ((Local0 < 0x00FFFFFF))
|
|
{
|
|
If ((Local0 > 0x05))
|
|
{
|
|
Local0 = (Local0 - 0x05)
|
|
}
|
|
Else
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
}
|
|
|
|
Stall (0x05)
|
|
Local1 = SMB8 /* \M477.SMB8 */
|
|
If (((Local1 & 0x50) == 0x40))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Return (One)
|
|
}
|
|
|
|
Method (M478, 1, Serialized)
|
|
{
|
|
OperationRegion (VARM, SystemIO, Arg0, 0x09)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
Offset (0x08),
|
|
SMB8, 8
|
|
}
|
|
|
|
SMB8 |= 0x80
|
|
}
|
|
|
|
Method (M479, 2, Serialized)
|
|
{
|
|
OperationRegion (VARM, SystemIO, Arg0, 0x03)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SMB0, 8,
|
|
SMB1, 8,
|
|
SMB2, 8
|
|
}
|
|
|
|
Local0 = Arg1
|
|
While ((Local0 > Zero))
|
|
{
|
|
Local1 = 0x64
|
|
Local2 = One
|
|
While (((Local1 > Zero) && ((Local2 & One) != Zero)))
|
|
{
|
|
SMB0 = 0x1F
|
|
If ((Local0 < 0x00FFFFFF))
|
|
{
|
|
If ((Local0 > 0x05))
|
|
{
|
|
Local0 = (Local0 - 0x05)
|
|
}
|
|
Else
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x05)
|
|
Local2 = SMB0 /* \M479.SMB0 */
|
|
}
|
|
|
|
If (((Local2 & One) != Zero))
|
|
{
|
|
SMB2 = 0x02
|
|
}
|
|
Else
|
|
{
|
|
Break
|
|
}
|
|
}
|
|
|
|
If (((SMB0 & One) != Zero))
|
|
{
|
|
Return (One)
|
|
}
|
|
|
|
While ((Local0 > Zero))
|
|
{
|
|
Local1 = 0x64
|
|
Local2 = One
|
|
While (((Local1 > Zero) && ((Local2 & One) != Zero)))
|
|
{
|
|
SMB1 = 0x3F
|
|
If ((Local0 < 0x00FFFFFF))
|
|
{
|
|
If ((Local0 > 0x05))
|
|
{
|
|
Local0 = (Local0 - 0x05)
|
|
}
|
|
Else
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x05)
|
|
Local2 = SMB1 /* \M479.SMB1 */
|
|
}
|
|
|
|
If (((Local2 & One) != Zero))
|
|
{
|
|
SMB1 = 0x02
|
|
}
|
|
Else
|
|
{
|
|
Break
|
|
}
|
|
}
|
|
|
|
If (((SMB1 & One) != Zero))
|
|
{
|
|
Return (One)
|
|
}
|
|
|
|
Return (Zero)
|
|
}
|
|
|
|
Mutex (M408, 0x00)
|
|
Method (M47A, 6, Serialized)
|
|
{
|
|
Local0 = Buffer (0x22){}
|
|
CreateByteField (Local0, Zero, STAT)
|
|
CreateByteField (Local0, One, LEN)
|
|
CreateByteField (Local0, 0x02, DATB)
|
|
CreateWordField (Local0, 0x02, DATW)
|
|
CreateField (Local0, 0x10, 0x0100, DTBF)
|
|
STAT = 0xFF
|
|
LEN = Zero
|
|
DTBF = Zero
|
|
M000 (0x0DE5)
|
|
M460 (" KER-ASL-CpmSmbusExecutor (Port%d, isRead %d, Potcl %d, DevAddr 0x%X, Cmd 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
|
|
If (((Arg0 != Zero) && (Arg0 != One)))
|
|
{
|
|
STAT = 0x80
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x80\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
If (((Arg1 != Zero) && (Arg1 != One)))
|
|
{
|
|
STAT = 0x81
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x81\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
Name (VALP, Package (0x05)
|
|
{
|
|
Zero,
|
|
One,
|
|
0x02,
|
|
0x03,
|
|
0x05
|
|
})
|
|
If ((Match (VALP, MEQ, Arg2, MTR, Zero, Zero) == Ones))
|
|
{
|
|
STAT = 0x82
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x82\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
If (((Arg1 == Zero) && (Arg2 == 0x05)))
|
|
{
|
|
Local7 = Arg5
|
|
Local2 = DerefOf (Local7 [Zero])
|
|
If (((Local2 < One) || (Local2 > 0x20)))
|
|
{
|
|
STAT = 0x83
|
|
M460 (" KER-ASL-CpmSmbusExecutor return 0x83, Length %d\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Return (Local0)
|
|
}
|
|
}
|
|
|
|
Acquire (M408, 0xFFFF)
|
|
Local4 = (M414 + (Arg0 << 0x05))
|
|
If ((Local4 == Zero))
|
|
{
|
|
Release (M408)
|
|
STAT = 0x84
|
|
M460 (" KER-ASL-CpmSmbusExecutor return 0x84, Local4 %d\n", Local4, Zero, Zero, Zero, Zero, Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
OperationRegion (VARM, SystemIO, Local4, 0x09)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SMB0, 8,
|
|
SMB1, 8,
|
|
SMB2, 8,
|
|
SMB3, 8,
|
|
SMB4, 8,
|
|
SMB5, 8,
|
|
SMB6, 8,
|
|
SMB7, 8,
|
|
SMB8, 8
|
|
}
|
|
|
|
Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
|
|
If ((Arg0 == One))
|
|
{
|
|
Local6 = SMB2 /* \M47A.SMB2 */
|
|
SMB2 = (Local6 & 0x7F)
|
|
}
|
|
|
|
If (M477 (Local4, 0x4E20))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
STAT = 0x85
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x85\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
If (M479 (Local4, 0x4E20))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
M478 (Local4)
|
|
Release (M408)
|
|
STAT = 0x86
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x86\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
Local7 = Arg5
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
SMB0 = 0x1F
|
|
SMB4 = ((Arg3 << One) | Arg1)
|
|
SMB3 = Arg4
|
|
SMB2 = (Arg2 << 0x02)
|
|
Local1 = SMB2 /* \M47A.SMB2 */
|
|
If ((Arg1 == Zero))
|
|
{
|
|
If (((Arg2 == One) || (Arg2 == 0x02)))
|
|
{
|
|
SMB5 = DerefOf (Local7 [One])
|
|
}
|
|
|
|
If ((Arg2 == 0x03))
|
|
{
|
|
SMB6 = DerefOf (Local7 [0x02])
|
|
SMB5 = DerefOf (Local7 [One])
|
|
}
|
|
|
|
If ((Arg2 == 0x05))
|
|
{
|
|
Local2 = DerefOf (Local7 [Zero])
|
|
SMB5 = Local2
|
|
Local1 = One
|
|
While ((Local1 <= Local2))
|
|
{
|
|
SMB7 = DerefOf (Local7 [Local1])
|
|
Local1++
|
|
}
|
|
}
|
|
}
|
|
ElseIf ((Arg2 == 0x05))
|
|
{
|
|
Local2 = DerefOf (Local7 [Zero])
|
|
SMB5 = Local2
|
|
}
|
|
|
|
SMB2 = ((Arg2 << 0x02) | 0x40)
|
|
If ((Arg2 == 0x05))
|
|
{
|
|
Local1 = 0x1B58
|
|
}
|
|
Else
|
|
{
|
|
Local1 = 0x03E8
|
|
}
|
|
|
|
Local2 = One
|
|
While (((Local1 > Zero) && ((Local2 & 0x0E) == Zero)))
|
|
{
|
|
If (((Local2 & One) == Zero))
|
|
{
|
|
Break
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x05)
|
|
Local2 = SMB0 /* \M47A.SMB0 */
|
|
}
|
|
|
|
If (((Local1 == Zero) && ((Local2 & One) != Zero)))
|
|
{
|
|
SMB2 = 0x02
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
M478 (Local4)
|
|
Release (M408)
|
|
STAT = 0x87
|
|
M459 (" KER-ASL-CpmSmbusExecutor return 0x87\n", Zero)
|
|
Return (Local0)
|
|
}
|
|
|
|
If (((Local2 & 0x04) != Zero))
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
ElseIf (((Local2 & 0x08) != Zero))
|
|
{
|
|
SMB0 = 0x08
|
|
Local3--
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
STAT = Zero
|
|
If ((Arg1 != Zero))
|
|
{
|
|
If (((Arg2 == One) || (Arg2 == 0x02)))
|
|
{
|
|
DATB = SMB5 /* \M47A.SMB5 */
|
|
LEN = One
|
|
}
|
|
|
|
If ((Arg2 == 0x03))
|
|
{
|
|
Local0 [0x03] = SMB6 /* \M47A.SMB6 */
|
|
Local0 [0x02] = SMB5 /* \M47A.SMB5 */
|
|
LEN = 0x02
|
|
}
|
|
|
|
If ((Arg2 == 0x05))
|
|
{
|
|
Local2 = SMB2 /* \M47A.SMB2 */
|
|
Local2 = SMB5 /* \M47A.SMB5 */
|
|
If ((Local2 > 0x20))
|
|
{
|
|
Local2 = 0x20
|
|
}
|
|
|
|
LEN = Local2
|
|
Local1 = 0x02
|
|
Local2 += 0x02
|
|
While ((Local1 < Local2))
|
|
{
|
|
Local0 [Local1] = 0xCC
|
|
Local0 [Local1] = SMB7 /* \M47A.SMB7 */
|
|
Local1++
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Local1 = (SMB0 & 0x1D)
|
|
STAT = Local1
|
|
SMB0 = 0x1F
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
M478 (Local4)
|
|
Release (M408)
|
|
M460 (" KER-ASL-CpmSmbusExecutor return St: 0x%X, Len %d, Data: 0x%X, 0x%X, 0x%X, 0x%X ...\n", STAT, LEN, DerefOf (Local0 [0x02]), DerefOf (Local0 [
|
|
0x03]), DerefOf (Local0 [0x04]), DerefOf (Local0 [0x05]))
|
|
M000 (0x0DE6)
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M47B, 3, Serialized)
|
|
{
|
|
Local0 = M47A (Arg0, Arg1, Zero, Arg2, Zero, Zero)
|
|
Return (DerefOf (Local0 [Zero]))
|
|
}
|
|
|
|
Method (M47C, 4, Serialized)
|
|
{
|
|
Local0 = Buffer (0x02){}
|
|
CreateByteField (Local0, Zero, LEN)
|
|
CreateByteField (Local0, One, DATB)
|
|
LEN = One
|
|
DATB = Arg3
|
|
Local1 = M47A (Arg0, Arg1, One, Arg2, Zero, Local0)
|
|
Return (Local1)
|
|
}
|
|
|
|
Method (M47D, 5, Serialized)
|
|
{
|
|
Local0 = Buffer (0x02){}
|
|
CreateByteField (Local0, Zero, LEN)
|
|
CreateByteField (Local0, One, DATB)
|
|
LEN = One
|
|
DATB = Arg4
|
|
Local1 = M47A (Arg0, Arg1, 0x02, Arg2, Arg3, Local0)
|
|
Return (Local1)
|
|
}
|
|
|
|
Method (M47E, 5, Serialized)
|
|
{
|
|
Local0 = Buffer (0x03){}
|
|
CreateByteField (Local0, Zero, LEN)
|
|
CreateByteField (Local0, One, DATL)
|
|
CreateByteField (Local0, 0x02, DATH)
|
|
LEN = 0x02
|
|
DATL = (Arg4 & 0xFF)
|
|
DATH = ((Arg4 >> 0x08) & 0xFF)
|
|
Local1 = M47A (Arg0, Arg1, 0x03, Arg2, Arg3, Local0)
|
|
Return (Local1)
|
|
}
|
|
|
|
Method (M47F, 5, Serialized)
|
|
{
|
|
Local1 = M47A (Arg0, Arg1, 0x05, Arg2, Arg3, Arg4)
|
|
Return (Local1)
|
|
}
|
|
|
|
Method (M409, 3, Serialized)
|
|
{
|
|
Acquire (M408, 0xFFFF)
|
|
Local0 = (M414 + (Arg0 << 0x05))
|
|
OperationRegion (VARM, SystemIO, Local0, 0x09)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SMB0, 8,
|
|
SMB1, 8,
|
|
SMB2, 8,
|
|
SMB3, 8,
|
|
SMB4, 8,
|
|
SMB5, 8,
|
|
SMB6, 8,
|
|
SMB7, 8,
|
|
SMB8, 8
|
|
}
|
|
|
|
Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
|
|
If ((Arg0 == One))
|
|
{
|
|
Local6 = SMB2 /* \M409.SMB2 */
|
|
SMB2 = (Local6 & 0x7F)
|
|
}
|
|
|
|
Local1 = Zero
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & 0x10) != 0x10)))
|
|
{
|
|
SMB8 |= 0x10
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB8 /* \M409.SMB8 */
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
Local1 = One
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
SMB0 = 0x1F
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M409.SMB0 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB2 = 0x02
|
|
Local3 = (Local3 - One)
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
}
|
|
|
|
If (((Local2 == Zero) && (Local3 == Zero)))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 1\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
Local1 = One
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
SMB1 = 0x3F
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB1 /* \M409.SMB1 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB1 = 0x02
|
|
Local3 = (Local3 - One)
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
}
|
|
|
|
If (((Local2 == Zero) && (Local3 == Zero)))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 2\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
SMB0 = 0x1F
|
|
SMB4 = ((Arg1 << One) | One)
|
|
SMB3 = Arg2
|
|
SMB2 = 0x08
|
|
Local1 = SMB2 /* \M409.SMB2 */
|
|
SMB2 = 0x48
|
|
Local1 = One
|
|
Local4 = 0x03E8
|
|
While (((Local4 > Zero) && ((Local1 & 0x0E) == Zero)))
|
|
{
|
|
Local2 = 0x03E8
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M409.SMB0 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB2 = 0x02
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 3\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local4 = (Local4 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M409.SMB0 */
|
|
}
|
|
|
|
If (((Local1 & 0x04) != Zero))
|
|
{
|
|
Local3 = Zero
|
|
Local4 = Zero
|
|
}
|
|
ElseIf (((Local1 & 0x08) != Zero))
|
|
{
|
|
SMB0 = 0x08
|
|
Local3 = (Local3 - One)
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
Local4 = SMB5 /* \M409.SMB5 */
|
|
}
|
|
}
|
|
|
|
SMB0 = 0x1F
|
|
SMB8 |= 0x20
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0x%X Success\n", Arg0, Arg1, Arg2, Local4, Zero, Zero)
|
|
Return (Local4)
|
|
}
|
|
|
|
Method (M410, 4, Serialized)
|
|
{
|
|
Acquire (M408, 0xFFFF)
|
|
Local0 = (M414 + (Arg0 << 0x05))
|
|
OperationRegion (VARM, SystemIO, Local0, 0x09)
|
|
Field (VARM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SMB0, 8,
|
|
SMB1, 8,
|
|
SMB2, 8,
|
|
SMB3, 8,
|
|
SMB4, 8,
|
|
SMB5, 8,
|
|
SMB6, 8,
|
|
SMB7, 8,
|
|
SMB8, 8
|
|
}
|
|
|
|
Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
|
|
If ((Arg0 == One))
|
|
{
|
|
Local6 = SMB2 /* \M410.SMB2 */
|
|
SMB2 = (Local6 & 0x7F)
|
|
}
|
|
|
|
Local1 = Zero
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & 0x10) != 0x10)))
|
|
{
|
|
SMB8 |= 0x10
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB8 /* \M410.SMB8 */
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
Local1 = One
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
SMB0 = 0x1F
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M410.SMB0 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB2 = 0x02
|
|
Local3 = (Local3 - One)
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
}
|
|
|
|
If (((Local2 == Zero) && (Local3 == Zero)))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
Local1 = One
|
|
Local2 = 0x64
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
SMB1 = 0x3F
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB1 /* \M410.SMB1 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB1 = 0x02
|
|
Local3 = (Local3 - One)
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
}
|
|
}
|
|
|
|
If (((Local2 == Zero) && (Local3 == Zero)))
|
|
{
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local3 = 0x03
|
|
While ((Local3 > Zero))
|
|
{
|
|
SMB0 = 0x1F
|
|
SMB4 = (Arg1 << One)
|
|
SMB3 = Arg2
|
|
SMB2 = 0x08
|
|
Local1 = SMB2 /* \M410.SMB2 */
|
|
SMB5 = Arg3
|
|
SMB2 = 0x48
|
|
Local1 = One
|
|
Local4 = 0x03E8
|
|
While (((Local4 > Zero) && ((Local1 & 0x0E) == Zero)))
|
|
{
|
|
Local2 = 0x03E8
|
|
While (((Local2 > Zero) && ((Local1 & One) != Zero)))
|
|
{
|
|
Local2 = (Local2 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M410.SMB0 */
|
|
}
|
|
|
|
If ((Local2 == Zero))
|
|
{
|
|
SMB2 = 0x02
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
Return (Zero)
|
|
}
|
|
|
|
Local4 = (Local4 - One)
|
|
Stall (0x05)
|
|
Local1 = SMB0 /* \M410.SMB0 */
|
|
}
|
|
|
|
If (((Local1 & 0x04) != Zero))
|
|
{
|
|
Local3 = Zero
|
|
Local4 = Zero
|
|
}
|
|
ElseIf (((Local1 & 0x08) != Zero))
|
|
{
|
|
SMB0 = 0x08
|
|
Local3 = (Local3 - One)
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local3 = Zero
|
|
Local4 = Zero
|
|
}
|
|
}
|
|
|
|
SMB0 = 0x1F
|
|
SMB8 |= 0x20
|
|
If ((Arg0 == One))
|
|
{
|
|
SMB2 = Local6
|
|
}
|
|
|
|
M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
|
|
Release (M408)
|
|
Return (Local4)
|
|
}
|
|
|
|
Method (M4F1, 1, Serialized)
|
|
{
|
|
M460 (" KER-ASL-CpmCheckExpanderInputEvent (0x%X) Start\n", Arg0, Zero, Zero, Zero, Zero, Zero)
|
|
Local5 = Zero
|
|
If (((Arg0 >= Zero) && (Arg0 <= 0x03)))
|
|
{
|
|
Local0 = M4F0 /* \M4F0 */
|
|
If ((Local0 != Zero))
|
|
{
|
|
Local0 += 0x10
|
|
Local0 += (Arg0 * 0x26)
|
|
If ((M049 (Local0, Zero) == Arg0))
|
|
{
|
|
Local1 = M049 (Local0, 0x15)
|
|
Local2 = M049 (Local0, 0x16)
|
|
Local3 = M049 (Local0, 0x1E)
|
|
Local4 = M409 (Local1, Local2, Zero)
|
|
M000 ((Local4 + (Arg0 << 0x0C)))
|
|
M04C (Local0, 0x1E, Local4)
|
|
Local4 ^= Local3
|
|
Local4 &= M049 (Local0, 0x1C)
|
|
Local4 |= M049 (Local0, 0x1D)
|
|
If ((M049 (Local0, 0x17) >= One))
|
|
{
|
|
Local3 = M049 (Local0, 0x25)
|
|
Local5 = M409 (Local1, Local2, One)
|
|
M000 (((Local5 + 0x0100) + (Arg0 << 0x0C)))
|
|
M04C (Local0, 0x25, Local5)
|
|
Local5 ^= Local3
|
|
Local5 &= M049 (Local0, 0x23)
|
|
Local5 |= M049 (Local0, 0x24)
|
|
Local5 <<= 0x08
|
|
}
|
|
|
|
Local5 |= Local4
|
|
}
|
|
}
|
|
}
|
|
|
|
M460 (" KER-ASL-CpmCheckExpanderInputEvent (0x%X) = 0x%X End\n", Arg0, Local5, Zero, Zero, Zero, Zero)
|
|
Return (Local5)
|
|
}
|
|
|
|
Mutex (M4E5, 0x00)
|
|
Name (M4E7, 0x5A)
|
|
Name (M4E8, 0x5A)
|
|
Name (M4E9, 0x5A)
|
|
Name (M4EA, 0x5A5A5A5A)
|
|
Name (M4EB, 0x5A5A5A5A)
|
|
Name (M4EC, Package (0x04)
|
|
{
|
|
0x03,
|
|
Package (0x05)
|
|
{
|
|
0x0F,
|
|
Package (0x06)
|
|
{
|
|
"I2C0",
|
|
0x91,
|
|
0x92,
|
|
Zero,
|
|
0xFED81E4A,
|
|
0xFEDC2000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C1",
|
|
0x93,
|
|
0x94,
|
|
Zero,
|
|
0xFED81E4C,
|
|
0xFEDC3000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C2",
|
|
0x71,
|
|
0x72,
|
|
One,
|
|
0xFED81E4E,
|
|
0xFEDC4000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C3",
|
|
0x13,
|
|
0x14,
|
|
One,
|
|
0xFED81E50,
|
|
0xFEDC5000
|
|
}
|
|
},
|
|
|
|
Package (0x05)
|
|
{
|
|
0x10,
|
|
Package (0x06)
|
|
{
|
|
"I2C0",
|
|
0x91,
|
|
0x92,
|
|
Zero,
|
|
0xFED81E4A,
|
|
0xFEDC2000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C1",
|
|
0x93,
|
|
0x94,
|
|
Zero,
|
|
0xFED81E4C,
|
|
0xFEDC3000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C2",
|
|
0x71,
|
|
0x72,
|
|
One,
|
|
0xFED81E4E,
|
|
0xFEDC4000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C3",
|
|
0x13,
|
|
0x14,
|
|
One,
|
|
0xFED81E50,
|
|
0xFEDC5000
|
|
}
|
|
},
|
|
|
|
Package (0x07)
|
|
{
|
|
0x11,
|
|
Package (0x06)
|
|
{
|
|
"I2C0",
|
|
0x91,
|
|
0x92,
|
|
One,
|
|
0xFED81E4A,
|
|
0xFEDC2000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C1",
|
|
0x93,
|
|
0x94,
|
|
One,
|
|
0xFED81E4C,
|
|
0xFEDC3000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C2",
|
|
0x95,
|
|
0x96,
|
|
One,
|
|
0xFED81E4E,
|
|
0xFEDC4000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C3",
|
|
0x97,
|
|
0x98,
|
|
One,
|
|
0xFED81E50,
|
|
0xFEDC5000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C4",
|
|
0x0D,
|
|
0x0E,
|
|
Zero,
|
|
0xFED81E52,
|
|
0xFEDC6000
|
|
},
|
|
|
|
Package (0x06)
|
|
{
|
|
"I2C5",
|
|
0x13,
|
|
0x14,
|
|
Zero,
|
|
0xFED81E54,
|
|
0xFEDCB000
|
|
}
|
|
}
|
|
})
|
|
Method (M4E6, 1, Serialized)
|
|
{
|
|
Local0 = M085 /* \M085 */
|
|
Local1 = DerefOf (M4EC [Zero])
|
|
Local2 = One
|
|
While ((Local2 <= Local1))
|
|
{
|
|
Local3 = DerefOf (M4EC [Local2])
|
|
Local4 = DerefOf (Local3 [Zero])
|
|
If ((Local4 == Local0))
|
|
{
|
|
Break
|
|
}
|
|
|
|
Local2++
|
|
}
|
|
|
|
If ((Local2 > Local1))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
|
|
Local2 = One
|
|
Local1 = SizeOf (Local3)
|
|
Switch (ToInteger (Arg0))
|
|
{
|
|
Case (Zero)
|
|
{
|
|
Local0 = "I2C0"
|
|
}
|
|
Case (One)
|
|
{
|
|
Local0 = "I2C1"
|
|
}
|
|
Case (0x02)
|
|
{
|
|
Local0 = "I2C2"
|
|
}
|
|
Case (0x03)
|
|
{
|
|
Local0 = "I2C3"
|
|
}
|
|
Case (0x04)
|
|
{
|
|
Local0 = "I2C4"
|
|
}
|
|
Case (0x05)
|
|
{
|
|
Local0 = "I2C5"
|
|
}
|
|
|
|
}
|
|
|
|
While ((Local2 <= Local1))
|
|
{
|
|
Local4 = DerefOf (Local3 [Local2])
|
|
Local5 = DerefOf (Local4 [Zero])
|
|
If ((Local5 == Local0))
|
|
{
|
|
Break
|
|
}
|
|
|
|
Local2++
|
|
}
|
|
|
|
If ((Local2 > Local1))
|
|
{
|
|
Return (Zero)
|
|
}
|
|
|
|
M4E7 = DerefOf (Local4 [One])
|
|
M4E8 = DerefOf (Local4 [0x02])
|
|
M4E9 = DerefOf (Local4 [0x03])
|
|
M4EA = DerefOf (Local4 [0x04])
|
|
M4EB = DerefOf (Local4 [0x05])
|
|
Return (One)
|
|
}
|
|
|
|
Method (M4E0, 5, Serialized)
|
|
{
|
|
Local0 = M4E6 (Arg0)
|
|
If ((Local0 == Zero))
|
|
{
|
|
Return (0xFF00)
|
|
}
|
|
|
|
Name (RTFF, Buffer (0x0100)
|
|
{
|
|
0x00 // .
|
|
})
|
|
Local0 = M4EA /* \M4EA */
|
|
Local1 = M4EB /* \M4EB */
|
|
OperationRegion (VAR0, SystemMemory, Local0, 0x02)
|
|
Field (VAR0, ByteAcc, NoLock, Preserve)
|
|
{
|
|
ADTD, 2,
|
|
ADPS, 1,
|
|
ADPD, 1,
|
|
ADSO, 1,
|
|
ADSC, 1,
|
|
ADSR, 1,
|
|
ADIS, 1,
|
|
ADDS, 3
|
|
}
|
|
|
|
OperationRegion (VAR1, SystemMemory, Local1, 0x0100)
|
|
Field (VAR1, DWordAcc, NoLock, Preserve)
|
|
{
|
|
IC00, 32,
|
|
IC04, 32,
|
|
Offset (0x10),
|
|
IC10, 32,
|
|
IC14, 32,
|
|
IC18, 32,
|
|
IC1C, 32,
|
|
IC20, 32,
|
|
Offset (0x30),
|
|
IC30, 32,
|
|
IC34, 32,
|
|
IC38, 32,
|
|
IC3C, 32,
|
|
IC40, 32,
|
|
IC44, 32,
|
|
IC48, 32,
|
|
Offset (0x54),
|
|
IC54, 32,
|
|
Offset (0x6C),
|
|
IC6C, 32,
|
|
IC70, 32,
|
|
IC74, 32,
|
|
IC78, 32,
|
|
IC7C, 32,
|
|
IC80, 32,
|
|
Offset (0x9C),
|
|
IC9C, 32,
|
|
Offset (0xF4),
|
|
ICF4, 32
|
|
}
|
|
|
|
Name (BUFF, Buffer (0x03)
|
|
{
|
|
0x00, 0x00, 0x00 // ...
|
|
})
|
|
CreateByteField (BUFF, Zero, AOAC)
|
|
CreateByteField (BUFF, One, ISCL)
|
|
CreateByteField (BUFF, 0x02, ISDA)
|
|
Acquire (M4E5, 0xFFFF)
|
|
Local1 = 0x000186A0
|
|
Local0 = Zero
|
|
AOAC = ADTD /* \M4E0.ADTD */
|
|
ISCL = M011 (0xFED80D00, M4E7, Zero, 0x08)
|
|
ISDA = M011 (0xFED80D00, M4E8, Zero, 0x08)
|
|
M012 (0xFED80D00, M4E7, Zero, 0x08, M4E9)
|
|
M012 (0xFED80D00, M4E8, Zero, 0x08, M4E9)
|
|
Local2 = AOAC /* \M4E0.AOAC */
|
|
If ((Local2 == 0x03))
|
|
{
|
|
ADTD = Zero
|
|
ADPD = One
|
|
Local3 = ADDS /* \M4E0.ADDS */
|
|
While ((Local3 != 0x07))
|
|
{
|
|
Local1--
|
|
Stall (0x0A)
|
|
Local3 = ADDS /* \M4E0.ADDS */
|
|
If ((Local1 == Zero))
|
|
{
|
|
Local0 = 0xFF01
|
|
Break
|
|
}
|
|
}
|
|
}
|
|
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
While ((0x20 == (Local2 & 0x20)))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for IDE : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF02
|
|
Break
|
|
}
|
|
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
If ((Local0 == Zero))
|
|
{
|
|
IC6C = Zero
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
While ((Zero != (Local2 & One)))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for fI2cDisable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF03
|
|
Break
|
|
}
|
|
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
If ((Local0 == Zero))
|
|
{
|
|
IC00 = 0x65
|
|
IC04 = Arg1
|
|
IC1C = 0x87
|
|
IC20 = 0xF0
|
|
IC7C = 0x00300030
|
|
IC38 = Zero
|
|
IC34 = Zero
|
|
IC30 = Zero
|
|
Local2 = IC40 /* \M4E0.IC40 */
|
|
Local2 = IC54 /* \M4E0.IC54 */
|
|
}
|
|
|
|
If ((Local0 == Zero))
|
|
{
|
|
IC6C = One
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
While ((Zero == (Local2 & One)))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for I2cEnable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF04
|
|
Break
|
|
}
|
|
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local3 = Arg3
|
|
Local4 = Arg2
|
|
Local5 = Zero
|
|
Local6 = Zero
|
|
Local7 = 0x02
|
|
While (((Local3 + Local4) > Zero))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for TxRx: (0x%X, 0x%X)\n", Local3, Local4, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF06
|
|
Break
|
|
}
|
|
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
If (((Local2 & 0x08) != Zero))
|
|
{
|
|
Local2 = IC10 /* \M4E0.IC10 */
|
|
Local1--
|
|
Stall (0x0A)
|
|
Continue
|
|
}
|
|
|
|
Local2 = IC74 /* \M4E0.IC74 */
|
|
If ((Local2 != Zero))
|
|
{
|
|
Local1--
|
|
Stall (0x0A)
|
|
Continue
|
|
}
|
|
|
|
If ((Local3 > One))
|
|
{
|
|
IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
|
|
Local3--
|
|
Local5++
|
|
}
|
|
ElseIf (((Local3 == One) && (Local4 != Zero)))
|
|
{
|
|
IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
|
|
Local3--
|
|
Local5++
|
|
}
|
|
ElseIf (((Local3 == One) && (Local4 == Zero)))
|
|
{
|
|
IC10 = ((ToInteger (DerefOf (Arg4 [Local5])) & 0xFF
|
|
) | 0x0200)
|
|
Local3--
|
|
Local5++
|
|
}
|
|
ElseIf (((Local3 == Zero) && (Local4 > One)))
|
|
{
|
|
IC10 = 0x0100
|
|
Local6 = One
|
|
Local4--
|
|
}
|
|
ElseIf (((Local3 == Zero) && (Local4 == One)))
|
|
{
|
|
IC10 = 0x0300
|
|
Local6 = One
|
|
Local4--
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x0A)
|
|
Local2 = IC34 /* \M4E0.IC34 */
|
|
If ((Zero != (Local2 & 0x40)))
|
|
{
|
|
Local7 = IC54 /* \M4E0.IC54 */
|
|
Local2 = IC80 /* \M4E0.IC80 */
|
|
M460 (" I2cTX Abrt Source: (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF05
|
|
Break
|
|
}
|
|
|
|
If ((Local6 != Zero))
|
|
{
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
While (((Local2 & 0x08) != 0x08))
|
|
{
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for Rx : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF07
|
|
Break
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
If ((Local6 != Zero))
|
|
{
|
|
Local2 = IC10 /* \M4E0.IC10 */
|
|
RTFF [Local7] = Local2
|
|
Local1--
|
|
Stall (0x14)
|
|
Local6 = Zero
|
|
}
|
|
}
|
|
}
|
|
|
|
Release (M4E5)
|
|
If ((Local0 == Zero))
|
|
{
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
While ((0x20 == (Local2 & 0x20)))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for IDE2 : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF08
|
|
Break
|
|
}
|
|
|
|
Local2 = IC70 /* \M4E0.IC70 */
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
If (((Local0 > 0xFF04) && (Local0 < 0xFF08)))
|
|
{
|
|
IC6C = Zero
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
While ((Zero != (Local2 & One)))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for fI2cDisable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF09
|
|
Break
|
|
}
|
|
|
|
Local2 = IC9C /* \M4E0.IC9C */
|
|
Local1--
|
|
Stall (0x0A)
|
|
}
|
|
}
|
|
|
|
Local3 = AOAC /* \M4E0.AOAC */
|
|
If ((Local3 == 0x03))
|
|
{
|
|
ADPD = Zero
|
|
Local2 = ADDS /* \M4E0.ADDS */
|
|
While ((Local2 != Zero))
|
|
{
|
|
If ((Local1 == Zero))
|
|
{
|
|
M460 (" I2cTimeout for AOAC Off : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = 0xFF10
|
|
Break
|
|
}
|
|
|
|
Local1--
|
|
Stall (0x0A)
|
|
Local2 = ADDS /* \M4E0.ADDS */
|
|
}
|
|
|
|
ADTD = 0x03
|
|
}
|
|
|
|
M012 (0xFED80D00, M4E7, Zero, 0x08, ISCL)
|
|
M012 (0xFED80D00, M4E8, Zero, 0x08, ISDA)
|
|
CreateWordField (RTFF, Zero, STAT)
|
|
STAT = Local0
|
|
Return (RTFF) /* \M4E0.RTFF */
|
|
}
|
|
|
|
Method (M4E1, 3, Serialized)
|
|
{
|
|
Name (RTFF, Buffer (0x0100)
|
|
{
|
|
0x00 // .
|
|
})
|
|
Name (WRFF, Buffer (One)
|
|
{
|
|
0x00 // .
|
|
})
|
|
CreateByteField (WRFF, Zero, WDAT)
|
|
WDAT = Arg2
|
|
RTFF = M4E0 (Arg0, Arg1, One, One, WRFF)
|
|
CreateWordField (RTFF, Zero, STAT)
|
|
CreateByteField (RTFF, 0x02, RDAT)
|
|
Local0 = STAT /* \M4E1.STAT */
|
|
Local1 = RDAT /* \M4E1.RDAT */
|
|
M460 (" Read I2C Byte (0x%X, 0x%X)\n", Local0, Local1, Zero, Zero, Zero, Zero)
|
|
If ((Local0 == Zero))
|
|
{
|
|
Return ((RDAT & 0xFF))
|
|
}
|
|
|
|
Return (Zero)
|
|
}
|
|
|
|
Method (M4E2, 4, Serialized)
|
|
{
|
|
Name (WRFF, Buffer (0x02)
|
|
{
|
|
0x00, 0x00 // ..
|
|
})
|
|
CreateByteField (WRFF, Zero, WDA1)
|
|
CreateByteField (WRFF, One, WDA2)
|
|
WDA1 = Arg2
|
|
WDA2 = (Arg3 & 0xFF)
|
|
Local0 = M4E0 (Arg0, Arg1, Zero, 0x02, WRFF)
|
|
CreateWordField (Local0, Zero, STAT)
|
|
Local1 = STAT /* \M4E2.STAT */
|
|
M460 (" Write I2C Byte(0x%X)\n", Local1, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
|
|
Scope (\_SB.GPIO)
|
|
{
|
|
Method (XINI, 0, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-\\_SB.GPIO._INI Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If ((M4F0 != Zero))
|
|
{
|
|
Local0 = M4F1 (Zero)
|
|
Local0 = M4F1 (One)
|
|
Local0 = M4F1 (0x02)
|
|
Local0 = M4F1 (0x03)
|
|
}
|
|
|
|
M460 (" KER-ASL-\\_SB.GPIO._INI End\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
}
|
|
|
|
Scope (\_GPE)
|
|
{
|
|
Method (SIE0, 0, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-\\_GPE.SIE0 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If (CondRefOf (\_GPE.BIE0))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.BIE0\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.BIE0 ()
|
|
}
|
|
|
|
Local0 = M4F1 (Zero)
|
|
If (((Local0 & One) == One))
|
|
{
|
|
If (CondRefOf (\_GPE.SP00))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP00\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP00 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x02) == 0x02))
|
|
{
|
|
If (CondRefOf (\_GPE.SP01))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP01\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP01 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x04) == 0x04))
|
|
{
|
|
If (CondRefOf (\_GPE.SP02))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP02\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP02 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x08) == 0x08))
|
|
{
|
|
If (CondRefOf (\_GPE.SP03))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP03\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP03 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x10) == 0x10))
|
|
{
|
|
If (CondRefOf (\_GPE.SP04))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP04\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP04 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x20) == 0x20))
|
|
{
|
|
If (CondRefOf (\_GPE.SP05))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP05\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP05 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x40) == 0x40))
|
|
{
|
|
If (CondRefOf (\_GPE.SP06))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP06\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP06 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x80) == 0x80))
|
|
{
|
|
If (CondRefOf (\_GPE.SP07))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP07\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP07 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0100) == 0x0100))
|
|
{
|
|
If (CondRefOf (\_GPE.SP10))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP10\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP10 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0200) == 0x0200))
|
|
{
|
|
If (CondRefOf (\_GPE.SP11))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP11\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP11 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0400) == 0x0400))
|
|
{
|
|
If (CondRefOf (\_GPE.SP12))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP12\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP12 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0800) == 0x0800))
|
|
{
|
|
If (CondRefOf (\_GPE.SP13))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP13\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP13 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x1000) == 0x1000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP14))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP14\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP14 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x2000) == 0x2000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP15))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP15\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP15 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x4000) == 0x4000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP16))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP16\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP16 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x8000) == 0x8000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP17))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP17\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP17 ()
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.AIE0))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.AIE0\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.AIE0 ()
|
|
}
|
|
|
|
M460 (" KER-ASL-\\_GPE.SIE0 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
|
|
Method (SIE1, 0, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-\\_GPE.SIE1 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If (CondRefOf (\_GPE.BIE1))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.BIE1\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.BIE1 ()
|
|
}
|
|
|
|
Local0 = M4F1 (One)
|
|
If (((Local0 & One) == One))
|
|
{
|
|
If (CondRefOf (\_GPE.SP20))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP20\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP20 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x02) == 0x02))
|
|
{
|
|
If (CondRefOf (\_GPE.SP21))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP21\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP21 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x04) == 0x04))
|
|
{
|
|
If (CondRefOf (\_GPE.SP22))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP22\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP22 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x08) == 0x08))
|
|
{
|
|
If (CondRefOf (\_GPE.SP23))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP23\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP23 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x10) == 0x10))
|
|
{
|
|
If (CondRefOf (\_GPE.SP24))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP24\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP24 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x20) == 0x20))
|
|
{
|
|
If (CondRefOf (\_GPE.SP25))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP25\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP25 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x40) == 0x40))
|
|
{
|
|
If (CondRefOf (\_GPE.SP26))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP26\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP26 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x80) == 0x80))
|
|
{
|
|
If (CondRefOf (\_GPE.SP27))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP27\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP27 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0100) == 0x0100))
|
|
{
|
|
If (CondRefOf (\_GPE.SP30))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP30\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP30 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0200) == 0x0200))
|
|
{
|
|
If (CondRefOf (\_GPE.SP31))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP31\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP31 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0400) == 0x0400))
|
|
{
|
|
If (CondRefOf (\_GPE.SP32))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP32\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP32 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0800) == 0x0800))
|
|
{
|
|
If (CondRefOf (\_GPE.SP33))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP33\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP33 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x1000) == 0x1000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP34))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP34\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP34 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x2000) == 0x2000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP35))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP35\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP35 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x4000) == 0x4000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP36))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP36\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP36 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x8000) == 0x8000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP37))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP37\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP37 ()
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.AIE1))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.AIE1\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.AIE1 ()
|
|
}
|
|
|
|
M460 (" KER-ASL-\\_GPE.SIE1 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
|
|
Method (SIE2, 0, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-\\_GPE.SIE2 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If (CondRefOf (\_GPE.BIE2))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.BIE2\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.BIE2 ()
|
|
}
|
|
|
|
Local0 = M4F1 (0x02)
|
|
If (((Local0 & One) == One))
|
|
{
|
|
If (CondRefOf (\_GPE.SP40))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP40\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP40 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x02) == 0x02))
|
|
{
|
|
If (CondRefOf (\_GPE.SP41))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP41\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP41 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x04) == 0x04))
|
|
{
|
|
If (CondRefOf (\_GPE.SP42))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP42\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP42 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x08) == 0x08))
|
|
{
|
|
If (CondRefOf (\_GPE.SP43))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP43\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP43 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x10) == 0x10))
|
|
{
|
|
If (CondRefOf (\_GPE.SP44))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP44\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP44 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x20) == 0x20))
|
|
{
|
|
If (CondRefOf (\_GPE.SP45))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP45\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP45 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x40) == 0x40))
|
|
{
|
|
If (CondRefOf (\_GPE.SP46))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP46\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP46 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x80) == 0x80))
|
|
{
|
|
If (CondRefOf (\_GPE.SP47))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP47\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP47 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0100) == 0x0100))
|
|
{
|
|
If (CondRefOf (\_GPE.SP50))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP50\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP50 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0200) == 0x0200))
|
|
{
|
|
If (CondRefOf (\_GPE.SP51))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP51\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP51 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0400) == 0x0400))
|
|
{
|
|
If (CondRefOf (\_GPE.SP52))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP52\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP52 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0800) == 0x0800))
|
|
{
|
|
If (CondRefOf (\_GPE.SP53))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP53\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP53 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x1000) == 0x1000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP54))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP54\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP54 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x2000) == 0x2000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP55))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP55\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP55 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x4000) == 0x4000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP56))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP56\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP56 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x8000) == 0x8000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP57))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP57\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP57 ()
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.AIE2))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.AIE2\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.AIE2 ()
|
|
}
|
|
|
|
M460 (" KER-ASL-\\_GPE.SIE2 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
|
|
Method (SIE3, 0, NotSerialized)
|
|
{
|
|
M460 (" KER-ASL-\\_GPE.SIE3 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If (CondRefOf (\_GPE.BIE3))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.BIE3\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.BIE3 ()
|
|
}
|
|
|
|
Local0 = M4F1 (0x03)
|
|
If (((Local0 & One) == One))
|
|
{
|
|
If (CondRefOf (\_GPE.SP60))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP60\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP60 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x02) == 0x02))
|
|
{
|
|
If (CondRefOf (\_GPE.SP61))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP61\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP61 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x04) == 0x04))
|
|
{
|
|
If (CondRefOf (\_GPE.SP62))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP62\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP62 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x08) == 0x08))
|
|
{
|
|
If (CondRefOf (\_GPE.SP63))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP63\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP63 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x10) == 0x10))
|
|
{
|
|
If (CondRefOf (\_GPE.SP64))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP64\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP64 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x20) == 0x20))
|
|
{
|
|
If (CondRefOf (\_GPE.SP65))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP65\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP65 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x40) == 0x40))
|
|
{
|
|
If (CondRefOf (\_GPE.SP66))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP66\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP66 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x80) == 0x80))
|
|
{
|
|
If (CondRefOf (\_GPE.SP67))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP67\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP67 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0100) == 0x0100))
|
|
{
|
|
If (CondRefOf (\_GPE.SP70))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP70\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP70 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0200) == 0x0200))
|
|
{
|
|
If (CondRefOf (\_GPE.SP71))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP71\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP71 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0400) == 0x0400))
|
|
{
|
|
If (CondRefOf (\_GPE.SP72))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP72\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP72 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x0800) == 0x0800))
|
|
{
|
|
If (CondRefOf (\_GPE.SP73))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP73\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP73 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x1000) == 0x1000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP74))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP74\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP74 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x2000) == 0x2000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP75))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP75\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP75 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x4000) == 0x4000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP76))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP76\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP76 ()
|
|
}
|
|
}
|
|
|
|
If (((Local0 & 0x8000) == 0x8000))
|
|
{
|
|
If (CondRefOf (\_GPE.SP77))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.SP77\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.SP77 ()
|
|
}
|
|
}
|
|
|
|
If (CondRefOf (\_GPE.AIE3))
|
|
{
|
|
M460 (" KER-ASL-Callout \\_GPE.AIE3\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
\_GPE.AIE3 ()
|
|
}
|
|
|
|
M460 (" KER-ASL-\\_GPE.SIE3 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
|
|
Name (M4D2, Buffer (0x08){})
|
|
Method (XL0B, 0, NotSerialized)
|
|
{
|
|
Local3 = Buffer (0x08){}
|
|
CreateWordField (Local3, Zero, M254)
|
|
CreateByteField (Local3, 0x02, M255)
|
|
CreateDWordField (Local3, 0x03, M256)
|
|
M256 = Zero
|
|
M254 = 0x07
|
|
M255 = 0x30
|
|
If (CondRefOf (\_SB.ALIB))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, Zero, Zero, Zero, Zero, Zero)
|
|
Local4 = \_SB.ALIB (0x0C, Local3)
|
|
M4D2 = Local4
|
|
CreateDWordField (M4D2, Zero, M4D0)
|
|
CreateDWordField (M4D2, 0x04, M4D1)
|
|
ToInteger (M4D0, Local0)
|
|
ToInteger (M4D1, Local1)
|
|
M460 (" KER-ASL-ALIB Return Data (0x%X, 0x%X)\n", Local0, Local1, Zero, Zero, Zero, Zero)
|
|
If ((Local0 == Zero))
|
|
{
|
|
If (CondRefOf (\_SB.APAD))
|
|
{
|
|
\_SB.APAD.M446 [One] = Local1
|
|
M460 (" KER-ASL-Notify \\_SB.APAD 0x80\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
Notify (\_SB.APAD, 0x80) // Status Change
|
|
}
|
|
}
|
|
ElseIf ((Local0 == One))
|
|
{
|
|
M460 (" KER-ASL-Notify \\_SB.APAD 0x84\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
}
|
|
ElseIf ((Local0 == 0x02))
|
|
{
|
|
M460 (" KER-ASL-Notify \\_SB.APAD 0x85\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
If (CondRefOf (NFPC))
|
|
{
|
|
NFPC ()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Scope (\_SB)
|
|
{
|
|
Device (APAD)
|
|
{
|
|
Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID
|
|
Name (M446, Package (0x02)
|
|
{
|
|
One,
|
|
Zero
|
|
})
|
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
|
{
|
|
If (\_OSI ("Processor Aggregator Device"))
|
|
{
|
|
Local0 = M04A (M128, 0x91)
|
|
If (((Local0 & 0x80) == 0x80))
|
|
{
|
|
M460 (" KER-ASL-\\_SB.APAD._STA = 0xF\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
Return (0x0F)
|
|
}
|
|
Else
|
|
{
|
|
M460 (" KER-ASL-\\_SB.APAD._STA = 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
Return (Zero)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M460 (" KER-ASL-1-\\_SB.APAD._STA = 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
Return (Zero)
|
|
}
|
|
}
|
|
|
|
Method (_INI, 0, NotSerialized) // _INI: Initialize
|
|
{
|
|
M460 (" KER-ASL-\\_SB.APAD._INI\n", Zero, Zero, Zero, Zero, Zero, Zero)
|
|
Local0 = M04A (M128, 0x91)
|
|
If ((((Local0 & 0xC0) == 0xC0) && ((Local0 &
|
|
0xFF00) != 0xFF00)))
|
|
{
|
|
Local3 = Buffer (0x08){}
|
|
CreateWordField (Local3, Zero, M254)
|
|
CreateByteField (Local3, 0x02, M255)
|
|
CreateDWordField (Local3, 0x03, M256)
|
|
M256 = (Local0 >> 0x08)
|
|
M254 = 0x07
|
|
M255 = 0x31
|
|
If (CondRefOf (\_SB.ALIB))
|
|
{
|
|
M460 (" KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, Zero, Zero, Zero, Zero, Zero)
|
|
\_SB.ALIB (0x0C, Local3)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (_PUR, 0, NotSerialized) // _PUR: Processor Utilization Request
|
|
{
|
|
ToInteger (DerefOf (M446 [Zero]), Local0)
|
|
ToInteger (DerefOf (M446 [One]), Local1)
|
|
M460 (" KER-ASL-\\_SB.APAD._PUR Return Package (2) (0x%X, 0x%X) to OSPM\n", Local0, Local1, Zero, Zero, Zero, Zero)
|
|
Return (M446) /* \_SB_.APAD.M446 */
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|