/* RSD PTR: OEM=PTLTD, ACPI_Rev=2.0x (2) XSDT=0x0000000077d95146, length=36, cksum=245 */ /* XSDT: Length=100, Revision=1, Checksum=28, OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x0000000077d9bb94, 0x0000000077d9bc88, 0x0000000077d9bcd8, 0x0000000077d9be4e, 0x0000000077d9be8a, 0x0000000077d96ae3, 0x0000000077d965cb, 0x0000000077d951aa } */ /* FACP: Length=244, Revision=3, Checksum=194, OEMID=SiS, OEM Table ID=671MX, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0xf4240 FACS=0x77d9cfc0, DSDT=0x77d96d2a INT_MODEL=PIC Preferred_PM_Profile=Mobile (2) SCI_INT=11 SMI_CMD=0x8048, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_CNT_BLK=0x8016-0x8016 PM_TMR_BLK=0x8008-0x800b GPE0_BLK=0x8020-0x8023 GPE1_BLK=0x8030-0x8033, GPE1_BASE=16 P_LVL2_LAT=190 us, P_LVL3_LAT=1900 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=126, MON_ALRM=127, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON} X_FACS=0x0000000077d9cfc0, X_DSDT=0x0000000077d96d2a X_PM1a_EVT_BLK=0x8000:0[32] (IO) X_PM1a_CNT_BLK=0x8004:0[16] (IO) X_PM2_CNT_BLK=0x8016:0[8] (IO) X_PM_TMR_BLK=0x8008:0[32] (IO) X_GPE0_BLK=0x8020:0[32] (IO) X_GPE1_BLK=0x8030:0[32] (IO) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=19958, Revision=1, Checksum=196, OEMID=PTLTD, OEM Table ID=671, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x3000000 */ /* APIC: Length=80, Revision=1, Checksum=115, OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=0 Flags={ENABLED} APIC ID=0 Type=IO APIC APIC ID=1 INT BASE=0 ADDR=0x00000000fec00000 Type=Local APIC NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=active-hi, Trigger=edge} */ /* SLIC: Length=374, Revision=1, Checksum=0, OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* MCFG: Length=60, Revision=1, Checksum=103, OEMID=PTLTD, OEM Table ID= MCFG, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Base Address=0x00000000e0000000 Segment Group=0x0000 Start Bus=0 End Bus=0 */ /* SLIC: Length=374, Revision=1, Checksum=0, OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* SSDT: Length=583, Revision=1, Checksum=25, OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20050228 */ /* SSDT: Length=1304, Revision=1, Checksum=250, OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001, Creator ID=INTL, Creator Revision=0x20050228 */ /* SSDT: Length=5153, Revision=1, Checksum=75, OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20050228 */ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20170303 (32-bit version) * Copyright (c) 2000 - 2017 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of /tmp/acpidump.Akv3gb/acpdump.din, Wed Nov 29 09:49:51 2017 * * Original Table Header: * Signature "DSDT" * Length 0x0000690A (26890) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0xEA * OEM ID "PTLTD " * OEM Table ID "671" * OEM Revision 0x06040000 (100925440) * Compiler ID "MSFT" * Compiler Version 0x03000000 (50331648) */ DefinitionBlock ("", "DSDT", 1, "PTLTD ", "671", 0x06040000) { OperationRegion (Z000, SystemIO, 0x8042, 0x01) Field (Z000, ByteAcc, NoLock, Preserve) { Z001, 8 } OperationRegion (Z002, SystemIO, 0x8004, 0x01) Field (Z002, ByteAcc, NoLock, Preserve) { Z003, 8 } Scope (\_SB) { Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0x77D9CF4C, 0x00000001) Field (OSTY, AnyAcc, NoLock, Preserve) { TPOS, 8 } Method (OSTP, 0, NotSerialized) { If ((^OSTB == Ones)) { If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Windows 2001.1")) { ^OSTB = 0x20 ^TPOS = 0x20 } ElseIf (\_OSI ("Windows 2001 SP1")) { ^OSTB = 0x10 ^TPOS = 0x10 } ElseIf (\_OSI ("Windows 2001")) { ^OSTB = 0x08 ^TPOS = 0x08 } Else { ^OSTB = 0x00 ^TPOS = 0x00 } } ElseIf (CondRefOf (\_OS, Local0)) { If (^SEQL (\_OS, "Microsoft Windows")) { ^OSTB = 0x01 ^TPOS = 0x01 } ElseIf (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition")) { ^OSTB = 0x02 ^TPOS = 0x02 } ElseIf (^SEQL (\_OS, "Microsoft Windows NT")) { ^OSTB = 0x04 ^TPOS = 0x04 } Else { ^OSTB = 0x00 ^TPOS = 0x00 } } Else { ^OSTB = 0x00 ^TPOS = 0x00 } } Return (^OSTB) /* \_SB_.OSTB */ } Method (SEQL, 2, Serialized) { Local0 = SizeOf (Arg0) Local1 = SizeOf (Arg1) If ((Local0 != Local1)) { Return (Zero) } Name (BUF0, Buffer (Local0){}) BUF0 = Arg0 Name (BUF1, Buffer (Local0){}) BUF1 = Arg1 Local2 = Zero While ((Local2 < Local0)) { Local3 = DerefOf (BUF0 [Local2]) Local4 = DerefOf (BUF1 [Local2]) If ((Local3 != Local4)) { Return (Zero) } Local2++ } Return (One) } } Name (_S0, Package (0x02) // _S0_: S0 System State { 0x00, 0x00 }) Name (_S3, Package (0x02) // _S3_: S3 System State { 0x03, 0x03 }) Name (_S4, Package (0x02) // _S4_: S4 System State { 0x04, 0x04 }) Name (_S5, Package (0x02) // _S5_: S5 System State { 0x05, 0x05 }) Name (FWSO, "FWSO") Name (_PSC, 0x00) // _PSC: Power State Current Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { Local0 = _PSC /* \_PSC */ _PSC = 0x00 If ((Local0 == 0x03)) { \_SB.INF = 0x01 While (\_SB.INF) { \_SB.BCMD = 0x20 \_SB.SMIC = Zero If (((\_SB.INF == 0x01) && (\_SB.OSTB >= 0x04))) { Sleep (0x01F4) } } } } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { _PSC = 0x03 } Scope (_SI) { Method (_SST, 1, NotSerialized) // _SST: System Status { If ((Arg0 == 0x01)){} If ((Arg0 == 0x02)){} If ((Arg0 == 0x03)){} If ((Arg0 == 0x04)){} If ((Arg0 == 0x00)){} } } Scope (_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06){} Processor (CPU1, 0x01, 0x00008010, 0x06){} Processor (CPU2, 0x02, 0x00008010, 0x06){} Processor (CPU3, 0x03, 0x00008010, 0x06){} Processor (CPU4, 0x04, 0x00008010, 0x06){} Processor (CPU5, 0x05, 0x00008010, 0x06){} Processor (CPU6, 0x06, 0x00008010, 0x06){} Processor (CPU7, 0x07, 0x00008010, 0x06){} } Scope (_GPE) { Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB1, 0x02) // Device Wake } Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB2, 0x02) // Device Wake } Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0, 0x02) // Device Wake } Method (_L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE { \_SB.DBPG = 0xFA Notify (\_TZ.TZ01, 0x80) // Thermal Status Change Sleep (0x012C) \_SB.PCI0.LPC.TRIP = 0x01 } Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0, 0x02) // Device Wake } Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB0, 0x02) // Device Wake } } Name (\CTYP, 0x00) Method (DTSF, 1, Serialized) { \_SB.BCMD = 0x49 \_SB.DID = Arg0 \_SB.SMIC = 0x00 } Scope (\_TZ) { Name (THPP, 0x00) Method (KELV, 1, NotSerialized) { If ((Arg0 > 0x7F)) { Local0 = (Arg0 ^ 0xFF) Local0 += 0x01 Local0 *= 0x0A Local1 = (0x0AAC - Local0) } Else { Local0 = (Arg0 * 0x0A) Local1 = (Local0 + 0x0AAC) } Return (Local1) } ThermalZone (TZ01) { Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return (KELV (\_SB.CRTT)) } Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy { CTYP = Arg0 } Method (_TMP, 0, Serialized) // _TMP: Temperature { \_SB.DBPG = 0x91 If ((THPP == 0x69)) { Return (KELV (THPP)) } If (\_SB.DTSE) { If ((\_SB.DTS1 >= \_SB.DTS2)) { If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00)) { \_SB.DBPG = 0x92 \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS1 } \_SB.DBPG = 0x93 Return (KELV (\_SB.DTS1)) } Else { If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00)) { \_SB.DBPG = 0x94 \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS2 } \_SB.DBPG = 0x95 Return (KELV (\_SB.DTS2)) } } ElseIf ((\_SB.PCI0.LPC.EC0.FGEC == 0x00)) { \_SB.DBPG = 0x96 Return (KELV (0x1E)) } Else { \_SB.DBPG = 0x97 Return (KELV (\_SB.PCI0.LPC.EC0.XHPP)) } } Method (_PSL, 0, Serialized) // _PSL: Passive List { If (\_SB.MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return ((0x0AAC + (\_SB.PSVT * 0x0A))) } Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1 { Return (\_SB.TC1V) } Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2 { Return (\_SB.TC2V) } Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period { Return (\_SB.TSPV) } } } Scope (_SB) { OperationRegion (CMS1, SystemIO, 0x70, 0x02) Field (CMS1, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x60), , 1, PFID, 3 } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { \_SB }) Name (PAK0, Package (0x0D) { 0x00, 0x1130, 0x1130, 0x00, 0x3138, 0x18, 0x18, 0x18, 0x16, "L41SA", "001 ", "LiON", "ECS " }) Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00)) { Return (PAK0) /* \_SB_.BAT0.PAK0 */ } Else { Acquire (\_SB.MUTX, 0xFFFF) PAK0 [0x00] = \_SB.PCI0.LPC.EC0.XIF0 PAK0 [0x01] = \_SB.PCI0.LPC.EC0.XIF1 Local0 = \_SB.PCI0.LPC.EC0.XIF2 PAK0 [0x02] = Local0 PAK0 [0x03] = \_SB.PCI0.LPC.EC0.XIF3 PAK0 [0x04] = \_SB.PCI0.LPC.EC0.XIF4 PAK0 [0x05] = (Local0 / 0x64) PAK0 [0x06] = (Local0 / 0x64) PAK0 [0x07] = \_SB.PCI0.LPC.EC0.XIF7 Local1 = \_SB.OCID Local3 = \_SB.PRID If ((Local3 == 0x00)) { If ((Local1 == 0x00)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x01)) { PAK0 [0x09] = "L51SA" PAK0 [0x0C] = "ECS " } Else { PAK0 [0x09] = "L41SA" PAK0 [0x0C] = "ECS " } } ElseIf ((Local1 == 0x01)) { PAK0 [0x09] = "T61" PAK0 [0x0C] = "Haier " } ElseIf ((Local1 == 0x02)) { PAK0 [0x09] = "L51SA" PAK0 [0x0C] = "ECS " } ElseIf ((Local1 == 0x03)) { PAK0 [0x09] = " " PAK0 [0x0C] = "Hasee " } ElseIf ((Local1 == 0x04)) { PAK0 [0x09] = "K42A " PAK0 [0x0C] = "TCL " } } ElseIf ((Local3 == 0x01)) { If ((Local1 == 0x00)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x05)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x07)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } } Else { If ((Local1 == 0x01)) { PAK0 [0x09] = "A60x" PAK0 [0x0C] = "Haier " } If ((Local1 == 0x02)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x05)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x07)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } } If ((Local1 == 0x03)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local1 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local1 == 0x05)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x05)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x07)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } } If ((Local1 == 0x06)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x05)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x07)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } } If ((Local1 == 0x07)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x05)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } If ((Local2 == 0x07)) { PAK0 [0x09] = " " PAK0 [0x0C] = "OEM " } } } } ElseIf ((Local3 == 0x02)) { If ((Local1 == 0x00)) { Local2 = \_SB.PCI0.LPC.EC0.MDTP If ((Local2 == 0x04)) { PAK0 [0x09] = "U30SA" PAK0 [0x0C] = "ECS " } ElseIf ((Local2 == 0x05)) { PAK0 [0x09] = "U40SA" PAK0 [0x0C] = "ECS " } Else { PAK0 [0x09] = "U50SA" PAK0 [0x0C] = "ECS " } } ElseIf ((Local1 == 0x01)) { PAK0 [0x09] = "T60x" PAK0 [0x0C] = "Haier " } ElseIf ((Local1 == 0x02)) { If ((Local2 == 0x04)) { PAK0 [0x09] = "U30SA" PAK0 [0x0C] = "ECS " } ElseIf ((Local2 == 0x05)) { PAK0 [0x09] = "U40SA" PAK0 [0x0C] = "ECS " } Else { PAK0 [0x09] = "U50SA" PAK0 [0x0C] = "ECS " } } ElseIf ((Local1 == 0x03)) { PAK0 [0x09] = " " PAK0 [0x0C] = "Hasee " } ElseIf ((Local1 == 0x04)) { PAK0 [0x09] = "K42A " PAK0 [0x0C] = "TCL " } } Release (\_SB.MUTX) Return (PAK0) /* \_SB_.BAT0.PAK0 */ } } Name (BFB0, Package (0x04) { 0x00, 0xFFFFFFFF, 0x1034, 0x3138 }) Method (_BST, 0, NotSerialized) // _BST: Battery Status { If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00)) { Return (BFB0) /* \_SB_.BAT0.BFB0 */ } Else { Acquire (\_SB.MUTX, 0xFFFF) BFB0 [0x00] = \_SB.PCI0.LPC.EC0.XST0 BFB0 [0x01] = \_SB.PCI0.LPC.EC0.XST1 BFB0 [0x02] = \_SB.PCI0.LPC.EC0.XST2 BFB0 [0x03] = \_SB.PCI0.LPC.EC0.XST3 Release (\_SB.MUTX) Return (BFB0) /* \_SB_.BAT0.BFB0 */ } } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00)) { Return (0x0F) } Else { Local0 = \_SB.PCI0.LPC.EC0.XTIN If (Local0) { Return (0x1F) } Else { Return (0x0F) } } } } Device (AC0) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { \_SB }) Method (_PSR, 0, NotSerialized) // _PSR: Power Source { If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00)) { Local0 = 0x01 } Else { Local0 = \_SB.PCI0.LPC.EC0.XCIN } Return (Local0) } } Device (PCI0) { Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID Name (_ADR, 0x00) // _ADR: Address Name (_BBN, 0x00) // _BBN: BIOS Bus Number Name (_UID, 0x00) // _UID: Unique ID OperationRegion (NCFG, PCI_Config, 0x00, 0xAF) Field (NCFG, ByteAcc, NoLock, Preserve) { Offset (0x50), DEFR, 8, Offset (0x53), PIPE, 8 } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0B, 0x05 }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_INI, 0, NotSerialized) // _INI: Initialize { If (\_SB.DTSE){} \_SB.OSTP () Local0 = Z003 /* \Z003 */ Local0 |= 0x02 Z003 = Local0 } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If ((\_SB.OSTP () == 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (OPS0, PCI_Config, 0x70, 0x04) Field (OPS0, ByteAcc, NoLock, Preserve) { FR70, 8, FR71, 8, FR72, 8, FR73, 8 } OperationRegion (MA, PCI_Config, 0x8E, 0x02) Field (MA, ByteAcc, NoLock, Preserve) { MAL, 8, MAH, 8 } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length 0x00,, , TypeStatic, DenseTranslation) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x04000000, // Range Minimum 0xFFEDFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0B, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateBitField (CRES, \_SB.PCI0._Y00._RW, C0RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, C0LN) // _LEN: Length C0RW = One C0LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x01)) { C0LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y01._RW, C4RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, C4LN) // _LEN: Length C4RW = One C4LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x02)) { C4LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y02._RW, C8RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y02._LEN, C8LN) // _LEN: Length C8RW = One C8LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x04)) { C8LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y03._RW, CCRW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y03._LEN, CCLN) // _LEN: Length CCRW = One CCLN = 0x4000 If ((\_SB.PCI0.FR70 & 0x08)) { CCLN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y04._RW, D0RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y04._LEN, D0LN) // _LEN: Length D0RW = One D0LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x10)) { D0LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y05._RW, D4RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, D4LN) // _LEN: Length D4RW = One D4LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x20)) { D4LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y06._RW, D8RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y06._LEN, D8LN) // _LEN: Length D8RW = One D8LN = 0x4000 If ((\_SB.PCI0.FR70 & 0x40)) { D8LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y07._RW, DCRW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y07._LEN, DCLN) // _LEN: Length DCRW = One DCLN = 0x4000 If ((\_SB.PCI0.FR70 & 0x80)) { DCLN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y08._RW, E0RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y08._LEN, E0LN) // _LEN: Length E0RW = One E0LN = 0x4000 If ((\_SB.PCI0.FR71 & 0x01)) { E0LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y09._RW, E4RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y09._LEN, E4LN) // _LEN: Length E4RW = One E4LN = 0x4000 If ((\_SB.PCI0.FR71 & 0x02)) { E4LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y0A._RW, E8RW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y0A._LEN, E8LN) // _LEN: Length E8RW = One E8LN = 0x4000 If ((\_SB.PCI0.FR71 & 0x04)) { E8LN = 0x00 } CreateBitField (CRES, \_SB.PCI0._Y0B._RW, ECRW) // _RW_: Read-Write Status CreateDWordField (CRES, \_SB.PCI0._Y0B._LEN, ECLN) // _LEN: Length ECRW = One ECLN = 0x4000 If ((\_SB.PCI0.FR71 & 0x80)) { ECLN = 0x00 } CreateDWordField (CRES, \_SB.PCI0._Y0C._MIN, RAMT) // _MIN: Minimum Base Address CreateDWordField (CRES, \_SB.PCI0._Y0C._LEN, RAMR) // _LEN: Length Local0 = (\_SB.PCI0.MAH << 0x18) Local1 = (\_SB.PCI0.MAL << 0x10) Local2 = (Local1 + Local0) RAMT = Local2 RAMR = (0xFFEE0000 - RAMT) /* \_SB_.PCI0._CRS.RAMT */ Return (CRES) /* \_SB_.PCI0.CRES */ } Device (IDEC) { Name (_ADR, 0x00020005) // _ADR: Address Name (IO5T, Package (0x03) { Package (0x07) { 0x78, 0xB4, 0x014A, 0x0186, 0x0258, 0x78, 0x96 }, Package (0x07) { 0x06, 0x07, 0x1C, 0x1C, 0x1C, 0x06, 0x07 }, Package (0x07) { 0x04, 0x09, 0x03, 0x09, 0x1E, 0x04, 0x06 } }) Name (IO6T, Package (0x03) { Package (0x07) { 0x78, 0xB4, 0x014A, 0x0186, 0x0258, 0x78, 0xB4 }, Package (0x07) { 0x09, 0x0A, 0x26, 0x26, 0x26, 0x09, 0x0A }, Package (0x07) { 0x05, 0x0C, 0x04, 0x0C, 0x28, 0x05, 0x0C } }) Name (UM5T, Package (0x06) { 0x0B, 0x07, 0x05, 0x04, 0x02, 0x01 }) Name (UM6T, Package (0x07) { 0x0F, 0x0A, 0x07, 0x05, 0x03, 0x02, 0x01 }) Name (PIO5, Package (0x05) { 0x3A, 0x25, 0x1F, 0x10, 0x0A }) Name (PIO6, Package (0x05) { 0x4E, 0x32, 0x2A, 0x16, 0x0E }) Name (CRCT, Package (0x07) { 0x06, 0x04, 0x03, 0x01, 0x01, 0x01, 0x01 }) Name (INTT, Package (0x05) { 0x02, 0x02, 0x02, 0x04, 0x06 }) Name (DMAT, Package (0x05) { 0x00, 0x01, 0x01, 0x01, 0x02 }) Name (RMFL, 0x01) OperationRegion (CF40, PCI_Config, 0x40, 0x18) Field (CF40, WordAcc, NoLock, Preserve) { , 1, IOR0, 1, UDM0, 1, UM60, 1, UCT0, 4, CRC0, 4, INI0, 4, ATT0, 6, Offset (0x03), RCT0, 6, Offset (0x04), , 1, IOR1, 1, UDM1, 1, UM61, 1, UCT1, 4, CRC1, 4, INI1, 4, ATT1, 6, Offset (0x07), RCT1, 6, Offset (0x08), , 1, IOR2, 1, UDM2, 1, UM62, 1, UCT2, 4, CRC2, 4, INI2, 4, ATT2, 6, Offset (0x0B), RCT2, 6, Offset (0x0C), , 1, IOR3, 1, UDM3, 1, UM63, 1, UCT3, 4, CRC3, 4, INI3, 4, ATT3, 6, Offset (0x0F), RCT3, 6, Offset (0x10), , 1, CHE0, 1, Offset (0x12), , 1, CHE1, 1, Offset (0x14), , 30, REMP, 1, Offset (0x18) } Name (IDEP, Buffer (0x14){}) CreateDWordField (IDEP, 0x00, GTM0) CreateDWordField (IDEP, 0x04, GTM1) CreateDWordField (IDEP, 0x08, GTM2) CreateDWordField (IDEP, 0x0C, GTM3) CreateDWordField (IDEP, 0x10, GTM4) Device (IDE0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local0 = 0xFFFFFFFF Local1 = 0xFFFFFFFF Local2 = 0xFFFFFFFF Local3 = 0xFFFFFFFF Local4 = 0x10 RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */ REMP = 0x00 If (CHE0) { If ((ATT0 != 0x00)) { Local5 = (RCT0 + 0x01) Local6 = (ATT0 + 0x01) Local5 += Local6 Local6 = (UM60 * 0x05) Local7 = (0x14 - Local6) Local0 = (Local5 * Local7) Local0 >>= 0x01 If ((Local0 <= 0xB4)) { Local1 = Local0 } If (IOR0) { Local4 |= 0x02 } If (UDM0) { Local5 = (UCT0 + 0x01) Local6 = (Local5 * Local7) Local1 = (Local6 >> 0x01) Local4 |= 0x01 } } If ((ATT1 != 0x00)) { Local5 = (RCT1 + 0x01) Local6 = (ATT1 + 0x01) Local5 += Local6 Local6 = (UM61 * 0x05) Local7 = (0x14 - Local6) Local2 = (Local5 * Local7) Local2 >>= 0x01 If ((Local2 <= 0xB4)) { Local3 = Local2 } If (IOR1) { Local4 |= 0x08 } If (UDM1) { Local5 = (UCT1 + 0x01) Local6 = (Local5 * Local7) Local3 = (Local6 >> 0x01) Local4 |= 0x04 } } } REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */ GTM0 = Local0 GTM1 = Local1 GTM2 = Local2 GTM3 = Local3 GTM4 = Local4 Return (IDEP) /* \_SB_.PCI0.IDEC.IDEP */ } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { IDEP = Arg0 Local0 = GTM0 /* \_SB_.PCI0.IDEC.GTM0 */ Local1 = GTM1 /* \_SB_.PCI0.IDEC.GTM1 */ Local2 = GTM2 /* \_SB_.PCI0.IDEC.GTM2 */ Local3 = GTM3 /* \_SB_.PCI0.IDEC.GTM3 */ Local4 = GTM4 /* \_SB_.PCI0.IDEC.GTM4 */ RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */ REMP = 0x00 If (((Local1 != 0xFFFFFFFF) && (Local1 != 0x00))) { If ((Local4 & 0x01)) { UDM0 = 0x01 If ((Local1 < 0x14)) { UM60 = 0x01 UCT0 = 0x01 } Else { UM60 = 0x00 Divide (Local1, 0x0A, Local6, Local5) Local5-- UCT0 = Local5 Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00) CRC0 = DerefOf (CRCT [Local5]) } } } If (((Local0 != 0xFFFFFFFF) && (Local0 != 0x00))) { If (UM60) { Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local0, MTR, 0x00, 0x00) ATT0 = DerefOf (DerefOf (IO6T [0x01]) [Local6]) RCT0 = DerefOf (DerefOf (IO6T [0x02]) [Local6]) } Else { Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local0, MTR, 0x00, 0x00) ATT0 = DerefOf (DerefOf (IO5T [0x01]) [Local6]) RCT0 = DerefOf (DerefOf (IO5T [0x02]) [Local6]) INI0 = DerefOf (INTT [Local6]) } } If (((Local3 != 0xFFFFFFFF) && (Local3 != 0x00))) { If ((Local4 & 0x04)) { UDM1 = 0x01 If ((Local3 < 0x14)) { UM61 = 0x01 UCT1 = 0x01 } Else { UM61 = 0x00 Divide (Local3, 0x0A, Local6, Local5) Local5-- UCT1 = Local5 Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00) CRC1 = DerefOf (CRCT [Local5]) } } } If (((Local2 != 0xFFFFFFFF) && (Local2 != 0x00))) { If (UM61) { Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local2, MTR, 0x00, 0x00) ATT1 = DerefOf (DerefOf (IO6T [0x01]) [Local6]) RCT1 = DerefOf (DerefOf (IO6T [0x02]) [Local6]) } Else { Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local2, MTR, 0x00, 0x00) ATT1 = DerefOf (DerefOf (IO5T [0x01]) [Local6]) RCT1 = DerefOf (DerefOf (IO5T [0x02]) [Local6]) INI1 = DerefOf (INTT [Local6]) } } REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */ } Device (DRV0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */ REMP = 0x00 If ((ATT0 != 0x00)) { Local5 = (ATT0 + RCT0) /* \_SB_.PCI0.IDEC.RCT0 */ If (UM60) { MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00) } Else { MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00) } If (UDM0) { If (UM60) { UMOD = Match (UM6T, MEQ, UCT0, MTR, 0x00, 0x00) } Else { UMOD = Match (UM5T, MEQ, UCT0, MTR, 0x00, 0x00) } UMOD |= 0x40 } Else { UMOD = DerefOf (DMAT [MODE]) UMOD |= 0x20 } MODE |= 0x08 } REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */ Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */ REMP = 0x00 If ((ATT1 != 0x00)) { Local5 = (ATT1 + RCT1) /* \_SB_.PCI0.IDEC.RCT1 */ If (UM61) { MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00) } Else { MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00) } If (UDM1) { If (UM61) { UMOD = Match (UM6T, MEQ, UCT1, MTR, 0x00, 0x00) } Else { UMOD = Match (UM5T, MEQ, UCT1, MTR, 0x00, 0x00) } UMOD |= 0x40 } Else { UMOD = DerefOf (DMAT [MODE]) UMOD |= 0x20 } MODE |= 0x08 } REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */ Concatenate (Local6, Local7, Local5) Return (Local5) } } } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRA |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0D) {} }) CreateWordField (RSRC, \_SB.PCI0.LNKA._CRS._Y0D._INT, IRQ0) // _INT: Interrupts If (((\_SB.PCI0.LPC.PIRA & 0x80) == Zero)) { Local0 = (\_SB.PCI0.LPC.PIRA & 0x0F) IRQ0 = (0x01 << Local0) } Return (RSRC) /* \_SB_.PCI0.LNKA._CRS.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRA = (Local0 | (\_SB.PCI0.LPC.PIRA & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRA & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0E) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRB |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKB._Y0E._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRB & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKB.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRB = (Local0 | (\_SB.PCI0.LPC.PIRB & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRB & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0F) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRC |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKC._Y0F._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRC & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKC.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRC = (Local0 | (\_SB.PCI0.LPC.PIRC & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRC & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y10) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRD |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKD._Y10._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRD & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKD.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRD = (Local0 | (\_SB.PCI0.LPC.PIRD & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRD & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRE |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y11) {} }) CreateWordField (RSRC, \_SB.PCI0.LNKE._CRS._Y11._INT, IRQ0) // _INT: Interrupts If (((\_SB.PCI0.LPC.PIRE & 0x80) == Zero)) { Local0 = (\_SB.PCI0.LPC.PIRE & 0x0F) IRQ0 = (0x01 << Local0) } Return (RSRC) /* \_SB_.PCI0.LNKE._CRS.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRE = (Local0 | (\_SB.PCI0.LPC.PIRE & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRE & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y12) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRF |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKF._Y12._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRF & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKF.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRF = (Local0 | (\_SB.PCI0.LPC.PIRF & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRF & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y13) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRG |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKG._Y13._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRG & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKG.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRG = (Local0 | (\_SB.PCI0.LPC.PIRG & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRG & 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y14) {} }) Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { \_SB.PCI0.LPC.PIRH |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LNKH._Y14._INT, IRQ0) // _INT: Interrupts Local0 = (\_SB.PCI0.LPC.PIRH & 0x0F) IRQ0 = (0x01 << Local0) Return (RSRC) /* \_SB_.PCI0.LNKH.RSRC */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- \_SB.PCI0.LPC.PIRH = (Local0 | (\_SB.PCI0.LPC.PIRH & 0x70)) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.LPC.PIRH & 0x80)) { Return (0x09) } Return (0x0B) } } Scope (\) { Name (PICF, 0x00) Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { PICF = Arg0 } } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (!PICF) { Return (PICM) /* \_SB_.PCI0.PICM */ } Else { Return (APIC) /* \_SB_.PCI0.APIC */ } } Scope (\_SB.PCI0) { Name (PICM, Package (0x24) { Package (0x04) { 0x000DFFFF, 0x00, LNKB, 0x00 }, Package (0x04) { 0x000DFFFF, 0x01, LNKC, 0x00 }, Package (0x04) { 0x000DFFFF, 0x02, LNKD, 0x00 }, Package (0x04) { 0x000DFFFF, 0x03, LNKA, 0x00 }, Package (0x04) { 0x000EFFFF, 0x00, LNKC, 0x00 }, Package (0x04) { 0x000EFFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0x000EFFFF, 0x02, LNKA, 0x00 }, Package (0x04) { 0x000EFFFF, 0x03, LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0002FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, LNKE, 0x00 }, Package (0x04) { 0x0003FFFF, 0x01, LNKF, 0x00 }, Package (0x04) { 0x0003FFFF, 0x02, LNKG, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, LNKD, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, LNKB, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0006FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x000FFFFF, 0x00, LNKC, 0x00 } }) Name (APIC, Package (0x24) { Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x000DFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x000DFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x000EFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x000EFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x000EFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x000EFFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0009FFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x001FFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0002FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0002FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x14 }, Package (0x04) { 0x0003FFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x0003FFFF, 0x02, 0x00, 0x16 }, Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0006FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0006FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x000FFFFF, 0x00, 0x00, 0x12 } }) } Device (SATA) { Name (_ADR, 0x00050000) // _ADR: Address Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (DMAT, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) OperationRegion (STMB, PCI_Config, 0x6C, 0x04) Field (STMB, ByteAcc, NoLock, Preserve) { PMIO, 3, , 1, PMDM, 3, Offset (0x01), PSIO, 3, , 1, PSDM, 3, Offset (0x02), SMIO, 3, , 1, SMDM, 3, Offset (0x03), SSIO, 3, , 1, SSDM, 3, Offset (0x04) } OperationRegion (STXT, PCI_Config, 0x50, 0x04) Field (STXT, ByteAcc, NoLock, Preserve) { , 1, PEXT, 1, Offset (0x02), , 1, SEXT, 1, Offset (0x04) } Name (IDES, Buffer (0x14){}) CreateDWordField (IDES, 0x00, STM0) CreateDWordField (IDES, 0x04, STM1) CreateDWordField (IDES, 0x08, STM2) CreateDWordField (IDES, 0x0C, STM3) CreateDWordField (IDES, 0x10, STM4) Device (SDE0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local0 = 0xFFFFFFFF Local1 = 0xFFFFFFFF Local2 = 0xFFFFFFFF Local3 = 0xFFFFFFFF Local4 = 0x10 If (PEXT) { Local0 = DerefOf (PIOT [PMIO]) Local1 = DerefOf (DMAT [PMDM]) Local2 = DerefOf (PIOT [PSIO]) Local3 = DerefOf (DMAT [PSDM]) Local4 |= 0x0F } STM0 = Local0 STM1 = Local1 STM2 = Local2 STM3 = Local3 STM4 = Local4 Return (IDES) /* \_SB_.PCI0.SATA.IDES */ } Device (DRV0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (PEXT) { MODE = PMIO /* \_SB_.PCI0.SATA.PMIO */ MODE |= 0x08 UMOD = PMDM /* \_SB_.PCI0.SATA.PMDM */ UMOD |= 0x40 } Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (PEXT) { MODE = PSIO /* \_SB_.PCI0.SATA.PSIO */ MODE |= 0x08 UMOD = PSDM /* \_SB_.PCI0.SATA.PSDM */ UMOD |= 0x40 } Concatenate (Local6, Local7, Local5) Return (Local5) } } } Device (SDE1) { Name (_ADR, 0x01) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local0 = 0xFFFFFFFF Local1 = 0xFFFFFFFF Local2 = 0xFFFFFFFF Local3 = 0xFFFFFFFF Local4 = 0x10 If (SEXT) { Local0 = DerefOf (PIOT [SMIO]) Local1 = DerefOf (DMAT [SMDM]) Local2 = DerefOf (PIOT [SSIO]) Local3 = DerefOf (DMAT [SSDM]) Local4 |= 0x0F } STM0 = Local0 STM1 = Local1 STM2 = Local2 STM3 = Local3 STM4 = Local4 Return (IDES) /* \_SB_.PCI0.SATA.IDES */ } Device (DRV0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (SEXT) { MODE = SMIO /* \_SB_.PCI0.SATA.SMIO */ MODE |= 0x08 UMOD = SMDM /* \_SB_.PCI0.SATA.SMDM */ UMOD |= 0x40 } Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Local6 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } Local7 = Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ } CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (SEXT) { MODE = SSIO /* \_SB_.PCI0.SATA.SSIO */ MODE |= 0x08 UMOD = SSDM /* \_SB_.PCI0.SATA.SSDM */ UMOD |= 0x40 } Concatenate (Local6, Local7, Local5) Return (Local5) } } } } Device (PEGP) { Name (_ADR, 0x00010000) // _ADR: Address Device (VGA) { Name (SWIT, 0x01) Name (GDCS, 0x02) Name (GDGS, 0x01) Name (_ADR, 0x00) // _ADR: Address Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { SWIT = Arg0 } Name (_DOD, Package (0x02) // _DOD: Display Output Devices { 0x00010100, 0x00010110 }) Device (CRT) { Name (_ADR, 0x0100) // _ADR: Address Name (_DCS, 0x1F) // _DCS: Display Current Status Name (_DGS, 0x00) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 == 0x00)) { \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D } If ((Arg0 == 0x01)) { \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F } If ((Arg0 == 0x80000000)) { \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D } If ((Arg0 == 0x80000001)) { \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F } If ((Arg0 == 0x40000000)) { \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01 } If ((Arg0 == 0x40000001)) { \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01 } If ((Arg0 == 0xC0000000)) { \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01 } If ((Arg0 == 0xC0000001)) { \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01 } } } Device (LCD) { Name (_ADR, 0x0110) // _ADR: Address Name (_DCS, 0x1F) // _DCS: Display Current Status Name (_DGS, 0x00) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 == 0x00)) { \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D } If ((Arg0 == 0x01)) { \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F } If ((Arg0 == 0x80000000)) { \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D } If ((Arg0 == 0x80000001)) { \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F } If ((Arg0 == 0x40000000)) { \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01 } If ((Arg0 == 0x40000001)) { \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01 } If ((Arg0 == 0xC0000000)) { \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01 } If ((Arg0 == 0xC0000001)) { \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01 } } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { Return (Package (0x0A) { 0x07, 0x03, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }) } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { \_SB.PCI0.LPC.EC0.BRTS = Arg0 } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (\_SB.PCI0.LPC.EC0.BRTS) } } Method (DCHG, 0, NotSerialized) { If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00)) { If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00 } Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change Sleep (0x01F4) } } Method (LCDT, 0, NotSerialized) { If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00)) { If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change Sleep (0x01F4) } } } } Device (LPC) { Name (_ADR, 0x00020000) // _ADR: Address OperationRegion (PCFG, PCI_Config, 0x00, 0x80) Field (PCFG, ByteAcc, NoLock, Preserve) { Offset (0x41), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x60), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset (0x70), HPTE, 8, , 4, MMTB, 4, Offset (0x74), Z004, 16 } OperationRegion (SOW, SystemIO, 0x8000, 0x90) Field (SOW, WordAcc, NoLock, Preserve) { , 10, RTCS, 1, Offset (0x06), LGMS, 1, Offset (0x10), THRT, 8, Offset (0x1A), , 1, RLSL, 1, Offset (0x20), , 2, SLP, 1, WK, 1, Offset (0x21), , 2, TRIP, 1, PCIS, 2, Offset (0x22), , 2, ESMI, 1, Offset (0x23), , 2, ETRM, 1, Offset (0x2A), , 7, GWPE, 1, , 5, SSL, 1, SWK, 1, Z005, 1, Offset (0x48), SMIP, 1, Offset (0x62), , 6, ALED, 2 } Device (EC0) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Name (_GPE, 0x13) // _GPE: General Purpose Events Name (FGEC, 0x00) Name (BRTA, 0x00) Name (OSYS, 0x00) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x03)) { FGEC = Arg1 OSYS = \_SB.TPOS If ((OSYS == 0x20)) { XSEC = 0x05 } ElseIf (((OSYS == 0x08) || (OSYS == 0x10))) { XSEC = 0x04 } ElseIf ((OSYS == 0x04)) { XSEC = 0x02 } ElseIf ((OSYS == 0x02)) { XSEC = 0x03 } ElseIf ((OSYS == 0x01)) { XSEC = 0x08 } Else { XSEC = 0x04 } \_SB.OSEC = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */ \_SB.P378 = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */ } } OperationRegion (ECXP, EmbeddedControl, 0x00, 0xFF) Field (ECXP, ByteAcc, Lock, Preserve) { XIF0, 16, XIF1, 16, XIF2, 16, XIF3, 16, XIF4, 16, XIF5, 16, XIF6, 16, XIF7, 16, XIF8, 16, XIF9, 64, XIFA, 64, XIFB, 64, XIFC, 64, XST0, 16, XST1, 16, XST2, 16, XST3, 16, XTP0, 16, XCIN, 1, , 1, XTIN, 1, Offset (0x3D), Offset (0x3E), XHPP, 7, Offset (0x3F), Offset (0x40), XSEC, 8, XLPT, 8, Offset (0x56), MDTP, 3, , 2, Offset (0x57), Offset (0x5B), , 1, XBLM, 2, , 3, VGAT, 4, Offset (0x5F), VTMP, 8, Offset (0x74), MPPC, 8, Offset (0x76), XMPP, 7, Offset (0x77), HDPS, 8, Offset (0x79), BRTS, 8, TSEC, 3, DORT, 1, Offset (0x7B), LIDS, 1, SOS4, 1, , 5, DTS, 1, Offset (0x7D), CPUS, 8, Offset (0xC0), BIF0, 16, BIF1, 16, BIF2, 16, BIF3, 16, BIF4, 16, BIF5, 16, BIF6, 16, BIF7, 16, BIF8, 16, BIF9, 64, BIFA, 64, BIFB, 64, BIFC, 64, BST0, 16, BST1, 16, BST2, 16, BST3, 16, BTP0, 16, ACIN, 1, , 1, BTIN, 1, Offset (0xFD), Offset (0xFE), VFUN, 8 } Method (_Q06, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x06 DBPG = 0x06 Notify (\_SB.AC0, 0x80) // Status Change Sleep (0x14) Notify (\_SB.BAT0, 0x81) // Information Change Sleep (0x14) Notify (\_SB.BAT0, 0x80) // Status Change Sleep (0x14) } Method (_Q07, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x07 DBPG = 0x07 Local0 = 0x00 Notify (\_SB.AC0, 0x80) // Status Change Sleep (0x14) Notify (\_SB.BAT0, 0x80) // Status Change Sleep (0x14) \_SB.SMP = 0x01 \_SB.LBLM = \_SB.PCI0.LPC.EC0.XBLM If (\_SB.PCI0.LPC.EC0.XCIN) { \_SB.SP1S = 0x00 } Else { \_SB.SP1S = 0x01 } Notify (\_PR.CPU0, 0x80) // Performance Capability Change Sleep (0x14) } Method (_Q0A, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0A DBPG = 0x0A Notify (\_SB.SLPB, 0x80) // Status Change } Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0B DBPG = 0x0B } Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0C DBPG = 0x0C } Method (_Q0D, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0D DBPG = 0x0D If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00)) { \_SB.PCI0.PEGP.VGA.GDGS += 0x01 Divide (\_SB.PCI0.PEGP.VGA.GDGS, 0x03, Local0, Local1) If ((Local0 == 0x00)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } If ((Local0 == 0x01)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00 } If ((Local0 == 0x02)) { \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01 } P378 = Local0 DBPG = Local0 Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change } } Method (_Q0E, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0E DBPG = 0x0E } Method (_Q0F, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x0F DBPG = 0x0F } Method (_Q10, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x10 DBPG = 0x10 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x86) // Device-Specific } Method (_Q11, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x11 DBPG = 0x11 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x87) // Device-Specific } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x12 DBPG = 0x12 } Method (_Q13, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x13 DBPG = 0x13 } Method (_Q14, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x14 DBPG = 0x14 } Method (_Q15, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x15 DBPG = 0x15 } Method (_Q16, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x16 DBPG = 0x16 \_SB.PCI0.LPC.EC0.LIDS = 0x01 Notify (\_SB.LID0, 0x80) // Status Change } Method (_Q17, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x17 DBPG = 0x17 Notify (\_SB.AC0, 0x80) // Status Change Sleep (0x64) Notify (\_SB.BAT0, 0x81) // Information Change Sleep (0x64) Notify (\_SB.BAT0, 0x80) // Status Change Sleep (0x64) } Method (_Q19, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x19 DBPG = 0x19 \_SB.PCI0.LPC.EC0.LIDS = 0x00 Notify (\_SB.LID0, 0x80) // Status Change } Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x1C DBPG = 0x1C } Method (_Q1E, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x00 P378 = 0x1E DBPG = 0x1E } Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x1E P378 = 0x1F DBPG = 0x1F } Method (_Q20, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x1C P378 = 0x20 DBPG = 0x20 } Method (_Q21, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x1A P378 = 0x21 DBPG = 0x21 } Method (_Q22, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x18 P378 = 0x22 DBPG = 0x22 } Method (_Q23, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x16 P378 = 0x23 DBPG = 0x23 } Method (_Q24, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x14 P378 = 0x24 DBPG = 0x24 } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query { THRT = 0x12 P378 = 0x25 DBPG = 0x25 } Method (_Q27, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x27 DBPG = 0x27 \_TZ.THPP = 0x69 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change } Method (_Q2E, 0, NotSerialized) // _Qxx: EC Query { \_SB.SMP = 0x01 \_SB.SLMS = 0x01 Notify (\_PR.CPU0, 0x80) // Performance Capability Change P378 = 0x2E DBPG = 0x2E } Method (_Q2F, 0, NotSerialized) // _Qxx: EC Query { \_SB.SMP = 0x00 \_SB.SLMS = 0x00 Notify (\_PR.CPU0, 0x80) // Performance Capability Change P378 = 0x2F DBPG = 0x2F } Method (_Q3A, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x3A DBPG = 0x3A } Method (_Q3B, 0, NotSerialized) // _Qxx: EC Query { } Method (_Q3C, 0, NotSerialized) // _Qxx: EC Query { } Method (_Q40, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x40 DBPG = 0x40 \_SB.PPCL = 0x00 Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q41, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x41 DBPG = 0x41 If ((PPCM > 0x01)) { PPCL = 0x01 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q42, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x42 DBPG = 0x42 If ((PPCM > 0x02)) { PPCL = 0x02 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q43, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x43 DBPG = 0x43 If ((PPCM > 0x03)) { PPCL = 0x03 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x44 DBPG = 0x44 If ((PPCM > 0x04)) { PPCL = 0x04 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q45, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x45 DBPG = 0x45 If ((PPCM > 0x05)) { PPCL = 0x05 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q46, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x46 DBPG = 0x46 If ((PPCM > 0x06)) { PPCL = 0x06 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q47, 0, NotSerialized) // _Qxx: EC Query { P378 = 0x47 DBPG = 0x47 If ((PPCM > 0x07)) { PPCL = 0x07 } Else { PPCL = PPCM /* \_SB_.PPCM */ } Notify (\_PR.CPU0, 0x80) // Performance Capability Change } Method (_Q51, 0, NotSerialized) // _Qxx: EC Query { \_SB.PCI0.LPC.EC0.BRTA = \_SB.PCI0.LPC.EC0.BRTS Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x88) // Device-Specific P378 = 0x51 DBPG = 0x51 } Method (_Q52, 0, NotSerialized) // _Qxx: EC Query { If ((\_SB.PCI0.LPC.EC0.BRTS == 0x00)) { While ((\_SB.PCI0.LPC.EC0.BRTS != \_SB.PCI0.LPC.EC0.BRTA)) { Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x85) // Device-Specific Sleep (0x14) } } P378 = 0x52 DBPG = 0x52 } } Device (DMAC) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0480, // Range Minimum 0x0480, // Range Maximum 0x01, // Alignment 0x10, // Length ) DMA (Compatibility, NotBusMaster, Transfer16, ) {4} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {2} }) } Device (TIME) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If ((HPTE & 0x01)) { Return (BUF0) /* \_SB_.PCI0.LPC_.TIME.BUF0 */ } Return (BUF1) /* \_SB_.PCI0.LPC_.TIME.BUF1 */ } } Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If ((HPTE & 0x01)) { Return (BUF0) /* \_SB_.PCI0.LPC_.RTC_.BUF0 */ } Return (BUF1) /* \_SB_.PCI0.LPC_.RTC_.BUF1 */ } } Device (SPKR) { Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (SYSR) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (RSRC, ResourceTemplate () { IO (Decode16, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0xBF, // Length _Y15) IO (Decode16, 0x8100, // Range Minimum 0x8100, // Range Maximum 0x01, // Alignment 0x30, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x002F, // Range Minimum 0x002F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0078, // Range Minimum 0x0078, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0200, // Range Minimum 0x0200, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0290, // Range Minimum 0x0290, // Range Maximum 0x01, // Alignment 0x08, // Length ) Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEC00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFB80000, // Address Base 0x00080000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFE00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFE80000, // Address Base 0x00080000, // Address Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MIN, PMMN) // _MIN: Minimum Base Address CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MAX, PMMX) // _MAX: Maximum Base Address PMMN = (\_SB.PCI0.LPC.Z004 & 0xFF80) PMMX = PMMN /* \_SB_.PCI0.LPC_.SYSR._CRS.PMMN */ Return (RSRC) /* \_SB_.PCI0.LPC_.SYSR.RSRC */ } } Device (COPR) { Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) } Device (PS2M) { Name (_HID, EisaId ("SYN0804")) // _HID: Hardware ID Name (_CID, Package (0x02) // _CID: Compatible ID { EisaId ("SYN0800"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { } Method (_STA, 0, NotSerialized) // _STA: Status { Local7 = 0x0F } } Device (XPIC) { Name (_HID, EisaId ("PNP0003") /* IO-APIC Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFEC00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFE00000, // Address Base 0x00001000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If ((MMTB <= 0x04)) { If ((MMTB == 0x04)) { Return (BUF4) /* \_SB_.PCI0.LPC_.HPET.BUF4 */ } If ((MMTB == 0x02)) { Return (BUF2) /* \_SB_.PCI0.LPC_.HPET.BUF2 */ } If ((MMTB == 0x01)) { Return (BUF1) /* \_SB_.PCI0.LPC_.HPET.BUF1 */ } Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */ } } Name (BUF4, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED04000, // Address Base 0x00000400, // Address Length ) }) Name (BUF2, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED02000, // Address Base 0x00000400, // Address Length ) }) Name (BUF1, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED01000, // Address Base 0x00000400, // Address Length ) }) Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((HPTE & 0x01)) { If ((\_SB.OSTP () >= 0x08)) { Return (0x0F) } Else { Return (0x00) } } Return (0x00) } } } Device (USB0) { Name (_ADR, 0x00030000) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0E, 0x03 }) Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If ((\_SB.OSTP () == 0x02)) { Return (0x02) } Else { Return (0x03) } } } Device (USB1) { Name (_ADR, 0x00030001) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x04, 0x03 }) Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If ((\_SB.OSTP () == 0x02)) { Return (0x02) } Else { Return (0x03) } } } Device (USB2) { Name (_ADR, 0x00030003) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x07, 0x03 }) Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If ((\_SB.OSTP () == 0x02)) { Return (0x02) } Else { Return (0x03) } } } Device (Z006) { Name (_ADR, 0x00060000) // _ADR: Address } Device (Z007) { Name (_ADR, 0x00070000) // _ADR: Address OperationRegion (PCFG, PCI_Config, 0x00, 0xFF) Field (PCFG, ByteAcc, NoLock, Preserve) { Offset (0xE4), , 5, HOTP, 2, Offset (0xE8), , 3, PDCE, 1, Offset (0xEA), , 3, PCHG, 1, , 2, PSTS, 1 } Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters { 0x08, 0x40, 0x01, 0x00 }) Device (S1F0) { Name (_ADR, 0x00) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (0x01) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F1) { Name (_ADR, 0x01) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F2) { Name (_ADR, 0x02) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F3) { Name (_ADR, 0x03) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F4) { Name (_ADR, 0x04) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F5) { Name (_ADR, 0x05) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F6) { Name (_ADR, 0x06) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } Device (S1F7) { Name (_ADR, 0x07) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.PCI0.Z007.PSTS == 0x00)) { Return (0x00) } Else { Return (0x0F) } } } } } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x77D9CE2C, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2008 } Field (SMI1, AnyAcc, NoLock, Preserve) { DMY, 40, INF, 8 } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x03, 0x04 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (\_SB.PCI0.LPC.EC0.LIDS) } } OperationRegion (GNVS, SystemMemory, 0x77D9CA2C, 0x00000400) Field (GNVS, AnyAcc, NoLock, Preserve) { PWRS, 8, PPCS, 8, PPCM, 8, PPCL, 8, Offset (0x08), SLMS, 1, SP1S, 1, SMP, 1, LBLM, 1, Offset (0x10), OCID, 8, OSEC, 8, PRID, 8, HDPW, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, Offset (0x29), MPEN, 8 } Mutex (MUTX, 0x00) OperationRegion (P80G, SystemIO, 0x80, 0x01) Field (P80G, ByteAcc, NoLock, Preserve) { DBPG, 8 } OperationRegion (TMIO, SystemIO, 0x40, 0x04) Field (TMIO, ByteAcc, NoLock, Preserve) { Offset (0x02), TM2P, 8, TMCP, 8 } OperationRegion (SNIO, SystemIO, 0x61, 0x01) Field (SNIO, ByteAcc, NoLock, Preserve) { SNDP, 8 } Method (BEEP, 1, NotSerialized) { Local4 = Arg0 While (Local4) { TMCP = 0xB6 Sleep (0x32) TM2P = 0x05 Sleep (0x32) TM2P = 0x05 Local0 = SNDP /* \_SB_.SNDP */ Local1 = Local0 Local0 |= 0x03 SNDP = Local0 Sleep (0x0190) SNDP = Local1 Sleep (0x01F4) Local4-- } } OperationRegion (DEB0, SystemIO, 0x0378, 0x01) Field (DEB0, ByteAcc, NoLock, Preserve) { P378, 8 } } Name (\DSEN, 0x01) Method (PHSR, 1, NotSerialized) { \_SB.BCMD = Arg0 \_SB.SMIC = Zero } Method (_WAK, 1, NotSerialized) // _WAK: Wake { \_SB.DBPG = 0x60 \_SB.PCI0.LPC.EC0.XSEC = \_SB.OSEC \_SB.DBPG = 0x61 If ((Arg0 == 0x03)) { \_SB.PCI0.LPC.EC0.HDPS = \_SB.HDPW } If ((\_SB.OSEC == 0x05)) { \_SB.PCI0.LPC.EC0.LIDS = 0x01 Notify (\_SB.LID0, 0x80) // Status Change } \_SB.SMP = 0x00 \_SB.SLMS = 0x00 Notify (\_PR.CPU0, 0x80) // Performance Capability Change \_SB.DBPG = 0x62 \_SB.SMP = 0x01 \_SB.DBPG = 0x63 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change \_SB.DBPG = 0x64 Notify (\_SB.PCI0.Z007, 0x01) // Device Check Notify (\_SB.PCI0, 0x00) // Bus Check \_SB.DBPG = 0x65 If ((Arg0 == 0x04)) { If (((CFGD & 0x01000000) && (PDC0 & 0x10))) { \_SB.BCMD = 0x49 \_SB.DID = 0x00 \_SB.SMIC = 0x00 } } \_SB.DBPG = 0x66 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { \_SB.DBPG = 0x51 \_SB.PCI0.DEFR = 0x0F \_SB.PCI0.PIPE = 0x00 \_SB.DBPG = 0x52 \_SB.DBPG = 0x53 \_SB.DBPG = 0x54 If ((Arg0 <= 0x03)) { PHSR (0x81) } \_SB.DBPG = 0x55 If ((Arg0 == 0x04)) { PHSR (0x86) } \_SB.DBPG = 0x56 If ((Arg0 == 0x05)) { PHSR (0x87) } \_SB.DBPG = 0x57 } Scope (\_PR.CPU0) { Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { If ((\_SB.SMP == 0x01)) { If ((\_SB.SLMS == 0x01)) { Return (\_SB.PPCM) } Else { Return (\_SB.PPCL) } } Else { Return (\_SB.PPCL) } } Method (_PCT, 0, NotSerialized) // _PCT: Performance Control { If ((((CFGD & 0x01) & (PDC0 & 0x01)) && ((PDC0 & 0x40000000) ^ 0x40000000))) { If (!(CFGD & 0x02000000)) { Return (Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) } } Return (Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x10, // Bit Width 0x00, // Bit Offset 0x0000000000008048, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x10, // Bit Width 0x00, // Bit Offset 0x0000000000008049, // Address ,) } }) } Method (_PSS, 0, NotSerialized) // _PSS: Performance Supported States { If ((PDC0 & 0x40000000)) { Return (SPSS) /* \_PR_.CPU0.SPSS */ } If ((!(CFGD & 0x02000000) && (PDC0 & 0x01))) { Return (NPSS) /* \_PR_.CPU0.NPSS */ } Return (SPSS) /* \_PR_.CPU0.SPSS */ } Name (SPSS, Package (0x02) { Package (0x06) { 0x000007D0, 0x000088B8, 0x0000006E, 0x0000000A, 0x00000083, 0x00000000 }, Package (0x06) { 0x00000320, 0x00003EE4, 0x0000006E, 0x0000000A, 0x00000183, 0x00000001 } }) Name (NPSS, Package (0x02) { Package (0x06) { 0x000007D0, 0x000088B8, 0x0000000A, 0x0000000A, 0x00000F2A, 0x00000F2A }, Package (0x06) { 0x00000320, 0x00003EE4, 0x0000000A, 0x0000000A, 0x00000617, 0x00000617 } }) Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies { If (((CFGD & 0x01000000) | (CFGD & 0x02000000))) { If ((PDC0 & 0x0800)) { Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFE, 0x02 } }) } Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFC, 0x02 } }) } Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFC, 0x01 } }) } } Scope (\_PR.CPU0) { Name (CSTN, Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x9D, 0x03E8 } }) Name (CST4, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001016, // Address ,) }, 0x03, 0x23, 0x64 } }) Name (CST3, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008015, // Address ,) }, 0x03, 0x23, 0xFA } }) Name (CST2, Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008014, // Address ,) }, 0x02, 0x01, 0x01F4 } }) Name (CST1, Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 } }) Name (C4ME, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000010, // Address 0x01, // Access Size ) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000030, // Address 0x03, // Access Size ) }, 0x03, 0x39, 0x64 } }) Name (C3ME, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000010, // Address 0x01, // Access Size ) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000020, // Address 0x03, // Access Size ) }, 0x03, 0x11, 0xFA } }) Name (C2ME, Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000010, // Address 0x01, // Access Size ) }, 0x02, 0x01, 0x01F4 } }) Name (C1ME, Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 } }) Name (CT4M, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001016, // Address ,) }, 0x03, 0x39, 0x64 } }) Name (CT3M, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008015, // Address ,) }, 0x03, 0x11, 0xFA } }) Name (CT2M, Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000008014, // Address ,) }, 0x02, 0x01, 0x01F4 } }) Name (CT1M, Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, 0x01, 0x01, 0x03E8 } }) Method (_CST, 0, NotSerialized) // _CST: C-States { If (((CFGD & 0x01000000) && !(PDC0 & 0x10))) { Return (CSTN) /* \_PR_.CPU0.CSTN */ } If (((CFGD & 0x00200000) && (PDC0 & 0x0200))) { If ((CFGD & 0x80)) { Return (C4ME) /* \_PR_.CPU0.C4ME */ } If ((!(CFGD & 0x80) && (CFGD & 0x40))) { Return (C3ME) /* \_PR_.CPU0.C3ME */ } If ((CFGD & 0x20)) { Return (C2ME) /* \_PR_.CPU0.C2ME */ } Return (C1ME) /* \_PR_.CPU0.C1ME */ } If (((CFGD & 0x00200000) && (PDC0 & 0x0100))) { If ((CFGD & 0x80)) { Return (CT4M) /* \_PR_.CPU0.CT4M */ } If ((!(CFGD & 0x80) && (CFGD & 0x40))) { Return (CT3M) /* \_PR_.CPU0.CT3M */ } If ((CFGD & 0x20)) { Return (CT2M) /* \_PR_.CPU0.CT2M */ } Return (CT1M) /* \_PR_.CPU0.CT1M */ } If ((CFGD & 0x80)) { Return (CST4) /* \_PR_.CPU0.CST4 */ } If ((CFGD & 0x40)) { Return (CST3) /* \_PR_.CPU0.CST3 */ } If ((CFGD & 0x20)) { Return (CST2) /* \_PR_.CPU0.CST2 */ } Return (CST1) /* \_PR_.CPU0.CST1 */ } } Scope (\) { Name (SSDT, Package (0x30) { "CPU0IST ", 0x77D96AE3, 0x00000247, "CPU1IST ", 0x00000000, 0xF000FF53, "CPU0CST ", 0x77D965CB, 0x00000518, "CPU1CST ", 0x00000000, 0xF000FF53, "CPU2IST ", 0x00000000, 0xF000FF53, "CPU3IST ", 0x00000000, 0xF000FF53, "CPU2CST ", 0x00000000, 0xF000FF53, "CPU3CST ", 0x00000000, 0xF000FF53, "CPU4IST ", 0x00000000, 0xF000FF53, "CPU5IST ", 0x00000000, 0xF000FF53, "CPU4CST ", 0x00000000, 0xF000FF53, "CPU5CST ", 0x00000000, 0xF000FF53, "CPU6IST ", 0x00000000, 0xF000FF53, "CPU7IST ", 0x00000000, 0xF000FF53, "CPU6CST ", 0x00000000, 0xF000FF53, "CPU7CST ", 0x00000000, 0xF000FF53 }) Name (CFGD, 0x502B0071) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\PDC2, 0x80000000) Name (\PDC3, 0x80000000) Name (\PDC4, 0x80000000) Name (\PDC5, 0x80000000) Name (\PDC6, 0x80000000) Name (\PDC7, 0x80000000) Name (\SDTL, 0x00) } Scope (\_PR.CPU0) { Name (HI0, 0x00) Name (HC0, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS0, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID0, 0x00, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS0 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS0 = 0x0A Return (Arg3) } PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0._OSC.CAP0 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC0 & 0x09) == 0x09)) && !(SDTL & 0x01))) { SDTL |= 0x01 OperationRegion (IST0, SystemMemory, DerefOf (SSDT [0x01]), DerefOf (SSDT [0x02])) Load (IST0, HI0) /* \_PR_.CPU0.HI0_ */ } } If ((CFGD & 0x70)) { If (((CFGD && 0x40) || (CFGD && 0x80))) { \_SB.BCMD = 0x49 \_SB.DID = 0x02 \_SB.SMIC = 0x02 } If (((CFGD & 0x01000000) && (PDC0 & 0x10))) { \_SB.BCMD = 0x49 \_SB.DID = 0x00 \_SB.SMIC = 0x00 } If ((((CFGD & 0x01000000) && (PDC0 & 0x18)) && ! (SDTL & 0x02))) { SDTL |= 0x02 OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08])) Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */ } } Return (Arg3) } } Scope (\_PR.CPU1) { Name (HI1, 0x00) Name (HC1, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS1, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS1) CreateDWordField (Arg3, 0x04, CAP1) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS1 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS1 = 0x0A Return (Arg3) } PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1._OSC.CAP1 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC1 & 0x09) == 0x09)) && !(SDTL & 0x10))) { SDTL |= 0x10 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05])) Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC1 & 0x18)) && ! (SDTL & 0x20))) { SDTL |= 0x20 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B])) Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */ } } Return (Arg3) } } Scope (\_PR.CPU2) { Name (HI2, 0x00) Name (HC2, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS2, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS2) CreateDWordField (Arg3, 0x04, CAP2) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS2 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS2 = 0x0A Return (Arg3) } PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2._OSC.CAP2 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC2 & 0x09) == 0x09)) && !(SDTL & 0x04))) { SDTL |= 0x04 OperationRegion (IST2, SystemMemory, DerefOf (SSDT [0x0D]), DerefOf (SSDT [0x0E])) Load (IST2, HI2) /* \_PR_.CPU2.HI2_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC2 & 0x18)) && ! (SDTL & 0x08))) { SDTL |= 0x08 OperationRegion (CST2, SystemMemory, DerefOf (SSDT [0x13]), DerefOf (SSDT [0x14])) Load (CST2, HC2) /* \_PR_.CPU2.HC2_ */ } } Return (Arg3) } } Scope (\_PR.CPU3) { Name (HI3, 0x00) Name (HC3, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS3, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS3, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS3) CreateDWordField (Arg3, 0x04, CAP3) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS3 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS3 = 0x0A Return (Arg3) } PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3._OSC.CAP3 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC3 & 0x09) == 0x09)) && !(SDTL & 0x40))) { SDTL |= 0x40 OperationRegion (IST3, SystemMemory, DerefOf (SSDT [0x10]), DerefOf (SSDT [0x11])) Load (IST3, HI3) /* \_PR_.CPU3.HI3_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC3 & 0x18)) && ! (SDTL & 0x80))) { SDTL |= 0x80 OperationRegion (CST3, SystemMemory, DerefOf (SSDT [0x16]), DerefOf (SSDT [0x17])) Load (CST3, HC3) /* \_PR_.CPU3.HC3_ */ } } Return (Arg3) } } Scope (\_PR.CPU4) { Name (HI4, 0x00) Name (HC4, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS4, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS4, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS4) CreateDWordField (Arg3, 0x04, CAP4) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS4 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS4 = 0x0A Return (Arg3) } PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4._OSC.CAP4 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC4 & 0x09) == 0x09)) && !(SDTL & 0x0100))) { SDTL |= 0x0100 OperationRegion (IST4, SystemMemory, DerefOf (SSDT [0x19]), DerefOf (SSDT [0x1A])) Load (IST4, HI4) /* \_PR_.CPU4.HI4_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC4 & 0x18)) && ! (SDTL & 0x0200))) { SDTL |= 0x0200 OperationRegion (CST4, SystemMemory, DerefOf (SSDT [0x1F]), DerefOf (SSDT [0x20])) Load (CST4, HC4) /* \_PR_.CPU4.HC4_ */ } } Return (Arg3) } } Scope (\_PR.CPU5) { Name (HI5, 0x00) Name (HC5, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS5, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS5, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS5) CreateDWordField (Arg3, 0x04, CAP5) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS5 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS5 = 0x0A Return (Arg3) } PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5._OSC.CAP5 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC5 & 0x09) == 0x09)) && !(SDTL & 0x0400))) { SDTL |= 0x0400 OperationRegion (IST5, SystemMemory, DerefOf (SSDT [0x1C]), DerefOf (SSDT [0x1D])) Load (IST5, HI5) /* \_PR_.CPU5.HI5_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC5 & 0x18)) && ! (SDTL & 0x0800))) { SDTL |= 0x0800 OperationRegion (CST5, SystemMemory, DerefOf (SSDT [0x22]), DerefOf (SSDT [0x23])) Load (CST5, HC5) /* \_PR_.CPU5.HC5_ */ } } Return (Arg3) } } Scope (\_PR.CPU6) { Name (HI6, 0x00) Name (HC6, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS6, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS6, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS6) CreateDWordField (Arg3, 0x04, CAP6) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS6 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS6 = 0x0A Return (Arg3) } PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6._OSC.CAP6 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC6 & 0x09) == 0x09)) && !(SDTL & 0x1000))) { SDTL |= 0x1000 OperationRegion (IST6, SystemMemory, DerefOf (SSDT [0x25]), DerefOf (SSDT [0x26])) Load (IST6, HI6) /* \_PR_.CPU6.HI6_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC6 & 0x18)) && ! (SDTL & 0x2000))) { SDTL |= 0x2000 OperationRegion (CST6, SystemMemory, DerefOf (SSDT [0x2B]), DerefOf (SSDT [0x2C])) Load (CST6, HC6) /* \_PR_.CPU6.HC6_ */ } } Return (Arg3) } } Scope (\_PR.CPU7) { Name (HI7, 0x00) Name (HC7, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS7, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS7, TEMP, Local2) _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, 0x00, STS7) CreateDWordField (Arg3, 0x04, CAP7) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS7 = 0x06 Return (Arg3) } If ((Arg1 != 0x01)) { STS7 = 0x0A Return (Arg3) } PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7._OSC.CAP7 */ If ((CFGD & 0x01)) { If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && ((PDC7 & 0x09) == 0x09)) && !(SDTL & 0x4000))) { SDTL |= 0x4000 OperationRegion (IST7, SystemMemory, DerefOf (SSDT [0x28]), DerefOf (SSDT [0x29])) Load (IST7, HI7) /* \_PR_.CPU7.HI7_ */ } } If ((CFGD & 0xF0)) { If ((((CFGD & 0x01000000) && (PDC7 & 0x18)) && ! (SDTL & 0x8000))) { SDTL |= 0x8000 OperationRegion (CST7, SystemMemory, DerefOf (SSDT [0x2E]), DerefOf (SSDT [0x2F])) Load (CST7, HC7) /* \_PR_.CPU7.HC7_ */ } } Return (Arg3) } } }