Root System Description Pointer: 0x000FE020 52 53 44 20 50 54 52 20 14 41 43 52 53 59 53 02 RSD PTR .ACRSYS. AC E0 AF BB 24 00 00 00 20 E1 AF BB 00 00 00 00 ....$... ....... 71 00 00 00 q... Signature "RSD PTR " Checksum 0x14 (20) OEM ID "ACRSYS" Revision 0x02 (2) - ACPI 2.0 RSDT Address 0xBBAFE0AC Length 0x00000024 XsdtAddress 0x00000000BBAFE120 Extended Checksum 0x71 (113) Reserved 0x00 0x00 0x00 Root System Description Table: 0xBBAFE0AC 52 53 44 54 44 00 00 00 01 33 41 43 52 53 59 53 RSDTD....3ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 20 20 20 20 ACRPRDCT.... 13 00 00 01 00 D0 AF BB 00 C0 AF BB 00 B0 AF BB ................ 00 A0 AF BB 00 90 AF BB 00 80 AF BB 00 B0 AE BB ................ 00 A0 AE BB .... Signature "RSDT" Length 0x00000044 (68) Revision 0x01 (1) Checksum 0x33 (51) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID " " Creator Revision 0x01000013 (16777235) Entry0 0xBBAFD000 Entry1 0xBBAFC000 Entry2 0xBBAFB000 Entry3 0xBBAFA000 Entry4 0xBBAF9000 Entry5 0xBBAF8000 Entry6 0xBBAEB000 Entry7 0xBBAEA000 Fixed ACPI Description Table: 0xBBAFD000 46 41 43 50 F4 00 00 00 04 B3 41 43 52 53 59 53 FACP......ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 00 F0 A8 BB 00 C0 AE BB 00 02 09 00 ................ B2 00 00 00 A0 A1 00 00 00 04 00 00 00 00 00 00 ................ 04 04 00 00 00 00 00 00 50 04 00 00 08 04 00 00 ........P....... 20 04 00 00 00 00 00 00 04 02 01 04 10 00 00 00 ............... 65 00 E9 03 00 00 00 00 01 03 0D 00 00 03 00 00 e............... A5 80 00 00 00 00 00 00 F9 0C 00 00 00 00 00 00 ................ 06 00 00 00 00 F0 A8 BB 00 00 00 00 00 C0 AE BB ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 .... Signature "FACP" Length 0x000000F4 (244) Revision 0x04 (4) Checksum 0xB3 (179) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) Firmware Control 0xBBA8F000 - FACS DSDT Address 0xBBAEC000 - DSDT Interrupt Mode 0x00 (0) - Dual PIC PM Profile 0x02 (2) SCI Interrupt 0x0009 (9) SMI Port 0x000000B2 (178) ACPI Enable 0xA0 (160) ACPI Disable 0xA1 (161) S4 Request 0x00 (0) - Not supported PSTATE_CNT 0x00 (0) PM1a_EVT_BLK 0x00000400 (1024) PM1b_EVT_BLK 0x00000000 (0) - Not supported PM1a_CNT_BLK 0x00000404 (1028) PM1b_CNT_BLK 0x00000000 (0) - Not supported PM2_CNT_BLK 0x00000450 (1104) PM_TMR_BLK 0x00000408 (1032) GPE0_BLK 0x00000420 (1056) GPE1_BLK 0x00000000 (0) - Not supported PM1_EVT_LEN 0x04 (4) PM1_CNT_LEN 0x02 (2) PM2_CNT_LEN 0x01 (1) PM_TMR_LEN 0x04 (4) GPE0_BLK_LEN 0x10 (16) GPE1_BLK_LEN 0x00 (0) GPE1_BASE 0x00 (0) CST_CNT 0x00 (0) P_LVL2_LAT 0x0065 (101) - C2 state not supported P_LVL3_LAT 0x03E9 (1001) - C3 state not supported FLUSH_SIZE 0x0000 (0) FLUSH_STRIDE 0x0000 (0) DUTY_OFFSET 0x01 (1) DUTY_WIDTH 0x03 (3) DAY_ALRM 0x0D (13) MON_ALRM 0x00 (0) - Month alarm not supported CENTURY 0x00 (0) - Century alarm not supported IAPC_Boot_Arch 0x03 0x00 Reserved 0x00 (0) Flags 0x000080A5 WBINVD 1 - WBINVD instruction fully supported WBINVD_Flush 0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1) PROC_C1 1 - C1 power state: all processors P_LVL2_UP 0 - C2 power state: UP system only PWR_BUTTON 0 - Power button supported as fixed feature SLP_BUTTON 1 - Sleep button not support or handled by ASL code FIX_RTC 0 - Fixed register support RTC wake RTC_S4 1 - RTC wakeup support: S1, S2, S3, S4 TMR_VAL_EXT 0 - 24bit PM Timer DCK_CAP 0 - Docking not supported RESET_REG_SUP 0 - Reset Register not supported SEALED_CASE 0 - System is not sealed HEADLESS 0 - Not headless mode CPU_SW_SLP 0 - Normal method to write SLP_TYPx PCI_EXP_WAK 0 - PM1 block does not support PCIE wakeup event bits USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer S4_RTC_STS_VALID 0 - RTC_STS flag is invalid when resume from S4 REMOTE_POWER_ON_CAPABLE 0 - Not compatible with remote power on FORCE_APIC_CLUSTER_MODEL 0 - Cluster destination model not required FORCE_APIC_PHYSICAL_DESTINATION_MODE 0 - Physical destination mode not required High Precision Event Timers Table: 0xBBAFC000 48 50 45 54 38 00 00 00 01 9A 41 43 52 53 59 53 HPET8.....ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 01 A2 86 80 00 00 00 00 00 00 D0 FE ................ 00 00 00 00 00 80 00 00 ........ Signature "HPET" Length 0x00000038 (56) Revision 0x01 (1) Checksum 0x9A (154) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) Event Timer Block ID 0x8086A201 Bit[31:16]=Vendor Intel Corporation Bit[15]=LegacyReplacement IRQ Routing Capable Bit[13]=Counter Size 64-bits Bit[12:8]=Number of Timers 0x03 (3) Bit[7:0]:Revision ID 0x01 (1) Base Address Memory: 0xFED00000, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined HPET Number 0x00 (0) Minimum Clock Tick 0x0080 (128) Page Protection & OEM Attribute 0x00 (0) Multiple APIC Description Table: 0xBBAFB000 41 50 49 43 6C 00 00 00 02 5C 41 43 52 53 59 53 APICl....\ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 00 00 E0 FE 01 00 00 00 00 08 01 00 ................ 01 00 00 00 00 08 02 01 01 00 00 00 00 08 03 00 ................ 00 00 00 00 00 08 04 00 00 00 00 00 01 0C 04 00 ................ 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 ................ 00 00 02 0A 00 09 09 00 00 00 0D 00 ............ Signature "APIC" Length 0x0000006C (108) Revision 0x02 (2) Checksum 0x5C (92) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) Local APIC 0xFEE00000 Flags 0x00000001 Dual-8259 1 - Yes Processor Local APIC Structure Type 0x00 (0) Length 0x08 (8) ACPI Processor ID 0x01 (1) APIC ID 0x00 (0) Flags 0x00000001 (1) - Enabled Processor Local APIC Structure Type 0x00 (0) Length 0x08 (8) ACPI Processor ID 0x02 (2) APIC ID 0x01 (1) Flags 0x00000001 (1) - Enabled Processor Local APIC Structure Type 0x00 (0) Length 0x08 (8) ACPI Processor ID 0x03 (3) APIC ID 0x00 (0) Flags 0x00000000 (0) - Disabled Processor Local APIC Structure Type 0x00 (0) Length 0x08 (8) ACPI Processor ID 0x04 (4) APIC ID 0x00 (0) Flags 0x00000000 (0) - Disabled I/O APIC Structure Type 0x01 (1) Length 0x0C (12) I/O APIC ID 0x04 (4) Reserved 0x00 (0) I/O APIC Address 0xFEC00000 System Interrupt Base 0x00000000 (0) Interrupt Source Override Structure Type 0x02 (2) Length 0x0A (10) Bus 0x00 (0) - ISA Source IRQ0 System Interrupt 0x00000002 (2) Flags 0x0000 Polarity 0x00 - Conforms to the specifications of the bus Trigger Mode 0x00 - Conforms to the specifications of the bus Interrupt Source Override Structure Type 0x02 (2) Length 0x0A (10) Bus 0x00 (0) - ISA Source IRQ9 System Interrupt 0x00000009 (9) Flags 0x000D Polarity 0x01 - Active high Trigger Mode 0x03 - Level triggered Memory Mapped Configuration Space Base Address Description Table: 0xBBAFA000 4D 43 46 47 3C 00 00 00 01 6A 41 43 52 53 59 53 MCFG<....jACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 00 00 00 00 00 00 00 00 00 00 00 F8 ................ 00 00 00 00 00 00 00 3F 00 00 00 00 .......?.... Signature "MCFG" Length 0x0000003C (60) Revision 0x01 (1) Checksum 0x6A (106) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) Reserved 0x0000000000000000 Configuration Base Address Allocation Base Address 0x00000000F8000000 PCI Segment 0x0000 (0) Start Bus Number 0x00 (0) End Bus Number 0x3F (63) Reserved 0x00000000 (0) ASF! Table: 0xBBAF9000 41 53 46 21 A5 00 00 00 20 CB 41 43 52 53 59 53 ASF!.... .ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 00 00 10 00 05 FF 01 00 00 00 01 57 ...............W 00 00 00 00 01 00 2C 00 00 00 03 0C 89 04 01 01 ......,......... 05 6F 00 68 08 88 17 00 89 04 04 04 07 6F 00 68 .o.h.........o.h 20 88 03 00 89 05 01 01 19 6F 00 68 20 88 22 00 ........o.h .". 02 00 18 00 04 04 00 00 00 88 00 03 01 88 00 02 ................ 02 88 00 01 03 88 00 04 03 00 17 00 20 F8 00 00 ............ ... 00 1F F0 00 00 00 00 00 00 00 00 00 00 00 00 84 ................ 00 16 00 00 10 5C 68 88 C2 D2 DC A0 A2 A4 A6 C8 .....\h......... 00 00 00 00 00 ..... Signature "ASF!" Length 0x000000A5 (165) Revision 0x20 (32) Checksum 0xCB (203) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) Data 0x00 0x00 0x10 0x00 0x05 0xFF 0x01 0x00 0x00 0x00 0x01 0x57 0x00 0x00 0x00 0x00 Data 0x01 0x00 0x2C 0x00 0x00 0x00 0x03 0x0C 0x89 0x04 0x01 0x01 0x05 0x6F 0x00 0x68 Data 0x08 0x88 0x17 0x00 0x89 0x04 0x04 0x04 0x07 0x6F 0x00 0x68 0x20 0x88 0x03 0x00 Data 0x89 0x05 0x01 0x01 0x19 0x6F 0x00 0x68 0x20 0x88 0x22 0x00 0x02 0x00 0x18 0x00 Data 0x04 0x04 0x00 0x00 0x00 0x88 0x00 0x03 0x01 0x88 0x00 0x02 0x02 0x88 0x00 0x01 Data 0x03 0x88 0x00 0x04 0x03 0x00 0x17 0x00 0x20 0xF8 0x00 0x00 0x00 0x1F 0xF0 0x00 Data 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x84 0x00 0x16 0x00 0x00 Data 0x10 0x5C 0x68 0x88 0xC2 0xD2 0xDC 0xA0 0xA2 0xA4 0xA6 0xC8 0x00 0x00 0x00 0x00 Data 0x00 Software Licensing Description Table: 0xBBAF8000 53 4C 49 43 76 01 00 00 01 00 41 43 52 53 59 53 SLICv.....ACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 00 00 00 00 9C 00 00 00 06 02 00 00 ................ 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 .$..RSA1........ 1D A3 8F F3 A1 9D F1 F2 31 B4 B5 17 6C CE 4D 17 ........1...l.M. 64 6A F9 79 29 50 CE 0A B2 13 70 71 6E 28 AD DB dj.y)P....pqn(.. 55 1C A6 23 3E 0C 8A 4F 02 49 C9 DF 6D AB CB E7 U..#>..O.I..m... C0 2C 18 7D 43 5C 45 82 3D FC 32 B0 92 F8 C2 00 .,.}C\E.=.2..... 65 0D B9 A0 CD 16 EA 40 13 CE 9D 3B 39 ED 87 34 e......@...;9..4 98 C4 D9 C7 98 49 11 77 03 D4 A7 6A D6 3B 88 71 .....I.w...j.;.q DB 1A D3 AA 56 42 2E AD 32 91 29 59 9D 4D 27 AD ....VB..2.)Y.M'. 95 DF 53 90 83 82 21 52 92 2F 9D 33 EF CB C3 AE ..S...!R./.3.... 01 00 00 00 B6 00 00 00 00 00 02 00 41 43 52 53 ............ACRS 59 53 41 43 52 50 52 44 43 54 57 49 4E 44 4F 57 YSACRPRDCTWINDOW 53 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S .............. 00 00 00 00 00 00 A0 34 06 3A FD 7B 4C BA 3F 2D .......4.:.{L.?- FB FF 1F F5 78 A8 DA 2E 38 D6 CA 84 DF A1 4C DB ....x...8.....L. F6 33 22 90 0E BA 42 B9 A1 D1 43 10 54 79 F0 3D .3"...B...C.Ty.= 22 41 86 F3 D9 1D 5D 29 59 92 95 CD E6 C0 E5 2F "A....])Y....../ 1D 32 C9 49 98 CB 30 F9 E8 E3 D9 0E 29 BB 3A AD .2.I..0.....).:. CA 3D FC 1E 84 C4 25 A6 8E 52 8C 9D EB 70 2F 63 .=....%..R...p/c 53 34 97 6C 6E 19 59 26 E0 32 9F A5 22 B1 2E EF S4.ln.Y&.2.."... 1B 45 E8 CC 8A E5 E3 01 97 B2 7B BF 56 F8 E9 B4 .E........{.V... CD 35 EC 01 63 18 .5..c. Signature "SLIC" Length 0x00000176 (374) Revision 0x01 (1) Checksum 0x00 (0) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) OEM Public Key Structure Type 0x00000000 (0) Length 0x0000009C (156) Key Type 0x06 (6) Version 0x02 (2) Reserved 0x0000 (0) Algorithm 0x00002400 (9216) Magic "RSA1" Bit Length 0x00000400 (1024) Exponent 0x00010001 (65537) Modulus 0x1D 0xA3 0x8F 0xF3 0xA1 0x9D 0xF1 0xF2 0x31 0xB4 0xB5 0x17 0x6C 0xCE 0x4D 0x17 0x64 0x6A 0xF9 0x79 0x29 0x50 0xCE 0x0A 0xB2 0x13 0x70 0x71 0x6E 0x28 0xAD 0xDB 0x55 0x1C 0xA6 0x23 0x3E 0x0C 0x8A 0x4F 0x02 0x49 0xC9 0xDF 0x6D 0xAB 0xCB 0xE7 0xC0 0x2C 0x18 0x7D 0x43 0x5C 0x45 0x82 0x3D 0xFC 0x32 0xB0 0x92 0xF8 0xC2 0x00 0x65 0x0D 0xB9 0xA0 0xCD 0x16 0xEA 0x40 0x13 0xCE 0x9D 0x3B 0x39 0xED 0x87 0x34 0x98 0xC4 0xD9 0xC7 0x98 0x49 0x11 0x77 0x03 0xD4 0xA7 0x6A 0xD6 0x3B 0x88 0x71 0xDB 0x1A 0xD3 0xAA 0x56 0x42 0x2E 0xAD 0x32 0x91 0x29 0x59 0x9D 0x4D 0x27 0xAD 0x95 0xDF 0x53 0x90 0x83 0x82 0x21 0x52 0x92 0x2F 0x9D 0x33 0xEF 0xCB 0xC3 0xAE SLIC Marker Structure Type 0x00000001 (1) Length 0x000000B6 (182) Version 0x00020000 (131072) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" Windows Flag "WINDOWS " Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Signature 0xA0 0x34 0x06 0x3A 0xFD 0x7B 0x4C 0xBA 0x3F 0x2D 0xFB 0xFF 0x1F 0xF5 0x78 0xA8 0xDA 0x2E 0x38 0xD6 0xCA 0x84 0xDF 0xA1 0x4C 0xDB 0xF6 0x33 0x22 0x90 0x0E 0xBA 0x42 0xB9 0xA1 0xD1 0x43 0x10 0x54 0x79 0xF0 0x3D 0x22 0x41 0x86 0xF3 0xD9 0x1D 0x5D 0x29 0x59 0x92 0x95 0xCD 0xE6 0xC0 0xE5 0x2F 0x1D 0x32 0xC9 0x49 0x98 0xCB 0x30 0xF9 0xE8 0xE3 0xD9 0x0E 0x29 0xBB 0x3A 0xAD 0xCA 0x3D 0xFC 0x1E 0x84 0xC4 0x25 0xA6 0x8E 0x52 0x8C 0x9D 0xEB 0x70 0x2F 0x63 0x53 0x34 0x97 0x6C 0x6E 0x19 0x59 0x26 0xE0 0x32 0x9F 0xA5 0x22 0xB1 0x2E 0xEF 0x1B 0x45 0xE8 0xCC 0x8A 0xE5 0xE3 0x01 0x97 0xB2 0x7B 0xBF 0x56 0xF8 0xE9 0xB4 0xCD 0x35 0xEC 0x01 0x63 0x18 Simple Boot Flag Table: 0xBBAEB000 42 4F 4F 54 28 00 00 00 01 5A 41 43 52 53 59 53 BOOT(....ZACRSYS 41 43 52 50 52 44 43 54 01 00 00 00 31 30 32 35 ACRPRDCT....1025 13 00 00 01 44 00 00 00 ....D... Signature "BOOT" Length 0x00000028 (40) Revision 0x01 (1) Checksum 0x5A (90) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) CMOS Index 0x44 (68) Reserved 0x00 0x00 0x00 Secondary System Description Table: 0xBBAEA000 Signature "SSDT" Length 0x00000655 (1621) Revision 0x01 (1) Checksum 0x3C (60) OEM ID "PmRef" OEM Table ID "CpuPm" OEM Revision 0x00003000 (12288) Creator ID "INTL" Creator Revision 0x20051117 (537202967) DefinitionBlock ("SSDT.AML", "SSDT", 0x01, "PmRef", "CpuPm", 0x00003000) { Scope(\) { Name(SSDT, Package(12) { "CPU0IST ", 0xBB98DC98, 0x00000223, "APIST ", 0xBB98CE18, 0x000001CF, "CPU0CST ", 0xBB98B598, 0x00000537, "APCST ", 0xBB98DF18, 0x0000008D }) Name(CFGD, 0x053B0871) Name(\PDC0, 0x80000000) Name(\PDC1, 0x80000000) Name(\PDC2, 0x80000000) Name(\PDC3, 0x80000000) Name(\SDTL, Zero) } Scope(\_PR.CPU0) { Name(HI0, Zero) Name(HC0, Zero) Method(_PDC, 1, NotSerialized) { Store(CPDC(Arg0), Local0) GCAP(Local0) Return(Local0) } Method(_OSC, 4, NotSerialized) { Store(COSC(Arg0, Arg1, Arg2, Arg3), Local0) GCAP(Local0) Return(Local0) } Method(CPDC, 1, NotSerialized) { CreateDWordField(Arg0, Zero, REVS) CreateDWordField(Arg0, 0x04, SIZE) Store(SizeOf(Arg0), Local0) Store(Subtract(Local0, 0x08), Local1) CreateField(Arg0,0x40,Multiply(Local1, 0x08),TEMP) Name(STS0, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate(STS0, TEMP, Local2) Return(COSC(Buffer(0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2)) } Method(COSC, 4, NotSerialized) { CreateDWordField(Arg3, Zero, STS0) CreateDWordField(Arg3, 0x04, CAP0) CreateDWordField(Arg0, Zero, IID0) CreateDWordField(Arg0, 0x04, IID1) CreateDWordField(Arg0, 0x08, IID2) CreateDWordField(Arg0, 0x0C, IID3) Name(UID0, Buffer(0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField(UID0, Zero, EID0) CreateDWordField(UID0, 0x04, EID1) CreateDWordField(UID0, 0x08, EID2) CreateDWordField(UID0, 0x0C, EID3) If(LNot(LAnd(LAnd(LEqual(IID0, EID0), LEqual(IID1, EID1)), LAnd(LEqual(IID2, EID2), LEqual(IID3, EID3))))) { Store(0x06, STS0) Return(Arg3) } If(LNotEqual(Arg1, One)) { Store(0x0A, STS0) Return(Arg3) } Return(Arg3) } Method(GCAP, 1, NotSerialized) { CreateDWordField(Arg0, Zero, STS0) CreateDWordField(Arg0, 0x04, CAP0) If(LOr(LEqual(STS0, 0x06), LEqual(STS0, 0x0A))) { Return(Zero) } If(And(STS0, One)) { And(CAP0, 0x0BFF, CAP0) Return(Zero) } Or(And(PDC0, 0x7FFFFFFF), CAP0, PDC0) If(And(CFGD, One)) { If(LAnd(LAnd(And(CFGD, 0x01000000), LEqual(And(PDC0, 0x09), 0x09)), LNot(And(SDTL, One)))) { Or(SDTL, One, SDTL) OperationRegion(IST0, SystemMemory, DerefOf(Index(SSDT, One)), DerefOf(Index(SSDT, 0x02))) Load(IST0, HI0) } } If(And(CFGD, 0xF0)) { If(LAnd(LAnd(And(CFGD, 0x01000000), And(PDC0, 0x18)), LNot(And(SDTL, 0x02)))) { Or(SDTL, 0x02, SDTL) OperationRegion(CST0, SystemMemory, DerefOf(Index(SSDT, 0x07)), DerefOf(Index(SSDT, 0x08))) Load(CST0, HC0) } } Return(Zero) } } Scope(\_PR.CPU1) { Name(HI1, Zero) Name(HC1, Zero) Method(_PDC, 1, NotSerialized) { Store(\_PR.CPU0.CPDC(Arg0), Local0) GCAP(Local0) Return(Local0) } Method(_OSC, 4, NotSerialized) { Store(\_PR.CPU0.COSC(Arg0, Arg1, Arg2, Arg3), Local0) GCAP(Local0) Return(Local0) } Method(GCAP, 1, NotSerialized) { CreateDWordField(Arg0, Zero, STS1) CreateDWordField(Arg0, 0x04, CAP1) If(LOr(LEqual(STS1, 0x06), LEqual(STS1, 0x0A))) { Return(Zero) } If(And(STS1, One)) { And(CAP1, 0x0BFF, CAP1) Return(Zero) } Or(And(PDC1, 0x7FFFFFFF), CAP1, PDC1) If(LEqual(And(PDC0, 0x09), 0x09)) { APPT() } If(And(PDC0, 0x18)) { APCT() } Return(Zero) } Method(APCT, 0, NotSerialized) { If(LAnd(And(CFGD, 0xF0), LNot(And(SDTL, 0x20)))) { Or(SDTL, 0x20, SDTL) OperationRegion(CST1, SystemMemory, DerefOf(Index(SSDT, 0x0A)), DerefOf(Index(SSDT, 0x0B))) Load(CST1, HC1) } } Method(APPT, 0, NotSerialized) { If(LAnd(And(CFGD, One), LNot(And(SDTL, 0x10)))) { Or(SDTL, 0x10, SDTL) OperationRegion(IST1, SystemMemory, DerefOf(Index(SSDT, 0x04)), DerefOf(Index(SSDT, 0x05))) Load(IST1, HI1) } } } Scope(\_PR.CPU2) { Method(_PDC, 1, NotSerialized) { Store(\_PR.CPU0.CPDC(Arg0), Local0) GCAP(Local0) Return(Local0) } Method(_OSC, 4, NotSerialized) { Store(\_PR.CPU0.COSC(Arg0, Arg1, Arg2, Arg3), Local0) GCAP(Local0) Return(Local0) } Method(GCAP, 1, NotSerialized) { CreateDWordField(Arg0, Zero, STS2) CreateDWordField(Arg0, 0x04, CAP2) If(LOr(LEqual(STS2, 0x06), LEqual(STS2, 0x0A))) { Return(Zero) } If(And(STS2, One)) { And(CAP2, 0x0BFF, CAP2) Return(Zero) } Or(And(PDC2, 0x7FFFFFFF), CAP2, PDC2) If(LEqual(And(PDC2, 0x09), 0x09)) { \_PR.CPU1.APPT() } If(And(PDC2, 0x18)) { \_PR.CPU1.APCT() } Return(Zero) } } Scope(\_PR.CPU3) { Method(_PDC, 1, NotSerialized) { Store(\_PR.CPU0.CPDC(Arg0), Local0) GCAP(Local0) Return(Local0) } Method(_OSC, 4, NotSerialized) { Store(\_PR.CPU0.COSC(Arg0, Arg1, Arg2, Arg3), Local0) GCAP(Local0) Return(Local0) } Method(GCAP, 1, NotSerialized) { CreateDWordField(Arg0, Zero, STS3) CreateDWordField(Arg0, 0x04, CAP3) If(LOr(LEqual(STS3, 0x06), LEqual(STS3, 0x0A))) { Return(Zero) } If(And(STS3, One)) { And(CAP3, 0x0BFF, CAP3) Return(Zero) } Or(And(PDC3, 0x7FFFFFFF), CAP3, PDC3) If(LEqual(And(PDC2, 0x09), 0x09)) { \_PR.CPU1.APPT() } If(And(PDC2, 0x18)) { \_PR.CPU1.APCT() } Return(Zero) } } } Firmware ACPI Control Structure: 0xBBA8F000 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 FACS@........... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Signature FACS Length 0x00000040 (64) Hardware Signature 0x00000000 (0) Waking Vector 0x00000000 (0) Global Lock 0x00000000 (0) Flags 0x00000000 S4BIOS 0 - Not supported Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Differentiated System Description Table: 0xBBAEC000 Signature "DSDT" Length 0x0000B545 (46405) Revision 0x01 (1) Checksum 0xD3 (211) OEM ID "ACRSYS" OEM Table ID "ACRPRDCT" OEM Revision 0x00000001 (1) Creator ID "1025" Creator Revision 0x01000013 (16777235) DefinitionBlock ("DSDT.AML", "DSDT", 0x01, "ACRSYS", "ACRPRDCT", 0x00000001) { Name(SP2O, 0x4E) Name(SP1O, 0x164E) Name(IO1B, 0x0600) Name(IO1L, 0x70) Name(IO2B, 0x0680) Name(IO2L, 0x20) Name(IO3B, 0x0290) Name(IO3L, 0x10) Name(MCHB, 0xFED10000) Name(MCHL, 0x4000) Name(EGPB, 0xFED19000) Name(EGPL, 0x1000) Name(DMIB, 0xFED18000) Name(DMIL, 0x1000) Name(IFPB, 0xFED14000) Name(IFPL, 0x1000) Name(PEBS, 0xE0000000) Name(PELN, 0x10000000) Name(TTTB, 0xFED20000) Name(TTTL, 0x00020000) Name(SMBS, 0xEFA0) Name(PBLK, 0x0410) Name(PMBS, 0x0400) Name(PMLN, 0x80) Name(LVL2, 0x0414) Name(LVL3, 0x0415) Name(LVL4, 0x0416) Name(SMIP, 0xB2) Name(GPBS, 0x0500) Name(GPLN, 0x40) Name(APCB, 0xFEC00000) Name(APCL, 0x1000) Name(PM30, 0x0430) Name(SRCB, 0xFED1C000) Name(SRCL, 0x4000) Name(SUSW, 0xFF) Name(ACPH, 0xDE) Name(ASSB, Zero) Name(AOTB, Zero) Name(AAXB, Zero) Name(PEHP, One) Name(SHPC, One) Name(PEPM, One) Name(PEER, One) Name(PECS, One) Name(ITKE, Zero) Name(TRTP, One) Name(TRTD, 0x02) Name(TRTI, 0x03) Name(GCDD, One) Name(DSTA, 0x0A) Name(DSLO, 0x0C) Name(DSLC, 0x0E) Name(PITS, 0x10) Name(SBCS, 0x12) Name(SALS, 0x13) Name(LSSS, 0x2A) Name(PSSS, 0x2B) Name(SOOT, 0x35) Name(ESCS, 0x48) Name(PDBR, 0x4D) Name(SMBL, 0x10) OperationRegion(GPIO, SystemIO, 0x0500, 0x3C) Field(GPIO, ByteAcc, NoLock, Preserve) { Offset(0x2C), //Offset(44), , 8, , 3, LPDL, 1, , 1, NEWD, 1, } OperationRegion(PMBA, SystemIO, 0x0400, 0x80) Field(PMBA, ByteAcc, NoLock, Preserve) { Offset(0x28), //Offset(40), , 2, SPST, 1, Offset(0x42), //Offset(66), , 1, GPEC, 1, Offset(0x64), //Offset(100), Offset(0x65), //Offset(101), , 1, SCIS, 1, , 6, } OperationRegion(RCRB, SystemMemory, 0xFED1C000, 0x4000) Field(RCRB, DWordAcc, Lock, Preserve) { Offset(0x1000), //Offset(4096), Offset(0x3000), //Offset(12288), Offset(0x3404), //Offset(13316), HPAS, 2, , 5, HPAE, 1, Offset(0x3418), //Offset(13336), , 1, PATD, 1, SATD, 1, SMBD, 1, HDAD, 1, Offset(0x341A), //Offset(13338), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1, } OperationRegion(MBOX, SystemMemory, 0xBBABEC18, 0x000002BC) Field(MBOX, AnyAcc, NoLock, Preserve) { PCI1, 8, PCI2, 8, PCI3, 8, PCI4, 8, PCI5, 8, PCI6, 8, PCI7, 8, PCI8, 8, NLCK, 8, ZIPE, 8, COMA, 8, CAIO, 8, CAIP, 8, CAMD, 8, CADA, 8, COMB, 8, CBIO, 8, CBIP, 8, CBMD, 8, CBDA, 8, FHSD, 8, COMC, 8, CCIO, 8, CCIP, 8, CCMD, 8, CCDA, 8, COMD, 8, CDIO, 8, CDIP, 8, CDMD, 8, CDDA, 8, LPT1, 8, L1IO, 8, L1IP, 8, L1MD, 8, L1DA, 8, LPT2, 8, L2IO, 8, L2IP, 8, L2MD, 8, L2DA, 8, LPT3, 8, L3IO, 8, L3IP, 8, L3MD, 8, L3DA, 8, FDDC, 8, FDWP, 8, HGMP, 8, LGMP, 8, MIDI, 8, AZLA, 8, AUDO, 8, MODM, 8, IDEC, 8, SSED, 8, PACT, 8, SCFG, 8, AMOD, 8, IMOD, 8, LCFG, 8, IDLY, 8, PMTP, 8, PMIO, 8, PMBM, 8, PMTM, 8, PSTP, 8, PSIO, 8, PSBM, 8, PSTM, 8, IDE0, 8, IDE1, 8, IDE2, 8, IDE3, 8, IDE4, 8, IDE5, 8, IDE6, 8, IDE7, 8, HIUB, 8, LUBS, 8, PLYT, 8, EDCG, 8, SDFY, 8, SDTC, 8, SDRP, 8, SDCL, 8, SDRC, 8, SDRE, 8, FC2L, 8, FC3L, 8, FCS4, 8, APIM, 8, HPTS, 8, HPTA, 8, EMAS, 8, VGAO, 8, SOFF, 8, KBPO, 8, MSPO, 8, USBB, 8, EVTL, 8, SYBE, 8, ETLC, 8, AC30, 8, TPMD, 8, TPMO, 8, TPMC, 8, TPMM, 8, TPCC, 8, TPLC, 8, TPLR, 32, QBOT, 8, BOTQ, 8, PBOT, 8, M256, 8, PEGF, 8, OSYS, 16, BMTP, 8, BNPT, 8, LNMT, 8, NBTO, 8, NABD, 8, NEBD, 8, NLBD, 8, DFBT, 16, NPSP, 16, LANG, 8, UACL, 8, SUPS, 8, DVET, 8, S3RS, 8, DAS1, 8, DAS3, 8, WKPM, 8, WKMD, 8, WKS5, 8, HOUR, 8, MINS, 8, SECS, 8, DOFM, 8, NBTV, 64, BTOD, 64, SPVP, 16, POPW, 16, USPW, 16, HDPW, 16, KRSV, 480, LANE, 8, AORS, 8, P0HP, 8, P1HP, 8, P4HP, 8, P5HP, 8, P0IL, 8, P1IL, 8, P2IL, 8, PEGS, 8, D2F1, 8, IGMT, 8, DTSZ, 8, CLKC, 8, CKSC, 8, BOTT, 8, PANT, 8, TVTP, 8, U201, 8, U202, 8, U111, 8, U112, 8, U113, 8, U114, 8, U115, 8, UPPC, 8, UP00, 8, UP01, 8, UP02, 8, UP03, 8, UP04, 8, UP05, 8, UP06, 8, UP07, 8, UP08, 8, UP09, 8, UP10, 8, UP11, 8, P80R, 8, WDOG, 8, WDTO, 16, WDTB, 16, MASF, 8, MAMT, 8, ABXP, 8, SPIL, 8, PWDW, 8, HETO, 8, AWTR, 16, EOPT, 8, ASFB, 8, MBTX, 8, IDER, 8, SOLE, 8, PRE0, 8, PRE1, 8, PRE2, 8, PRE3, 8, PRE4, 8, PRE5, 8, PRA0, 8, PRA1, 8, PRA2, 8, PRA3, 8, PRA4, 8, PRA5, 8, PRV0, 8, PRV1, 8, PRV2, 8, PRV3, 8, PRV4, 8, PRV5, 8, PAA0, 8, PAA1, 8, PAA2, 8, PAA3, 8, PAA4, 8, PAA5, 8, L0S0, 8, L0S1, 8, L0S2, 8, L0S3, 8, L0S4, 8, L0S5, 8, AL10, 8, AL11, 8, AL12, 8, AL13, 8, AL14, 8, AL15, 8, PES0, 8, PES1, 8, PES2, 8, PES3, 8, PES4, 8, PES5, 8, PRU0, 8, PRU1, 8, PRU2, 8, PRU3, 8, PRU4, 8, PRU5, 8, PRF0, 8, PRF1, 8, PRF2, 8, PRF3, 8, PRF4, 8, PRF5, 8, PRN0, 8, PRN1, 8, PRN2, 8, PRN3, 8, PRN4, 8, PRN5, 8, PRC0, 8, PRC1, 8, PRC2, 8, PRC3, 8, PRC4, 8, PRC5, 8, CTD0, 8, CTD1, 8, CTD2, 8, CTD3, 8, CTD4, 8, CTD5, 8, PIE0, 8, PIE1, 8, PIE2, 8, PIE3, 8, PIE4, 8, PIE5, 8, SFE0, 8, SFE1, 8, SFE2, 8, SFE3, 8, SFE4, 8, SFE5, 8, SNE0, 8, SNE1, 8, SNE2, 8, SNE3, 8, SNE4, 8, SNE5, 8, SCE0, 8, SCE1, 8, SCE2, 8, SCE3, 8, SCE4, 8, SCE5, 8, MCE0, 8, MCE1, 8, MCE2, 8, MCE3, 8, MCE4, 8, MCE5, 8, PCE0, 8, PCE1, 8, PCE2, 8, PCE3, 8, PCE4, 8, PCE5, 8, PTC0, 8, PTC1, 8, PTC2, 8, PTC3, 8, PTC4, 8, PTC5, 8, DAPM, 8, DPMA, 8, DL0S, 8, DAL1, 8, PEGA, 8, PGAA, 8, PGL0, 8, PL0A, 8, PGL1, 8, PGES, 8, PAVP, 8, ISTC, 8, TRML, 8, FNON, 8, TRON, 8, NXMD, 8, PCRR, 8, C4EN, 8, C43D, 8, EMTT, 8, PROH, 8, DFSB, 8, TUBM, 8, TSTE, 8, BPST, 8, QKS4, 8, POPU, 8, POPD, 8, C4ET, 8, NXFE, 8, VTST, 8, VTFE, 8, S5FG, 8, CSTS, 8, ENCS, 8, DEC4, 8, HC4E, 8, ENC6, 8, CSTR, 8, CMPE, 8, CSMD, 8, DTSE, 8, DTSC, 8, RAID, 8, PSHM, 8, PEXC, 8, DTST, 8, TXTS, 8, VTDE, 8, SMRR, 8, CART, 8, CATT, 8, ITPM, 8, STBE, 8, PEBE, 8, PCBE, 8, EHBE, 8, UHBE, 8, HABE, 8, ERS2, 8, CRSV, 552, ORSV, 560, SPW0, 8, SPW1, 8, D2DE, 8, F12M, 8, MWDT, 16, POWT, 16, DRSV, 736, } OperationRegion(SMIO, SystemIO, 0xB2, 0x02) Field(SMIO, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8, } Method(OSMI, 1, NotSerialized) { Store(Arg0, APMD) Store(0xB2, APMC) Stall(0xFF) Stall(0xFF) Stall(0xFF) Stall(0xFF) Stall(0xFF) Stall(0xFF) } OperationRegion(IO_T, SystemIO, 0x0800, 0x10) Field(IO_T, ByteAcc, NoLock, Preserve) { Offset(0x2), //Offset(2), Offset(0x4), //Offset(4), Offset(0x6), //Offset(6), Offset(0x8), //Offset(8), TRP0, 8, , 8, , 8, , 8, , 8, , 8, , 8, , 8, } OperationRegion(IO_D, SystemIO, 0x0810, 0x08) Field(IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8, } OperationRegion(IO_H, SystemIO, 0x0400, 0x04) Field(IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8, } OperationRegion(NVST, SystemMemory, 0xBBABEED4, 0x000000E1) Field(NVST, AnyAcc, Lock, Preserve) { SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, CRTT, 8, , 8, DTS1, 8, DTS2, 8, DTSF, 8, BNUM, 8, APIC, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, BDSP, 8, PTY1, 8, PTY2, 8, PSCL, 8, TVF1, 8, TVF2, 8, GETM, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, EMAE, 8, EMAP, 16, EMAL, 16, MEFE, 8, DSTS, 8, TPMP, 8, TPME, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, LCDA, 16, BVAL, 32, DI00, 320, TPAD, 8, KBTP, 8, KSV0, 32, KSV1, 8, CRTD, 8, FTAT, 8, PMID, 8, } Scope(_PR) { Processor(CPU0,0x01,0x00000410,0x06) {} Processor(CPU1,0x02,0x00000410,0x06) {} Processor(CPU2,0x03,0x00000410,0x06) {} Processor(CPU3,0x04,0x00000410,0x06) {} } OperationRegion(PRT0, SystemIO, 0x80, 0x04) Field(PRT0, DWordAcc, Lock, Preserve) { P80H, 32, } Method(P8XH, 2, Serialized) { If(LEqual(Arg0, Zero)) { Store(Or(And(P80D, 0xFFFFFF00), Arg1), P80D) } If(LEqual(Arg0, One)) { Store(Or(And(P80D, 0xFFFF00FF), ShiftLeft(Arg1, 0x08)), P80D) } If(LEqual(Arg0, 0x02)) { Store(Or(And(P80D, 0xFF00FFFF), ShiftLeft(Arg1, 0x10)), P80D) } If(LEqual(Arg0, 0x03)) { Store(Or(And(P80D, 0x00FFFFFF), ShiftLeft(Arg1, 0x18)), P80D) } Store(P80D, P80H) } Method(TRAP, 2, Serialized) { Store(Arg1, SMIF) If(LEqual(Arg0, TRTP)) { Store(Zero, TRP0) } If(LEqual(Arg0, TRTD)) { Store(Arg1, DTSF) Store(Zero, TRPD) Return(DTSF) } If(LEqual(Arg0, TRTI)) { Store(Zero, TRPH) } Return(SMIF) } OperationRegion(CMS1, SystemIO, 0x72, 0x02) Field(CMS1, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8, } Method(CMSW, 2, NotSerialized) { Store(Arg0, CMSI) Store(Arg1, CMSD) } Mutex(PSMX, 0) Method(IHWM, 2, NotSerialized) { Acquire(PSMX, 0xFFFF) Store(Arg0, PRM0) Store(Arg1, DI00) Store(0xC1, APMC) Store(DI00, Local0) Release(PSMX) Return(Local0) } Method(_PTS, 1, NotSerialized) { Store(0x55, P80H) If(LEqual(Arg0, 0x03)) { Store(0x53, P80H) } If(LEqual(Arg0, 0x04)) { Store(0x54, P80H) OSMI(0x82) \_SB.PCI0.OVGA.GLID(0x03) CMSW(0x3F, 0x3F) } Return(Zero) } Method(_WAK, 1, NotSerialized) { If(LEqual(RP1D, Zero)) { If(LEqual(\_SB.PCI0.EXP1.PDSX, One)) { Notify(\_SB.PCI0.EXP1, Zero) } } If(LEqual(RP2D, Zero)) { If(LEqual(\_SB.PCI0.EXP2.PDSX, One)) { Notify(\_SB.PCI0.EXP2, Zero) } } If(LEqual(RP3D, Zero)) { If(LEqual(\_SB.PCI0.EXP3.PDSX, One)) { Notify(\_SB.PCI0.EXP3, Zero) } } If(LEqual(RP4D, Zero)) { If(LEqual(\_SB.PCI0.EXP4.PDSX, One)) { Notify(\_SB.PCI0.EXP4, Zero) } } If(LEqual(RP5D, Zero)) { If(LEqual(\_SB.PCI0.EXP5.PDSX, One)) { Notify(\_SB.PCI0.EXP5, Zero) } } If(LEqual(Arg0, 0x03)) { Store(0xE3, P80H) If(LAnd(DTSE, CMPE)) { Store(0x14, DTSF) Store(Zero, TRPD) } OSMI(0x81) Notify(\_SB.PCI0.EXP5, Zero) Notify(\_SB.PCI0.EXP1, One) Store(0x52, APMC) Notify(\_SB.PCI0.LPC.PWRB, 0x02) } If(LEqual(Arg0, 0x04)) { Store(0xE4, P80H) OSMI(0x83) If(LAnd(DTSE, CMPE)) { Store(0x14, DTSF) Store(Zero, TRPD) } Notify(\_SB.PCI0.LPC.PWRB, 0x02) } Return(Zero) } If(LEqual(DAS3, One)) { Name(_S3, Package(4) {0x05, 0x05, Zero, Zero}) } Name(_S4, Package(4) {0x06, 0x06, Zero, Zero}) Name(_S5, Package(4) {0x07, 0x07, Zero, Zero}) Name(MXM2, Buffer(0x2B) { 0x4D, 0x58, 0x4D, 0x5F, 0x02, 0x00, 0x23, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xF9, 0x3E, 0x30, 0x12, 0xB8, 0xFF, 0xF9, 0x3E, 0x20, 0x21, 0x8A, 0xF0, 0xF9, 0x5E, 0x03, 0x64, 0x90, 0x01, 0x13, 0x64, 0x90, 0x01, 0xE5, 0x0D, 0x11, 0x02, 0x00, 0x00, 0x00, 0x00, 0x13 }) Scope(_GPE) { Method(_L01, 0, NotSerialized) { If(LNotEqual(\_SB.PCI0.EXP1.VDID, 0xFFFF)) { If(\_SB.PCI0.EXP1.HPSX) { Sleep(0x05DC) If(\_SB.PCI0.EXP1.PDCX) { Store(One, \_SB.PCI0.EXP1.PDCX) } Store(One, \_SB.PCI0.EXP1.HPSX) } } If(LNotEqual(\_SB.PCI0.EXP2.VDID, 0xFFFF)) { If(\_SB.PCI0.EXP2.HPSX) { If(\_SB.PCI0.EXP2.PDCX) { Store(One, \_SB.PCI0.EXP2.PDCX) } Store(One, \_SB.PCI0.EXP2.HPSX) } } If(LNotEqual(\_SB.PCI0.EXP3.VDID, 0xFFFF)) { If(\_SB.PCI0.EXP3.HPSX) { If(\_SB.PCI0.EXP3.PDCX) { Store(One, \_SB.PCI0.EXP3.PDCX) } Store(One, \_SB.PCI0.EXP3.HPSX) } } If(LNotEqual(\_SB.PCI0.EXP4.VDID, 0xFFFF)) { If(\_SB.PCI0.EXP4.HPSX) { If(\_SB.PCI0.EXP4.PDCX) { Store(One, \_SB.PCI0.EXP4.PDCX) } Store(One, \_SB.PCI0.EXP4.HPSX) } } Sleep(0x64) If(LNotEqual(\_SB.PCI0.EXP1.VDID, 0xFFFF)) { Notify(\_SB.PCI0.EXP1, Zero) } If(LNotEqual(\_SB.PCI0.EXP2.VDID, 0xFFFF)) { Notify(\_SB.PCI0.EXP2, Zero) } If(LNotEqual(\_SB.PCI0.EXP3.VDID, 0xFFFF)) { Notify(\_SB.PCI0.EXP3, Zero) } If(LNotEqual(\_SB.PCI0.EXP4.VDID, 0xFFFF)) { Notify(\_SB.PCI0.EXP4, Zero) } If(LAnd(LEqual(RP5D, Zero), \_SB.PCI0.EXP5.HPSX)) { Store(0x70, P80H) Sleep(0x64) If(\_SB.PCI0.EXP5.PDCX) { Store(One, \_SB.PCI0.EXP5.PDCX) Store(One, \_SB.PCI0.EXP5.HPSX) If(\_SB.PCI0.EXP5.PDSX) { Store(0x71, P80H) Sleep(0x64) Store(0x0A, Local2) While(LGreater(Local2, Zero)) { Store(0x72, P80H) Sleep(0x64) And(\_SB.PCI0.EXP5.J380.DVID, 0xFFF0FFFF, Local1) If(LEqual(Local1, 0x2380197B)) { Store(0x88, \_SB.PCI0.EXP5.J380.LAT0) Store(0x80, \_SB.PCI0.EXP5.J380.PMC0) Store(0x73, P80H) Sleep(0x64) OSMI(0x5A) Store(Zero, Local2) } Else { Store(0x74, P80H) Sleep(0x64) Decrement(Local2) Store(0x75, P80H) Sleep(0x64) } } } Else { Sleep(0x64) } Notify(\_SB.PCI0.EXP5, Zero) } Else { Store(One, \_SB.PCI0.EXP5.HPSX) } } Store(0x78, P80H) } Method(_L02, 0, NotSerialized) { Store(Zero, GPEC) Notify(\_TZ.TZ01, 0x80) } Method(_L06, 0, NotSerialized) { If(\_SB.PCI0.OVGA.GSSE) { \_SB.PCI0.OVGA.GSCI() } Else { Store(One, SCIS) } } Method(_L09, 0, NotSerialized) { Notify(\_SB.PCI0.EXP1, 0x02) Notify(\_SB.PCI0.EXP1.PXS1, 0x02) Notify(\_SB.PCI0.EXP2, 0x02) Notify(\_SB.PCI0.EXP3, 0x02) Notify(\_SB.PCI0.EXP4, 0x02) Notify(\_SB.PCI0.EXP5, 0x02) Notify(\_SB.PCI0.EXP6, 0x02) } Method(_L0B, 0, NotSerialized) { Notify(\_SB.PCI0.P32, 0x02) } Method(_L03, 0, NotSerialized) { Notify(\_SB.PCI0.UHC0, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L04, 0, NotSerialized) { Notify(\_SB.PCI0.UHC1, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L0C, 0, NotSerialized) { Notify(\_SB.PCI0.UHC2, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L20, 0, NotSerialized) { Notify(\_SB.PCI0.UHCR, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L0D, 0, NotSerialized) { Notify(\_SB.PCI0.EHC1, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L17, 0, NotSerialized) { Notify(\_SB.PCI0.EXP5, Zero) } Method(_L1B, 0, NotSerialized) { Not(LPDL, LPDL) Store(\_SB.PCI0.LPC.EC0.LIDO, Local0) Not(Local0, Local0) Add(Local0, 0x02) \_SB.PCI0.OVGA.GLID(Local0) Notify(\_SB.PCI0.LPC.LID0, 0x80) } Method(_L1D, 0, NotSerialized) { Not(NEWD, NEWD) Store(\_SB.PCI0.EXP1.LPWR, Local2) Not(Local2, Local2) Store(Local2, \_SB.PCI0.EXP1.LPWR) Sleep(0x01F4) Notify(\_SB.PCI0.EXP1, Zero) } Method(_L0E, 0, NotSerialized) { Notify(\_SB.PCI0.UHC3, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } Method(_L05, 0, NotSerialized) { Notify(\_SB.PCI0.UHC4, 0x02) Notify(\_SB.PCI0.LPC.SLPB, 0x80) } } Method(_PIC, 1, NotSerialized) { Store(Arg0, GPIC) } Scope(_TZ) { ThermalZone(TZ01) { Method(_CRT, 0, Serialized) { Return(0x0EF8) } Method(_TMP, 0, Serialized) { If(ECON) { If(DTSE) { Store(DTS2, Local1) If(LGreaterEqual(DTS1, DTS2)) { Store(DTS1, Local1) } If(LLess(Local1, 0x6E)) { Store(Local1, \_SB.PCI0.LPC.EC0.SKTA) } } Store(\_SB.PCI0.LPC.EC0.CTMP, Local1) Return(Add(0x0AAC, Multiply(Local1, 0x0A))) } Return(0x0BB8) } } } Method(GETP, 1, Serialized) { If(LEqual(And(Arg0, 0x09), Zero)) { Return(Ones) } If(LEqual(And(Arg0, 0x09), 0x08)) { Return(0x0384) } ShiftRight(And(Arg0, 0x0300), 0x08, Local0) ShiftRight(And(Arg0, 0x3000), 0x0C, Local1) Return(Multiply(0x1E, Subtract(0x09, Add(Local0, Local1)))) } Method(GDMA, 5, Serialized) { If(Arg0) { If(Arg1) { Return(0x14) } If(Arg2) { Return(Multiply(Subtract(0x04, Arg3), 0x0F)) } Return(Multiply(Subtract(0x04, Arg3), 0x1E)) } Return(Ones) } Method(GETT, 1, Serialized) { Return(Multiply(0x1E, Subtract(0x09, Add(And(ShiftRight(Arg0, 0x02), 0x03), And(Arg0, 0x03))))) } Method(GETF, 3, Serialized) { Name(TMPF, Zero) If(Arg0) { Or(TMPF, One, TMPF) } If(And(Arg2, 0x02)) { Or(TMPF, 0x02, TMPF) } If(Arg1) { Or(TMPF, 0x04, TMPF) } If(And(Arg2, 0x20)) { Or(TMPF, 0x08, TMPF) } If(And(Arg2, 0x4000)) { Or(TMPF, 0x10, TMPF) } Return(TMPF) } Method(SETP, 3, Serialized) { If(LGreater(Arg0, 0xF0)) { Return(0x08) } Else { If(And(Arg1, 0x02)) { If(LAnd(LLessEqual(Arg0, 0x78), And(Arg2, 0x02))) { Return(0x2301) } If(LAnd(LLessEqual(Arg0, 0xB4), And(Arg2, One))) { Return(0x2101) } } Return(0x1001) } } Method(SDMA, 1, Serialized) { If(LLessEqual(Arg0, 0x14)) { Return(One) } If(LLessEqual(Arg0, 0x1E)) { Return(0x02) } If(LLessEqual(Arg0, 0x2D)) { Return(One) } If(LLessEqual(Arg0, 0x3C)) { Return(0x02) } If(LLessEqual(Arg0, 0x5A)) { Return(One) } Return(Zero) } Method(SETT, 3, Serialized) { If(And(Arg1, 0x02)) { If(LAnd(LLessEqual(Arg0, 0x78), And(Arg2, 0x02))) { Return(0x0B) } If(LAnd(LLessEqual(Arg0, 0xB4), And(Arg2, One))) { Return(0x09) } } Return(0x04) } Scope(_SB) { Device(PCI0) { Name(_HID, EISAID("PNP0A08")) Name(_CID, EISAID("PNP0A03")) Name(_ADR, Zero) Device(WMI1) { Name(_HID, "pnp0c14") Name(_UID, "MXM2") Name(_WDG, Buffer(0x3C) { 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E, 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, 0x4D, 0x58, 0x01, 0x02, 0x57, 0x93, 0x8A, 0xF2, 0x4B, 0xCF, 0x1A, 0x4A, 0x88, 0x93, 0xBB, 0x1F, 0x58, 0xEE, 0xA1, 0xAF, 0xD1, 0x00, 0x01, 0x08, 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x58, 0x4D, 0x01, 0x00 }) Method(WMMX, 3, NotSerialized) { If(LGreaterEqual(SizeOf(Arg2), 0x04)) { CreateDWordField(Arg2, Zero, FUNC) CreateDWordField(Arg2, 0x04, ARGS) If(LEqual(FUNC, 0x494D584D)) { Return(^^PEGP.VGA.MXMI(ARGS)) } Else { If(LEqual(FUNC, 0x534D584D)) { Return(^^PEGP.VGA.MXMS(ARGS)) } Else { If(LEqual(FUNC, 0x584D584D)) { If(LGreaterEqual(SizeOf(Arg1), 0x08)) { Return(One) } } } } } Return(Zero) } Name(WQBA, Buffer(0x029C) { 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x02, 0x00, 0x00, 0x0C, 0x08, 0x00, 0x00, 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 0x18, 0xD2, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42, 0x10, 0x05, 0x10, 0x8A, 0xE6, 0x80, 0x42, 0x04, 0x92, 0x43, 0xA4, 0x30, 0x30, 0x28, 0x0B, 0x20, 0x86, 0x90, 0x0B, 0x26, 0x26, 0x40, 0x04, 0x84, 0xBC, 0x0A, 0xB0, 0x29, 0xC0, 0x24, 0x88, 0xFA, 0xF7, 0x87, 0x28, 0x09, 0x0E, 0x25, 0x04, 0x42, 0x12, 0x05, 0x98, 0x17, 0xA0, 0x5B, 0x80, 0x61, 0x01, 0xB6, 0x05, 0x98, 0x16, 0xE0, 0x18, 0x92, 0x4A, 0x03, 0xA7, 0x04, 0x96, 0x02, 0x21, 0xA1, 0x02, 0x94, 0x0B, 0xF0, 0x2D, 0x40, 0x3B, 0xA2, 0x24, 0x0B, 0xB0, 0x0C, 0x23, 0x02, 0x8F, 0x82, 0xA1, 0x71, 0x68, 0xEC, 0x30, 0x2C, 0x13, 0x4C, 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, 0x60, 0xDC, 0x4E, 0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78, 0x54, 0x61, 0x34, 0x07, 0x45, 0xE0, 0x42, 0x63, 0x64, 0x40, 0xC8, 0xA3, 0x00, 0xAB, 0xA3, 0xD0, 0xA4, 0x12, 0xD8, 0xBD, 0x00, 0x8D, 0x02, 0xB4, 0x09, 0x70, 0x28, 0x40, 0xA1, 0x00, 0x6B, 0x18, 0x72, 0x06, 0x21, 0x5B, 0xD8, 0xC2, 0x68, 0x50, 0x80, 0x45, 0x14, 0x8D, 0xE0, 0x2C, 0x2A, 0x9E, 0x93, 0x50, 0x02, 0xDA, 0x1B, 0x82, 0xF0, 0x8C, 0xD9, 0x18, 0x9E, 0x10, 0x83, 0x54, 0x86, 0x21, 0x88, 0xB8, 0x11, 0x8E, 0xA5, 0xFD, 0x41, 0x10, 0xF9, 0xAB, 0xD7, 0xB8, 0x1D, 0x69, 0x34, 0xA8, 0xB1, 0x26, 0x38, 0x76, 0x8F, 0xE6, 0x84, 0x3B, 0x17, 0x20, 0x7D, 0x6E, 0x02, 0x39, 0xBA, 0xD3, 0xA8, 0x73, 0xD0, 0x64, 0x78, 0x0C, 0x2B, 0xC1, 0x7F, 0x80, 0x4F, 0x01, 0x78, 0xD7, 0x80, 0x9A, 0xFE, 0xC1, 0x33, 0x41, 0x70, 0xA8, 0x21, 0x7A, 0xD4, 0xE1, 0x4E, 0xE0, 0xBC, 0x8E, 0x84, 0x41, 0x1C, 0xD1, 0x71, 0x63, 0x67, 0x75, 0x32, 0x07, 0x5D, 0xAA, 0x00, 0xB3, 0x07, 0x00, 0x0D, 0x2E, 0xC1, 0x69, 0x9F, 0x49, 0xE8, 0xF7, 0x80, 0xF3, 0xE9, 0x79, 0x6C, 0x6C, 0x10, 0xA8, 0x91, 0xF9, 0xFF, 0x0F, 0xED, 0x41, 0x9E, 0x56, 0xCC, 0x90, 0xCF, 0x02, 0x87, 0xC5, 0xC4, 0x1E, 0x19, 0xE8, 0x78, 0xC0, 0x7F, 0x00, 0x78, 0x34, 0x88, 0xF0, 0x66, 0xE0, 0xF9, 0x9A, 0x60, 0x50, 0x08, 0x39, 0x19, 0x0F, 0x4A, 0xCC, 0xF9, 0x80, 0xCC, 0x25, 0xC4, 0x43, 0xC0, 0x31, 0xC4, 0x08, 0x7A, 0x46, 0x45, 0x23, 0x6B, 0x22, 0x3E, 0x03, 0x78, 0xDC, 0x96, 0x05, 0x42, 0x09, 0x0C, 0xEC, 0x73, 0xC3, 0x3B, 0x84, 0x61, 0x71, 0xA3, 0x09, 0xEC, 0xF3, 0x85, 0x05, 0x0E, 0x0A, 0x05, 0xEB, 0xBB, 0x42, 0xCC, 0xE7, 0x81, 0xE3, 0x3C, 0x60, 0x0B, 0x9F, 0x28, 0x01, 0x3E, 0x24, 0x8F, 0x06, 0xDE, 0x20, 0xE1, 0x5B, 0x3F, 0x02, 0x10, 0xE0, 0x27, 0x06, 0x13, 0x58, 0x1E, 0x30, 0x7A, 0x94, 0xF6, 0x2B, 0x00, 0x21, 0xF8, 0x8B, 0xC5, 0x53, 0xC0, 0xEB, 0x40, 0x84, 0x63, 0x81, 0x29, 0x72, 0x6C, 0x68, 0x78, 0x7E, 0x70, 0x88, 0x1E, 0xF5, 0x5C, 0xC2, 0x1F, 0x4D, 0x94, 0x53, 0x38, 0x1C, 0x1F, 0x39, 0x8C, 0x10, 0xFE, 0x49, 0xE3, 0xC9, 0xC3, 0x9A, 0xEF, 0x00, 0x9A, 0xD2, 0x5B, 0xC0, 0xFB, 0x83, 0x47, 0x80, 0x11, 0x20, 0xE1, 0x68, 0x82, 0x89, 0x7C, 0x3A, 0x01, 0xD5, 0xFF, 0xFF, 0x74, 0x02, 0xB8, 0xBA, 0x01, 0x14, 0x37, 0x6A, 0x9D, 0x49, 0x7C, 0x2C, 0xF1, 0xAD, 0xE4, 0xBC, 0x43, 0xC5, 0x7F, 0x93, 0x78, 0x3A, 0xF1, 0x34, 0x1E, 0x4C, 0x42, 0x44, 0x89, 0x18, 0x21, 0xA2, 0xEF, 0x27, 0x46, 0x08, 0x15, 0x31, 0x6C, 0xA4, 0x37, 0x80, 0xE7, 0x13, 0xE3, 0x84, 0x08, 0xF4, 0x74, 0xC2, 0x42, 0x3E, 0x34, 0xA4, 0xE1, 0x74, 0x02, 0x50, 0xE0, 0xFF, 0x7F, 0x3A, 0x81, 0x1F, 0xF5, 0x74, 0x82, 0x1E, 0xAE, 0x4F, 0x19, 0x18, 0xE4, 0x03, 0xF2, 0xA9, 0xC3, 0xF7, 0x1F, 0x13, 0xF8, 0x78, 0xC2, 0x45, 0x1D, 0x4F, 0x50, 0xA7, 0x07, 0x1F, 0x4F, 0xD8, 0x19, 0xE1, 0x2C, 0x1E, 0x03, 0x7C, 0x3A, 0xC1, 0xDC, 0x13, 0x7C, 0x3A, 0x01, 0xDB, 0x68, 0x60, 0x1C, 0x4F, 0xC0, 0x77, 0x74, 0xC1, 0x1D, 0x4F, 0xC0, 0x30, 0x18, 0x18, 0xE7, 0x13, 0xE0, 0x31, 0x5E, 0xDC, 0x31, 0xC0, 0x43, 0xE0, 0x03, 0x78, 0xDC, 0x38, 0x3D, 0x2B, 0x9D, 0x14, 0xF2, 0x24, 0xC2, 0x07, 0x85, 0x39, 0xB0, 0xE0, 0x14, 0xDA, 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xCE, 0x19, 0x0E, 0xF8, 0x10, 0xD0, 0x89, 0xC0, 0xF2, 0x9E, 0x0D, 0x02, 0xB1, 0x0C, 0x0A, 0x81, 0x58, 0xFA, 0xAB, 0x45, 0x20, 0x0E, 0x0E, 0xA2, 0xFF, 0x3F, 0x88, 0x23, 0xD2, 0x0A, 0xC4, 0xFF, 0x7F, 0x7F }) } Method(_INI, 0, NotSerialized) { Store(0x12, P80H) Store(Zero, FTAT) If(CondRefOf(_OSI, Local0)) { If(_OSI("Linux")) { Store(0x03E8, OSYS) OSMI(0x72) } Else { If(_OSI("Windows 2006")) { Store(0x07D6, OSYS) } Else { Store(0x07D1, OSYS) } } } Else { Store(0x07D0, OSYS) } } Name(_BBN, Zero) OperationRegion(HBUS, PCI_Config, 0x40, 0xC0) Field(HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 7, Offset(0x1), //Offset(1), , 4, EPBR, 20, Offset(0x8), //Offset(8), MHEN, 1, , 7, Offset(0x9), //Offset(9), , 6, MHBR, 18, Offset(0x20), //Offset(32), PXEN, 1, PXSZ, 2, , 5, Offset(0x23), //Offset(35), , 2, PXBR, 6, Offset(0x28), //Offset(40), DIEN, 1, , 7, Offset(0x29), //Offset(41), , 4, DIBR, 20, Offset(0x30), //Offset(48), IPEN, 1, , 7, Offset(0x31), //Offset(49), , 4, IPBR, 20, Offset(0x50), //Offset(80), , 4, PM0H, 2, , 2, PM1L, 2, , 2, PM1H, 2, , 2, PM2L, 2, , 2, PM2H, 2, , 2, PM3L, 2, , 2, PM3H, 2, , 2, PM4L, 2, , 2, PM4H, 2, , 2, PM5L, 2, , 2, PM5H, 2, , 2, PM6L, 2, , 2, PM6H, 2, , 2, , 7, HENA, 1, Offset(0x62), //Offset(98), TUUD, 16, Offset(0x70), //Offset(112), , 4, TLUD, 12, Offset(0x89), //Offset(137), , 3, GTSE, 1, , 4, } OperationRegion(MCHT, SystemMemory, 0xFED11000, 0xFF) Field(MCHT, ByteAcc, NoLock, Preserve) { Offset(0x1E), //Offset(30), T0IS, 16, Offset(0x5E), //Offset(94), T1IS, 16, Offset(0xEF), //Offset(239), ESCS, 8, } Name(BUF0, Buffer(0x01EE) { 0x88, 0x0D, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x17, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0C, 0x00, 0x00, 0x47, 0x01, 0xF8, 0x0C, 0xF8, 0x0C, 0x01, 0x08, 0x87, 0x17, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0xFF, 0x3F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0xFF, 0x7F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 0xFF, 0xBF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0xFF, 0x3F, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0D, 0x00, 0xFF, 0x7F, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0D, 0x00, 0xFF, 0xBF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0D, 0x00, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xFF, 0x3F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0E, 0x00, 0xFF, 0x7F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0E, 0x00, 0xFF, 0xBF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0E, 0x00, 0xFF, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xBF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFE, 0xFF, 0x4F, 0xD4, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00 }) Method(_CRS, 0, Serialized) { If(PM1L) { CreateDWordField(BUF0, 0x7C, C0LN) Store(Zero, C0LN) } If(LEqual(PM1L, One)) { CreateBitField(BUF0,0x0358,C0RW) Store(Zero, C0RW) } If(PM1H) { CreateDWordField(BUF0, 0x96, C4LN) Store(Zero, C4LN) } If(LEqual(PM1H, One)) { CreateBitField(BUF0,0x0428,C4RW) Store(Zero, C4RW) } If(PM2L) { CreateDWordField(BUF0, 0xB0, C8LN) Store(Zero, C8LN) } If(LEqual(PM2L, One)) { CreateBitField(BUF0,0x04F8,C8RW) Store(Zero, C8RW) } If(PM2H) { CreateDWordField(BUF0, 0xCA, CCLN) Store(Zero, CCLN) } If(LEqual(PM2H, One)) { CreateBitField(BUF0,0x05C8,CCRW) Store(Zero, CCRW) } If(PM3L) { CreateDWordField(BUF0, 0xE4, D0LN) Store(Zero, D0LN) } If(LEqual(PM3L, One)) { CreateBitField(BUF0,0x0698,D0RW) Store(Zero, D0RW) } If(PM3H) { CreateDWordField(BUF0, 0xFE, D4LN) Store(Zero, D4LN) } If(LEqual(PM3H, One)) { CreateBitField(BUF0,0x0768,D4RW) Store(Zero, D4RW) } If(PM4L) { CreateDWordField(BUF0, 0x0118, D8LN) Store(Zero, D8LN) } If(LEqual(PM4L, One)) { CreateBitField(BUF0,0x0838,D8RW) Store(Zero, D8RW) } If(PM4H) { CreateDWordField(BUF0, 0x0132, DCLN) Store(Zero, DCLN) } If(LEqual(PM4H, One)) { CreateBitField(BUF0,0x0908,DCRW) Store(Zero, DCRW) } If(PM5L) { CreateDWordField(BUF0, 0x014C, E0LN) Store(Zero, E0LN) } If(LEqual(PM5L, One)) { CreateBitField(BUF0,0x09D8,E0RW) Store(Zero, E0RW) } If(PM5H) { CreateDWordField(BUF0, 0x0166, E4LN) Store(Zero, E4LN) } If(LEqual(PM5H, One)) { CreateBitField(BUF0,0x0AA8,E4RW) Store(Zero, E4RW) } If(PM6L) { CreateDWordField(BUF0, 0x0180, E8LN) Store(Zero, E8LN) } If(LEqual(PM6L, One)) { CreateBitField(BUF0,0x0B78,E8RW) Store(Zero, E8RW) } If(PM6H) { CreateDWordField(BUF0, 0x019A, ECLN) Store(Zero, ECLN) } If(LEqual(PM6H, One)) { CreateBitField(BUF0,0x0C48,ECRW) Store(Zero, ECRW) } If(PM0H) { CreateDWordField(BUF0, 0x01B4, F0LN) Store(Zero, F0LN) } If(LEqual(PM0H, One)) { CreateBitField(BUF0,0x0D18,F0RW) Store(Zero, F0RW) } CreateDWordField(BUF0, 0x01C2, M1MN) CreateDWordField(BUF0, 0x01C6, M1MX) CreateDWordField(BUF0, 0x01CE, M1LN) ShiftLeft(TLUD, 0x14, M1MN) Add(Subtract(M1MX, M1MN), One, M1LN) Return(BUF0) } Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(27) { Package(4) {0x0001FFFF, Zero, ^LPC.LNKA, Zero}, Package(4) {0x0001FFFF, One, ^LPC.LNKB, Zero}, Package(4) {0x0001FFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x0001FFFF, 0x03, ^LPC.LNKD, Zero}, Package(4) {0x0002FFFF, Zero, ^LPC.LNKA, Zero}, Package(4) {0x0003FFFF, Zero, ^LPC.LNKA, Zero}, Package(4) {0x0003FFFF, One, ^LPC.LNKB, Zero}, Package(4) {0x0003FFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x0003FFFF, 0x03, ^LPC.LNKD, Zero}, Package(4) {0x0019FFFF, Zero, ^LPC.LNKE, Zero}, Package(4) {0x001AFFFF, Zero, ^LPC.LNKE, Zero}, Package(4) {0x001AFFFF, One, ^LPC.LNKF, Zero}, Package(4) {0x001AFFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x001AFFFF, 0x03, ^LPC.LNKF, Zero}, Package(4) {0x001BFFFF, Zero, ^LPC.LNKG, Zero}, Package(4) {0x001CFFFF, Zero, ^LPC.LNKB, Zero}, Package(4) {0x001CFFFF, One, ^LPC.LNKA, Zero}, Package(4) {0x001CFFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x001CFFFF, 0x03, ^LPC.LNKD, Zero}, Package(4) {0x001DFFFF, Zero, ^LPC.LNKH, Zero}, Package(4) {0x001DFFFF, One, ^LPC.LNKD, Zero}, Package(4) {0x001DFFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x001DFFFF, 0x03, ^LPC.LNKE, Zero}, Package(4) {0x001FFFFF, Zero, ^LPC.LNKC, Zero}, Package(4) {0x001FFFFF, One, ^LPC.LNKD, Zero}, Package(4) {0x001FFFFF, 0x02, ^LPC.LNKC, Zero}, Package(4) {0x001FFFFF, 0x03, ^LPC.LNKA, Zero} }) } Else { Return(Package(27) { Package(4) {0x0001FFFF, Zero, Zero, 0x10}, Package(4) {0x0001FFFF, One, Zero, 0x11}, Package(4) {0x0001FFFF, 0x02, Zero, 0x12}, Package(4) {0x0001FFFF, 0x03, Zero, 0x13}, Package(4) {0x0002FFFF, Zero, Zero, 0x10}, Package(4) {0x0003FFFF, Zero, Zero, 0x10}, Package(4) {0x0003FFFF, One, Zero, 0x11}, Package(4) {0x0003FFFF, 0x02, Zero, 0x12}, Package(4) {0x0003FFFF, 0x03, Zero, 0x13}, Package(4) {0x0019FFFF, Zero, Zero, 0x14}, Package(4) {0x001AFFFF, Zero, Zero, 0x14}, Package(4) {0x001AFFFF, One, Zero, 0x15}, Package(4) {0x001AFFFF, 0x02, Zero, 0x12}, Package(4) {0x001AFFFF, 0x03, Zero, 0x15}, Package(4) {0x001BFFFF, Zero, Zero, 0x16}, Package(4) {0x001CFFFF, Zero, Zero, 0x11}, Package(4) {0x001CFFFF, One, Zero, 0x10}, Package(4) {0x001CFFFF, 0x02, Zero, 0x12}, Package(4) {0x001CFFFF, 0x03, Zero, 0x13}, Package(4) {0x001DFFFF, Zero, Zero, 0x17}, Package(4) {0x001DFFFF, One, Zero, 0x13}, Package(4) {0x001DFFFF, 0x02, Zero, 0x12}, Package(4) {0x001DFFFF, 0x03, Zero, 0x14}, Package(4) {0x001FFFFF, Zero, Zero, 0x12}, Package(4) {0x001FFFFF, One, Zero, 0x13}, Package(4) {0x001FFFFF, 0x02, Zero, 0x12}, Package(4) {0x001FFFFF, 0x03, Zero, 0x10} }) } } Device(PEGP) { Name(_ADR, 0x00010000) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(2) { Package(4) {0xFFFF, Zero, ^^LPC.LNKA, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKB, Zero} }) } Else { Return(Package(2) { Package(4) {0xFFFF, Zero, Zero, 0x10}, Package(4) {0xFFFF, One, Zero, 0x11} }) } } Device(VGA) { Name(_ADR, Zero) Name(SWIT, One) Name(CRTA, One) Name(LCDA, One) Name(TVAA, One) Name(DVIA, One) Name(VLDF, One) OperationRegion(VIDS, PCI_Config, Zero, 0xC8) Field(VIDS, DWordAcc, NoLock, Preserve) { VDID, 32, } Method(_STA, 0, NotSerialized) { Return(0x0F) } Name(_PSC, Zero) Method(_PS0, 0, NotSerialized) { Store(Zero, _PSC) } Method(_PS1, 0, NotSerialized) { Store(One, _PSC) } Method(_PS3, 0, NotSerialized) { Store(0x03, _PSC) } Method(_DOS, 1, NotSerialized) { Store(And(Arg0, 0x07), DSEN) } Method(_DOD, 0, NotSerialized) { Return(Package(3) {0x0110, 0x80000100, 0x80007330}) } Device(CRT) { Method(_ADR, 0, NotSerialized) { Return(0x80000100) } Method(_DCS, 0, NotSerialized) { Return(0x1F) } Method(_DGS, 0, NotSerialized) { And(SWIT, 0x02, Local0) If(Local0) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1, NotSerialized) { } Method(MXMX, 1, NotSerialized) { Return(One) } } Device(LCD) { Method(_ADR, 0, NotSerialized) { Return(0x0110) } Method(_DCS, 0, NotSerialized) { Return(0x1F) } Method(_DGS, 0, NotSerialized) { And(SWIT, One, Local0) If(Local0) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1, NotSerialized) { } Method(MXMX, 1, NotSerialized) { Return(One) } Method(_BCL, 0, NotSerialized) { Return(Package(12) { 0x46, 0x28, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method(_BCM, 1, NotSerialized) { Divide(Arg0, 0x0A, Local0, Local1) Decrement(Local1) Store(Local1, ^^^^LPC.EC0.BRTS) } Method(_BQC, 0, NotSerialized) { Store(^^^^LPC.EC0.BRTS, Local0) Add(Local0, One, Local0) Multiply(Local0, 0x0A, Local0) Store(Local0, P80H) Sleep(0x64) Return(Local0) } } Device(HDV0) { Name(_ADR, 0x80007330) Method(_DGS, 0, NotSerialized) { And(SWIT, 0x08, Local0) If(Local0) { Return(One) } Else { Return(Zero) } } Method(_DCS, 0, NotSerialized) { Return(0x1F) } Method(_DSS, 1, NotSerialized) { } Method(MXMX, 1, NotSerialized) { Return(One) } } Device(TV) { Method(_ADR, 0, NotSerialized) { Return(0x0200) } Method(_DCS, 0, NotSerialized) { OSMI(0x90) Store(CADL, Local0) Store(CSTE, Local1) And(Local0, 0x04, Local0) And(Local1, 0x04, Local1) If(Local0) { Store(One, TVAA) } Else { Store(Zero, TVAA) } If(TVAA) { If(LEqual(Local1, 0x04)) { Return(0x1F) } Else { Return(0x1D) } } Else { If(LEqual(Local1, 0x04)) { Return(0x0F) } Else { Return(0x0D) } } } Method(_DGS, 0, NotSerialized) { If(TVAA) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1, NotSerialized) { } } Device(DVI) { Method(_ADR, 0, NotSerialized) { Return(0x0120) } Method(_DCS, 0, NotSerialized) { OSMI(0x90) Store(CADL, Local0) Store(CSTE, Local1) And(Local0, 0x08, Local0) And(Local1, 0x08, Local1) If(Local0) { Store(One, DVIA) } Else { Store(Zero, DVIA) } If(DVIA) { If(LEqual(Local1, 0x08)) { Return(0x1F) } Else { Return(0x1D) } } Else { If(LEqual(Local1, 0x08)) { Return(0x0F) } Else { Return(0x0D) } } } Method(_DGS, 0, NotSerialized) { If(DVIA) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1, NotSerialized) { } } Method(DSSW, 0, NotSerialized) { If(LEqual(SWIT, Zero)) { OSMI(0x90) Store(CADL, Local0) Store(CSTE, Local1) If(LGreater(Local1, One)) { And(Local0, Local1, VLDF) And(VLDF, 0xFE, VLDF) } If(VLDF) { If(LEqual(Local0, 0x09)) { If(LEqual(Local1, 0x08)) { STBL(0x03) } If(LEqual(Local1, One)) { STBL(One) } If(LEqual(Local1, 0x09)) { STBL(0x02) } } If(LEqual(Local0, 0x0A)) { If(LEqual(Local1, 0x08)) { STBL(0x05) } If(LEqual(Local1, 0x02)) { STBL(One) } If(LEqual(Local1, 0x0A)) { STBL(0x04) } } If(LEqual(Local0, 0x0B)) { If(LEqual(Local1, 0x08)) { STBL(0x03) } If(LEqual(Local1, 0x09)) { STBL(0x02) } If(LEqual(Local1, One)) { STBL(0x05) } If(LEqual(Local1, 0x0A)) { STBL(0x04) } If(LEqual(Local1, 0x02)) { STBL(One) } If(LEqual(Local1, 0x0B)) { STBL(One) } } If(LEqual(Local0, 0x0C)) { If(LEqual(Local1, 0x08)) { STBL(0x09) } If(LEqual(Local1, 0x0C)) { STBL(0x08) } If(LEqual(Local1, 0x04)) { STBL(One) } } If(LEqual(Local0, 0x0D)) { If(LEqual(Local1, 0x08)) { STBL(0x03) } If(LEqual(Local1, 0x09)) { STBL(0x02) } If(LEqual(Local1, One)) { STBL(0x09) } If(LEqual(Local1, 0x0C)) { STBL(0x08) } If(LEqual(Local1, 0x04)) { STBL(One) } } If(LOr(LEqual(Local0, 0x0E), LEqual(Local0, 0x0F))) { If(LEqual(Local1, 0x08)) { STBL(0x09) } If(LEqual(Local1, 0x0C)) { STBL(0x08) } If(LEqual(Local1, 0x04)) { STBL(0x05) } If(LEqual(Local1, 0x0A)) { STBL(0x04) } If(LEqual(Local1, 0x02)) { STBL(One) } } } Else { Store(One, VLDF) STBL(One) } } Else { If(LEqual(SWIT, One)) {} } } Method(STBL, 1, NotSerialized) { If(LEqual(Arg0, One)) { Store(Zero, CRTA) Store(One, LCDA) Store(Zero, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x02)) { Store(One, CRTA) Store(Zero, LCDA) Store(Zero, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x03)) { Store(One, CRTA) Store(One, LCDA) Store(Zero, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x04)) { Store(Zero, CRTA) Store(Zero, LCDA) Store(One, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x05)) { Store(Zero, CRTA) Store(One, LCDA) Store(One, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x06)) { Store(One, CRTA) Store(Zero, LCDA) Store(One, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x07)) { Store(One, CRTA) Store(One, LCDA) Store(One, TVAA) Store(Zero, DVIA) } If(LEqual(Arg0, 0x08)) { Store(Zero, CRTA) Store(Zero, LCDA) Store(Zero, TVAA) Store(One, DVIA) } If(LEqual(Arg0, 0x09)) { Store(Zero, CRTA) Store(One, LCDA) Store(Zero, TVAA) Store(One, DVIA) } Notify(VGA, 0x80) } Name(DPFL, Zero) Name(DLIS, Buffer(0x0C) { 0x00, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x21, 0x01, 0x00, 0x00 }) Name(DLCD, Zero) Name(DCRT, Zero) Name(DHDM, Zero) Name(DSS0, Zero) Name(DCS0, Zero) Name(DGS0, Zero) Name(TIDX, Zero) Name(ADIS, Zero) Name(SEQ0, Buffer(0x06) { 0x01, 0x02, 0x04, 0x05, 0x03, 0x01 }) Name(SEQ1, Buffer(0x06) { 0x01, 0x02, 0x03, 0x01, 0x01, 0x01 }) Name(SEQ2, Buffer(0x06) { 0x01, 0x04, 0x00, 0x00, 0x05, 0x01 }) Name(DDDS, Buffer(0x14){}) CreateDWordField(DDDS, Zero, D0ST) CreateDWordField(DDDS, 0x04, D1ST) CreateDWordField(DDDS, 0x08, D2ST) CreateDWordField(DDDS, 0x0C, D3ST) CreateDWordField(DDDS, 0x10, D4ST) CreateWordField(DDDS, Zero, D0ID) CreateBitField(DDDS,0x12,D0EN) CreateBitField(DDDS,0x14,D0CN) CreateWordField(DDDS, 0x04, D1ID) CreateBitField(DDDS,0x32,D1EN) CreateBitField(DDDS,0x34,D1CN) CreateWordField(DDDS, 0x08, D2ID) CreateBitField(DDDS,0x52,D2EN) CreateBitField(DDDS,0x54,D2CN) CreateWordField(DDDS, 0x0C, D3ID) CreateBitField(DDDS,0x72,D3EN) CreateBitField(DDDS,0x74,D3CN) CreateWordField(DDDS, 0x10, D4ID) CreateBitField(DDDS,0x92,D4EN) CreateBitField(DDDS,0x94,D4CN) Method(DDEV, 1, NotSerialized) { And(Arg0, 0xFFFF, Local0) If(LEqual(Local0, D0ID)) { Return(D0EN) } Else { If(LEqual(Local0, D1ID)) { Return(D1EN) } Else { If(LEqual(Local0, D2ID)) { Return(D2EN) } Else { If(LEqual(Local0, D3ID)) { Return(D3EN) } Else { If(LEqual(Local0, D4ID)) { Return(D4EN) } Else { Return(Zero) } } } } } } Method(DDCN, 1, NotSerialized) { And(Arg0, 0xFFFF, Local0) If(LEqual(Local0, D0ID)) { Return(D0CN) } Else { If(LEqual(Local0, D1ID)) { Return(D1CN) } Else { If(LEqual(Local0, D2ID)) { Return(D2CN) } Else { If(LEqual(Local0, D3ID)) { Return(D3CN) } Else { If(LEqual(Local0, D4ID)) { Return(D4CN) } Else { Return(Zero) } } } } } } Method(GNAD, 1, NotSerialized) { If(LEqual(Arg0, One)) { Return(0x02) } If(LEqual(Arg0, 0x02)) { Return(0x08) } If(LEqual(Arg0, 0x08)) { Return(0x03) } If(LEqual(Arg0, 0x03)) { Return(0x09) } If(LEqual(Arg0, 0x09)) { Return(0x0A) } If(LEqual(Arg0, 0x0A)) { Return(One) } Return(One) } Method(DGSM, 0, NotSerialized) { Store(Zero, Local0) If(DDCN(0x0110)) { Or(Local0, One, Local0) } If(DDCN(0x80000100)) { Or(Local0, 0x02, Local0) } If(DDCN(0x80000220)) { Or(Local0, 0x04, Local0) } If(LGreaterEqual(OSYS, 0x07D6)) { If(DDCN(0x80007330)) { Or(Local0, 0x08, Local0) } } Else { If(DDCN(0x0111)) { Or(Local0, 0x08, Local0) Store(0x02, DPFL) } } Store(Zero, Local1) If(DDEV(0x0110)) { Or(Local1, One, Local1) } If(DDEV(0x80000100)) { Or(Local1, 0x02, Local1) } If(DDEV(0x80000220)) { Or(Local1, 0x04, Local1) } If(LGreaterEqual(OSYS, 0x07D6)) { If(DDEV(0x80007330)) { Or(Local1, 0x08, Local1) } } Else { If(DDEV(0x0111)) { Or(Local1, 0x08, Local1) } } Store(0x07, Local3) While(Local3) { Store(GNAD(Local1), Local1) And(Local0, Local1, Local2) If(LEqual(Local1, Local2)) { Store(Local1, SWIT) Break } Decrement(Local3) } } Name(ERR0, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) Name(ERR1, Buffer(0x04) { 0x01, 0x00, 0x00, 0x80 }) Name(ERR2, Buffer(0x04) { 0x02, 0x00, 0x00, 0x80 }) Name(VER1, Buffer(0x04) { 0x01, 0x00, 0x00, 0x00 }) Method(NVIF, 3, NotSerialized) { Store(ERR1, Local0) If(LEqual(Arg0, One)) { Concatenate(ERR0, VER1, Local0) } Else { If(LEqual(Arg0, 0x0B)) { If(LEqual(Arg1, Zero)) { Store(ERR0, Local0) } Else { If(LEqual(Arg1, 0x03)) { Store(Arg2, DDDS) DGSM() Notify(VGA, 0x80) Store(ERR0, Local0) } } } } Return(Local0) } Method(MXMI, 1, NotSerialized) { Return(0x20) } Method(MXMS, 1, NotSerialized) { Return(MXM2) } } } Device(OVGA) { Name(_ADR, 0x00020000) Method(_DOS, 1, NotSerialized) { Store(And(Arg0, 0x07), DSEN) } Method(_DOD, 0, NotSerialized) { Store(Zero, NDID) If(LNotEqual(DIDL, Zero)) { Store(SDDL(DID1), DID1) } If(LNotEqual(DDL2, Zero)) { Store(SDDL(DID2), DID2) } If(LNotEqual(DDL3, Zero)) { Store(SDDL(DID3), DID3) } If(LNotEqual(DDL4, Zero)) { Store(SDDL(DID4), DID4) } If(LNotEqual(DDL5, Zero)) { Store(SDDL(DID5), DID5) } If(LEqual(NDID, One)) { Name(TMP1, Package(1) {Ones}) Store(Or(0x00010000, DID1), Index(TMP1, Zero)) Return(TMP1) } If(LEqual(NDID, 0x02)) { Name(TMP2, Package(2) {Ones, Ones}) Store(Or(0x00010000, DID1), Index(TMP2, Zero)) Store(Or(0x00010000, DID2), Index(TMP2, One)) Return(TMP2) } If(LEqual(NDID, 0x03)) { Name(TMP3, Package(3) {Ones, Ones, Ones}) Store(Or(0x00010000, DID1), Index(TMP3, Zero)) Store(Or(0x00010000, DID2), Index(TMP3, One)) Store(Or(0x00010000, DID3), Index(TMP3, 0x02)) Return(TMP3) } If(LEqual(NDID, 0x04)) { Name(TMP4, Package(4) {Ones, Ones, Ones, Ones}) Store(Or(0x00010000, DID1), Index(TMP4, Zero)) Store(Or(0x00010000, DID2), Index(TMP4, One)) Store(Or(0x00010000, DID3), Index(TMP4, 0x02)) Store(Or(0x00010000, DID4), Index(TMP4, 0x03)) Return(TMP4) } If(LGreater(NDID, 0x04)) { Name(TMP5, Package(5) {Ones, Ones, Ones, Ones, Ones}) Store(Or(0x00010000, DID1), Index(TMP5, Zero)) Store(Or(0x00010000, DID2), Index(TMP5, One)) Store(Or(0x00010000, DID3), Index(TMP5, 0x02)) Store(Or(0x00010000, DID4), Index(TMP5, 0x03)) Store(Or(0x00010000, DID5), Index(TMP5, 0x04)) Return(TMP5) } Return(Package(1) {0x0400}) } Device(DD01) { Method(_ADR, 0, Serialized) { If(LEqual(DID1, Zero)) { Return(One) } Else { Return(And(0xFFFF, DID1)) } } Method(_DCS, 0, NotSerialized) { Return(CDDS(DID1)) } Method(_DGS, 0, NotSerialized) { Return(NDDS(DID1)) } Method(_DSS, 1, NotSerialized) { If(LEqual(And(Arg0, 0xC0000000), 0xC0000000)) { Store(NSTE, CSTE) } } } Device(DD02) { Method(_ADR, 0, Serialized) { If(LEqual(DID2, Zero)) { Return(0x02) } Else { Return(And(0xFFFF, DID2)) } } Method(_DCS, 0, NotSerialized) { Return(CDDS(DID2)) } Method(_DGS, 0, NotSerialized) { Return(NDDS(DID2)) } Method(_DSS, 1, NotSerialized) { If(LEqual(And(Arg0, 0xC0000000), 0xC0000000)) { Store(NSTE, CSTE) } } } Device(DD03) { Method(_ADR, 0, Serialized) { If(LEqual(DID3, Zero)) { Return(0x03) } Else { Return(And(0xFFFF, DID3)) } } Method(_DCS, 0, NotSerialized) { If(LEqual(DID3, Zero)) { Return(0x0B) } Else { Return(CDDS(DID3)) } } Method(_DGS, 0, NotSerialized) { Return(NDDS(DID3)) } Method(_DSS, 1, NotSerialized) { If(LEqual(And(Arg0, 0xC0000000), 0xC0000000)) { Store(NSTE, CSTE) } } Method(_BCL, 0, NotSerialized) { Return(Package(12) { 0x46, 0x28, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method(_BCM, 1, NotSerialized) { Divide(Arg0, 0x0A, Local0, Local1) Decrement(Local1) Store(Local1, ^^^LPC.EC0.BRTS) } Method(_BQC, 0, NotSerialized) { Store(^^^LPC.EC0.BRTS, Local0) Add(Local0, One, Local0) Multiply(Local0, 0x0A, Local0) Store(Local0, P80H) Sleep(0x64) Return(Local0) } } Device(DD04) { Method(_ADR, 0, Serialized) { If(LEqual(DID4, Zero)) { Return(0x04) } Else { Return(And(0xFFFF, DID4)) } } Method(_DCS, 0, NotSerialized) { If(LEqual(DID4, Zero)) { Return(0x0B) } Else { Return(CDDS(DID4)) } } Method(_DGS, 0, NotSerialized) { Return(NDDS(DID4)) } Method(_DSS, 1, NotSerialized) { If(LEqual(And(Arg0, 0xC0000000), 0xC0000000)) { Store(NSTE, CSTE) } } } Device(DD05) { Method(_ADR, 0, Serialized) { If(LEqual(DID5, Zero)) { Return(0x05) } Else { Return(And(0xFFFF, DID5)) } } Method(_DCS, 0, NotSerialized) { If(LEqual(DID5, Zero)) { Return(0x0B) } Else { Return(CDDS(DID5)) } } Method(_DGS, 0, NotSerialized) { Return(NDDS(DID5)) } Method(_DSS, 1, NotSerialized) { If(LEqual(And(Arg0, 0xC0000000), 0xC0000000)) { Store(NSTE, CSTE) } } } Method(SDDL, 1, NotSerialized) { Increment(NDID) Store(And(Arg0, 0x0F0F), Local0) Or(0x80000000, Local0, Local1) If(LEqual(DIDL, Local0)) { Return(Local1) } If(LEqual(DDL2, Local0)) { Return(Local1) } If(LEqual(DDL3, Local0)) { Return(Local1) } If(LEqual(DDL4, Local0)) { Return(Local1) } If(LEqual(DDL5, Local0)) { Return(Local1) } If(LEqual(DDL6, Local0)) { Return(Local1) } If(LEqual(DDL7, Local0)) { Return(Local1) } If(LEqual(DDL8, Local0)) { Return(Local1) } Return(Zero) } Method(CDDS, 1, NotSerialized) { If(LEqual(CADL, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL2, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL3, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL4, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL5, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL6, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL7, And(Arg0, 0x0F0F))) { Return(0x1F) } If(LEqual(CAL8, And(Arg0, 0x0F0F))) { Return(0x1F) } Return(0x1D) } Method(NDDS, 1, NotSerialized) { If(LEqual(NADL, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL2, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL3, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL4, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL5, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL6, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL7, And(Arg0, 0x0F0F))) { Return(One) } If(LEqual(NDL8, And(Arg0, 0x0F0F))) { Return(One) } Return(Zero) } Method(CPDS, 1, NotSerialized) { And(Arg0, 0xFF0F, Local0) If(LEqual(CPDL, Local0)) { Return(One) } If(LEqual(CPL2, Local0)) { Return(One) } If(LEqual(CPL3, Local0)) { Return(One) } Return(Zero) } Scope(^^PCI0) { OperationRegion(MCHP, PCI_Config, 0x40, 0xC0) Field(MCHP, AnyAcc, NoLock, Preserve) { Offset(0x60), //Offset(96), TASM, 10, , 6, } } OperationRegion(IGDP, PCI_Config, 0x40, 0xC0) Field(IGDP, AnyAcc, NoLock, Preserve) { Offset(0x12), //Offset(18), , 1, GIVD, 1, , 2, GUMA, 3, Offset(0x14), //Offset(20), , 4, GMFN, 1, Offset(0x18), //Offset(24), Offset(0xA4), //Offset(164), ASLE, 8, Offset(0xA8), //Offset(168), GSSE, 1, GSSB, 14, GSES, 1, Offset(0xB0), //Offset(176), Offset(0xB1), //Offset(177), , 4, CDVL, 1, , 3, Offset(0xB5), //Offset(181), LBPC, 8, Offset(0xBC), //Offset(188), ASLS, 32, } OperationRegion(IGDM, SystemMemory, ASLB, 0x2000) Field(IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset(0x100), //Offset(256), DRDY, 32, CSTS, 32, CEVT, 32, Offset(0x120), //Offset(288), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset(0x200), //Offset(512), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset(0x204), //Offset(516), PARM, 32, DSLP, 32, Offset(0x300), //Offset(768), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset(0x400), //Offset(1024), GVD1, 49152, PHED, 32, BDDC, 2048, } Name(DBTB, Package(21) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name(CDCT, Package(5) { Package(2) {0xE4, 0x0140}, Package(2) {0xDE, 0x014D}, Package(2) {0xDE, 0x014D}, Package(2) {Zero, Zero}, Package(2) {0xDE, 0x014D} }) Name(SUCC, One) Name(NVLD, 0x02) Name(CRIT, 0x04) Name(NCRT, 0x06) Method(GSCI, 0, Serialized) { Method(GBDA, 0, Serialized) { If(LEqual(GESF, Zero)) { Store(0x0679, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, One)) { Store(0x0240, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x04)) { And(PARM, 0xEFFF0000, PARM) And(PARM, ShiftLeft(DerefOf(Index(DBTB, IBTT)), 0x10), PARM) Or(IBTT, PARM, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x05)) { Store(IPSC, PARM) Or(PARM, ShiftLeft(IPAT, 0x08), PARM) Add(PARM, 0x0100, PARM) Or(PARM, ShiftLeft(LIDS, 0x10), PARM) Add(PARM, 0x00010000, PARM) Or(PARM, ShiftLeft(IBIA, 0x14), PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x06)) { Store(ITVF, PARM) Or(PARM, ShiftLeft(ITVM, 0x04), PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x07)) { Store(GIVD, PARM) Xor(PARM, One, PARM) Or(PARM, ShiftLeft(GMFN, One), PARM) Or(PARM, 0x1800, PARM) Or(PARM, ShiftLeft(IDMS, 0x11), PARM) Or(ShiftLeft(DerefOf(Index(DerefOf(Index(CDCT, HVCO)), CDVL)), 0x15), PARM, PARM) Store(One, GESF) Return(SUCC) } If(LEqual(GESF, 0x0A)) { Store(Zero, PARM) If(ISSC) { Or(PARM, 0x03, PARM) } Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x0B)) { Store(KSV0, PARM) Store(KSV1, GESF) Return(SUCC) } Store(Zero, GESF) Return(CRIT) } Method(SBCB, 0, Serialized) { If(LEqual(GESF, Zero)) { Store(Zero, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, One)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x03)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x04)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x05)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x06)) { Store(And(PARM, 0x0F), ITVF) Store(ShiftRight(And(PARM, 0xF0), 0x04), ITVM) Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x07)) { If(LEqual(PARM, Zero)) { Store(CLID, Local0) If(And(0x80000000, Local0)) { And(CLID, 0x0F, CLID) GLID(CLID) } } Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x08)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x09)) { And(PARM, 0xFF, IBTT) Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x0A)) { And(PARM, 0xFF, IPSC) If(And(ShiftRight(PARM, 0x08), 0xFF)) { And(ShiftRight(PARM, 0x08), 0xFF, IPAT) Decrement(IPAT) } And(ShiftRight(PARM, 0x14), 0x07, IBIA) Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x0B)) { And(ShiftRight(PARM, One), One, IF1E) If(And(PARM, 0x0001E000)) { And(ShiftRight(PARM, 0x0D), 0x0F, IDMS) } Else { And(ShiftRight(PARM, 0x11), 0x0F, IDMS) } Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x10)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x11)) { Store(ShiftLeft(LIDS, 0x08), PARM) Add(PARM, 0x0100, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x12)) { If(And(PARM, One)) { If(LEqual(ShiftRight(PARM, One), One)) { Store(One, ISSC) } Else { Store(Zero, GESF) Return(CRIT) } } Else { Store(Zero, ISSC) } Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x13)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x14)) { And(PARM, 0x0F, PAVP) Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } Store(Zero, GESF) Return(SUCC) } If(LEqual(GEFC, 0x04)) { Store(GBDA, GXFC) } If(LEqual(GEFC, 0x06)) { Store(SBCB, GXFC) } Store(Zero, GEFC) Store(One, SCIS) Store(Zero, GSSE) Store(Zero, SCIE) Return(Zero) } Method(PDRD, 0, NotSerialized) { If(LNot(DRDY)) { Sleep(ASLP) } Return(LNot(DRDY)) } Method(PSTS, 0, NotSerialized) { If(LGreater(CSTS, 0x02)) { Sleep(ASLP) } Return(LEqual(CSTS, 0x03)) } Method(GNOT, 2, NotSerialized) { If(PDRD()) { Return(One) } Store(Arg0, CEVT) Store(0x03, CSTS) If(LAnd(LEqual(CHPD, Zero), LEqual(Arg1, Zero))) { If(LOr(LGreater(OSYS, 0x07D0), LLessEqual(OSYS, 0x07D6))) { Notify(PCI0, Arg1) } Else { Notify(OVGA, Arg1) } } Notify(OVGA, 0x80) Return(Zero) } Method(GHDS, 1, NotSerialized) { Store(Arg0, TIDX) Return(GNOT(One, Zero)) } Method(GLID, 1, NotSerialized) { Store(Arg0, CLID) Return(GNOT(0x02, Zero)) } Method(GDCK, 1, NotSerialized) { Store(Arg0, CDCK) Return(GNOT(0x04, Zero)) } Method(PARD, 0, NotSerialized) { If(LNot(ARDY)) { Sleep(ASLP) } Return(LNot(ARDY)) } Method(AINT, 2, NotSerialized) { If(LNot(And(TCHE, ShiftLeft(One, Arg0)))) { Return(One) } If(PARD()) { Return(One) } If(LEqual(Arg0, 0x02)) { If(CPFM) { And(CPFM, 0x0F, Local0) And(EPFM, 0x0F, Local1) If(LEqual(Local0, One)) { If(And(Local1, 0x06)) { Store(0x06, PFIT) } Else { If(And(Local1, 0x08)) { Store(0x08, PFIT) } Else { Store(One, PFIT) } } } If(LEqual(Local0, 0x06)) { If(And(Local1, 0x08)) { Store(0x08, PFIT) } Else { If(And(Local1, One)) { Store(One, PFIT) } Else { Store(0x06, PFIT) } } } If(LEqual(Local0, 0x08)) { If(And(Local1, One)) { Store(One, PFIT) } Else { If(And(Local1, 0x06)) { Store(0x06, PFIT) } Else { Store(0x08, PFIT) } } } } Else { Xor(PFIT, 0x07, PFIT) } Or(PFIT, 0x80000000, PFIT) Store(0x04, ASLC) } Else { If(LEqual(Arg0, One)) { Add(Arg1, One, Arg1) Store(Divide(Multiply(Arg1, 0xFF), 0x0A, , ), BCLP) Or(BCLP, 0x80000000, BCLP) Store(0x02, ASLC) } Else { If(LEqual(Arg0, Zero)) { Store(Arg1, ALSI) Store(One, ASLC) } Else { Return(One) } } } Store(Zero, LBPC) Return(Zero) } Method(SCIP, 0, NotSerialized) { If(LNotEqual(OVER, Zero)) { Return(LNot(GSMI)) } Return(Zero) } } Device(P32) { Name(_ADR, 0x001E0000) } Device(LPC) { Name(_ADR, 0x001F0000) OperationRegion(LPC0, PCI_Config, 0x40, 0xC0) Field(LPC0, AnyAcc, NoLock, Preserve) { Offset(0x20), //Offset(32), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset(0x28), //Offset(40), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset(0x40), //Offset(64), IOD0, 8, IOD1, 8, CMA0, 1, CMB0, 1, LP0E, 1, FDDE, 1, Offset(0x44), //Offset(68), DIO1, 16, RIO1, 8, Offset(0x60), //Offset(96), , 7, C4O3, 1, } Device(BAT0) { Name(_HID, EISAID("PNP0C0A")) Name(_UID, One) Name(_PCL, Package(1) {_SB}) Name(PBIF, Package(13) { One, 0x0FA0, 0x0FA0, One, 0x39D0, 0x0190, 0x78, 0x0108, 0x0EC4, "Li_Ion 4000mA ", "1234", "Lion", "Acer " }) Name(PBST, Package(4) {One, Ones, Ones, 0x39D0}) Method(_STA, 0, NotSerialized) { If(ECON) { If(^^EC0.BAL1) { Sleep(0x64) Return(0x1F) } Else { Sleep(0x64) Return(0x0F) } } Else { Sleep(0x64) Return(0x1F) } } Method(_BIF, 0, NotSerialized) { If(ECON) { Sleep(0x64) Store(^^EC0.BDC0, Index(PBIF, One)) Sleep(0x64) Store(^^EC0.BFC0, Index(PBIF, 0x02)) Sleep(0x64) Store(^^EC0.BDV0, Index(PBIF, 0x04)) Sleep(0x64) Store(^^EC0.BDC0, Local2) Divide(Local2, 0x64, Local6, Local2) Multiply(Local2, 0x05, Local3) Store(Local3, Index(PBIF, 0x05)) Multiply(Local2, 0x03, Local4) Store(Local4, Index(PBIF, 0x06)) Sleep(0x64) If(LGreaterEqual(OSYS, 0x07D6)) { ToHexString(^^EC0.BSN0, Local2) Mid(Local2, 0x02, 0x04, Local3) Store(Local3, Index(PBIF, 0x0A)) Sleep(0x64) } Store(^^EC0.BATD, Index(PBIF, 0x09)) Sleep(0x64) Store(^^EC0.BTMF, Local1) Sleep(0x64) If(LEqual(Local1, One)) { Store("SANYO ", Index(PBIF, 0x0C)) } Else { If(LEqual(Local1, 0x02)) { Store("SONY ", Index(PBIF, 0x0C)) } Else { If(LEqual(Local1, 0x04)) { Store("PANASONIC ", Index(PBIF, 0x0C)) } Else { If(LEqual(Local1, 0x03)) { Store("Simplo ", Index(PBIF, 0x0C)) } Else { Store("COMPAL ", Index(PBIF, 0x0C)) } } } } } Return(PBIF) } Method(_BST, 0, NotSerialized) { If(ECON) { Sleep(0x64) Store(^^EC0.BST0, Local0) And(Local0, 0x07, Local0) Store(Local0, Index(PBST, Zero)) Sleep(0x64) Store(^^EC0.GAU0, Local2) Sleep(0x64) Store(^^EC0.BPV0, Local3) Sleep(0x64) Store(^^EC0.BFC0, Local1) Sleep(0x64) If(Local2) { Multiply(Local2, Local1, Local2) Divide(Local2, 0x64, Local6, Local2) If(Local6) { Increment(Local2) } } Store(^^EC0.BAC0, Local1) If(And(Local1, 0x8000, Local1)) { Store(^^EC0.BAC0, Local1) Subtract(0xFFFF, Local1, Local1) } Else { Store(Zero, Local1) } Sleep(0x64) Store(Local1, Index(PBST, One)) Store(Local2, Index(PBST, 0x02)) Store(Local3, Index(PBST, 0x03)) } Return(PBST) } } Device(AC) { Name(_HID, "ACPI0003") Name(_PCL, Package(1) {_SB}) Method(_PSR, 0, NotSerialized) { If(ECON) { Store(^^EC0.ADPT, PWRS) } Return(PWRS) } } Device(PWRB) { Name(_HID, EISAID("PNP0C0C")) } Device(LID0) { Name(_HID, EISAID("PNP0C0D")) Method(_LID, 0, NotSerialized) { Return(LPDL) } } Device(SLPB) { Name(_HID, EISAID("PNP0C0E")) } OperationRegion(PRR0, PCI_Config, 0x60, 0x04) Field(PRR0, AnyAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, } OperationRegion(PRR1, PCI_Config, 0x68, 0x04) Field(PRR1, AnyAcc, NoLock, Preserve) { PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, } OperationRegion(PRR2, PCI_Config, 0x80, 0x02) Field(PRR2, AnyAcc, NoLock, Preserve) { IODL, 8, IODH, 8, } Device(LNKA) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, One) Method(_STA, 0, NotSerialized) { If(And(PIRA, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRA, 0x80, PIRA) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRA, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRA, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRA) } } Device(LNKB) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x02) Method(_STA, 0, NotSerialized) { If(And(PIRB, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRB, 0x80, PIRB) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRB, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRB, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRB) } } Device(LNKC) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x03) Method(_STA, 0, NotSerialized) { If(And(PIRC, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRC, 0x80, PIRC) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRC, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRC, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRC) } } Device(LNKD) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x04) Method(_STA, 0, NotSerialized) { If(And(PIRD, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRD, 0x80, PIRD) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRD, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRD, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRD) } } Device(LNKE) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x05) Method(_STA, 0, NotSerialized) { If(And(PIRE, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRE, 0x80, PIRE) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRE, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRE, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRE) } } Device(LNKF) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x06) Method(_STA, 0, NotSerialized) { If(And(PIRF, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRF, 0x80, PIRF) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRF, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRF, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRF) } } Device(LNKG) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x07) Method(_STA, 0, NotSerialized) { If(And(PIRG, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRG, 0x80, PIRG) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRG, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRG, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRG) } } Device(LNKH) { Name(_HID, EISAID("PNP0C0F")) Name(_UID, 0x08) Method(_STA, 0, NotSerialized) { If(And(PIRH, 0x80)) { Return(0x09) } Else { Return(0x0B) } } Method(_DIS, 0, NotSerialized) { Or(PIRH, 0x80, PIRH) } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {0} }) CreateWordField(BUF0, One, IRQW) If(And(PIRH, 0x80)) { Store(Zero, Local0) } Else { Store(One, Local0) } ShiftLeft(Local0, And(PIRH, 0x0F), IRQW) Return(BUF0) } Name(_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 9, 10, 11, 12} }) Method(_SRS, 1, NotSerialized) { CreateWordField(Arg0, One, IRQW) FindSetRightBit(IRQW, Local0) If(LNotEqual(IRQW, Zero)) { And(Local0, 0x7F, Local0) Decrement(Local0) } Else { Or(Local0, 0x80, Local0) } Store(Local0, PIRH) } } Device(SYSR) { Method(_STA, 0, NotSerialized) { If(LEqual(PMID, One)) { Return(0x0F) } Else { Return(Zero) } } Name(_HID, EISAID("PNP0C02")) Name(_CRS, ResourceTemplate() { IO(Decode16, 0x002E, 0x002E, 0x01, 0x02) IO(Decode16, 0x004E, 0x004E, 0x01, 0x02) IO(Decode16, 0x164E, 0x164E, 0x01, 0x02) IO(Decode16, 0x0061, 0x0061, 0x01, 0x01) IO(Decode16, 0x0070, 0x0070, 0x01, 0x01) IO(Decode16, 0x0080, 0x0080, 0x01, 0x01) IO(Decode16, 0x0092, 0x0092, 0x01, 0x01) IO(Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO(Decode16, 0x0063, 0x0063, 0x01, 0x01) IO(Decode16, 0x0065, 0x0065, 0x01, 0x01) IO(Decode16, 0x0067, 0x0067, 0x01, 0x01) IO(Decode16, 0x0600, 0x0600, 0x01, 0x10) IO(Decode16, 0x0610, 0x0610, 0x01, 0x01) IO(Decode16, 0x0800, 0x0800, 0x01, 0x10) IO(Decode16, 0x0810, 0x0810, 0x01, 0x08) IO(Decode16, 0x0820, 0x0820, 0x01, 0x04) IO(Decode16, 0x0400, 0x0400, 0x01, 0x80) IO(Decode16, 0x0500, 0x0500, 0x01, 0x80) IO(Decode16, 0x0068, 0x0068, 0x01, 0x01) IO(Decode16, 0x006C, 0x006C, 0x01, 0x01) Memory32Fixed(ReadWrite, 0xF8000000, 0x04000000) Memory32Fixed(ReadWrite, 0xFED1C000, 0x00004000) Memory32Fixed(ReadWrite, 0xFED10000, 0x00004000) Memory32Fixed(ReadWrite, 0xFED18000, 0x00001000) Memory32Fixed(ReadWrite, 0xFED19000, 0x00001000) Memory32Fixed(ReadWrite, 0xFEC00000, 0x00001000) Memory32Fixed(ReadWrite, 0xFED20000, 0x00070000) Memory32Fixed(ReadWrite, 0xFEE00000, 0x00001000) }) } Device(SYSM) { Method(_STA, 0, NotSerialized) { If(LEqual(PMID, One)) { Return(Zero) } Else { Return(0x0F) } } Name(_HID, EISAID("PNP0C02")) Name(_CRS, ResourceTemplate() { IO(Decode16, 0x002E, 0x002E, 0x01, 0x02) IO(Decode16, 0x004E, 0x004E, 0x01, 0x02) IO(Decode16, 0x164E, 0x164E, 0x01, 0x02) IO(Decode16, 0x0061, 0x0061, 0x01, 0x01) IO(Decode16, 0x0070, 0x0070, 0x01, 0x01) IO(Decode16, 0x0080, 0x0080, 0x01, 0x01) IO(Decode16, 0x0092, 0x0092, 0x01, 0x01) IO(Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO(Decode16, 0x0063, 0x0063, 0x01, 0x01) IO(Decode16, 0x0065, 0x0065, 0x01, 0x01) IO(Decode16, 0x0067, 0x0067, 0x01, 0x01) IO(Decode16, 0x0600, 0x0600, 0x01, 0x10) IO(Decode16, 0x0610, 0x0610, 0x01, 0x01) IO(Decode16, 0x0800, 0x0800, 0x01, 0x10) IO(Decode16, 0x0810, 0x0810, 0x01, 0x08) IO(Decode16, 0x0820, 0x0820, 0x01, 0x04) IO(Decode16, 0x0400, 0x0400, 0x01, 0x80) IO(Decode16, 0x0500, 0x0500, 0x01, 0x80) IO(Decode16, 0x0068, 0x0068, 0x01, 0x01) IO(Decode16, 0x006C, 0x006C, 0x01, 0x01) IO(Decode16, 0xFF2C, 0xFF2C, 0x01, 0x04) Memory32Fixed(ReadWrite, 0xF8000000, 0x04000000) Memory32Fixed(ReadWrite, 0xFED1C000, 0x00004000) Memory32Fixed(ReadWrite, 0xFED10000, 0x00004000) Memory32Fixed(ReadWrite, 0xFED18000, 0x00001000) Memory32Fixed(ReadWrite, 0xFED19000, 0x00001000) Memory32Fixed(ReadWrite, 0xFEC00000, 0x00001000) Memory32Fixed(ReadWrite, 0xFED20000, 0x00070000) Memory32Fixed(ReadWrite, 0xFEE00000, 0x00001000) }) } Device(DMAC) { Name(_HID, EISAID("PNP0200")) Name(_CRS, ResourceTemplate() { IO(Decode16, 0x0000, 0x0000, 0x01, 0x20) IO(Decode16, 0x0081, 0x0081, 0x01, 0x11) IO(Decode16, 0x0093, 0x0093, 0x01, 0x0D) IO(Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA(Compatibility, NotBusMaster, Transfer8_16) {4} }) } Device(RTC) { Name(_HID, EISAID("PNP0B00")) Name(BUF0, ResourceTemplate() { IO(Decode16, 0x0070, 0x0070, 0x01, 0x08) }) Name(BUF1, ResourceTemplate() { IO(Decode16, 0x0070, 0x0070, 0x01, 0x08) IRQNoFlags() {8} }) Method(_CRS, 0, Serialized) { If(LEqual(HPTS, One)) { Return(BUF0) } Else { Return(BUF1) } } } Device(HPET) { Name(_HID, EISAID("PNP0103")) Name(BUF0, ResourceTemplate() { IRQNoFlags() {0} IRQNoFlags() {8} Memory32Fixed(ReadOnly, 0xFED00000, 0x00000400) }) Method(_STA, 0, NotSerialized) { If(LGreaterEqual(OSYS, 0x07D1)) { If(LEqual(HPTS, One)) { Return(0x0F) } Else { Return(Zero) } } Else { If(HPTS) { Return(0x0B) } Else { Return(Zero) } } } Method(_CRS, 0, Serialized) { If(LEqual(HPTS, One)) { CreateDWordField(BUF0, 0x0A, HPT0) If(LEqual(HPTA, One)) { Store(0xFED01000, HPT0) } If(LEqual(HPTA, 0x02)) { Store(0xFED02000, HPT0) } If(LEqual(HPTA, 0x03)) { Store(0xFED03000, HPT0) } } Return(BUF0) } } Device(PIC) { Name(_HID, EISAID("PNP0000")) Name(_CRS, ResourceTemplate() { IO(Decode16, 0x0020, 0x0020, 0x01, 0x02) IO(Decode16, 0x0024, 0x0024, 0x01, 0x02) IO(Decode16, 0x0028, 0x0028, 0x01, 0x02) IO(Decode16, 0x002C, 0x002C, 0x01, 0x02) IO(Decode16, 0x0030, 0x0030, 0x01, 0x02) IO(Decode16, 0x0034, 0x0034, 0x01, 0x02) IO(Decode16, 0x0038, 0x0038, 0x01, 0x02) IO(Decode16, 0x003C, 0x003C, 0x01, 0x02) IO(Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO(Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO(Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO(Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO(Decode16, 0x00B0, 0x00B0, 0x01, 0x02) IO(Decode16, 0x00B4, 0x00B4, 0x01, 0x02) IO(Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO(Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO(Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQNoFlags() {2} }) } Device(FPU) { Name(_HID, EISAID("PNP0C04")) Name(_CRS, ResourceTemplate() { IO(Decode16, 0x00F0, 0x00F0, 0x01, 0x01) IRQNoFlags() {13} }) } Device(TIMR) { Name(_HID, EISAID("PNP0100")) Name(BUF0, ResourceTemplate() { IO(Decode16, 0x0040, 0x0040, 0x01, 0x04) IO(Decode16, 0x0050, 0x0050, 0x10, 0x04) }) Name(BUF1, ResourceTemplate() { IO(Decode16, 0x0040, 0x0040, 0x01, 0x04) IO(Decode16, 0x0050, 0x0050, 0x10, 0x04) IRQNoFlags() {0} }) Method(_CRS, 0, Serialized) { If(HPTS) { Return(BUF0) } Return(BUF1) } } Device(FWHD) { Name(_HID, 0x0008D425) Name(_CRS, ResourceTemplate() { Memory32Fixed(ReadOnly, 0xFFF00000, 0x00100000) }) } Device(KBC0) { Name(_HID, EISAID("PNP0303")) Method(_STA, 0, NotSerialized) { If(LGreaterEqual(OSYS, 0x07D6)) { If(LEqual(KBTP, 0x4A)) { Return(Zero) } Else { Return(0x0F) } } Else { Return(0x0F) } } Name(_CRS, ResourceTemplate() { IO(Decode16, 0x0060, 0x0060, 0x01, 0x01) IO(Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ(Edge, ActiveHigh, Exclusive) {1} }) } Device(KBCJ) { Name(_HID, EISAID("PNP0320")) Method(_STA, 0, NotSerialized) { If(LGreaterEqual(OSYS, 0x07D6)) { If(LEqual(KBTP, 0x4A)) { Return(0x0F) } Else { Return(Zero) } } Else { Return(Zero) } } Name(_CRS, ResourceTemplate() { IO(Decode16, 0x0060, 0x0060, 0x01, 0x01) IO(Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ(Edge, ActiveHigh, Exclusive) {1} }) } Device(MSE0) { Name(_HID, EISAID("PNP0F13")) Method(_STA, 0, NotSerialized) { If(LEqual(And(TPAD, One), One)) { Return(Zero) } Else { Return(0x0F) } } Name(_CRS, ResourceTemplate() { IRQ(Edge, ActiveHigh, Exclusive) {12} }) } Device(MSS0) { Name(_HID, 0x161B2E4F) Name(_CID, Package(3) {0x001B2E4F, 0x02002E4F, EISAID("PNP0F13")}) Method(_STA, 0, NotSerialized) { If(LEqual(And(TPAD, One), One)) { Return(0x0F) } Else { Return(Zero) } } Name(_CRS, ResourceTemplate() { IRQ(Edge, ActiveHigh, Exclusive) {12} }) } Device(EC0) { Name(_HID, EISAID("PNP0C09")) Name(_UID, One) Name(_GPE, 0x1C) Method(_CRS, 0, NotSerialized) { Name(BFFR, ResourceTemplate() { IO(Decode16, 0x0062, 0x0062, 0x00, 0x01) IO(Decode16, 0x0066, 0x0066, 0x00, 0x01) }) Return(BFFR) } Name(_ADR, 0x00020000) OperationRegion(HDCS, PCI_Config, Zero, One) Field(HDCS, ByteAcc, NoLock, Preserve) { OBV, 8, } OperationRegion(ERAM, EmbeddedControl, Zero, 0xFF) Field(ERAM, ByteAcc, Lock, Preserve) { , 1, LCDS, 1, DOCK, 1, LANC, 1, BBET, 1, Offset(0x8), //Offset(8), BATM, 16, Offset(0x19), //Offset(25), BATD, 56, Offset(0x60), //Offset(96), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMDR, 32, BCNT, 8, SMAA, 8, SMD0, 8, SMD1, 8, Offset(0x90), //Offset(144), , 8, , 8, , 8, , 8, ERIB, 16, ERBD, 8, , 8, , 8, OSIF, 1, , 7, BAL1, 1, BAL2, 1, BAL3, 1, BAL4, 1, BCL1, 1, BCL2, 1, BCL3, 1, BCL4, 1, BPU1, 1, BPU2, 1, BPU3, 1, BPU4, 1, BOS1, 1, BOS2, 1, BOS3, 1, BOS4, 1, PHDD, 1, IFDD, 1, IODD, 1, SHDD, 1, LS20, 1, EFDD, 1, ECRT, 1, , 1, SBTN, 1, VIDO, 1, VOLD, 1, VOLU, 1, MUTE, 1, CONT, 1, BRGT, 1, HBTN, 1, S4SE, 1, SKEY, 1, BKEY, 1, TKEY, 1, FKEY, 1, DVDM, 1, DIGM, 1, CDLK, 1, , 1, LIDO, 1, PMEE, 1, PBET, 1, RIIN, 1, BTWK, 1, DKIN, 1, , 1, , 6, SWTH, 1, HWTH, 1, DKT0, 1, DKT1, 1, , 2, OSUD, 1, OSDK, 1, OSSU, 1, DKCG, 1, ODTS, 8, S1LD, 1, S3LD, 1, VGAQ, 1, PCMQ, 1, PCMR, 1, ADPT, 1, SYS6, 1, SYS7, 1, PWAK, 1, MWAK, 1, LWAK, 1, RWAK, 1, , 2, KWAK, 1, MSWK, 1, CCAC, 1, AOAC, 1, BLAC, 1, PSRC, 1, BOAC, 1, LCAC, 1, AAAC, 1, ACAC, 1, PCEC, 8, THON, 8, THSD, 8, THEM, 8, TCON, 8, THRS, 8, THSE, 8, FSSN, 4, FANU, 4, PTVL, 3, , 3, TTSR, 1, TTHR, 1, TSTH, 1, TSBC, 1, TSBF, 1, TSPL, 1, TSBT, 1, , 2, THTA, 1, CTMP, 8, LTMP, 8, , 8, , 8, SKTC, 8, SKTA, 8, NBTP, 8, , 8, BTPV, 8, BRTS, 8, CTRS, 8, WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, , 2, PJID, 8, CPUN, 8, THFN, 8, MLED, 1, SCHG, 1, SCCF, 1, SCPF, 1, ACIS, 1, , 3, , 4, BTMF, 3, BTY0, 1, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, BSCY, 8, BSCU, 16, BAC0, 16, BTW0, 8, BATV, 8, BPTC, 8, BTTC, 8, BTMA, 16, BTSC, 8, BCIX, 8, CCBA, 8, CBOT, 8, BTSS, 16, OVCC, 8, CCFC, 8, BADC, 8, BSC1, 16, BSC2, 16, BSC3, 16, BSC4, 16, BDME, 16, , 8, , 8, , 8, BTS1, 8, BTS2, 8, BSCS, 16, BDAD, 16, BACV, 16, BDFC, 8, } OperationRegion(CCLK, SystemIO, 0x0410, 0x04) Field(CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, , 3, FTT, 1, , 8, TSTS, 1, } Mutex(FAMX, 0) Method(FANG, 1, NotSerialized) { Acquire(FAMX, 0xFFFF) Store(Arg0, ERIB) Store(ERBD, Local0) Release(FAMX) Return(Local0) } Method(FANW, 2, NotSerialized) { Acquire(FAMX, 0xFFFF) Store(Arg0, ERIB) Store(Arg1, ERBD) Release(FAMX) Return(Arg1) } Method(TUVR, 1, NotSerialized) { Return(0x03) } Method(THRO, 1, NotSerialized) { If(LEqual(Arg0, Zero)) { Return(THEN) } Else { If(LEqual(Arg0, One)) { Return(DUTY) } Else { If(LEqual(Arg0, 0x02)) { Return(TTHR) } Else { Return(0xFF) } } } } Method(CLCK, 1, NotSerialized) { If(LEqual(Arg0, Zero)) { Store(Zero, THEN) } Else { Store(Arg0, DUTY) Store(One, THEN) } Return(THEN) } Method(PCLK, 0, NotSerialized) { Store(PTVL, Local0) If(LEqual(Local0, Zero)) { Store(Zero, THEN) } Else { Not(Local0, Local0) Add(Local0, One, Local0) And(Local0, 0x07, Local0) Store(Local0, DUTY) If(LEqual(Local0, Zero)) { Store(Zero, THEN) } Else { Store(One, THEN) } } } Method(_REG, 2, NotSerialized) { If(LEqual(Arg0, 0x03)) { Store(Arg1, ECON) If(LEqual(LIDO, ^^^OVGA.CLID)) { If(LEqual(LIDO, Zero)) { ^^^OVGA.GLID(One) } Else { ^^^OVGA.GLID(Zero) } } Else { If(LNot(^^^OVGA.GLID(LIDO))) { Store(LIDO, LIDS) Notify(LID0, 0x80) } } } } Method(_Q11, 0, NotSerialized) { If(LGreaterEqual(OSYS, 0x07D6)) { If(LEqual(OBV, 0xFF)) { Notify(^^^PEGP.VGA.LCD, 0x87) } Else { Notify(^^^OVGA.DD03, 0x87) } } Else { ^^^OVGA.AINT(One, BRTS) If(LEqual(^^^WMID.BAEF, One)) { Store(BRTS, Local1) Store(^^^WMID.LBL0, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } } Method(_Q12, 0, NotSerialized) { If(LGreaterEqual(OSYS, 0x07D6)) { If(LEqual(OBV, 0xFF)) { Notify(^^^PEGP.VGA.LCD, 0x86) } Else { Notify(^^^OVGA.DD03, 0x86) } } Else { ^^^OVGA.AINT(One, BRTS) If(LEqual(^^^WMID.BAEF, One)) { Store(BRTS, Local1) Store(^^^WMID.LBL0, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } } Method(_Q1C, 0, NotSerialized) { If(LEqual(OBV, 0xFF)) { Notify(^^^PEGP.VGA, 0xCB) } Else { If(LOr(^^^OVGA.CPDS(0x80000100), ^^^OVGA.CPDS(0x80000320))) { ^^^OVGA.GHDS(One) } } } Method(_Q1D, 0, NotSerialized) { PCLK() } Method(_Q22, 0, NotSerialized) { Notify(BAT0, 0x80) } Method(_Q25, 0, NotSerialized) { Notify(BAT0, 0x81) Notify(BAT0, 0x80) } Method(_Q2A, 0, NotSerialized) { OSMI(0x92) } Method(_Q2B, 0, NotSerialized) { OSMI(0x93) } Method(_Q34, 0, NotSerialized) { If(LEqual(^^^WMID.BAEF, One)) { Store(BTAT, Local1) Store(^^^WMID.BLTD, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } Method(_Q37, 0, NotSerialized) { Notify(AC, Zero) Sleep(0x03F0) Notify(BAT0, 0x80) Notify(\_PR.CPU0, 0x80) Notify(\_PR.CPU1, 0x80) If(LNotEqual(^^^EXP5.J380.DVID, Ones)) { Store(Zero, ^^^EXP5.J380.D3EF) } OSMI(0x87) } Method(_Q38, 0, NotSerialized) { Notify(AC, One) Sleep(0x03F0) Notify(BAT0, 0x80) Notify(\_PR.CPU0, 0x80) Notify(\_PR.CPU1, 0x80) If(LNotEqual(^^^EXP5.J380.DVID, Ones)) { Store(One, ^^^EXP5.J380.D3EF) } OSMI(0x88) } Method(_Q60, 0, NotSerialized) { If(LEqual(^^^WMID.BAEF, One)) { Store(WLAT, Local1) Store(^^^WMID.WLSD, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } Method(_Q61, 0, NotSerialized) { If(LEqual(^^^WMID.BAEF, One)) { Store(Zero, Local1) If(LEqual(BBET, One)) { Store(One, Local1) } Store(^^^WMID.BUOF, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } Method(_Q4F, 0, NotSerialized) { If(LEqual(^^^WMID.BAEF, One)) { Store(One, Local1) If(LEqual(LANC, One)) { Store(Zero, Local1) } Store(^^^WMID.LANI, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } Method(_Q50, 0, NotSerialized) { If(LEqual(^^^WMID.BAEF, One)) { Store(Zero, Local1) If(LEqual(LCDS, One)) { Store(One, Local1) } Store(^^^WMID.LDOF, Local2) Add(Local2, Local1, Local2) Store(Local2, ^^^WMID.NTDC) Notify(WMID, 0x80) } } } } Device(UHC0) { Name(_ADR, 0x001D0000) Device(HUB0) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) Name(_EJD, "\_SB.PCI0.EXP1.PXS1") } } Name(_PRW, Package(2) {0x03, 0x03}) OperationRegion(USBR, PCI_Config, 0xC4, One) Field(USBR, AnyAcc, NoLock, Preserve) { URES, 8, } Method(_PSW, 1, NotSerialized) { If(Arg0) { Store(0x03, URES) } Else { Store(Zero, URES) } } Method(_S3D, 0, NotSerialized) { Return(0x02) } Method(_S4D, 0, NotSerialized) { Return(0x02) } } Device(UHC1) { Name(_ADR, 0x001D0001) Device(HUB1) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) } } } Device(UHC2) { Name(_ADR, 0x001D0002) Device(HUB2) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) } } } Device(UHCR) { Name(_ADR, 0x001D0003) Device(HUBR) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) } } } Device(EHC1) { OperationRegion(U7CS, PCI_Config, 0x54, 0x04) Field(U7CS, DWordAcc, NoLock, Preserve) { Offset(0x1), //Offset(1), , 7, PMES, 1, } Name(_ADR, 0x001D0007) Device(RHUB) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) Name(_EJD, "\_SB.PCI0.EXP1.PXS1") } Device(PRT3) { Name(_ADR, 0x03) Name(_UPC, Package(4) {0xFF, 0xFF, Zero, Zero}) Name(_PLD, Buffer(0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device(PRT4) { Name(_ADR, 0x04) Name(_UPC, Package(4) {0xFF, 0xFF, Zero, Zero}) Name(_PLD, Buffer(0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device(PRT5) { Name(_ADR, 0x05) } Device(PRT6) { Name(_ADR, 0x06) } Device(PRT7) { Name(_ADR, 0x07) } Device(PRT8) { Name(_ADR, 0x08) } } Name(_PRW, Package(2) {0x0D, 0x03}) } Device(UHC3) { Name(_ADR, 0x001A0000) Device(HUB3) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) } } Name(_PRW, Package(2) {0x0E, 0x03}) OperationRegion(USBR, PCI_Config, 0xC4, One) Field(USBR, AnyAcc, NoLock, Preserve) { URES, 8, } Method(_PSW, 1, NotSerialized) { If(Arg0) { Store(One, URES) } Else { Store(Zero, URES) } } Method(_S3D, 0, NotSerialized) { Return(0x02) } Method(_S4D, 0, NotSerialized) { Return(0x02) } } Device(UHC4) { Name(_ADR, 0x001A0001) Device(RHUB) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) Name(_UPC, Package(4) {0xFF, 0xFF, Zero, Zero}) Name(_PLD, Buffer(0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device(PRT2) { Name(_ADR, 0x02) Name(_UPC, Package(4) {0xFF, 0xFF, Zero, Zero}) Name(_PLD, Buffer(0x10) { 0x81, 0x00, 0x30, 0x00 }) } } } Device(EHC2) { Name(_ADR, 0x001A0007) Device(HUB8) { Name(_ADR, Zero) Device(PRT1) { Name(_ADR, One) } Device(PRT2) { Name(_ADR, 0x02) Method(_RMV, 0, NotSerialized) { Return(Zero) } } Device(PRT3) { Name(_ADR, 0x03) Method(_RMV, 0, NotSerialized) { Return(Zero) } } Device(PRT4) { Name(_ADR, 0x04) Method(_RMV, 0, NotSerialized) { Return(Zero) } } } Name(_PRW, Package(2) {0x0D, 0x03}) } Device(EXP1) { Name(_ADR, 0x001C0000) OperationRegion(PXCS, PCI_Config, Zero, 0xE0) Field(PXCS, AnyAcc, NoLock, WriteAsZeros) { VDID, 16, Offset(0x50), //Offset(80), LPWR, 2, Offset(0x52), //Offset(82), Offset(0x53), //Offset(83), , 5, LASX, 1, Offset(0x5A), //Offset(90), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, , 1, LSCX, 1, Offset(0x60), //Offset(96), Offset(0x62), //Offset(98), PSPX, 1, Offset(0xDC), //Offset(220), Offset(0xDF), //Offset(223), , 6, HPSX, 1, PMSX, 1, } Device(PXS1) { Name(_ADR, Zero) OperationRegion(P1FG, PCI_Config, Zero, 0x08) Field(P1FG, DWordAcc, NoLock, Preserve) { P1ID, 32, } Method(_RMV, 0, NotSerialized) { Return(One) } Method(_STA, 0, NotSerialized) { If(LEqual(P1ID, Ones)) { Return(Zero) } Else { Return(0x0F) } } Name(_EJD, "\_SB.PCI0.EHC1.HUB7.PRT2") } Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKA, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKB, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKC, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKD, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x10}, Package(4) {0xFFFF, One, Zero, 0x11}, Package(4) {0xFFFF, 0x02, Zero, 0x12}, Package(4) {0xFFFF, 0x03, Zero, 0x13} }) } } } Device(EXP2) { Name(_ADR, 0x001C0001) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKB, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKC, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKD, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKA, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x11}, Package(4) {0xFFFF, One, Zero, 0x12}, Package(4) {0xFFFF, 0x02, Zero, 0x13}, Package(4) {0xFFFF, 0x03, Zero, 0x10} }) } } OperationRegion(PXCS, PCI_Config, Zero, 0xE0) Field(PXCS, AnyAcc, NoLock, WriteAsZeros) { VDID, 16, Offset(0x52), //Offset(82), Offset(0x53), //Offset(83), , 5, LASX, 1, Offset(0x5A), //Offset(90), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, , 1, LSCX, 1, Offset(0x60), //Offset(96), Offset(0x62), //Offset(98), PSPX, 1, Offset(0xDC), //Offset(220), Offset(0xDF), //Offset(223), , 6, HPSX, 1, PMSX, 1, } } Device(EXP3) { Name(_ADR, 0x001C0002) Name(_PRW, Package(2) {0x09, 0x04}) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKC, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKD, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKA, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKB, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x12}, Package(4) {0xFFFF, One, Zero, 0x13}, Package(4) {0xFFFF, 0x02, Zero, 0x10}, Package(4) {0xFFFF, 0x03, Zero, 0x11} }) } } OperationRegion(PXCS, PCI_Config, Zero, 0xE0) Field(PXCS, AnyAcc, NoLock, WriteAsZeros) { VDID, 16, Offset(0x52), //Offset(82), Offset(0x53), //Offset(83), , 5, LASX, 1, Offset(0x5A), //Offset(90), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, , 1, LSCX, 1, Offset(0x60), //Offset(96), Offset(0x62), //Offset(98), PSPX, 1, Offset(0xDC), //Offset(220), Offset(0xDF), //Offset(223), , 6, HPSX, 1, PMSX, 1, } } Device(EXP4) { Name(_ADR, 0x001C0003) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKD, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKA, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKB, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKC, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x13}, Package(4) {0xFFFF, One, Zero, 0x10}, Package(4) {0xFFFF, 0x02, Zero, 0x11}, Package(4) {0xFFFF, 0x03, Zero, 0x12} }) } } OperationRegion(PXCS, PCI_Config, Zero, 0xE0) Field(PXCS, AnyAcc, NoLock, WriteAsZeros) { VDID, 16, Offset(0x52), //Offset(82), Offset(0x53), //Offset(83), , 5, LASX, 1, Offset(0x5A), //Offset(90), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, , 1, LSCX, 1, Offset(0x60), //Offset(96), Offset(0x62), //Offset(98), PSPX, 1, Offset(0xDC), //Offset(220), Offset(0xDF), //Offset(223), , 6, HPSX, 1, PMSX, 1, } } Device(EXP5) { Name(_ADR, 0x001C0004) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKA, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKB, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKC, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKD, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x10}, Package(4) {0xFFFF, One, Zero, 0x11}, Package(4) {0xFFFF, 0x02, Zero, 0x12}, Package(4) {0xFFFF, 0x03, Zero, 0x13} }) } } OperationRegion(PXCR, PCI_Config, Zero, 0xFF) Field(PXCR, AnyAcc, NoLock, WriteAsZeros) { Offset(0x5A), //Offset(90), , 3, PDCX, 1, , 2, PDSX, 1, , 2, Offset(0xD8), //Offset(216), Offset(0xDB), //Offset(219), , 6, HPEN, 1, PMEN, 1, Offset(0xDF), //Offset(223), , 6, HPSX, 1, PMSX, 1, } Device(J380) { Name(_ADR, Zero) OperationRegion(PCFG, PCI_Config, Zero, 0xFF) Field(PCFG, ByteAcc, NoLock, Preserve) { DVID, 32, Offset(0x2C), //Offset(44), SSID, 32, Offset(0xAC), //Offset(172), , 6, D3EF, 1, , 1, Offset(0xB2), //Offset(178), LAT0, 8, Offset(0xCF), //Offset(207), ATRB, 8, Offset(0xD3), //Offset(211), PMC0, 8, } Method(_STA, 0, NotSerialized) { If(LNotEqual(DVID, Ones)) { Return(0x0A) } Else { Return(Zero) } } } Device(J381) { Name(_ADR, One) } Device(J382) { Name(_ADR, 0x02) } Device(J383) { Name(_ADR, 0x03) } Device(J384) { Name(_ADR, 0x04) } } Device(EXP6) { Name(_ADR, 0x001C0005) Method(_PRT, 0, NotSerialized) { If(LEqual(GPIC, Zero)) { Return(Package(4) { Package(4) {0xFFFF, Zero, ^^LPC.LNKB, Zero}, Package(4) {0xFFFF, One, ^^LPC.LNKC, Zero}, Package(4) {0xFFFF, 0x02, ^^LPC.LNKD, Zero}, Package(4) {0xFFFF, 0x03, ^^LPC.LNKA, Zero} }) } Else { Return(Package(4) { Package(4) {0xFFFF, Zero, Zero, 0x11}, Package(4) {0xFFFF, One, Zero, 0x12}, Package(4) {0xFFFF, 0x02, Zero, 0x13}, Package(4) {0xFFFF, 0x03, Zero, 0x10} }) } } } Device(SAT0) { Name(_ADR, 0x001F0002) OperationRegion(SACS, PCI_Config, 0x40, 0xC0) Field(SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset(0x8), //Offset(8), SYNC, 4, Offset(0xA), //Offset(10), SDT0, 2, , 2, SDT1, 2, , 2, SDT2, 2, , 2, SDT3, 2, Offset(0x14), //Offset(20), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset(0x50), //Offset(80), MAPV, 2, } Device(PRID) { Name(_ADR, Zero) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(PBUF, Zero, PIO0) CreateDWordField(PBUF, 0x04, DMA0) CreateDWordField(PBUF, 0x08, PIO1) CreateDWordField(PBUF, 0x0C, DMA1) CreateDWordField(PBUF, 0x10, FLAG) Store(GETP(PRIT), PIO0) Store(GDMA(And(SYNC, One), And(ICR3, One), And(ICR0, One), SDT0, And(ICR1, One)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(PRIT, 0x4000)) { If(LEqual(And(PRIT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(PSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x02), And(ICR3, 0x02), And(ICR0, 0x02), SDT1, And(ICR1, 0x02)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, One), And(SYNC, 0x02), PRIT), FLAG) Return(PBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(PRIT, 0x40F0, PRIT) And(SYNC, 0x0E, SYNC) Store(Zero, SDT0) And(ICR0, 0x0E, ICR0) And(ICR1, 0x0E, ICR1) And(ICR3, 0x0E, ICR3) And(ICR5, 0x0E, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(PRIT, 0x8004, PRIT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(PRIT, 0x02, PRIT) } Or(PRIT, SETP(PIO0, W530, W640), PRIT) If(And(FLAG, One)) { Or(SYNC, One, SYNC) Store(SDMA(DMA0), SDT0) If(LLess(DMA0, 0x1E)) { Or(ICR3, One, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, One, ICR0) } Or(ICR1, One, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(PRIT, 0x3F0F, PRIT) Store(Zero, PSIT) And(SYNC, 0x0D, SYNC) Store(Zero, SDT1) And(ICR0, 0x0D, ICR0) And(ICR1, 0x0D, ICR1) And(ICR3, 0x0D, ICR3) And(ICR5, 0x0D, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(PRIT, 0x8040, PRIT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(PRIT, 0x20, PRIT) } If(And(FLAG, 0x10)) { Or(PRIT, 0x4000, PRIT) If(LGreater(PIO1, 0xF0)) { Or(PRIT, 0x80, PRIT) } Else { Or(PRIT, 0x10, PRIT) Store(SETT(PIO1, W531, W641), PSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x02, SYNC) Store(SDMA(DMA1), SDT1) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x02, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x02, ICR0) } Or(ICR1, 0x02, ICR1) } } } } Device(P_D0) { Name(_ADR, Zero) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(PIB0,One,PMD0) CreateByteField(PIB0,0x08,DMD0) If(And(PRIT, 0x02)) { If(LEqual(And(PRIT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(PRIT, 0x0300), 0x08, Local0) ShiftRight(And(PRIT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, One)) { Store(Or(SDT0, 0x40), DMD0) If(And(ICR1, One)) { If(And(ICR0, One)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, One)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(PIB0) } } } Device(P_D1) { Name(_ADR, One) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(PIB1,One,PMD1) CreateByteField(PIB1,0x08,DMD1) If(And(PRIT, 0x20)) { If(LEqual(And(PRIT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(PSIT, 0x03), ShiftRight(And(PSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x02)) { Store(Or(SDT1, 0x40), DMD1) If(And(ICR1, 0x02)) { If(And(ICR0, 0x02)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x02)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(PIB1) } } } } Device(SECD) { Name(_ADR, One) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } Device(PT4D) { Name(_ADR, 0x04) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } Device(PT5D) { Name(_ADR, 0x05) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } } Device(SAT1) { Name(_ADR, 0x001F0005) OperationRegion(SACS, PCI_Config, 0x40, 0xC0) Field(SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset(0x8), //Offset(8), SYNC, 4, Offset(0xA), //Offset(10), SDT0, 2, , 2, SDT1, 2, , 2, SDT2, 2, , 2, SDT3, 2, Offset(0x14), //Offset(20), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset(0x50), //Offset(80), MAPV, 2, } Device(PRID) { Name(_ADR, Zero) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(PBUF, Zero, PIO0) CreateDWordField(PBUF, 0x04, DMA0) CreateDWordField(PBUF, 0x08, PIO1) CreateDWordField(PBUF, 0x0C, DMA1) CreateDWordField(PBUF, 0x10, FLAG) Store(GETP(PRIT), PIO0) Store(GDMA(And(SYNC, One), And(ICR3, One), And(ICR0, One), SDT0, And(ICR1, One)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(PRIT, 0x4000)) { If(LEqual(And(PRIT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(PSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x02), And(ICR3, 0x02), And(ICR0, 0x02), SDT1, And(ICR1, 0x02)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, One), And(SYNC, 0x02), PRIT), FLAG) Return(PBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(PRIT, 0x40F0, PRIT) And(SYNC, 0x0E, SYNC) Store(Zero, SDT0) And(ICR0, 0x0E, ICR0) And(ICR1, 0x0E, ICR1) And(ICR3, 0x0E, ICR3) And(ICR5, 0x0E, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(PRIT, 0x8004, PRIT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(PRIT, 0x02, PRIT) } Or(PRIT, SETP(PIO0, W530, W640), PRIT) If(And(FLAG, One)) { Or(SYNC, One, SYNC) Store(SDMA(DMA0), SDT0) If(LLess(DMA0, 0x1E)) { Or(ICR3, One, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, One, ICR0) } Or(ICR1, One, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(PRIT, 0x3F0F, PRIT) Store(Zero, PSIT) And(SYNC, 0x0D, SYNC) Store(Zero, SDT1) And(ICR0, 0x0D, ICR0) And(ICR1, 0x0D, ICR1) And(ICR3, 0x0D, ICR3) And(ICR5, 0x0D, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(PRIT, 0x8040, PRIT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(PRIT, 0x20, PRIT) } If(And(FLAG, 0x10)) { Or(PRIT, 0x4000, PRIT) If(LGreater(PIO1, 0xF0)) { Or(PRIT, 0x80, PRIT) } Else { Or(PRIT, 0x10, PRIT) Store(SETT(PIO1, W531, W641), PSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x02, SYNC) Store(SDMA(DMA1), SDT1) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x02, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x02, ICR0) } Or(ICR1, 0x02, ICR1) } } } } Device(P_D0) { Name(_ADR, Zero) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(PIB0,One,PMD0) CreateByteField(PIB0,0x08,DMD0) If(And(PRIT, 0x02)) { If(LEqual(And(PRIT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(PRIT, 0x0300), 0x08, Local0) ShiftRight(And(PRIT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, One)) { Store(Or(SDT0, 0x40), DMD0) If(And(ICR1, One)) { If(And(ICR0, One)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, One)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(PIB0) } } } Device(P_D1) { Name(_ADR, One) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(PIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(PIB1,One,PMD1) CreateByteField(PIB1,0x08,DMD1) If(And(PRIT, 0x20)) { If(LEqual(And(PRIT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(PSIT, 0x03), ShiftRight(And(PSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x02)) { Store(Or(SDT1, 0x40), DMD1) If(And(ICR1, 0x02)) { If(And(ICR0, 0x02)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x02)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(PIB1) } } } } Device(SECD) { Name(_ADR, One) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } Device(PT4D) { Name(_ADR, 0x04) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } Device(PT5D) { Name(_ADR, 0x05) Method(_GTM, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SBUF, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField(SBUF, Zero, PIO0) CreateDWordField(SBUF, 0x04, DMA0) CreateDWordField(SBUF, 0x08, PIO1) CreateDWordField(SBUF, 0x0C, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x04), And(ICR3, 0x04), And(ICR0, 0x04), SDT2, And(ICR1, 0x04)), DMA0) If(LEqual(DMA0, Ones)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(Ones, PIO1) } Store(GDMA(And(SYNC, 0x08), And(ICR3, 0x08), And(ICR0, 0x08), SDT3, And(ICR1, 0x08)), DMA1) If(LEqual(DMA1, Ones)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x04), And(SYNC, 0x08), SECT), FLAG) Return(SBUF) } } Method(_STM, 3, NotSerialized) { If(LEqual(SCFG, Zero)) { CreateDWordField(Arg0, Zero, PIO0) CreateDWordField(Arg0, 0x04, DMA0) CreateDWordField(Arg0, 0x08, PIO1) CreateDWordField(Arg0, 0x0C, DMA1) CreateDWordField(Arg0, 0x10, FLAG) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40F0, SECT) And(SYNC, 0x0B, SYNC) Store(Zero, SDT2) And(ICR0, 0x0B, ICR0) And(ICR1, 0x0B, ICR1) And(ICR3, 0x0B, ICR3) And(ICR5, 0x0B, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6A, W530) CreateWordField(Arg1, 0x7E, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xB0, W880) CreateWordField(Arg1, 0xBA, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x02), And(W490, 0x0800))) { Or(SECT, 0x02, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, One)) { Or(SYNC, 0x04, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1E)) { Or(ICR3, 0x04, ICR3) } If(LLess(DMA0, 0x3C)) { Or(ICR0, 0x04, ICR0) } Or(ICR1, 0x04, ICR1) } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3F0F, SECT) Store(Zero, SSIT) And(SYNC, 0x07, SYNC) Store(Zero, SDT3) And(ICR0, 0x07, ICR0) And(ICR1, 0x07, ICR1) And(ICR3, 0x07, ICR3) And(ICR5, 0x07, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6A, W531) CreateWordField(Arg2, 0x7E, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xB0, W881) CreateWordField(Arg2, 0xBA, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x08), And(W491, 0x0800))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10)) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xF0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x04)) { Or(SYNC, 0x08, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1E)) { Or(ICR3, 0x08, ICR3) } If(LLess(DMA1, 0x3C)) { Or(ICR0, 0x08, ICR0) } Or(ICR1, 0x08, ICR1) } } } } Device(S_D0) { Name(_ADR, Zero) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB0, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField(SIB0,One,PMD0) CreateByteField(SIB0,0x08,DMD0) If(And(SECT, 0x02)) { If(LEqual(And(SECT, 0x09), 0x08)) { Store(0x08, PMD0) } Else { Store(0x0A, PMD0) ShiftRight(And(SECT, 0x0300), 0x08, Local0) ShiftRight(And(SECT, 0x3000), 0x0C, Local1) Add(Local0, Local1, Local2) If(LEqual(0x03, Local2)) { Store(0x0B, PMD0) } If(LEqual(0x05, Local2)) { Store(0x0C, PMD0) } } } Else { Store(One, PMD0) } If(And(SYNC, 0x04)) { Store(Or(SDT2, 0x40), DMD0) If(And(ICR1, 0x04)) { If(And(ICR0, 0x04)) { Add(DMD0, 0x02, DMD0) } If(And(ICR3, 0x04)) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x07), 0x02), 0x20, DMD0) } Return(SIB0) } } } Device(S_D1) { Name(_ADR, One) Method(_RMV, 0, NotSerialized) { Return(One) } Method(_GTF, 0, NotSerialized) { If(LEqual(SCFG, Zero)) { Name(SIB1, Buffer(0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField(SIB1,One,PMD1) CreateByteField(SIB1,0x08,DMD1) If(And(SECT, 0x20)) { If(LEqual(And(SECT, 0x90), 0x80)) { Store(0x08, PMD1) } Else { Add(And(SSIT, 0x03), ShiftRight(And(SSIT, 0x0C), 0x02), Local0) If(LEqual(0x05, Local0)) { Store(0x0C, PMD1) } Else { If(LEqual(0x03, Local0)) { Store(0x0B, PMD1) } Else { Store(0x0A, PMD1) } } } } Else { Store(One, PMD1) } If(And(SYNC, 0x08)) { Store(Or(SDT3, 0x40), DMD1) If(And(ICR1, 0x08)) { If(And(ICR0, 0x08)) { Add(DMD1, 0x02, DMD1) } If(And(ICR3, 0x08)) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x07), 0x02), 0x20, DMD1) } Return(SIB1) } } } } } Device(MIR) { Name(_HID, 0x0001C515) Method(_STA, 0, NotSerialized) { If(LEqual(PMID, One)) { Return(0x0F) } Else { Return(Zero) } } Method(_CRS, 0, NotSerialized) { Name(BUF0, ResourceTemplate() { IO(Decode16, 0xFF2C, 0xFF2C, 0x01, 0x04) IRQNoFlags() {4} }) Return(BUF0) } Name(_PRS, ResourceTemplate() { IO(Decode16, 0xFF2C, 0xFF2C, 0x01, 0x04) IRQNoFlags() {4} }) } Device(WMID) { Name(_HID, "PNP0C14") Name(_UID, Zero) Name(ERRD, 0x00010000) Name(BUFF, Buffer(0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField(BUFF,Zero,BF00) CreateByteField(BUFF,One,BF01) CreateByteField(BUFF,0x02,BF02) CreateByteField(BUFF,0x03,BF03) CreateByteField(BUFF,0x04,BF04) CreateByteField(BUFF,0x05,BF05) CreateByteField(BUFF,0x06,BF06) CreateByteField(BUFF,0x07,BF07) Name(BUF1, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) Name(AADS, Buffer(0x04) { 0x00 }) CreateField(AADS,Zero,0x04,AS00) CreateField(AADS,0x04,One,AS01) CreateField(AADS,0x05,One,AS02) CreateField(AADS,0x06,One,AS03) CreateField(AADS,0x07,One,AS04) CreateField(AADS,0x10,0x10,AS05) Name(BAEF, Zero) Name(BADF, Zero) Name(BADG, Package(15) { Zero, Zero, Zero, Zero, Zero, Zero, Zero, 0x00010000, 0x00010000, 0x00010000, 0x00010000, Zero, 0x00010000, Zero, Zero }) Name(WLDS, Zero) Name(WLED, Zero) Name(BTDS, Zero) Name(BTED, Zero) Name(BLDS, Zero) Name(BLED, Zero) Name(NTDC, Zero) Name(NTDV, Zero) Name(WLSD, 0x0100) Name(WLSE, 0x0101) Name(BLTD, 0x0200) Name(BLTE, 0x0201) Name(LBL0, 0x0300) Name(LBL1, 0x0301) Name(LBL2, 0x0302) Name(LBL3, 0x0303) Name(LBL4, 0x0304) Name(LBL5, 0x0305) Name(LBL6, 0x0306) Name(LBL7, 0x0307) Name(LBL8, 0x0308) Name(LBL9, 0x0309) Name(LBLA, 0x030A) Name(LBLB, 0x030B) Name(LBLC, 0x030C) Name(LBLD, 0x030D) Name(LBLE, 0x030E) Name(LBLF, 0x030F) Name(CADI, 0x0401) Name(CADO, 0x0400) Name(GSEE, 0x0501) Name(GSED, 0x0502) Name(VAPI, 0x0601) Name(VAPO, 0x0600) Name(WBBO, 0x0701) Name(WBBI, 0x0700) Name(G3MD, 0x0800) Name(G3ME, 0x0801) Name(LANI, 0x0900) Name(LANO, 0x0901) Name(LDOF, 0x0A00) Name(LDON, 0x0A01) Name(BUOF, 0x0B00) Name(BUON, 0x0B01) Name(FNKE, 0x00010002) Name(FNF5, 0x00015001) Name(BBSB, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField(BBSB,Zero,0x10,BBD0) CreateField(BBSB,0x10,0x10,BBD1) Name(TLS0, Zero) Name(TLS1, One) Name(TLS2, 0x02) Name(TLS3, 0x03) Name(TLS4, 0x04) Name(TLS5, 0x05) Name(TLS6, 0x06) Name(TLS7, 0x07) Name(BCDS, Package(13) { 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000 }) Name(BDDS, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField(BDDS,Zero,0x10,BDD0) CreateField(BDDS,0x10,0x10,BDD1) Name(DSY0, Buffer(0x28) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name(DSY1, Buffer(0x18) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name(DSY2, Buffer(0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name(DSY3, Buffer(0x18) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name(DSY4, Buffer(0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name(DSY5, Buffer(0x28) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateField(DSY0,Zero,0x40,DY00) CreateField(DSY0,0x40,0x40,DY01) CreateField(DSY0,0x80,0x40,DY02) CreateField(DSY0,0xC0,0x40,DY03) CreateField(DSY0,0x0100,0x40,DY04) CreateField(DSY1,Zero,0x40,DY10) CreateField(DSY1,0x40,0x40,DY11) CreateField(DSY1,0x80,0x40,DY12) CreateField(DSY2,Zero,0x40,DY20) CreateField(DSY2,0x40,0x10,DY21) CreateField(DSY2,0x50,0x10,DY22) CreateField(DSY0,Zero,0xC0,DSX4) Name(BEDS, Package(19) { Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero, Zero }) Name(WIT0, Zero) Name(DSY6, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateField(DSY6,Zero,0x20,DY60) CreateField(DSY6,0x20,0x20,DY61) CreateField(DSY6,0x40,0x20,DY62) CreateField(DSY6,0x60,0x20,DY63) CreateField(DSY6,0x80,0x20,DY64) Name(WPRW, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateField(WPRW,Zero,0x08,WWD0) CreateField(WPRW,0x08,0x08,WWD1) CreateField(WPRW,0x10,0x08,WWD2) CreateField(WPRW,0x18,0x08,WWD3) CreateField(WPRW,0x20,0x08,WWD4) CreateField(WPRW,0x28,0x20,WWD5) Name(WPCI, Buffer(0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField(WPCI,Zero,0x08,WPIR) CreateField(WPCI,0x08,0x03,WPIF) CreateField(WPCI,0x0B,0x05,WPID) CreateField(WPCI,0x10,0x08,WPIB) Name(BFDS, Package(4) {0x02, 0x02, 0x02, 0x02}) Name(GSTS, Zero) Name(BFEF, Zero) Name(BGEF, Zero) Name(BGDS, Package(1) {One}) Name(BOOT, Buffer(0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateField(BOOT,Zero,0x80,BO01) CreateField(BOOT,0x80,0x10,BO02) CreateField(BOOT,0x90,0x08,BO03) CreateField(BOOT,0x98,0x08,BO04) Method(AAF1, 0, NotSerialized) { Store(^^LPC.EC0.WLEX, AS00) Store(^^LPC.EC0.BTEX, AS01) Store(Zero, AS02) Store(Zero, AS03) If(LEqual(PMID, One)) { Store(Zero, AS04) } Else { Store(One, AS04) } Store(Zero, AS05) } Method(WGDS, 1, NotSerialized) { Name(_T_0, Zero) Store(Arg0, _T_0) If(LEqual(_T_0, One)) { Store(^^LPC.EC0.WLAT, Index(BADG, Zero)) } Else { If(LEqual(_T_0, 0x02)) { Store(^^LPC.EC0.BTAT, Index(BADG, One)) } Else { If(LEqual(_T_0, 0x03)) { Store(^^LPC.EC0.BRTS, Index(BADG, 0x02)) } Else { If(LEqual(_T_0, 0x08)) { Store(One, Index(BADG, 0x07)) } Else { If(LEqual(_T_0, 0x09)) { Store(0x00020000, Index(BADG, 0x08)) } Else { If(LEqual(_T_0, 0x0A)) { Store(0x00020000, Index(BADG, 0x09)) } Else { If(LEqual(_T_0, 0x0C)) { Store(^^LPC.EC0.LANC, Index(BADG, 0x0B)) } Else { If(LEqual(_T_0, 0x0D)) { Store(^^LPC.EC0.LCDS, Index(BADG, 0x0C)) } Else { If(LEqual(_T_0, 0x0E)) { Store(^^LPC.EC0.BBET, Index(BADG, 0x0D)) } } } } } } } } } } Method(WSDS, 2, NotSerialized) { Store(Arg1, BUFF) Store(Arg0, Local0) Store(BF00, Local1) Store(Zero, Index(BADG, Subtract(Local0, One))) Name(_T_0, Zero) Store(Local1, _T_0) If(LEqual(_T_0, Zero)) { Name(_T_1, Zero) Store(Local0, _T_1) If(LEqual(_T_1, 0x04)) { Store(Zero, ^^LPC.EC0.WLAT) } Else { If(LEqual(_T_1, 0x05)) { Store(Zero, ^^LPC.EC0.BTAT) } Else { If(LEqual(_T_1, 0x06)) { Store(Zero, ^^LPC.EC0.BRTS) } Else { If(LEqual(_T_1, 0x07)) { Store(Zero, BAEF) } Else { If(LEqual(_T_1, 0x0B)) { Store(0x0100, BAEF) } Else { If(LEqual(_T_1, 0x0F)) { Store(Zero, ^^LPC.EC0.BBET) } Else { Store(0x0100, Index(BADG, Subtract(Local0, One))) } } } } } } } Else { Name(_T_2, Zero) Store(Local0, _T_2) If(LEqual(_T_2, 0x04)) { Store(One, ^^LPC.EC0.WLAT) } Else { If(LEqual(_T_2, 0x05)) { Store(One, ^^LPC.EC0.BTAT) } Else { If(LEqual(_T_2, 0x06)) { Store(Local1, ^^LPC.EC0.BRTS) } Else { If(LEqual(_T_2, 0x07)) { Store(One, BAEF) } Else { If(LEqual(_T_2, 0x0F)) { Store(One, ^^LPC.EC0.BBET) } Else { Store(0x0100, Index(BADG, Subtract(Local0, One))) } } } } } } } Method(OEMN, 0, NotSerialized) { If(LEqual(BGEF, One)) { Store(NTDV, Local0) If(LNotEqual(Local0, Zero)) { Store(Zero, NTDV) Return(Local0) } } If(LEqual(BAEF, One)) { Store(NTDC, Local0) If(LNotEqual(Local0, Zero)) { Store(Zero, NTDC) Return(Local0) } } If(LEqual(BFEF, One)) {} } Method(STRL, 2, NotSerialized) { Store(Arg0, Local0) Store(Arg1, BUFF) Store(Zero, BBSB) Name(_T_0, Zero) Store(Local0, _T_0) If(LEqual(_T_0, One)) { Store(^^LPC.EC0.THRO(Zero), Local1) If(And(Local1, One)) { Store(^^LPC.EC0.THRO(One), Local1) Store(Local1, BBSB) } } Else { If(LEqual(_T_0, 0x02)) { Store(BF00, Local1) ^^LPC.EC0.CLCK(Local1) } Else { Store(0x00010000, BBSB) } } } Method(WODP, 2, NotSerialized) { Name(_T_0, Zero) Store(Arg0, _T_0) If(LEqual(_T_0, 0x03)) { Store(^^LPC.EC0.LANC, Index(BCDS, Subtract(Arg0, One))) } Else { If(LNotEqual(Match(Package(8) {One, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}, MEQ, _T_0, MTR, Zero, Zero), Ones)) { Store(One, Index(BCDS, Subtract(Arg0, One))) } Else { If(LEqual(_T_0, 0x0C)) { If(Arg1) { Store(One, ^^LPC.EC0.LANC) } Else { Store(Zero, ^^LPC.EC0.LANC) } Store(Zero, Index(BCDS, Subtract(Arg0, 0x0A))) } Else { Store(One, Index(BCDS, Subtract(Arg0, One))) } } } } Method(GCPU, 1, NotSerialized) { Store(DSY5, DSY0) Store(Arg0, Local0) Store(IHWM(Zero, Arg0), Local2) Store(Local2, DSY6) Store(DY60, DY00) Store(DY61, DY01) Store(DY62, DY02) Store(DY63, DY03) } Method(MSRR, 1, NotSerialized) { Store(DSY3, DSY1) Store(Arg0, DY00) Store(IHWM(One, Arg0), Local2) Store(Local2, DSY6) Store(DY60, DY10) Store(DY61, DY11) Store(Zero, WIT0) Store(WIT0, DY12) } Method(MSRW, 1, NotSerialized) { Store(DSY3, DSY1) Store(IHWM(0x02, Arg0), Local2) Store(Local2, DSY6) Store(DY60, DY10) Store(DY61, DY11) Store(Zero, WIT0) Store(WIT0, DY12) } Method(C4C3, 2, NotSerialized) { Store(Arg1, BUFF) Store(BF00, Local1) If(LEqual(Arg0, 0x04)) { GCPU(0x05) Store(DY00, BUFF) If(And(BF02, 0x03)) { Store(Local1, ^^LPC.C4O3) Store(Local1, Index(BCDS, 0x09)) } Else { Store(0x00010000, Index(BCDS, 0x09)) } } Else { Store(^^LPC.C4O3, Index(BCDS, 0x09)) } } Method(CPUF, 0, NotSerialized) { Store(^^LPC.EC0.THFN, Local0) Multiply(Local0, 0x64, Local1) Store(Local1, Index(BCDS, 0x0A)) } Method(CPUT, 0, NotSerialized) { Store(^^LPC.EC0.CTMP, Index(BCDS, 0x0B)) } Method(PCIR, 1, NotSerialized) { Store(Arg0, Local0) Store(IHWM(0x03, Arg0), Local2) Store(Local2, DY20) Store(Local2, DSY6) Store(DSY4, DSY2) Store(DY60, DY20) } Method(PCIW, 1, NotSerialized) { Store(Arg0, Local0) Store(Arg0, DY20) Store(IHWM(0x04, Arg0), Local2) Store(Local2, DSY6) Store(DY61, BUFF) } Method(CPUS, 0, NotSerialized) { Store(IHWM(0x05, Zero), Local2) Store(Local2, BUFF) Store(BUFF, Index(BCDS, 0x0C)) } Method(PCID, 1, NotSerialized) { Store(IHWM(0x06, Arg0), Local2) Store(Local2, DSY6) } Method(BTIF, 2, NotSerialized) { Store(Arg0, Local0) Store(Arg1, BUFF) If(LEqual(Local0, 0x13)) { Store(BF00, Local1) Store(BF04, BF00) Store(Local1, BF04) } If(LEqual(Local0, 0x0D)) { Store(BF02, BF00) Store(BF01, Local1) Store(BF02, BF00) Store(BF01, Local1) } If(LEqual(Local0, 0x0E)) { If(LEqual(BF00, Zero)) { Store(0xFF, BF00) } Else { Store(BF00, Local1) Store(One, BF00) } } Name(_T_0, Zero) Store(BF00, _T_0) If(LEqual(_T_0, One)) { If(LEqual(^^LPC.EC0.BDC0, Zero)) { Store(0x00020000, Local1) Decrement(Local0) Store(Local1, Index(BEDS, Local0)) } Else { Name(_T_1, Zero) Store(Local0, _T_1) If(LEqual(_T_1, One)) { Store(Zero, Index(BEDS, Zero)) } Else { If(LEqual(_T_1, 0x02)) { Store(^^LPC.EC0.BPTC, Index(BEDS, One)) } Else { If(LEqual(_T_1, 0x03)) { Store(^^LPC.EC0.BPV0, Index(BEDS, 0x02)) } Else { If(LEqual(_T_1, 0x04)) { Store(^^LPC.EC0.BSCU, Index(BEDS, 0x03)) } Else { If(LEqual(_T_1, 0x05)) { Store(^^LPC.EC0.BRC0, Index(BEDS, 0x04)) } Else { If(LEqual(_T_1, 0x06)) { Store(^^LPC.EC0.BFC0, Index(BEDS, 0x05)) } Else { If(LEqual(_T_1, 0x07)) { Store(^^LPC.EC0.BSCY, Index(BEDS, 0x06)) } Else { If(LEqual(_T_1, 0x08)) { Store(^^LPC.EC0.BDC0, Index(BEDS, 0x07)) } Else { If(LEqual(_T_1, 0x09)) { Store(^^LPC.EC0.BDV0, Index(BEDS, 0x08)) } Else { If(LEqual(_T_1, 0x0A)) { Store(^^LPC.EC0.BDAD, Index(BEDS, 0x09)) } Else { If(LEqual(_T_1, 0x0B)) { Store(^^LPC.EC0.BSN0, Index(BEDS, 0x0A)) } Else { If(LEqual(_T_1, 0x0C)) { If(LEqual(^^LPC.EC0.ACIS, One)) { Store(Zero, ^^LPC.EC0.PSRC) Store(One, Index(BEDS, 0x0B)) } Else { Store(0x00020000, Index(BEDS, 0x0B)) } } Else { If(LEqual(_T_1, 0x0D)) { Store(Local1, ^^LPC.EC0.BTMA) Store(One, ^^LPC.EC0.SCCF) Store(One, Index(BEDS, 0x0C)) } Else { If(LEqual(_T_1, 0x0E)) { Store(Local1, ^^LPC.EC0.BTPV) Store(Zero, ^^LPC.EC0.SCHG) Store(One, ^^LPC.EC0.SCPF) Store(One, Index(BEDS, 0x0D)) } Else { If(LEqual(_T_1, 0x0F)) { Store(^^LPC.EC0.BDFC, Index(BEDS, 0x0E)) } Else { If(LEqual(_T_1, 0x10)) { Store(^^LPC.EC0.BDME, Index(BEDS, 0x0F)) } Else { If(LEqual(_T_1, 0x11)) { If(And(One, ^^LPC.EC0.ADPT)) { Store(0x02BC, Index(BEDS, 0x10)) } Else { Store(0x0190, Index(BEDS, 0x10)) } } Else { If(LEqual(_T_1, 0x12)) { If(And(One, ^^LPC.EC0.ADPT)) { Store(0x01F4, Index(BEDS, 0x11)) } Else { Store(0x02, Index(BEDS, 0x11)) } } Else { If(LEqual(_T_1, 0x13)) { Name(_T_2, Zero) Store(BF04, _T_2) If(LEqual(_T_2, 0x03)) { Store(^^LPC.EC0.BATM, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x08)) { Store(^^LPC.EC0.BTTC, Local0) Add(Local0, 0x0111, Local0) Multiply(Local0, 0x0A, Local0) Store(Local0, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x09)) { Store(^^LPC.EC0.BPV0, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x0A)) { Store(^^LPC.EC0.BSCU, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x0F)) { Store(^^LPC.EC0.BRC0, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x17)) { Store(^^LPC.EC0.BSCY, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x18)) { Store(^^LPC.EC0.BDC0, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x19)) { Store(^^LPC.EC0.BDV0, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x1B)) { Store(^^LPC.EC0.BDAD, Index(BEDS, 0x12)) } Else { If(LEqual(_T_2, 0x1C)) { Store(^^LPC.EC0.BSN0, Index(BEDS, 0x12)) } Else {} } } } } } } } } } } Else {} } } } } } } } } } } } } } } } } } } } } Else { Name(_T_3, Zero) Store(Local0, _T_3) If(LEqual(_T_3, One)) { Store(0x00020000, Index(BEDS, Zero)) } Else { If(LEqual(_T_3, 0x02)) { Store(0x00020000, Index(BEDS, One)) } Else { If(LEqual(_T_3, 0x03)) { Store(0x00020000, Index(BEDS, 0x02)) } Else { If(LEqual(_T_3, 0x04)) { Store(0x00020000, Index(BEDS, 0x03)) } Else { If(LEqual(_T_3, 0x05)) { Store(0x00020000, Index(BEDS, 0x04)) } Else { If(LEqual(_T_3, 0x06)) { Store(0x00020000, Index(BEDS, 0x05)) } Else { If(LEqual(_T_3, 0x07)) { Store(0x00020000, Index(BEDS, 0x06)) } Else { If(LEqual(_T_3, 0x08)) { Store(0x00020000, Index(BEDS, 0x07)) } Else { If(LEqual(_T_3, 0x09)) { Store(0x00020000, Index(BEDS, 0x08)) } Else { If(LEqual(_T_3, 0x0A)) { Store(0x00020000, Index(BEDS, 0x09)) } Else { If(LEqual(_T_3, 0x0B)) { Store(0x00020000, Index(BEDS, 0x0A)) } Else { If(LEqual(_T_3, 0x0C)) { If(LEqual(^^LPC.EC0.BDC0, Zero)) { Store(0x00030000, Index(BEDS, 0x0B)) } Else { Store(One, ^^LPC.EC0.PSRC) Store(One, Index(BEDS, 0x0B)) } } Else { If(LEqual(_T_3, 0x0D)) { Store(0x00020000, Index(BEDS, 0x0C)) } Else { If(LEqual(_T_3, 0x0E)) { Store(One, ^^LPC.EC0.SCHG) Store(One, ^^LPC.EC0.SCPF) Store(One, Index(BEDS, 0x0D)) } Else { If(LEqual(_T_3, 0x0F)) { Store(0x00020000, Index(BEDS, 0x0E)) } Else { If(LEqual(_T_3, 0x10)) { Store(0x00020000, Index(BEDS, 0x0F)) } Else { If(LEqual(_T_3, 0x11)) { If(And(One, ^^LPC.EC0.ADPT)) { Store(0x02BC, Index(BEDS, 0x10)) } Else { Store(0x0190, Index(BEDS, 0x10)) } } Else { If(LEqual(_T_3, 0x12)) { If(And(One, ^^LPC.EC0.ADPT)) { Store(0x01F4, Index(BEDS, 0x11)) } Else { Store(0x02, Index(BEDS, 0x11)) } } } } } } } } } } } } } } } } } } } } } Method(CKGS, 0, NotSerialized) { Store(One, GSTS) Return(GSTS) } Method(WSHP, 1, NotSerialized) { } Method(WSSL, 1, NotSerialized) { } Method(WSSP, 1, NotSerialized) { } Method(WSSE, 1, NotSerialized) { } Method(WSVE, 1, NotSerialized) { Store(Arg0, Local0) If(LEqual(Local0, One)) { Store(One, BGEF) } Else { Store(Zero, BGEF) } Store(Zero, Index(BGDS, Zero)) } Method(GBDS, 0, NotSerialized) { IHWM(0x07, Zero) Store(DI00, DSY4) Store(DSY4, BO01) Store(Zero, BO02) Store(Zero, BO03) Store(Zero, BO04) } Method(SBDS, 1, NotSerialized) { IHWM(0x08, Arg0) } Name(_WDG, Buffer(0xF0) { 0x09, 0x4E, 0x76, 0x95, 0x56, 0xFB, 0x83, 0x4E, 0xB3, 0x1A, 0x37, 0x76, 0x1F, 0x60, 0x99, 0x4A, 0x41, 0x41, 0x01, 0x01, 0x58, 0xF2, 0xF4, 0x6A, 0x01, 0xB4, 0xFD, 0x42, 0xBE, 0x91, 0x3D, 0x4A, 0xC2, 0xD7, 0xC0, 0xD3, 0x42, 0x41, 0x01, 0x02, 0xAC, 0x61, 0x1A, 0xCC, 0x56, 0x42, 0xA3, 0x41, 0xB9, 0xE0, 0x05, 0xA4, 0x45, 0xAD, 0xE2, 0xF5, 0x80, 0x00, 0x01, 0x08, 0x53, 0x44, 0x8C, 0xE7, 0x27, 0x02, 0x61, 0x48, 0x9E, 0xDE, 0xF5, 0x60, 0x0B, 0x4A, 0x3D, 0x39, 0x42, 0x42, 0x01, 0x02, 0x7B, 0x4F, 0xE0, 0xAA, 0xC5, 0xB3, 0x65, 0x48, 0x95, 0xD6, 0x9F, 0xAC, 0x7F, 0xF3, 0xE9, 0x2B, 0x42, 0x43, 0x01, 0x02, 0x79, 0x4C, 0xF9, 0xCF, 0x77, 0x6C, 0xF7, 0x4A, 0xAC, 0x56, 0x7D, 0xD0, 0xCE, 0x01, 0xC9, 0x97, 0x42, 0x44, 0x01, 0x02, 0xC5, 0x2E, 0x77, 0x79, 0xB1, 0x04, 0xFD, 0x4B, 0x84, 0x3C, 0x61, 0xE7, 0xF7, 0x7B, 0x6C, 0xC9, 0x42, 0x45, 0x01, 0x02, 0xB7, 0xA0, 0xC9, 0xA7, 0x9D, 0x4C, 0x72, 0x4C, 0x83, 0xBB, 0x53, 0xA3, 0x45, 0x91, 0x71, 0xDF, 0x42, 0x46, 0x01, 0x02, 0x4F, 0x06, 0x3A, 0x65, 0x3A, 0xA2, 0x5F, 0x48, 0xB3, 0xD9, 0x13, 0xF6, 0x53, 0x2A, 0x01, 0x82, 0x42, 0x47, 0x01, 0x02, 0x45, 0xDD, 0x23, 0x59, 0x80, 0x04, 0xD5, 0x4E, 0xB6, 0x1A, 0xC9, 0xEC, 0x6C, 0x90, 0xE2, 0x6A, 0x42, 0x48, 0x01, 0x02, 0xA7, 0xB1, 0x85, 0xDB, 0x9A, 0x06, 0xBB, 0x4A, 0xA2, 0xB5, 0xD1, 0x86, 0xA2, 0x1B, 0x80, 0xF1, 0x81, 0x00, 0x01, 0x08, 0x91, 0x6B, 0x91, 0x36, 0x64, 0x1A, 0x83, 0x45, 0x84, 0xD0, 0x53, 0x83, 0x0F, 0xB9, 0x10, 0x8D, 0x82, 0x00, 0x01, 0x08 }) Method(WQAA, 1, NotSerialized) { AAF1() Store(AADS, BUFF) Return(BUFF) } Method(WMBA, 3, NotSerialized) { Name(_T_0, Zero) Store(Arg1, _T_0) If(LNotEqual(Match(Package(9) {One, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0E}, MEQ, _T_0, MTR, Zero, Zero), Ones)) { Store(Zero, Local0) } Else { If(LNotEqual(Match(Package(6) {0x04, 0x05, 0x06, 0x07, 0x0B, 0x0F}, MEQ, _T_0, MTR, Zero, Zero), Ones)) { If(LEqual(Arg1, 0x07)) { Store(Arg2, BUFF) If(BF00) { Store(One, BAEF) } } Store(One, Local0) } } If(Local0) { WSDS(Arg1, Arg2) } Else { WGDS(Arg1) } Store(DerefOf(Index(BADG, Subtract(Arg1, One))), BUFF) Return(BUFF) } Method(_WED, 1, NotSerialized) { If(LGreaterEqual(Arg0, 0x80)) { If(LLess(Arg0, 0x83)) { Return(OEMN()) } } } Method(WMBB, 3, NotSerialized) { STRL(Arg1, Arg2) If(LEqual(Arg1, One)) { Store(BBSB, BUFF) } If(LEqual(Arg1, 0x02)) { Store(BBD1, BUFF) } Return(BUFF) } Method(WMBC, 3, NotSerialized) { WODP(Arg1, Arg2) If(LLess(Arg1, 0x0A)) { Subtract(Arg1, One, Local0) Store(DerefOf(Index(BCDS, Subtract(Arg1, One))), BUFF) } Else { ShiftRight(DerefOf(Index(BCDS, Subtract(Arg1, 0x0A))), 0x10, BUFF) } Return(BUFF) } Method(WMBD, 3, NotSerialized) { If(LEqual(Arg1, One)) { Store(Arg2, BUFF) Store(BUFF, Local0) Store(Arg2, WIT0) GCPU(WIT0) Return(DSY0) } If(LEqual(Arg1, 0x02)) { Store(Arg2, Local0) MSRR(Arg2) Return(DSY1) } If(LEqual(Arg1, 0x03)) { Store(Arg2, Local0) MSRW(Arg2) Return(DSY1) } If(LEqual(Arg1, 0x04)) { C4C3(Arg1, Arg2) ShiftRight(DerefOf(Index(BCDS, Add(Arg1, 0x05))), 0x10, BUFF) Return(BUFF) } If(LEqual(Arg1, 0x05)) { C4C3(Arg1, Arg2) Store(DerefOf(Index(BCDS, Add(Arg1, 0x04))), BUFF) Return(BUFF) } If(LEqual(Arg1, 0x06)) { CPUF() Store(DerefOf(Index(BCDS, Add(Arg1, 0x04))), BUFF) Return(BUFF) } If(LEqual(Arg1, 0x07)) { CPUT() Store(DerefOf(Index(BCDS, Add(Arg1, 0x04))), BUFF) Return(BUFF) } If(LEqual(Arg1, 0x08)) { Store(Arg2, WPRW) Store(WWD1, WPIR) Store(WWD2, WPIF) Store(WWD3, WPID) Store(WWD4, WPIB) Concatenate(WPCI, WWD0, Local0) PCIR(Local0) Return(DSY2) } If(LEqual(Arg1, 0x09)) { Store(Arg2, DSY6) Store(DY60, Local0) Store(Arg2, DSY0) Store(DY01, WPRW) Store(WWD1, WPIR) Store(WWD2, WPIF) Store(WWD3, WPID) Store(WWD4, WPIB) Store(WPCI, Local1) Concatenate(DY60, WPCI, Local0) Concatenate(Local0, WWD0, Local1) PCIW(Local1) Return(BUFF) } If(LEqual(Arg1, 0x0A)) { CPUS() Store(DerefOf(Index(BCDS, Add(Arg1, 0x02))), BUFF) Return(BUFF) } If(LEqual(Arg1, 0x0B)) { PCID(Arg2) Return(DSY6) } } Method(WMBE, 3, NotSerialized) { BTIF(Arg1, Arg2) Store(DerefOf(Index(BEDS, Subtract(Arg1, One))), BUFF) Return(BUFF) } Method(WMBF, 3, NotSerialized) { If(LGreater(Arg1, 0x04)) { Store(0x02, BF00) Store(Zero, BF01) Store(Zero, BF02) Store(Zero, BF03) Return(BUFF) } If(CKGS()) { Store(Arg2, BUFF) If(LEqual(Arg1, One)) { WSHP(BF00) } Else { If(LEqual(Arg1, 0x02)) { WSSL(BF00) } Else { If(LEqual(Arg1, 0x03)) { WSSP(BF00) } Else { WSSE(BF00) } } } Store(DerefOf(Index(BFDS, Subtract(Arg1, One))), BUFF) Store(BUFF, Debug) } Else { Store(0x03, BF00) Store(Zero, BF01) Store(Zero, BF02) Store(Zero, BF03) } Return(BUFF) } Method(WMBG, 3, NotSerialized) { Store(Arg2, BUFF) WSVE(BF00) Store(DerefOf(Index(BGDS, Subtract(Arg1, One))), BUFF) Store(BUFF, Debug) Return(BUFF) } Method(WMBH, 3, NotSerialized) { Store(0x44, P80H) If(LEqual(Arg1, 0x04)) { GBDS() Return(BOOT) } If(LEqual(Arg1, 0x05)) { SBDS(Arg2) Store(Zero, Index(BUF1, Zero)) Store(Zero, Index(BUF1, One)) Store(Zero, Index(BUF1, 0x02)) Store(Zero, Index(BUF1, 0x03)) Return(BUF1) } If(LEqual(Arg1, 0x0A)) { If(LEqual(D2DE, Zero)) { Store(One, Index(BUF1, Zero)) } Else { Store(Zero, Index(BUF1, Zero)) } Store(Zero, Index(BUF1, 0x02)) Store(Zero, Index(BUF1, 0x03)) Return(BUF1) } } } Device(AZAL) { Name(_ADR, 0x001B0000) OperationRegion(HDCS, PCI_Config, 0x54, 0x04) Field(HDCS, DWordAcc, NoLock, Preserve) { Offset(0x1), //Offset(1), , 7, PMES, 1, } Method(_PRW, 0, NotSerialized) { If(LEqual(WKMD, One)) { Return(Package(2) {0x0D, 0x03}) } Else { Return(Package(2) {0x0D, Zero}) } } } } } }