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.
1117 lines
39 KiB
1117 lines
39 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 ssdt21.dat, Thu Sep 1 23:24:17 2022
|
|
*
|
|
* Original Table Header:
|
|
* Signature "SSDT"
|
|
* Length 0x00001A5C (6748)
|
|
* Revision 0x01
|
|
* Checksum 0xB6
|
|
* 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 (_SB_.ALIB, MethodObj) // 2 Arguments
|
|
External (_SB_.MACO, BuffFieldObj)
|
|
External (_SB_.PCI0.PB2_, DeviceObj)
|
|
External (M000, MethodObj) // 1 Arguments
|
|
External (M010, MethodObj) // 2 Arguments
|
|
External (M013, MethodObj) // 4 Arguments
|
|
External (M014, MethodObj) // 5 Arguments
|
|
External (M017, MethodObj) // 6 Arguments
|
|
External (M018, MethodObj) // 7 Arguments
|
|
External (M019, MethodObj) // 4 Arguments
|
|
External (M020, MethodObj) // 5 Arguments
|
|
External (M021, MethodObj) // 4 Arguments
|
|
External (M023, MethodObj) // 3 Arguments
|
|
External (M024, MethodObj) // 3 Arguments
|
|
External (M025, MethodObj) // 4 Arguments
|
|
External (M026, MethodObj) // 3 Arguments
|
|
External (M027, MethodObj) // 3 Arguments
|
|
External (M028, MethodObj) // 4 Arguments
|
|
External (M037, DeviceObj)
|
|
External (M046, IntObj)
|
|
External (M049, MethodObj) // 2 Arguments
|
|
External (M04B, 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 (M082, FieldUnitObj)
|
|
External (M083, FieldUnitObj)
|
|
External (M084, FieldUnitObj)
|
|
External (M085, FieldUnitObj)
|
|
External (M086, FieldUnitObj)
|
|
External (M087, FieldUnitObj)
|
|
External (M088, FieldUnitObj)
|
|
External (M089, FieldUnitObj)
|
|
External (M090, FieldUnitObj)
|
|
External (M091, FieldUnitObj)
|
|
External (M092, FieldUnitObj)
|
|
External (M093, FieldUnitObj)
|
|
External (M094, FieldUnitObj)
|
|
External (M095, FieldUnitObj)
|
|
External (M096, FieldUnitObj)
|
|
External (M097, FieldUnitObj)
|
|
External (M098, FieldUnitObj)
|
|
External (M099, FieldUnitObj)
|
|
External (M100, FieldUnitObj)
|
|
External (M101, FieldUnitObj)
|
|
External (M102, FieldUnitObj)
|
|
External (M103, FieldUnitObj)
|
|
External (M104, FieldUnitObj)
|
|
External (M105, FieldUnitObj)
|
|
External (M106, FieldUnitObj)
|
|
External (M107, FieldUnitObj)
|
|
External (M108, FieldUnitObj)
|
|
External (M109, FieldUnitObj)
|
|
External (M110, FieldUnitObj)
|
|
External (M111, MethodObj) // 2 Arguments
|
|
External (M112, MethodObj) // 2 Arguments
|
|
External (M113, MethodObj) // 1 Arguments
|
|
External (M115, BuffObj)
|
|
External (M116, BuffFieldObj)
|
|
External (M117, BuffFieldObj)
|
|
External (M118, BuffFieldObj)
|
|
External (M119, BuffFieldObj)
|
|
External (M120, BuffFieldObj)
|
|
External (M122, FieldUnitObj)
|
|
External (M127, DeviceObj)
|
|
External (M128, FieldUnitObj)
|
|
External (M131, FieldUnitObj)
|
|
External (M132, FieldUnitObj)
|
|
External (M133, FieldUnitObj)
|
|
External (M134, FieldUnitObj)
|
|
External (M135, FieldUnitObj)
|
|
External (M136, FieldUnitObj)
|
|
External (M220, FieldUnitObj)
|
|
External (M221, FieldUnitObj)
|
|
External (M226, FieldUnitObj)
|
|
External (M227, DeviceObj)
|
|
External (M229, FieldUnitObj)
|
|
External (M231, FieldUnitObj)
|
|
External (M232, MethodObj) // 3 Arguments
|
|
External (M233, FieldUnitObj)
|
|
External (M235, FieldUnitObj)
|
|
External (M23A, FieldUnitObj)
|
|
External (M251, FieldUnitObj)
|
|
External (M275, MethodObj) // 2 Arguments
|
|
External (M280, FieldUnitObj)
|
|
External (M290, FieldUnitObj)
|
|
External (M310, FieldUnitObj)
|
|
External (M31C, FieldUnitObj)
|
|
External (M320, FieldUnitObj)
|
|
External (M321, FieldUnitObj)
|
|
External (M322, FieldUnitObj)
|
|
External (M323, FieldUnitObj)
|
|
External (M324, FieldUnitObj)
|
|
External (M325, FieldUnitObj)
|
|
External (M326, FieldUnitObj)
|
|
External (M327, FieldUnitObj)
|
|
External (M328, FieldUnitObj)
|
|
External (M329, DeviceObj)
|
|
External (M32A, DeviceObj)
|
|
External (M32B, DeviceObj)
|
|
External (M330, DeviceObj)
|
|
External (M331, FieldUnitObj)
|
|
External (M378, FieldUnitObj)
|
|
External (M379, FieldUnitObj)
|
|
External (M380, FieldUnitObj)
|
|
External (M381, FieldUnitObj)
|
|
External (M382, FieldUnitObj)
|
|
External (M383, FieldUnitObj)
|
|
External (M384, FieldUnitObj)
|
|
External (M385, FieldUnitObj)
|
|
External (M386, FieldUnitObj)
|
|
External (M387, FieldUnitObj)
|
|
External (M388, FieldUnitObj)
|
|
External (M389, FieldUnitObj)
|
|
External (M390, FieldUnitObj)
|
|
External (M391, FieldUnitObj)
|
|
External (M392, FieldUnitObj)
|
|
External (M402, MethodObj) // 3 Arguments
|
|
External (M403, MethodObj) // 4 Arguments
|
|
External (M404, DeviceObj)
|
|
External (M414, FieldUnitObj)
|
|
External (M428, MethodObj) // 6 Arguments
|
|
External (M429, MethodObj) // 7 Arguments
|
|
External (M430, MethodObj) // 3 Arguments
|
|
External (M444, FieldUnitObj)
|
|
External (M449, FieldUnitObj)
|
|
External (M453, FieldUnitObj)
|
|
External (M454, FieldUnitObj)
|
|
External (M455, FieldUnitObj)
|
|
External (M456, FieldUnitObj)
|
|
External (M457, FieldUnitObj)
|
|
External (M4C0, FieldUnitObj)
|
|
External (M4F0, FieldUnitObj)
|
|
|
|
Scope (\_SB.PCI0.PB2)
|
|
{
|
|
Name (M236, Buffer (0x0C)
|
|
{
|
|
/* 0000 */ 0x26, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, // &.......
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00 // ....
|
|
})
|
|
Name (M266, Zero)
|
|
Name (M267, Zero)
|
|
Name (M268, Zero)
|
|
Name (M269, Zero)
|
|
Name (M270, Zero)
|
|
Name (M271, Zero)
|
|
Name (M407, One)
|
|
Name (M442, 0x00010000)
|
|
Name (M443, Zero)
|
|
Name (M434, 0x2711)
|
|
Name (M500, Zero)
|
|
Name (M350, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x07, 0x00, 0x10, 0x00, 0x00, 0x01, 0x01, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x80, 0xF0, 0x80, 0x01, 0x00, 0xF1, 0x01, // ........
|
|
/* 0010 */ 0x82, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M351, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M352, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M353, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x10, 0x00, 0x82, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, // ..... ..
|
|
/* 0010 */ 0xDE, 0x10, 0xE2, 0x25, 0x00, 0x00, 0x00, 0x00 // ...%....
|
|
})
|
|
Name (M354, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M355, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M356, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M357, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Name (M358, Buffer (0x18)
|
|
{
|
|
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
|
|
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
|
|
})
|
|
Method (M371, 5, NotSerialized)
|
|
{
|
|
CreateDWordField (Arg3, Zero, M365)
|
|
CreateDWordField (Arg3, 0x04, M366)
|
|
CreateDWordField (Arg3, 0x08, M367)
|
|
CreateDWordField (Arg3, 0x0C, M368)
|
|
CreateDWordField (Arg3, 0x10, M369)
|
|
CreateDWordField (Arg3, 0x14, M370)
|
|
If ((Arg4 < 0x02))
|
|
{
|
|
If ((Arg4 == Zero))
|
|
{
|
|
M365 = M019 (Arg0, Arg1, Arg2, 0x04)
|
|
M366 = M019 (Arg0, Arg1, Arg2, 0x18)
|
|
M367 = M019 (Arg0, Arg1, Arg2, 0x20)
|
|
M368 = M019 (Arg0, Arg1, Arg2, 0x24)
|
|
M369 = M019 (Arg0, Arg1, Arg2, 0x28)
|
|
M370 = M019 (Arg0, Arg1, Arg2, 0x2C)
|
|
}
|
|
Else
|
|
{
|
|
M365 = M019 (Arg0, Arg1, Arg2, 0x04)
|
|
M366 = M019 (Arg0, Arg1, Arg2, 0x18)
|
|
M367 = M019 (Arg0, Arg1, Arg2, 0x1C)
|
|
M368 = M019 (Arg0, Arg1, Arg2, 0x24)
|
|
M369 = M019 (Arg0, Arg1, Arg2, Zero)
|
|
M370 = Arg0
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If (((Arg4 & One) == Zero))
|
|
{
|
|
M020 (Arg0, Arg1, Arg2, 0x18, M366)
|
|
M020 (Arg0, Arg1, Arg2, 0x20, M367)
|
|
M020 (Arg0, Arg1, Arg2, 0x24, M368)
|
|
M020 (Arg0, Arg1, Arg2, 0x28, M369)
|
|
M020 (Arg0, Arg1, Arg2, 0x2C, M370)
|
|
}
|
|
Else
|
|
{
|
|
M020 (Arg0, Arg1, Arg2, 0x18, M366)
|
|
M020 (Arg0, Arg1, Arg2, 0x1C, M367)
|
|
M020 (Arg0, Arg1, Arg2, 0x24, M368)
|
|
}
|
|
|
|
If (((Arg4 & 0x04) == 0x04))
|
|
{
|
|
M020 (Arg0, Arg1, Arg2, 0x04, (M365 & 0x06FFFFFF))
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M019 (Arg0, Arg1, Arg2, 0x04)
|
|
M020 (Arg0, Arg1, Arg2, 0x04, ((Local0 & 0x06FFFFF8) | 0x02))
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M372, 0, NotSerialized)
|
|
{
|
|
CreateDWordField (M353, 0x10, M362)
|
|
Local0 = Zero
|
|
If (((M362 & 0xFFDF) == 0x1002))
|
|
{
|
|
Local1 = (M362 >> 0x10)
|
|
Local1 &= 0xFFFF
|
|
If (((Local1 >= 0x67C0) && (Local1 <= 0x67DF)))
|
|
{
|
|
Local0 = 0x10
|
|
}
|
|
ElseIf (((Local1 >= 0x67E0) && (Local1 <= 0x67FF)))
|
|
{
|
|
Local0 = 0x11
|
|
}
|
|
ElseIf (((Local1 >= 0x6900) && (Local1 <= 0x695F)))
|
|
{
|
|
Local0 = 0x12
|
|
}
|
|
ElseIf (((Local1 >= 0x6980) && (Local1 <= 0x699F)))
|
|
{
|
|
Local0 = 0x13
|
|
}
|
|
ElseIf (((Local1 >= 0x6860) && (Local1 <= 0x687F)))
|
|
{
|
|
Local0 = 0x20
|
|
}
|
|
ElseIf (((Local1 >= 0x69A0) && (Local1 <= 0x69BF)))
|
|
{
|
|
Local0 = 0x21
|
|
}
|
|
ElseIf (((Local1 >= 0x7310) && (Local1 <= 0x731F)))
|
|
{
|
|
Local0 = 0x22
|
|
}
|
|
ElseIf ((Local1 == 0x7330))
|
|
{
|
|
Local0 = 0x22
|
|
}
|
|
ElseIf (((Local1 >= 0x7340) && (Local1 <= 0x734F)))
|
|
{
|
|
Local0 = 0x23
|
|
}
|
|
ElseIf (((Local1 >= 0x73A0) && (Local1 <= 0x73FF)))
|
|
{
|
|
Local0 = 0x24
|
|
}
|
|
ElseIf (((Local1 >= 0x7420) && (Local1 <= 0x743F)))
|
|
{
|
|
Local0 = 0x25
|
|
}
|
|
ElseIf (((Local1 >= 0x7440) && (Local1 <= 0x749F)))
|
|
{
|
|
Local0 = 0x26
|
|
}
|
|
Else
|
|
{
|
|
Local0 = Zero
|
|
}
|
|
}
|
|
ElseIf (((M362 & 0xFFFF) == 0x10DE))
|
|
{
|
|
Local0 = 0xC0
|
|
}
|
|
|
|
Return (Local0)
|
|
}
|
|
|
|
Method (M373, 3, NotSerialized)
|
|
{
|
|
CreateDWordField (M350, 0x04, M359)
|
|
CreateDWordField (M351, 0x04, M360)
|
|
CreateDWordField (M352, 0x04, M361)
|
|
M354 = M358 /* \_SB_.PCI0.PB2_.M358 */
|
|
M355 = M358 /* \_SB_.PCI0.PB2_.M358 */
|
|
M356 = M358 /* \_SB_.PCI0.PB2_.M358 */
|
|
M357 = M358 /* \_SB_.PCI0.PB2_.M358 */
|
|
M371 (Arg0, Arg1, Arg2, M354, Zero)
|
|
M020 (Arg0, Arg1, Arg2, 0x18, M359)
|
|
Local0 = (M359 >> 0x08)
|
|
Local0 &= 0xFF
|
|
If ((M360 != Zero))
|
|
{
|
|
M371 (Local0, Zero, Zero, M355, Zero)
|
|
M020 (Local0, Zero, Zero, 0x18, M360)
|
|
Local0 = (M360 >> 0x08)
|
|
Local0 &= 0xFF
|
|
}
|
|
|
|
If (((M360 != Zero) && (M361 != Zero)))
|
|
{
|
|
M371 (Local0, Zero, Zero, M356, Zero)
|
|
M020 (Local0, Zero, Zero, 0x18, M361)
|
|
Local0 = (M361 >> 0x08)
|
|
Local0 &= 0xFF
|
|
}
|
|
|
|
M371 (Local0, Zero, Zero, M357, One)
|
|
}
|
|
|
|
Method (M374, 3, NotSerialized)
|
|
{
|
|
CreateDWordField (M350, 0x04, M359)
|
|
CreateDWordField (M351, 0x04, M360)
|
|
CreateDWordField (M352, 0x04, M361)
|
|
M371 (Arg0, Arg1, Arg2, M350, 0x02)
|
|
Local0 = (M359 >> 0x08)
|
|
Local0 &= 0xFF
|
|
If ((M360 != Zero))
|
|
{
|
|
M371 (Local0, Zero, Zero, M351, 0x02)
|
|
Local0 = (M360 >> 0x08)
|
|
Local0 &= 0xFF
|
|
}
|
|
|
|
If (((M360 != Zero) && (M361 != Zero)))
|
|
{
|
|
M371 (Local0, Zero, Zero, M352, 0x02)
|
|
Local0 = (M361 >> 0x08)
|
|
Local0 &= 0xFF
|
|
}
|
|
|
|
M371 (Local0, Zero, Zero, M353, 0x03)
|
|
}
|
|
|
|
Method (M375, 0, Serialized)
|
|
{
|
|
CreateQWordField (M353, 0x04, M363)
|
|
CreateDWordField (M353, 0x0C, M364)
|
|
Local0 = M372 ()
|
|
If (((Local0 >= Zero) && (Local0 <= 0x0F)))
|
|
{
|
|
M232 (M097, Zero, 0x10)
|
|
}
|
|
ElseIf (((Local0 >= 0x10) && (Local0 <= 0x1F)))
|
|
{
|
|
Local2 = M013 ((M364 & 0xFFFFFFF0), 0x5418, Zero, 0x20)
|
|
M014 ((M364 & 0xFFFFFFF0), 0x5418, Zero, 0x20, (Local2 & 0xFFFFFFFD))
|
|
}
|
|
ElseIf (((Local0 >= 0x20) && (Local0 <= 0x23)))
|
|
{
|
|
Local2 = M013 ((M364 & 0xFFFFFFF0), 0x34E0, Zero, 0x20)
|
|
M014 ((M364 & 0xFFFFFFF0), 0x34E0, Zero, 0x20, (Local2 & 0xEFFFFFFF))
|
|
}
|
|
ElseIf (((Local0 >= 0x24) && (Local0 <= 0x25)))
|
|
{
|
|
Local2 = M013 ((M364 & 0xFFFFFFF0), 0x34E8, Zero, 0x20)
|
|
M014 ((M364 & 0xFFFFFFF0), 0x34E8, Zero, 0x20, (Local2 & 0xEFFFFFFF))
|
|
}
|
|
ElseIf (((Local0 >= 0x26) && (Local0 <= 0xBF)))
|
|
{
|
|
Local2 = M013 ((M364 & 0xFFFFFFF0), 0x3514, Zero, 0x20)
|
|
M014 ((M364 & 0xFFFFFFF0), 0x3514, Zero, 0x20, (Local2 & 0xEFFFFFFF))
|
|
}
|
|
}
|
|
|
|
Method (M424, 0, Serialized)
|
|
{
|
|
CreateDWordField (M353, 0x0C, M364)
|
|
Local0 = M372 ()
|
|
If (((Local0 >= 0x22) && (Local0 <= 0xBF)))
|
|
{
|
|
Local0 = (M364 & 0xFFFFFFF0)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
Local2 = 0x4EEA
|
|
While (((Local2 > Zero) && ((Local1 & 0x80000000) != 0x80000000)))
|
|
{
|
|
Local2 = (Local2 - One)
|
|
Stall (0x63)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
}
|
|
|
|
M014 (Local0, 0x0005818C, Zero, 0x20, 0x01000000)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
Local2 = 0x4EEA
|
|
While (((Local2 > Zero) && ((Local1 & 0x80000000) != 0x80000000)))
|
|
{
|
|
Local2 = (Local2 - One)
|
|
Stall (0x63)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
}
|
|
|
|
If (((Local2 > Zero) && ((Local1 & 0xFFFF) == Zero)))
|
|
{
|
|
If ((M013 (Local0, 0x00058190, Zero, 0x20) == One))
|
|
{
|
|
M014 (Local0, 0x0005818C, Zero, 0x20, 0x00400000)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
Local2 = 0x4EEA
|
|
While (((Local2 > Zero) && ((Local1 & 0x80000000) != 0x80000000)))
|
|
{
|
|
Local2 = (Local2 - One)
|
|
Stall (0x63)
|
|
Local1 = M013 (Local0, 0x0005818C, Zero, 0x20)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M376, 0, Serialized)
|
|
{
|
|
CreateByteField (M236, 0x03, M245)
|
|
CreateDWordField (M236, 0x04, M246)
|
|
CreateDWordField (M236, 0x08, M247)
|
|
Local0 = M372 ()
|
|
If (((Local0 >= Zero) && (Local0 <= 0xBF)))
|
|
{
|
|
Local2 = 0x7FFFFFFF
|
|
Local2 |= 0x80000000
|
|
M020 (M245, Zero, Zero, 0x4C, M246)
|
|
Local1 = M019 (M245, Zero, One, Zero)
|
|
If (((Local1 != Local2) && (M247 != Local2)))
|
|
{
|
|
M020 (M245, Zero, One, 0x4C, M247)
|
|
}
|
|
}
|
|
}
|
|
|
|
Method (M377, 3, NotSerialized)
|
|
{
|
|
CreateByteField (M236, 0x03, M245)
|
|
CreateDWordField (M350, 0x04, M359)
|
|
CreateDWordField (M351, 0x04, M360)
|
|
CreateDWordField (M352, 0x04, M361)
|
|
M371 (M245, Zero, Zero, M357, 0x05)
|
|
If (((M360 != Zero) && (M361 != Zero)))
|
|
{
|
|
Local0 = (M360 >> 0x08)
|
|
Local0 &= 0xFF
|
|
M371 (Local0, Zero, Zero, M356, 0x04)
|
|
}
|
|
|
|
If ((M360 != Zero))
|
|
{
|
|
Local0 = (M359 >> 0x08)
|
|
Local0 &= 0xFF
|
|
M371 (Local0, Zero, Zero, M355, 0x04)
|
|
}
|
|
|
|
M371 (Arg0, Arg1, Arg2, M354, 0x04)
|
|
}
|
|
|
|
Method (M439, 3, NotSerialized)
|
|
{
|
|
Local6 = 0x7FFFFFFF
|
|
Local6 |= 0x80000000
|
|
Local1 = M019 (Arg0, Arg1, Arg2, 0x54)
|
|
M020 (Arg0, Arg1, Arg2, 0x54, (Local1 & 0xFFFF7FFC))
|
|
Local2 = M017 (Arg0, Arg1, Arg2, 0x19, Zero, 0x08)
|
|
Local4 = One
|
|
Local5 = 0x28
|
|
While ((Local4 && Local5))
|
|
{
|
|
Local0 = M019 (Local2, Zero, Zero, Zero)
|
|
If ((Local0 != Local6))
|
|
{
|
|
Local0 = M372 ()
|
|
If (((Local0 >= Zero) && (Local0 <= 0xBF)))
|
|
{
|
|
M373 (Arg0, Arg1, Arg2)
|
|
M374 (Arg0, Arg1, Arg2)
|
|
If ((M097 != Zero))
|
|
{
|
|
M375 ()
|
|
}
|
|
|
|
If ((M443 != Zero))
|
|
{
|
|
M376 ()
|
|
}
|
|
|
|
If ((((M049 (M128, 0x66) >> One) & One) == One))
|
|
{
|
|
M424 ()
|
|
}
|
|
|
|
M377 (Arg0, Arg1, Arg2)
|
|
}
|
|
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Sleep (0x19)
|
|
Local5--
|
|
}
|
|
}
|
|
|
|
M020 (Arg0, Arg1, Arg2, 0x54, (Local1 & 0xFFFF7FFF))
|
|
}
|
|
|
|
Mutex (EEBC, 0x00)
|
|
Method (M241, 1, NotSerialized)
|
|
{
|
|
Acquire (EEBC, 0xFFFF)
|
|
CreateByteField (M236, Zero, M242)
|
|
CreateByteField (M236, One, M243)
|
|
CreateByteField (M236, 0x02, M244)
|
|
CreateByteField (M236, 0x03, M245)
|
|
CreateDWordField (M236, 0x04, M246)
|
|
CreateDWordField (M236, 0x08, M247)
|
|
Name (M272, Zero)
|
|
Name (M273, Zero)
|
|
Name (M274, Zero)
|
|
Name (M400, Zero)
|
|
Name (M427, Zero)
|
|
Name (M431, Zero)
|
|
If ((M085 >= 0x08))
|
|
{
|
|
M400 = ((M049 (M128, 0x66) >> Zero) & One)
|
|
}
|
|
|
|
M273 = ((M049 (M128, 0x65) >> 0x05) & One)
|
|
Local0 = ((M049 (M128, 0x66) >> 0x06) & One)
|
|
M273 |= (Local0 << One)
|
|
M274 = ((M049 (M128, 0x65) >> 0x06) & One)
|
|
M427 = ((M049 (M128, 0x66) >> 0x02) & One)
|
|
M431 = ((M049 (M128, 0x66) >> 0x03) & One)
|
|
If ((M273 == Zero))
|
|
{
|
|
Local7 = Buffer (0x05){}
|
|
CreateWordField (Local7, Zero, M197)
|
|
CreateField (Local7, 0x10, 0x03, M200)
|
|
CreateField (Local7, 0x13, 0x05, M199)
|
|
CreateByteField (Local7, 0x03, M198)
|
|
CreateByteField (Local7, 0x04, M201)
|
|
M197 = 0x05
|
|
M198 = Zero
|
|
Local0 = M243 /* \_SB_.PCI0.PB2_.M241.M243 */
|
|
M199 = Local0
|
|
Local0 = M244 /* \_SB_.PCI0.PB2_.M241.M244 */
|
|
M200 = Local0
|
|
}
|
|
|
|
Name (M447, Zero)
|
|
If (((M085 == 0x09) || (M085 == 0x0A)))
|
|
{
|
|
M447 = One
|
|
}
|
|
ElseIf (((M085 == 0x0D) || (M085 == 0x0E)))
|
|
{
|
|
M447 = One
|
|
}
|
|
ElseIf ((M085 == 0x0F))
|
|
{
|
|
M447 = One
|
|
}
|
|
|
|
Local3 = Buffer (0x08){}
|
|
CreateWordField (Local3, Zero, M254)
|
|
CreateByteField (Local3, 0x02, M255)
|
|
CreateDWordField (Local3, 0x03, M256)
|
|
M254 = 0x07
|
|
M255 = 0x10
|
|
M443 = M049 (M133, 0x01E4)
|
|
M442 = M04B (M133, 0x01E0)
|
|
If ((M442 == Zero))
|
|
{
|
|
If ((\_SB.PCI0.PB2.M434 <= 0x2710))
|
|
{
|
|
M442 = \_SB.PCI0.PB2.M434
|
|
M256 = M442 /* \_SB_.PCI0.PB2_.M442 */
|
|
Local0 = M255 /* \_SB_.PCI0.PB2_.M241.M255 */
|
|
M255 = 0x12
|
|
\_SB.ALIB (0x0C, Local3)
|
|
M255 = Local0
|
|
}
|
|
}
|
|
|
|
If ((M431 == One))
|
|
{
|
|
M439 (Zero, M243, M244)
|
|
Release (EEBC)
|
|
Return (Zero)
|
|
}
|
|
|
|
M266 = M04B (M133, 0x01D4)
|
|
M267 = M04B (M133, 0x01D8)
|
|
M268 = M049 (M133, 0x01DC)
|
|
M269 = M049 (M133, 0x01DD)
|
|
M270 = M049 (M133, 0x01DE)
|
|
M271 = M049 (M133, 0x01DF)
|
|
Local0 = ((M084 + 0x1502) + ((M266 & 0xFF) * 0x04
|
|
))
|
|
OperationRegion (VAMM, SystemMemory, Local0, One)
|
|
Field (VAMM, ByteAcc, NoLock, Preserve)
|
|
{
|
|
P011, 8
|
|
}
|
|
|
|
Local0 = ((M084 + 0x1502) + ((M267 & 0xFF) * 0x04
|
|
))
|
|
OperationRegion (VANN, SystemMemory, Local0, One)
|
|
Field (VANN, ByteAcc, NoLock, Preserve)
|
|
{
|
|
P141, 8
|
|
}
|
|
|
|
If ((M274 == One))
|
|
{
|
|
Local6 = One
|
|
}
|
|
Else
|
|
{
|
|
Local6 = M113 (M242)
|
|
}
|
|
|
|
M023 (Zero, M243, M244)
|
|
If ((M275 (M242, Arg0) == Zero))
|
|
{
|
|
If ((Arg0 && Local6))
|
|
{
|
|
M000 (0x0D9D)
|
|
Local4 = M453 /* External reference */
|
|
M453 = Zero
|
|
If (CondRefOf (\_SB.MACO))
|
|
{
|
|
If ((\_SB.MACO == One))
|
|
{
|
|
If ((M267 < 0x0100))
|
|
{
|
|
P141 = 0xC4
|
|
}
|
|
Else
|
|
{
|
|
M010 (M267, One)
|
|
}
|
|
|
|
Sleep (M270)
|
|
M112 (M242, One)
|
|
Sleep (M271)
|
|
If ((M266 < 0x0100))
|
|
{
|
|
P011 = 0x84
|
|
}
|
|
Else
|
|
{
|
|
M010 (M266, Zero)
|
|
}
|
|
|
|
\_SB.MACO = Zero
|
|
}
|
|
Else
|
|
{
|
|
M112 (M242, Zero)
|
|
M111 (M242, One)
|
|
M112 (M242, One)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M112 (M242, Zero)
|
|
M111 (M242, One)
|
|
M112 (M242, One)
|
|
}
|
|
|
|
If ((M085 >= 0x0F))
|
|
{
|
|
If ((M500 == One))
|
|
{
|
|
\_SB.ALIB (0x13, Zero)
|
|
}
|
|
}
|
|
|
|
Local1 = M049 (M133, 0x01F5)
|
|
If ((Local1 == Zero))
|
|
{
|
|
Local1 = 0x0A
|
|
}
|
|
|
|
Sleep (Local1)
|
|
If ((M400 == One))
|
|
{
|
|
M403 (Zero, M243, M244, One)
|
|
}
|
|
|
|
M453 = Local4
|
|
M000 (0x0D9E)
|
|
M272 = One
|
|
If ((M273 == One))
|
|
{
|
|
If ((M400 == Zero))
|
|
{
|
|
Local1 = M017 (Zero, M243, M244, 0x68, Zero, 0x08)
|
|
M018 (Zero, M243, M244, 0x68, Zero, 0x08, (Local1 & 0xEF))
|
|
Sleep (0x18)
|
|
Local1 = M025 (Zero, M243, M244, Zero)
|
|
}
|
|
|
|
Local1 = Zero
|
|
Local2 = 0x13BB
|
|
While ((((Local1 & 0x28) != 0x20) && (Local2 > Zero)))
|
|
{
|
|
M000 (0x0DC0)
|
|
Local1 = M017 (Zero, M243, M244, 0x6B, Zero, 0x08)
|
|
Local2 = (Local2 - One)
|
|
Stall (0x63)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Sleep (0x14)
|
|
M201 = One
|
|
Local6 = \_SB.ALIB (0x06, Local7)
|
|
If ((M085 < 0x08))
|
|
{
|
|
M272 = Zero
|
|
Local2 = Zero
|
|
While ((Local2 < 0x0F))
|
|
{
|
|
M023 (Zero, M243, M244)
|
|
Local4 = One
|
|
Local5 = 0xC8
|
|
While ((Local4 && Local5))
|
|
{
|
|
Local0 = M021 (Zero, M243, M244, 0xA5)
|
|
Local0 &= 0x7F
|
|
If (((Local0 >= 0x10) && (Local0 != 0x7F)))
|
|
{
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Sleep (0x05)
|
|
Local5--
|
|
}
|
|
}
|
|
|
|
If (!Local4)
|
|
{
|
|
Local5 = M024 (Zero, M243, M244)
|
|
If (Local5)
|
|
{
|
|
M026 (Zero, M243, M244)
|
|
Sleep (0x05)
|
|
Local2++
|
|
}
|
|
Else
|
|
{
|
|
Local0 = Zero
|
|
If ((M025 (Zero, M243, M244, Zero) == Ones))
|
|
{
|
|
Local0 = One
|
|
}
|
|
|
|
If (Local0)
|
|
{
|
|
M272 = One
|
|
Local2 = 0x10
|
|
}
|
|
Else
|
|
{
|
|
M272 = Zero
|
|
Local2 = 0x10
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local2 = 0x10
|
|
}
|
|
}
|
|
|
|
If (!M272)
|
|
{
|
|
M000 (0x0D9F)
|
|
Local1 = M019 (M245, Zero, Zero, Zero)
|
|
Sleep (0x0A)
|
|
Local4 = One
|
|
Local5 = 0x05
|
|
While ((Local4 && Local5))
|
|
{
|
|
Local0 = M021 (Zero, M243, M244, 0xA5)
|
|
Local0 &= 0x7F
|
|
If (((Local0 <= 0x04) || (Local0 == 0x1F)))
|
|
{
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local0 = M019 (M245, Zero, Zero, Zero)
|
|
Sleep (0x05)
|
|
Local5--
|
|
}
|
|
}
|
|
|
|
M201 = Zero
|
|
\_SB.ALIB (0x06, Local7)
|
|
}
|
|
}
|
|
}
|
|
|
|
If ((M400 == One))
|
|
{
|
|
M403 (Zero, M243, M244, Zero)
|
|
}
|
|
|
|
M000 (0x0DC1)
|
|
Local1 = M049 (M133, 0x01F6)
|
|
If ((Local1 == Zero))
|
|
{
|
|
Local1 = 0x64
|
|
}
|
|
|
|
Sleep (Local1)
|
|
If ((M272 == One))
|
|
{
|
|
M439 (Zero, M243, M244)
|
|
}
|
|
|
|
If ((M447 == One))
|
|
{
|
|
Local0 = M372 ()
|
|
If (((Local0 >= Zero) && (Local0 <= 0xBF)))
|
|
{
|
|
M256 = One
|
|
\_SB.ALIB (0x0C, Local3)
|
|
}
|
|
}
|
|
|
|
\_SB.PCI0.PB2.M407 = One
|
|
M000 (0x0DA0)
|
|
}
|
|
Else
|
|
{
|
|
M000 (0x0DA1)
|
|
\_SB.PCI0.PB2.M407 = ((M049 (M128, 0x65) >> 0x07) & One)
|
|
If ((M447 == One))
|
|
{
|
|
Local0 = M372 ()
|
|
If (((Local0 >= Zero) && (Local0 <= 0xBF)))
|
|
{
|
|
M256 = Zero
|
|
\_SB.ALIB (0x0C, Local3)
|
|
}
|
|
}
|
|
|
|
If ((M273 >= One))
|
|
{
|
|
Local1 = M019 (Zero, M243, M244, 0x54)
|
|
M020 (Zero, M243, M244, 0x54, (Local1 & 0xFFFF7FFC))
|
|
Sleep (One)
|
|
Local2 = M017 (Zero, M243, M244, 0x19, Zero, 0x08)
|
|
M028 (Local2, Zero, Zero, Zero)
|
|
Local3 = M027 (Local2, Zero, Zero)
|
|
M020 (Zero, M243, M244, 0x54, (Local1 & 0xFFFF7FFF))
|
|
If ((M400 == Zero))
|
|
{
|
|
Local1 = M017 (Zero, M243, M244, 0x68, Zero, 0x08)
|
|
M018 (Zero, M243, M244, 0x68, Zero, 0x08, (Local1 | 0x10))
|
|
Sleep (0x18)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Local1 = M019 (Zero, M243, M244, 0x54)
|
|
M020 (Zero, M243, M244, 0x54, (Local1 & 0xFFFF7FFC))
|
|
M201 = Zero
|
|
\_SB.ALIB (0x06, Local7)
|
|
M020 (Zero, M243, M244, 0x54, (Local1 & 0xFFFF7FFF))
|
|
}
|
|
|
|
If ((M427 == One))
|
|
{
|
|
Local1 = M430 (Zero, M243, M244)
|
|
Local1 &= 0x0F
|
|
If ((Local1 > One))
|
|
{
|
|
Local4 = M025 (Zero, M243, M244, One)
|
|
}
|
|
}
|
|
|
|
If ((M400 == One))
|
|
{
|
|
M402 (Zero, M243, M244)
|
|
}
|
|
|
|
If ((M085 >= 0x0F))
|
|
{
|
|
If ((M500 == One))
|
|
{
|
|
\_SB.ALIB (0x12, Zero)
|
|
}
|
|
}
|
|
|
|
If ((M442 > Zero))
|
|
{
|
|
Divide (M442, 0x03E8, Local5, Local4)
|
|
If ((Local4 >= One))
|
|
{
|
|
Sleep (Local4)
|
|
}
|
|
|
|
Divide (Local5, 0x63, Local5, Local4)
|
|
While ((Local4 >= One))
|
|
{
|
|
Local4--
|
|
Stall (0x63)
|
|
}
|
|
|
|
If ((Local5 >= One))
|
|
{
|
|
Stall (Local5)
|
|
}
|
|
}
|
|
|
|
M000 (0x0DA2)
|
|
Local4 = M453 /* External reference */
|
|
M453 = Zero
|
|
If (CondRefOf (\_SB.MACO))
|
|
{
|
|
If ((\_SB.MACO == One))
|
|
{
|
|
If ((M266 < 0x0100))
|
|
{
|
|
P011 = 0xC4
|
|
}
|
|
Else
|
|
{
|
|
M010 (M266, One)
|
|
}
|
|
|
|
Stall (M268)
|
|
If ((M267 < 0x0100))
|
|
{
|
|
P141 = 0x84
|
|
}
|
|
Else
|
|
{
|
|
M010 (M267, Zero)
|
|
}
|
|
|
|
Sleep (M269)
|
|
M112 (M242, Zero)
|
|
}
|
|
Else
|
|
{
|
|
M112 (M242, Zero)
|
|
Sleep (0x0A)
|
|
M111 (M242, Zero)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
M112 (M242, Zero)
|
|
Sleep (0x0A)
|
|
M111 (M242, Zero)
|
|
}
|
|
|
|
M453 = Local4
|
|
If ((M085 >= 0x0F))
|
|
{
|
|
If ((M500 == One))
|
|
{
|
|
Local1 = M428 (Zero, M243, M244, 0x55, Zero, 0x08)
|
|
M429 (Zero, M243, M244, 0x55, Zero, 0x08, (Local1 | 0x80))
|
|
Local1 = M428 (Zero, M243, M244, 0x7A, Zero, 0x08)
|
|
M429 (Zero, M243, M244, 0x7A, Zero, 0x08, (Local1 | One))
|
|
}
|
|
}
|
|
|
|
If ((M427 == One))
|
|
{
|
|
If ((Local1 > One))
|
|
{
|
|
M429 (Zero, M243, M244, 0x88, Zero, 0x04, Local1)
|
|
}
|
|
}
|
|
|
|
M023 (Zero, M243, M244)
|
|
If ((M400 == Zero))
|
|
{
|
|
Local1 = M019 (M245, Zero, Zero, Zero)
|
|
Sleep (0x0A)
|
|
}
|
|
|
|
If ((M085 < 0x08))
|
|
{
|
|
Local4 = One
|
|
Local5 = 0x05
|
|
While ((Local4 && Local5))
|
|
{
|
|
Local0 = M021 (Zero, M243, M244, 0xA5)
|
|
Local0 &= 0x7F
|
|
If (((Local0 <= 0x04) || (Local0 == 0x1F)))
|
|
{
|
|
Local4 = Zero
|
|
}
|
|
Else
|
|
{
|
|
Local1 = M019 (M245, Zero, Zero, Zero)
|
|
Sleep (0x05)
|
|
Local5--
|
|
}
|
|
}
|
|
}
|
|
|
|
M000 (0x0DA3)
|
|
M272 = 0x02
|
|
}
|
|
}
|
|
|
|
Release (EEBC)
|
|
}
|
|
}
|
|
}
|
|
|