/* * 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) } } }