/* * Intel ACPI Component Architecture * AML Disassembler version 20081204 * * Disassembly of dsdt.dat, Thu Apr 30 13:30:47 2009 * * * Original Table Header: * Signature "DSDT" * Length 0x00006B23 (27427) * Revision 0x02 * Checksum 0x32 * OEM ID "LENOVO" * OEM Table ID "TP-6G " * OEM Revision 0x00000001 (1) * Compiler ID "INTL" * Compiler Version 0x20050624 (537200164) */ DefinitionBlock ("dsdt.aml", "DSDT", 2, "LENOVO", "TP-6G ", 0x00000001) { External (PDC1) External (PDC0) External (\_SB_.PCI0.TMEM.GPEH, MethodObj) // 0 Arguments Name (Z000, One) Name (Z001, 0x02) Name (Z002, 0x04) Name (Z003, 0x08) Name (Z004, Zero) Name (Z005, 0x0F) Name (Z006, 0x0D) Name (Z007, 0x0B) Name (Z008, 0x09) Name (SP2O, 0x4E) Name (SP1O, 0x164E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x06B0) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (MCHB, 0xFED10000) Name (MCHL, 0x4000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED13000) Name (IFPL, 0x1000) Name (PEBS, 0xE0000000) Name (PELN, 0x10000000) Name (TTTB, 0xFED20000) Name (TTTL, 0x00020000) Name (SMBS, 0x1C00) Name (PBLK, 0x0410) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (LVL2, 0x0414) Name (LVL3, 0x0415) Name (LVL4, 0x0416) Name (SMIP, 0xB2) Name (GPBS, 0x1180) Name (GPLN, 0x80) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PM30, 0x0430) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (SUSW, 0xFF) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (TRTP, One) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x0C) Name (DSLC, 0x0E) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (PSSS, 0x2B) Name (SOOT, 0x35) Name (ESCS, 0x48) Name (PDBR, 0x4D) Name (SMBL, 0x10) OperationRegion (GNVS, SystemMemory, 0xBFD9ECBC, 0x0200) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x28), APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x3C), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, BDSP, 8, PTY1, 8, PTY2, 8, PSCL, 8, TVF1, 8, TVF2, 8, GETM, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, Offset (0x82), GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, PAVP, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0x100), BRAD, 8, BTEN, 8, VVEN, 8, BGTL, 8, TMEE, 1, Offset (0x105), SCU0, 1, SCU1, 1, SCU2, 1, SCU3, 1, Offset (0x106), XKSP, 1, XKIN, 1, XKID, 1, XKOK, 1, Offset (0x107), BGU1, 8, BST1, 8, BFC1, 16, WKLN, 8, WAKF, 8, DSMD, 8, BAYS, 8, HAPE, 1, Offset (0x110), DTSM, 1, Offset (0x111), ODT1, 8, ODT2, 8, DTSW, 8, OMID, 8, TSTE, 8 } Scope (_SB) { Name (PR00, Package (0x16) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero } }) Name (AR00, Package (0x16) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR01, Package (0x14) { Package (0x04) { 0x0003FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKG, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKF, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKH, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0005FFFF, One, LNKE, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKG, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKF, Zero } }) Name (AR01, Package (0x14) { Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x17 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x15 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LPOL) } Name (_PRW, Package (0x02) { 0x1B, 0x03 }) } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LEqual (Local0, 0x49)) { Return (Z004) } Else { Return (Z005) } } } Device (PCI0) { Device (MIR) { Name (_HID, EisaId ("ENE0201")) Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LEqual (Local0, 0x21)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (Z005) } Else { Return (Z004) } } Return (Z004) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0xFF2C, // Range Minimum 0xFF2C, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) Return (BUF0) } Name (_PRS, ResourceTemplate () { IO (Decode16, 0xFF2C, // Range Minimum 0xFF2C, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) } Device (EMSC) { Name (_HID, "CPL0002") Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LEqual (Local0, 0x21)) { Return (Z005) } Return (Z004) } } Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset (0x08), MHEN, 1, , 13, MHBR, 18, Offset (0x20), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x28), DIEN, 1, , 11, DIBR, 20, Offset (0x30), IPEN, 1, , 11, IPBR, 20, Offset (0x50), , 4, PM0H, 2, Offset (0x51), PM1L, 2, , 2, PM1H, 2, Offset (0x52), PM2L, 2, , 2, PM2H, 2, Offset (0x53), PM3L, 2, , 2, PM3H, 2, Offset (0x54), PM4L, 2, , 2, PM4H, 2, Offset (0x55), PM5L, 2, , 2, PM5H, 2, Offset (0x56), PM6L, 2, , 2, PM6H, 2, Offset (0x57), , 7, HENA, 1, Offset (0x62), TUUD, 16, Offset (0x70), , 4, TLUD, 12, Offset (0x89), , 3, GTSE, 1, Offset (0x8A) } OperationRegion (MCHT, SystemMemory, 0xFED11000, 0xFF) Field (MCHT, ByteAcc, NoLock, Preserve) { Offset (0x1E), T0IS, 16, Offset (0x5E), T1IS, 16, Offset (0xEF), ESCS, 8 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED44FFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { If (PM1L) { CreateDWordField (BUF0, 0x7C, C0LN) Store (Zero, C0LN) } If (LEqual (PM1L, One)) { CreateBitField (BUF0, 0x0358, C0RW) Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, 0x96, C4LN) Store (Zero, C4LN) } If (LEqual (PM1H, One)) { CreateBitField (BUF0, 0x0428, C4RW) Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, 0xB0, C8LN) Store (Zero, C8LN) } If (LEqual (PM2L, One)) { CreateBitField (BUF0, 0x04F8, C8RW) Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, 0xCA, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, One)) { CreateBitField (BUF0, 0x05C8, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, 0xE4, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, One)) { CreateBitField (BUF0, 0x0698, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, 0xFE, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, One)) { CreateBitField (BUF0, 0x0768, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, 0x0118, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, One)) { CreateBitField (BUF0, 0x0838, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, 0x0132, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, One)) { CreateBitField (BUF0, 0x0908, DCRW) Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, 0x014C, E0LN) Store (Zero, E0LN) } If (LEqual (PM5L, One)) { CreateBitField (BUF0, 0x09D8, E0RW) Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, 0x0166, E4LN) Store (Zero, E4LN) } If (LEqual (PM5H, One)) { CreateBitField (BUF0, 0x0AA8, E4RW) Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, 0x0180, E8LN) Store (Zero, E8LN) } If (LEqual (PM6L, One)) { CreateBitField (BUF0, 0x0B78, E8RW) Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, 0x019A, ECLN) Store (Zero, ECLN) } If (LEqual (PM6H, One)) { CreateBitField (BUF0, 0x0C48, ECRW) Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, 0x01B4, F0LN) Store (Zero, F0LN) } If (LEqual (PM0H, One)) { CreateBitField (BUF0, 0x0D18, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, 0x01C2, M1MN) CreateDWordField (BUF0, 0x01C6, M1MX) CreateDWordField (BUF0, 0x01CE, M1LN) ShiftLeft (TLUD, 0x14, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Device (P0P2) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02) } Return (PR02) } Device (VGA) { Name (_ADR, Zero) Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TVAA, One) Name (DVIA, One) Name (VLDF, One) OperationRegion (VIDS, PCI_Config, Zero, 0xC8) Field (VIDS, DWordAcc, NoLock, Preserve) { VDID, 32 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, Zero) Method (_PS0, 0, NotSerialized) { Store (Zero, _PSC) } Method (_PS1, 0, NotSerialized) { Store (One, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { If (LEqual (VVEN, One)) { Return (Package (0x04) { 0x00010100, 0x00010110, 0x0200, 0x0210 }) } Else { Return (Package (0x04) { 0x00010100, 0x00010110, 0x0200, 0x0120 }) } } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } Method (_DCS, 0, NotSerialized) { ^^^^LPCB.PHSS (0x0C) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, One, Local0) And (Local1, One, Local1) If (Local0) { Store (One, CRTA) } Else { Store (Zero, CRTA) } If (CRTA) { If (LEqual (Local1, One)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, One)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_DCS, 0, NotSerialized) { ^^^^LPCB.PHSS (0x0C) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x08, Local0) And (Local1, 0x08, Local1) If (Local0) { Store (One, LCDA) } Else { Store (Zero, LCDA) } If (LCDA) { If (LEqual (Local1, 0x08)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x08)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } Method (_DCS, 0, NotSerialized) { ^^^^LPCB.PHSS (0x0C) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x02, Local0) And (Local1, 0x02, Local1) If (Local0) { Store (One, TVAA) } Else { Store (Zero, TVAA) } If (TVAA) { If (LEqual (Local1, 0x02)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x02)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (TVAA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (DVI) { Method (_ADR, 0, NotSerialized) { If (LEqual (VVEN, One)) { Return (0x0210) } Else { Return (0x0120) } } Method (_DCS, 0, NotSerialized) { ^^^^LPCB.PHSS (0x0C) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x04, Local0) And (Local1, 0x04, Local1) If (Local0) { Store (One, DVIA) } Else { Store (Zero, DVIA) } If (DVIA) { If (LEqual (Local1, 0x04)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x04)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (DVIA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Method (DSSW, 0, NotSerialized) { If (LEqual (SWIT, Zero)) { ^^^LPCB.PHSS (0x0C) Store (CADL, Local0) Store (CSTE, Local1) If (LGreater (Local1, One)) { And (Local0, Local1, VLDF) And (VLDF, 0xFE, VLDF) } If (LEqual (Local0, 0x08)) { Store (Zero, VLDF) } If (VLDF) { Store (OMID, Local2) If (LEqual (Local2, 0x49)) { If (LEqual (Local0, 0x09)) { If (LEqual (Local1, 0x08)) { STBL (0x02) } If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x09)) { STBL (One) } } If (LEqual (Local0, 0x0A)) { If (LEqual (Local1, 0x08)) { STBL (0x04) } If (LEqual (Local1, 0x02)) { STBL (0x05) } If (LEqual (Local1, 0x0A)) { STBL (One) } } If (LEqual (Local0, 0x0B)) { If (LEqual (Local1, 0x08)) { STBL (0x02) } If (LEqual (Local1, 0x09)) { STBL (0x04) } If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x0A)) { STBL (0x06) } If (LEqual (Local1, 0x02)) { STBL (0x05) } If (LEqual (Local1, 0x03)) { STBL (One) } If (LEqual (Local1, 0x0B)) { STBL (One) } } If (LEqual (Local0, 0x0C)) { If (LEqual (Local1, 0x08)) { STBL (0x08) } If (LEqual (Local1, 0x0C)) { STBL (One) } If (LEqual (Local1, 0x04)) { STBL (0x09) } } If (LEqual (Local0, 0x05)) { If (LEqual (Local1, One)) { STBL (0x0A) } If (LEqual (Local1, 0x04)) { STBL (0x02) } If (LEqual (Local1, 0x05)) { STBL (0x08) } } If (LEqual (Local0, 0x0D)) { If (LEqual (Local1, 0x08)) { STBL (0x02) } If (LEqual (Local1, 0x0C)) { STBL (0x0A) } If (LEqual (Local1, 0x04)) { STBL (0x09) } If (LEqual (Local1, 0x05)) { STBL (One) } If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x09)) { STBL (0x08) } } } Else { If (LEqual (Local0, 0x09)) { If (LEqual (Local1, 0x08)) { STBL (0x03) } If (LEqual (Local1, One)) { STBL (One) } If (LEqual (Local1, 0x09)) { STBL (0x02) } } If (LEqual (Local0, 0x0A)) { If (LEqual (Local1, 0x08)) { STBL (0x05) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x0A)) { STBL (0x04) } } If (LEqual (Local0, 0x0B)) { If (LEqual (Local1, 0x08)) { STBL (0x03) } If (LEqual (Local1, 0x09)) { STBL (0x02) } If (LEqual (Local1, One)) { STBL (0x05) } If (LEqual (Local1, 0x0A)) { STBL (0x04) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x0B)) { STBL (One) } } If (LEqual (Local0, 0x0C)) { If (LEqual (Local1, 0x08)) { STBL (0x09) } If (LEqual (Local1, 0x0C)) { STBL (0x08) } If (LEqual (Local1, 0x04)) { STBL (One) } } If (LEqual (Local0, 0x05)) { If (LEqual (Local1, One)) { STBL (0x0A) } If (LEqual (Local1, 0x04)) { STBL (0x02) } If (LEqual (Local1, 0x05)) { STBL (0x08) } } If (LEqual (Local0, 0x0D)) { If (LEqual (Local1, 0x08)) { STBL (0x03) } If (LEqual (Local1, 0x0C)) { STBL (0x08) } If (LEqual (Local1, 0x04)) { STBL (One) } If (LEqual (Local1, 0x05)) { STBL (0x08) } If (LEqual (Local1, One)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x02) } } If (LOr (LEqual (Local0, 0x0E), LEqual (Local0, 0x0F))) { If (LEqual (Local1, 0x08)) { STBL (0x09) } If (LEqual (Local1, 0x0C)) { STBL (0x08) } If (LEqual (Local1, 0x04)) { STBL (0x05) } If (LEqual (Local1, 0x0A)) { STBL (0x04) } If (LEqual (Local1, 0x02)) { STBL (One) } } } } Else { Store (One, VLDF) STBL (One) } } Else { If (LEqual (SWIT, One)) { ^^^LPCB.PHSS (One) } } } Method (STBL, 1, NotSerialized) { If (LEqual (Arg0, One)) { Store (Zero, CRTA) Store (One, LCDA) Store (Zero, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x02)) { Store (One, CRTA) Store (Zero, LCDA) Store (Zero, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x03)) { Store (One, CRTA) Store (One, LCDA) Store (Zero, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x04)) { Store (Zero, CRTA) Store (Zero, LCDA) Store (One, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x05)) { Store (Zero, CRTA) Store (One, LCDA) Store (One, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x06)) { Store (One, CRTA) Store (Zero, LCDA) Store (One, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x07)) { Store (One, CRTA) Store (One, LCDA) Store (One, TVAA) Store (Zero, DVIA) } If (LEqual (Arg0, 0x08)) { Store (Zero, CRTA) Store (Zero, LCDA) Store (Zero, TVAA) Store (One, DVIA) } If (LEqual (Arg0, 0x09)) { Store (Zero, CRTA) Store (One, LCDA) Store (Zero, TVAA) Store (One, DVIA) } If (LEqual (Arg0, 0x0A)) { Store (One, CRTA) Store (Zero, LCDA) Store (Zero, TVAA) Store (One, DVIA) } Notify (VGA, 0x80) } } } Device (GFX0) { Name (_ADR, 0x00020000) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x07), DSEN) } Method (_DOD, 0, NotSerialized) { If (SCIP ()) { Store (Zero, NDID) If (LNotEqual (DIDL, Zero)) { Store (SDDL (DID1), DID1) } If (LNotEqual (DDL2, Zero)) { Store (SDDL (DID2), DID2) } If (LNotEqual (DDL3, Zero)) { Store (SDDL (DID3), DID3) } If (LNotEqual (DDL4, Zero)) { Store (SDDL (DID4), DID4) } If (LNotEqual (DDL5, Zero)) { Store (SDDL (DID5), DID5) } } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) Return (TMP4) } If (LGreater (NDID, 0x04)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID4), Index (TMP5, 0x04)) Return (TMP5) } Return (Package (0x01) { 0x0400 }) } Device (DD01) { Method (_ADR, 0, Serialized) { If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) { If (SCIP ()) { Return (CDDS (DID1)) } Else { TRAP (TRTI, GCDD) If (And (CSTE, One)) { Return (0x1F) } Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (SCIP ()) { Return (NDDS (DID1)) } Else { If (And (NSTE, One)) { Return (One) } Return (Zero) } } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Device (DD02) { Method (_ADR, 0, Serialized) { If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) { If (SCIP ()) { Return (CDDS (DID2)) } Else { TRAP (TRTI, GCDD) If (And (CSTE, 0x02)) { Return (0x1F) } Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (SCIP ()) { Return (NDDS (DID2)) } Else { If (And (NSTE, 0x02)) { Return (One) } Return (Zero) } } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Device (DD03) { Method (_ADR, 0, Serialized) { If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { If (SCIP ()) { Return (CDDS (DID3)) } Else { TRAP (TRTI, GCDD) If (And (CSTE, 0x04)) { Return (0x1F) } Return (0x1D) } } } Method (_DGS, 0, NotSerialized) { If (SCIP ()) { Return (NDDS (DID3)) } Else { If (And (NSTE, 0x04)) { Return (One) } Return (Zero) } } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Device (DD04) { Method (_ADR, 0, Serialized) { If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { If (SCIP ()) { Return (CDDS (DID4)) } Else { TRAP (TRTI, GCDD) If (And (CSTE, 0x08)) { Return (0x1F) } Return (0x1D) } } } Method (_DGS, 0, NotSerialized) { If (SCIP ()) { Return (NDDS (DID4)) } Else { If (And (NSTE, 0x08)) { Return (One) } Return (Zero) } } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Device (DD05) { Method (_ADR, 0, Serialized) { If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { If (SCIP ()) { Return (CDDS (DID5)) } Else { TRAP (TRTI, GCDD) If (And (CSTE, 0x10)) { Return (0x1F) } Return (0x1D) } } } Method (_DGS, 0, NotSerialized) { If (SCIP ()) { Return (NDDS (DID5)) } Else { If (And (NSTE, 0x10)) { Return (One) } Return (Zero) } } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (Package (0x0D) { 0x46, 0x28, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Divide (Arg0, 0x0A, Local0, Local1) Store (Local1, ^^^LPCB.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Multiply (^^^LPCB.EC0.BRTS, 0x0A, Local0) Return (Local0) } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (0x1D) } If (LEqual (CADL, Local0)) { Return (0x1F) } If (LEqual (CAL2, Local0)) { Return (0x1F) } If (LEqual (CAL3, Local0)) { Return (0x1F) } If (LEqual (CAL4, Local0)) { Return (0x1F) } If (LEqual (CAL5, Local0)) { Return (0x1F) } If (LEqual (CAL6, Local0)) { Return (0x1F) } If (LEqual (CAL7, Local0)) { Return (0x1F) } If (LEqual (CAL8, Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (NADL, Local0)) { Return (One) } If (LEqual (NDL2, Local0)) { Return (One) } If (LEqual (NDL3, Local0)) { Return (One) } If (LEqual (NDL4, Local0)) { Return (One) } If (LEqual (NDL5, Local0)) { Return (One) } If (LEqual (NDL6, Local0)) { Return (One) } If (LEqual (NDL7, Local0)) { Return (One) } If (LEqual (NDL8, Local0)) { Return (One) } Return (Zero) } Method (BRTN, 1, Serialized) { If (LEqual (And (DID1, 0x0F00), 0x0400)) { Notify (DD01, Arg0) } If (LEqual (And (DID2, 0x0F00), 0x0400)) { Notify (DD02, Arg0) } If (LEqual (And (DID3, 0x0F00), 0x0400)) { Notify (DD03, Arg0) } If (LEqual (And (DID4, 0x0F00), 0x0400)) { Notify (DD04, Arg0) } If (LEqual (And (DID5, 0x0F00), 0x0400)) { Notify (DD05, Arg0) } } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, DDCV, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { Zero, Zero }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0679, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL )), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { Store (KSV0, PARM) Store (KSV1, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) If (And (PARM, 0x0001E000)) { And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) Store (Zero, IDMM) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) Store (One, IDMM) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Or (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (Zero, LBPC) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } } Device (P0P1) { Name (_ADR, 0x001E0000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (Package (0x01) { Package (0x04) { 0x0006FFFF, Zero, Zero, 0x16 } }) } Else { Return (Package (0x01) { Package (0x04) { 0x0006FFFF, Zero, LNKG, Zero } }) } } } Device (LPCB) { Name (_ADR, 0x001F0000) Scope (\_SB) { OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0) Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_DIS, 0, Serialized) { Store (0x80, PARC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_DIS, 0, Serialized) { Store (0x80, PBRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_DIS, 0, Serialized) { Store (0x80, PCRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_DIS, 0, Serialized) { Store (0x80, PDRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_DIS, 0, Serialized) { Store (0x80, PERC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_DIS, 0, Serialized) { Store (0x80, PFRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_DIS, 0, Serialized) { Store (0x80, PGRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_DIS, 0, Serialized) { Store (0x80, PHRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x40), CMAR, 3, , 1, CMBR, 3, Offset (0x41), LPTR, 2, Offset (0x42), CMAD, 1, CMBD, 1, LPTD, 1, FDDD, 1, Offset (0x48), IOR2, 16, , 2, LGRM, 6, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Method (ECOK, 0, NotSerialized) { If (LEqual (^EC0.Z009, One)) { Return (One) } Else { Return (Zero) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x1C) Name (Z009, Zero) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF) Field (ECF2, ByteAcc, Lock, Preserve) { VCMD, 8, VDAT, 8, VSTA, 8 } Device (VPC0) { Name (_HID, "VPC2004") Name (_UID, Zero) Name (_VPC, 0x0140) Name (VPCD, Zero) Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LEqual (Local0, 0x49)) { Return (Z004) } Else { Return (0x0F) } } Method (_CFG, 0, NotSerialized) { Store (_VPC, Local0) And (Local0, 0xFFFF, Local0) If (LEqual (OMID, 0x21)) { Or (Local0, 0x8000, Local0) } Else { Or (Local0, 0xE000, Local0) } If (IGDS) {} Else { Or (Local0, 0x0300, Local0) } If (ECOK ()) { Store (BTEX, Local1) } If (LEqual (OMID, 0x21)) { If (LEqual (^^^^RP01.W3G1.W3GD, 0xFF)) { And (Local1, 0xFD, Local1) } Else { Or (Local1, 0x02, Local1) } } Else { And (Local1, 0xFD, Local1) } If (LEqual (^^^^RP03.WLD1.WLID, 0xFF)) { And (Local1, 0xFB, Local1) } Else { Or (Local1, 0x04, Local1) } If (ECOK ()) { If (CMEX) { Or (Local1, 0x08, Local1) } Else { And (Local1, 0xF7, Local1) } } If (LEqual (OMID, 0x21)) { And (Local1, 0x8F, Local1) } Else { And (Local1, 0x8F, Local1) } Multiply (Local1, 0x00010000, Local1) Add (Local1, Local0, Local0) Store (Local0, _VPC) Return (_VPC) } Method (VPCR, 1, Serialized) { If (LEqual (Arg0, One)) { Store (VCMD, VPCD) } Else { Store (VDAT, VPCD) } Return (VPCD) } Method (VPCW, 2, Serialized) { If (LEqual (Arg0, One)) { Store (Arg1, VCMD) } Else { Store (Arg1, VDAT) } Return (Zero) } Method (APPC, 1, Serialized) { Store (Arg0, APTG) Return (Zero) } Method (DBSL, 0, NotSerialized) { Return (Package (0x0B) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x1E, 0x14, 0x0A, Zero }) } Method (VPCM, 2, Serialized) { P8XH (Zero, Arg0) If (LEqual (Arg0, 0x21)) { Sleep (0x01F4) If (IGDS) { Store (^^^^GFX0.DD03._DCS (), Local0) And (Local0, 0x02, Local0) Store (^^^^GFX0.DD01._DCS (), Local1) And (Local1, 0x02, Local1) } Else { Store (^^^^P0P2.VGA.LCD._DCS (), Local0) And (Local0, 0x02, Local0) Store (^^^^P0P2.VGA.CRT._DCS (), Local1) And (Local1, 0x02, Local1) } Store (One, Local2) If (LEqual (Local0, 0x02)) { Store (One, Local2) If (LEqual (Local1, 0x02)) { Store (0x02, Local2) } } Else { If (LEqual (Local1, 0x02)) { Store (Zero, Local2) } } Return (Local2) } } } Method (_Q44, 0, NotSerialized) { If (LEqual (Z009, One)) { P8XH (Zero, 0x44) Notify (VPC0, 0x80) } } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, Z009) } } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x05), WINV, 1, Offset (0x60), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 24, Offset (0x90), CHGM, 16, CHGS, 16, ENID, 8, ENIB, 8, ENDD, 8, CHGV, 8, CHGA, 16, BAL0, 1, BAL1, 1, BAL2, 1, BAL3, 1, BBC0, 1, BBC1, 1, BBC2, 1, BBC3, 1, Offset (0x9C), PHDD, 1, IFDD, 1, IODD, 1, SHDD, 1, S120, 1, EFDD, 1, CRTD, 1, SPWR, 1, SBTN, 1, VIDO, 1, VOLD, 1, VOLU, 1, MUTE, 1, CONT, 1, BRGT, 1, HBTN, 1, S4ST, 1, SKEY, 1, BKEY, 1, TOUP, 1, FNBN, 1, LIDF, 1, DIGM, 1, UWAK, 1, , 1, LIDS, 1, Offset (0xA0), DKSP, 1, DKIN, 1, DKID, 1, DKOK, 1, Offset (0xA1), DKPW, 1, Offset (0xA2), BTNS, 8, S1LD, 1, S3LD, 1, VGAQ, 1, PCMQ, 1, PCMR, 1, ADPT, 1, SLLS, 1, SYS7, 1, PWAK, 1, MWAK, 1, LWAK, 1, Offset (0xA5), Offset (0xAA), TCNL, 8, TMPI, 8, TMSD, 8, FASN, 4, FASU, 4, PCVL, 4, , 2, SWTO, 1, HWTO, 1, MODE, 1, FANS, 2, INIT, 1, FAN1, 1, FAN2, 1, FANT, 1, SKNM, 1, CTMP, 8, LIDE, 1, PMEE, 1, PWBE, 1, RNGE, 1, BTWE, 1, DCKE, 1, Offset (0xB2), SKTX, 8, SKTB, 8, SKTC, 8, SKTA, 8, EVTS, 8, EVTC, 8, BTDT, 1, BTPW, 1, CMEX, 1, BTPS, 1, BTSW, 1, BTWK, 1, BTLD, 1, Offset (0xB9), BRTS, 8, CNTS, 8, WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, Offset (0xBC), PTID, 8, CPUT, 8, EPKT, 8, GHID, 8, , 4, BMF0, 3, BTY0, 1, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, CYC0, 8, BPC0, 16, BAC0, 16, BAT0, 8, BTW0, 16, BDN0, 8, Offset (0xE0), , 4, BMF1, 3, BTY1, 1, BST1, 8, BRC1, 16, BSN1, 16, BPV1, 16, BDV1, 16, BDC1, 16, BFC1, 16, GAU1, 8, CYC1, 8, BPC1, 16, BAC1, 16, BAT1, 8, BTW1, 16 } Method (_Q11, 0, NotSerialized) { P8XH (Zero, 0x11) If (IGDS) { ^^^GFX0.BRTN (0x87) Notify (VPC0, 0x80) } Else { Notify (^^^P0P2.VGA.LCD, 0x87) Notify (VPC0, 0x80) } } Method (_Q12, 0, NotSerialized) { P8XH (Zero, 0x12) If (IGDS) { ^^^GFX0.BRTN (0x86) Notify (VPC0, 0x80) } Else { Notify (^^^P0P2.VGA.LCD, 0x86) Notify (VPC0, 0x80) } } Method (_Q1C, 0, NotSerialized) { Store ("=====QUERY_1C=====", Debug) P8XH (Zero, 0x1C) If (LAnd (ECOK (), LEqual (ECDY, Zero))) { If (VIDO) { If (LEqual (Zero, APTG)) { If (IGDS) { Store (OMID, Local0) If (LEqual (Local0, 0x49)) { ^^^GFX0.GHDS (One) } Else { ^^^GFX0.GHDS (Zero) } } Else { ^^^P0P2.VGA.DSSW () } } Else { P8XH (Zero, 0x45) } Store (Zero, VIDO) } Sleep (0x01F4) Notify (VPC0, 0x80) } } Method (_Q1D, 0, NotSerialized) { Store ("=====QUERY_1D=====", Debug) P8XH (Zero, 0x1D) PCLK () Notify (\_TZ.TZ00, 0x80) } Method (_Q1E, 0, NotSerialized) { Store ("=====QUERY_1E=====", Debug) P8XH (Zero, 0x1E) PCLK () } Method (_Q25, 0, NotSerialized) { Store ("=====QUERY_25=====", Debug) P8XH (Zero, 0x25) Sleep (0x03E8) Notify (^^BAT1, 0x81) Sleep (0x03E8) Notify (^^BAT1, 0x80) } Method (_Q34, 0, NotSerialized) { Store ("=====QUERY_34=====", Debug) P8XH (Zero, 0x34) If (BKEY) { PHSS (0x71) Store (Zero, BKEY) } } Method (_Q37, 0, NotSerialized) { Store ("=====QUERY_37=====", Debug) P8XH (Zero, 0x37) If (LAnd (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49)), ECOK ())) { If (LNotEqual (^^^RP01.J380.DVID, 0xFFFFFFFF)) { Store (And (0xBF, ^^^RP01.J380.D3EF), ^^^RP01.J380.D3EF) } } Notify (ACAD, 0x80) Sleep (0x03E8) Notify (^^BAT1, 0x80) } Method (_Q38, 0, NotSerialized) { Store ("=====QUERY_38=====", Debug) P8XH (Zero, 0x38) If (LAnd (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49)), ECOK ())) { If (LNotEqual (^^^RP01.J380.DVID, 0xFFFFFFFF)) { Store (Or (0x40, ^^^RP01.J380.D3EF), ^^^RP01.J380.D3EF) } } Notify (ACAD, 0x80) Sleep (0x03E8) Notify (^^BAT1, 0x80) } OperationRegion (CCLK, SystemIO, 0x0410, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, Offset (0x01), FTT, 1, , 8, TSTS, 1 } OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF) Field (ECRM, ByteAcc, Lock, Preserve) { Offset (0x94), ERIB, 16, ERBD, 8, Offset (0xAC), SDTM, 8, FSSN, 4, FANU, 4, PTVL, 3, , 4, TTHR, 1, Offset (0xBC), PJID, 8, Offset (0xBE), Offset (0xF9), RFRD, 16 } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (ERBD, Local0) Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (Arg1, ERBD) Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (THEN) } Else { If (LEqual (Arg0, One)) { Return (DUTY) } Else { If (LEqual (Arg0, 0x02)) { Return (TSTS) } Else { Return (0xFF) } } } } Method (CLCK, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, THEN) Store (Zero, FTT) } Else { Store (Arg0, DUTY) Store (One, THEN) } Return (THEN) } Method (PCLK, 0, NotSerialized) { Store (PTVL, Local0) If (LEqual (Local0, Zero)) { Store (Zero, THEN) Store (Zero, FTT) Store (Zero, DUTY) Store (Zero, TTHR) } Else { Decrement (Local0) Store (Not (Local0), Local1) And (Local1, 0x07, Local1) Store (Local1, DUTY) Store (One, THEN) } } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (_CID, EisaId ("PNP0C01")) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, 0x04, HPT0) If (LEqual (HPAS, One)) { Store (0xFED01000, HPT0) } If (LEqual (HPAS, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPAS, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (IPIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LEqual (Local0, 0x21)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (Z005) } Else { Return (Z004) } } Return (Z004) } Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // 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, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0480, // Range Minimum 0x0480, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (Z00A) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { Store (OMID, Local0) If (LOr (LEqual (Local0, 0x22), LEqual (Local0, 0x49))) { Return (Z005) } Else { If (LOr (LEqual (OSYS, 0x07D1), LEqual (OSYS, 0x07D2))) { Return (Z005) } } Return (Z004) } Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // 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, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0480, // Range Minimum 0x0480, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFF00, // Range Minimum 0xFF00, // Range Maximum 0x01, // Alignment 0x80, // Length ) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0xBFD9EEBD, 0x00000090) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8, INF1, 32 } Mutex (PSMX, 0x00) Method (PHSS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (Arg0, SSMD) Store (0x70, SSMP) Release (PSMX) } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Method (_STA, 0, NotSerialized) { If (LAnd (ECOK (), LEqual (ECDY, Zero))) { If (^^EC0.BAL0) { Sleep (0x14) Return (0x1F) } Else { Sleep (0x14) Return (0x0F) } } Else { Sleep (0x14) Return (0x1F) } } Method (_BIF, 0, NotSerialized) { Name (STAT, Package (0x0D) { One, 0x0FA0, 0x0FA0, One, 0x2B5C, 0x01A4, 0x9C, 0x0108, 0x0EC4, "PABAS024", "3658Q", "LION", "COMPAL" }) If (ECOK ()) { Store (^^EC0.BDN0, Local0) If (LEqual (Local0, 0x02)) { Store ("PA3457U ", Index (STAT, 0x09)) } If (LEqual (Local0, 0x08)) { Store ("PA3457U ", Index (STAT, 0x09)) } Sleep (0x14) Store (^^EC0.BDC0, BFC1) Sleep (0x14) Store (^^EC0.BMF0, Local1) Sleep (0x14) If (LEqual (Local1, One)) { Store ("SANYO ", Index (STAT, 0x0C)) } Else { If (LEqual (Local1, 0x02)) { Store ("SONY ", Index (STAT, 0x0C)) } Else { If (LEqual (Local1, 0x03)) { Store ("LG ", Index (STAT, 0x0C)) } Else { If (LEqual (Local1, 0x04)) { Store ("PANASONIC ", Index (STAT, 0x0C)) } Else { If (LEqual (Local1, 0x05)) { Store ("SAMSUNG ", Index (STAT, 0x0C)) } Else { Store ("COMPAL ", Index (STAT, 0x0C)) } } } } } } Else { Store ("Li-Ion", Index (STAT, 0x0B)) } If (^^EC0.BDC0) { Store (^^EC0.BDC0, Local1) Store (Local1, Index (STAT, One)) Store (^^EC0.BFC0, Local2) If (LGreater (Local2, Local1)) { Store (Local1, Local2) } Store (Local1, Index (STAT, 0x02)) } Return (STAT) } Method (_BST, 0, NotSerialized) { Name (PBST, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0x2B5C }) If (LAnd (ECOK (), LEqual (ECDY, Zero))) { Sleep (0x14) Store (^^EC0.BST0, BST1) Sleep (0x14) Store (^^EC0.GAU0, BGU1) Sleep (0x14) Store (^^EC0.BPV0, Local3) Sleep (0x14) } If (BFC1) { Multiply (BGU1, BFC1, Local2) Divide (Local2, 0x64, Local4, Local2) } Else { Multiply (BGU1, 0x28, Local2) } If (LGreater (^^EC0.BAC0, 0xFB00)) { Store (0xFAFF, Local5) } Else { Store (^^EC0.BAC0, Local5) } And (Local5, 0x8000, Local6) If (LEqual (Local6, 0x8000)) { Not (Local5, Local5) And (Local5, 0xFFFF, Local5) } Store (BST1, Index (PBST, Zero)) Store (Local5, Index (PBST, One)) Store (Local2, Index (PBST, 0x02)) Store (Local3, Index (PBST, 0x03)) If (LGreater (ECDY, Zero)) { Decrement (ECDY) If (LEqual (ECDY, Zero)) { Notify (BAT1, 0x80) If (LEqual (OSYS, 0x07D6)) { Store (One, ^^EC0.WINV) } Else { Store (Zero, ^^EC0.WINV) } } } Return (PBST) } } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Method (_PSR, 0, NotSerialized) { Return (^^EC0.ADPT) } } Device (MSE0) { Name (_HID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { If (LGreater (TSTE, One)) { Return (Zero) } Else { Return (0x0F) } } Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS0) { Name (_HID, EisaId ("SYN0713")) Name (_CID, Package (0x03) { EisaId ("SYN0700"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Method (_STA, 0, NotSerialized) { If (LGreater (TSTE, One)) { Return (0x0F) } Else { Return (Zero) } } Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { If (LAnd (LEqual (^^LPCB.EC0.ADPT, One), ^^LPCB.ECOK ())) { Store (One, U1EN) If (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49))) { Store (0x03, U1EN) } Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x03, 0x03 }) } Device (USB1) { Name (_ADR, 0x001D0001) } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { If (LAnd (LEqual (^^LPCB.EC0.ADPT, One), ^^LPCB.ECOK ())) { Store (One, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) } Device (EHC1) { Name (_ADR, 0x001D0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (USB3) { Name (_ADR, 0x001A0000) } Device (USB4) { Name (_ADR, 0x001A0001) } Device (USB5) { Name (_ADR, 0x001A0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { If (LAnd (LEqual (^^LPCB.EC0.ADPT, One), ^^LPCB.ECOK ())) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x20, 0x03 }) } Device (EHC2) { Name (_ADR, 0x001A0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (HDEF) { Name (_ADR, 0x001B0000) OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), Offset (0x09), PMEE, 1, , 6, PMES, 1 } Method (_PS0, 0, NotSerialized) { Store (One, PMEE) } Method (_PS3, 0, NotSerialized) { If (Zero) { If (LAnd (LEqual (^^LPCB.EC0.ADPT, One), ^^LPCB.ECOK ())) { Store (One, PMEE) } Else { Store (Zero, PMEE) } } Else { Store (Zero, PMEE) } } Name (_PRW, Package (0x02) { 0x0D, Zero }) } Device (RP01) { Name (_ADR, 0x001C0000) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) } Device (J380) { Name (_ADR, Zero) OperationRegion (PCFG, PCI_Config, Zero, 0xFF) Field (PCFG, ByteAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SSID, 32, Offset (0xAC), D3EF, 8, Offset (0xB2), LAT0, 8, Offset (0xCF), ATRB, 8, Offset (0xD3), PMC0, 8 } Method (_STA, 0, NotSerialized) { If (LNotEqual (DVID, 0xFFFFFFFF)) { Return (0x0A) } Else { Return (Zero) } } Method (_RMV, 0, NotSerialized) { Return (Zero) } } Device (J381) { Name (_ADR, One) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Device (J382) { Name (_ADR, 0x02) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Device (J383) { Name (_ADR, 0x03) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Device (J384) { Name (_ADR, 0x04) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04) } Return (PR04) } Device (W3G1) { Name (_ADR, Zero) OperationRegion (W3G, PCI_Config, Zero, 0x08) Field (W3G, ByteAcc, NoLock, Preserve) { W3GD, 8 } } } Device (RP02) { Name (_ADR, 0x001C0001) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } Device (RP03) { Name (_ADR, 0x001C0002) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06) } Return (PR06) } Device (WLD1) { Name (_ADR, Zero) OperationRegion (WLAN, PCI_Config, Zero, 0x08) Field (WLAN, ByteAcc, NoLock, Preserve) { WLID, 8 } } } Device (RP04) { Name (_ADR, 0x001C0003) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) } Name (PXSX._RMV, One) Name (_PRW, Package (0x02) { 0x09, 0x03 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07) } Return (PR07) } } Device (RP05) { Name (_ADR, 0x001C0004) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR08) } Return (PR08) } } Device (RP06) { Name (_ADR, 0x001C0005) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_PRW, 0, NotSerialized) { If (WKLN) { Return (Package (0x02) { 0x09, 0x03 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR09) } Return (PR09) } } } } Scope (_PR) { Processor (CPU0, 0x00, 0x00000410, 0x06) {} Processor (CPU1, 0x01, 0x00000410, 0x06) {} Processor (CPU2, 0x02, 0x00000410, 0x06) {} Processor (CPU3, 0x03, 0x00000410, 0x06) {} } Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08) ), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10) ), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18) ), P80D) } Store (P80D, P80H) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8, SSMD, 8 } Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) Store (Arg0, PICM) } Method (_PTS, 1, NotSerialized) { Store (Zero, P80D) P8XH (Zero, Arg0) If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0x03) Store (One, \_SB.PCI0.LPCB.EC0.S3LD) } If (LEqual (Arg0, 0x04)) { P8XH (Zero, 0x04) Store (One, \_SB.PCI0.LPCB.EC0.S3LD) \_SB.PCI0.LPCB.PHSS (0x0E) } If (LEqual (Arg0, 0x05)) { P8XH (Zero, 0x55) } } Method (_WAK, 1, NotSerialized) { P8XH (One, 0xAB) If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0x53) \_SB.PCI0.LPCB.PHSS (0x81) If (LAnd (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49)), \_SB.PCI0.LPCB.ECOK ())) { And (\_SB.PCI0.RP01.J380.DVID, 0xFFF0FFFF, Local1) If (LEqual (Local1, 0x2380197B)) { If (And (One, \_SB.PCI0.LPCB.EC0.ADPT)) { Store (And (0xBF, \_SB.PCI0.RP01.J380.D3EF), \_SB.PCI0.RP01.J380.D3EF) } } Notify (\_SB.PCI0.RP01, Zero) } If (_OSI ("Windows 2006")) { Notify (\_SB.PWRB, 0x02) } } If (LEqual (Arg0, 0x04)) { \_SB.PCI0.LPCB.PHSS (0x0F) If (IGDS) { If (LEqual (\_SB.PCI0.LPCB.EC0.LIDS, Zero)) { Store (One, \_SB.PCI0.GFX0.CLID) } Else { Store (Zero, \_SB.PCI0.GFX0.CLID) } } Store (WAKF, Local0) Store (Zero, WAKF) If (_OSI ("Windows 2006")) { Store (One, \_SB.PCI0.LPCB.EC0.WINV) } And (Local0, 0x05, Local0) If (LEqual (Local0, One)) { P8XH (Zero, 0x41) Notify (\_SB.PWRB, 0x02) } If (LAnd (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49)), \_SB.PCI0.LPCB.ECOK ())) { And (\_SB.PCI0.RP01.J380.DVID, 0xFFF0FFFF, Local1) If (LEqual (Local1, 0x2380197B)) { If (And (One, \_SB.PCI0.LPCB.EC0.ADPT)) { Store (And (0xBF, \_SB.PCI0.RP01.J380.D3EF), \_SB.PCI0.RP01.J380.D3EF) } } } P8XH (Zero, 0x54) } If (CondRefOf (_OSI, Local0)) { Store (Zero, \_SB.PCI0.LPCB.EC0.WINV) If (_OSI ("Windows 2006")) { Store (One, \_SB.PCI0.LPCB.EC0.WINV) } } Return (Package (0x02) { Zero, Zero }) } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (PNOT, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) If (And (PDC0, 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) If (And (PDC1, 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } Method (TRAP, 2, Serialized) { Store (Arg1, SMIF) If (LEqual (Arg0, TRTP)) { Store (Zero, TRPI) } If (LEqual (Arg0, TRTD)) { Store (Arg1, DTSF) Store (Zero, TRPD) Return (DTSF) } If (LEqual (Arg0, TRTI)) { Store (Zero, TRP0) } Return (SMIF) } Scope (_SB.PCI0) { Method (_INI, 0, NotSerialized) { Store (0x07D0, OSYS) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, OSYS) } If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) } If (LAnd (MPEN, LEqual (OSYS, 0x07D1))) { TRAP (TRTP, \ESCS) } TRAP (TRTI, SOOT) } } } Scope (\) { Name (PICM, Zero) } Scope (_TZ) { Name (DCRT, 0x0F52) ThermalZone (TZ00) { Method (_CRT, 0, Serialized) { Return (DCRT) } Method (_TMP, 0, Serialized) { If (\_SB.PCI0.LPCB.ECOK ()) { Return (Add (0x0AAC, Multiply (\_SB.PCI0.LPCB.EC0.CTMP, 0x0A))) } Return (0x0BB8) } Method (_AC0, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Method (_PSL, 0, Serialized) { If (MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) { Return (Add (0x0AAC, Multiply (PSVT, 0x0A))) } Method (_TC1, 0, Serialized) { Return (TC1V) } Method (_TC2, 0, Serialized) { Return (TC2V) } Method (_TSP, 0, Serialized) { Return (TSPV) } } } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED45000, // Address Base 0x0004B000, // Address Length ) }) Method (_CRS, 0, Serialized) { CreateDWordField (BUF0, 0x04, RBR0) ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) CreateDWordField (BUF0, 0x10, MBR0) ShiftLeft (MHBR, 0x0E, MBR0) CreateDWordField (BUF0, 0x1C, DBR0) ShiftLeft (DIBR, 0x0C, DBR0) CreateDWordField (BUF0, 0x28, EBR0) ShiftLeft (EPBR, 0x0C, EBR0) CreateDWordField (BUF0, 0x34, XBR0) ShiftLeft (PXBR, 0x1A, XBR0) CreateDWordField (BUF0, 0x38, XSZ0) ShiftRight (0x10000000, PXSZ, XSZ0) Return (BUF0) } } } Scope (\) { OperationRegion (IO_T, SystemIO, 0x0480, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { TRPI, 16, Offset (0x04), Offset (0x06), Offset (0x08), TRP0, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (IO_D, SystemIO, 0x0900, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x0400, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (PMIO, SystemIO, PMBS, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x20), , 2, SPST, 1, Offset (0x22), Offset (0x23), , 2, ACPW, 1, Offset (0x42), , 1, GPEC, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (GPIO, SystemIO, GPBS, 0x3C) Field (GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, , 3, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, , 3, LPOL, 1, Offset (0x2E), GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 5, , 1, Offset (0x39), GL05, 8, GL06, 8, GL07, 8 } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, , 1, SATD, 1, SMBD, 1, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1 } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { Return (0xFFFFFFFF) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)) )) } Method (GDMA, 5, Serialized) { If (Arg0) { If (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } Method (GETT, 1, Serialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02 ), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, Serialized) { Name (TMPF, Zero) If (Arg0) { Or (TMPF, One, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LLessEqual (Arg0, 0x14)) { Return (One) } If (LLessEqual (Arg0, 0x1E)) { Return (0x02) } If (LLessEqual (Arg0, 0x2D)) { Return (One) } If (LLessEqual (Arg0, 0x3C)) { Return (0x02) } If (LLessEqual (Arg0, 0x5A)) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x09) } } Return (0x04) } } Scope (_SB.PCI0) { Device (SAT0) { Name (_ADR, 0x001F0002) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } } Device (SAT1) { Name (_ADR, 0x001F0005) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } } Device (SBUS) { Name (_ADR, 0x001F0003) OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMBI, SystemIO, 0x1C00, 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT0) And (ShiftRight (Arg2, 0x08), 0xFF, DAT1) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT1, 0x08), DAT0)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } } } Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (L01C, One, L01C) P8XH (Zero, 0x61) If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { Store (One, \_SB.PCI0.RP01.PDCX) Store (One, \_SB.PCI0.RP01.HPSX) If (LAnd (LOr (LEqual (OMID, 0x22), LEqual (OMID, 0x49)), \_SB.PCI0.LPCB.ECOK ())) { If (\_SB.PCI0.RP01.PDSX) { Store (0x0A, Local2) While (LGreater (Local2, Zero)) { Sleep (0x64) And (\_SB.PCI0.RP01.J380.DVID, 0xFFF0FFFF, Local1) If (LEqual (Local1, 0x2380197B)) { Store (Zero, Local2) \_SB.PCI0.LPCB.PHSS (0x8F) If (And (One, \_SB.PCI0.LPCB.EC0.ADPT)) { Store (And (0xBF, \_SB.PCI0.RP01.J380.D3EF), \_SB.PCI0.RP01.J380.D3EF) } } Else { Decrement (Local2) } } } Else { Sleep (0x64) } Notify (\_SB.PCI0.RP01, Zero) } Notify (\_SB.PCI0.RP01, Zero) } Else { And (\_SB.PCI0.RP01.J380.DVID, 0xFFF0FFFF, Local1) If (LEqual (Local1, 0x2380197B)) { If (And (One, \_SB.PCI0.LPCB.EC0.ADPT)) { Store (And (0xBF, \_SB.PCI0.RP01.J380.D3EF), \_SB.PCI0.RP01.J380.D3EF) } } Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { Store (One, \_SB.PCI0.RP02.PDCX) Store (One, \_SB.PCI0.RP02.HPSX) Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { Store (One, \_SB.PCI0.RP03.PDCX) Store (One, \_SB.PCI0.RP03.HPSX) Notify (\_SB.PCI0.RP03, Zero) } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { Store (One, \_SB.PCI0.RP04.PDCX) Store (One, \_SB.PCI0.RP04.HPSX) Notify (\_SB.PCI0.RP04, Zero) } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP05.PDCX) { Store (One, \_SB.PCI0.RP05.PDCX) Store (One, \_SB.PCI0.RP05.HPSX) Notify (\_SB.PCI0.RP05, Zero) } Else { Store (One, \_SB.PCI0.RP05.HPSX) } } If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP06.PDCX) { Store (One, \_SB.PCI0.RP06.PDCX) Store (One, \_SB.PCI0.RP06.HPSX) Notify (\_SB.PCI0.RP06, Zero) } Else { Store (One, \_SB.PCI0.RP06.HPSX) } } P8XH (Zero, 0x62) } Method (_L06, 0, NotSerialized) { P8XH (Zero, 0x06) If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI))) { \_SB.PCI0.GFX0.GSCI () } Else { If (LEqual (And (\_SB.PCI0.ESCS, 0x08), 0x08)) { Store (One, Local0) Store (\_SB.PCI0.T0IS, \_SB.PCI0.T0IS) Store (\_SB.PCI0.T0IS, Local0) Store (\_SB.PCI0.T1IS, \_SB.PCI0.T1IS) Store (\_SB.PCI0.T1IS, Local0) Store (One, SCIS) Store (One, \_SB.PCI0.GTSE) If (CondRefOf (\_SB.PCI0.TMEM.GPEH)) { \_SB.PCI0.TMEM.GPEH () } } Else { Store (One, SCIS) } } } Method (_L09, 0, NotSerialized) { P8XH (Zero, 0x09) Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P2.VGA, 0x02) Notify (\_SB.PCI0.RP01, 0x02) Notify (\_SB.PCI0.RP02, 0x02) Notify (\_SB.PCI0.RP03, 0x02) Notify (\_SB.PCI0.RP04, 0x02) Notify (\_SB.PCI0.RP05, 0x02) Notify (\_SB.PCI0.RP06, 0x02) } Method (_L0B, 0, NotSerialized) { P8XH (Zero, 0x0B) Notify (\_SB.PCI0.P0P1, 0x02) } Method (_L03, 0, NotSerialized) { P8XH (Zero, 0x03) Notify (\_SB.PCI0.USB0, 0x02) } Method (_L04, 0, NotSerialized) { P8XH (Zero, 0x04) Notify (\_SB.PCI0.USB1, 0x02) } Method (_L0C, 0, NotSerialized) { P8XH (Zero, 0x0C) Notify (\_SB.PCI0.USB2, 0x02) } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) } Method (_L0D, 0, NotSerialized) { P8XH (Zero, 0x0D) Notify (\_SB.PCI0.EHC1, 0x02) Notify (\_SB.PCI0.EHC2, 0x02) Notify (\_SB.PCI0.HDEF, 0x02) } Method (_L0E, 0, NotSerialized) { P8XH (Zero, 0x0E) Notify (\_SB.PCI0.USB3, 0x02) } Method (_L05, 0, NotSerialized) { P8XH (Zero, 0x05) Notify (\_SB.PCI0.USB4, 0x02) } Method (_L1B, 0, NotSerialized) { P8XH (Zero, 0x1B) Not (LPOL, LPOL) If (IGDS) { If (_OSI ("Windows 2006")) { If (LEqual (\_SB.PCI0.LPCB.EC0.LIDS, Zero)) { Store (One, \_SB.PCI0.GFX0.CLID) } Else { Store (Zero, \_SB.PCI0.GFX0.CLID) } } Else { If (LEqual (\_SB.PCI0.LPCB.EC0.LIDS, Zero)) { \_SB.PCI0.GFX0.GLID (One) } Else { \_SB.PCI0.GFX0.GLID (Zero) } } } Else { If (Not (_OSI ("Windows 2006"))) { If (LEqual (\_SB.PCI0.LPCB.EC0.LIDS, Zero)) { \_SB.PCI0.P0P2.VGA.STBL (One) } Else { \_SB.PCI0.P0P2.VGA.STBL (0x02) } } } Notify (\_SB.LID0, 0x80) } } Name (ECDY, 0x07) Name (APTG, Zero) Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) }