/* * Intel ACPI Component Architecture * AML Disassembler version 20050513 * * Disassembly of dsdt.aml, Sat Oct 8 12:18:53 2005 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "Sony", "J1", 537199377) { external (PDC0) external (PDC1) OperationRegion (SMI0, SystemMemory, 0x3FEFAB38, 0x00000415) Field (SMI0, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 4096 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INFB, 8 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INFD, 32 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), SXBF, 8320 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INF1, 8, INF2, 8 } OperationRegion (SMI1, SystemIO, 0x0000FE00, 0x00000002) Field (SMI1, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex (MPHS, 0x00) Method (PHS0, 1, NotSerialized) { Store (Arg0, BCMD) Store (Zero, SMIC) While (LEqual (BCMD, Arg0)) {} Store (Zero, BCMD) } Method (PHS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, DID) PHS0 (Arg0) Store (INFD, Local0) Release (MPHS) Return (Local0) } Method (PHSD, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, DID) Store (Arg1, INFD) PHS0 (Arg0) Store (INFD, Local0) Release (MPHS) Return (Local0) } Method (PHSW, 3, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, DID) Store (Arg1, INF1) Store (Arg2, INF2) PHS0 (Arg0) Store (INFB, Local0) Release (MPHS) Return (Local0) } Method (PHSB, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, DID) Store (Arg1, INFB) PHS0 (Arg0) Store (INFB, Local0) Release (MPHS) Return (Local0) } OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } OperationRegion (IO_T, SystemIO, 0x0800, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { Offset (0x02), Offset (0x04), Offset (0x06), Offset (0x08), TRP0, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (GPIO, SystemIO, 0x1180, 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, , 5, GP21, 1, , 1, GP23, 1, , 1, GP25, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 1, GP33, 1, Offset (0x39), GL05, 8, GL06, 8, GL07, 8 } OperationRegion (MNVS, SystemMemory, 0x3FEEAA38, 0x0100) Field (MNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 16, LCKF, 8, PRM4, 16, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, Offset (0x14), ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, Offset (0x1E), BNUM, 8, B0SC, 8, B1SC, 8, B2SC, 8, B0SS, 8, B1SS, 8, B2SS, 8, LBST, 8, TBST, 8, Offset (0x28), APIC, 8, CPUL, 8, CPUH, 8, GV3E, 8, HTTE, 8, WTHT, 8, CPUT, 8, FTHT, 8, Offset (0x32), NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, CMCP, 8, CIRP, 8, 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, Offset (0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x78), D400, 8, Offset (0x82), GTF0, 56, GTF2, 56, IDEM, 8 } OperationRegion (RCRB, SystemMemory, 0xF0008000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, PATD, 1, SATD, 1, SMBD, 1, AZAD, 1, A97D, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1 } Mutex (MUTX, 0x00) Name (_S0, Package (0x03) { Zero, Zero, Zero }) Name (_S3, Package (0x03) { 0x05, 0x05, Zero }) Name (_S4, Package (0x03) { 0x06, 0x06, Zero }) Name (_S5, Package (0x03) { 0x07, 0x07, Zero }) Scope (_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) {} Processor (CPU1, 0x01, 0x00001010, 0x06) {} } Name (DSEN, One) Name (ECON, Zero) Name (GPIC, Zero) Name (L01C, Zero) Name (AODV, Zero) Name (CADD, Zero) Name (PADD, Zero) Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) } Method (_PTS, 1, NotSerialized) { Store (Zero, P80D) Store (Arg0, PRM0) Store (0x50, SMIF) Store (Zero, TRP0) } Method (_WAK, 1, NotSerialized) { \_SB.NCPU () Store (Arg0, PRM0) Store (0x51, SMIF) Store (Zero, TRP0) Store (\_SB.PCI0.LPCB.EC.RPWR, PWRS) Store (\_SB.PCI0.LPCB.EC.RSCL, B0SC) Store (\_SB.PCI0.LPCB.EC.BATP, BNUM) If (BNUM) { Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) } If (LEqual (Arg0, 0x04)) { Notify (\_SB.PWRB, 0x02) } PNOT () Return (Package (0x02) { Zero, Zero }) } Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (L01C, One, L01C) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) } Method (_L05, 0, NotSerialized) { If (AZAD) { Notify (\_SB.PCI0.MODM, 0x02) } Else { Notify (\_SB.PCI0.AZAL, 0x02) } } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.PCIB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.USB7, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) } Method (_L1D, 0, NotSerialized) { Notify (\_SB.PWRB, 0x02) } } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (HKDS, 1, Serialized) { If (LEqual (Zero, DSEN)) { Store (Arg0, SMIF) Store (Zero, TRP0) If (LEqual (SMIF, Zero)) { If (LNot (LEqual (CADL, PADL))) { Store (CADL, PADL) If (LEqual (OSYS, 0x07D1)) { Notify (\_SB.PCI0, Zero) } Else { Notify (\_SB.PCI0.GFX0, Zero) } Sleep (0x02EE) } Notify (\_SB.PCI0.GFX0, 0x80) } } If (LEqual (One, DSEN)) { Store (Increment (Arg0), SMIF) Store (Zero, TRP0) If (LEqual (SMIF, Zero)) { Notify (\_SB.PCI0.GFX0, 0x81) } } } Method (LSDS, 1, Serialized) { If (Arg0) { HKDS (0x0C) } Else { HKDS (0x0E) } If (LNot (LEqual (DSEN, One))) { Sleep (0x32) While (LEqual (DSEN, 0x02)) { Sleep (0x32) } } } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)), P80D) } Store (P80D, P80H) } Method (PNOT, 0, Serialized) { If (HTTE) { If (LEqual (And (PDC0, 0x0A), 0x0A)) { Notify (\_PR.CPU0, 0x80) } If (LEqual (And (PDC1, 0x0A), 0x0A)) { Notify (\_PR.CPU1, 0x80) } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) If (CPUT) { If (PWRS) { Store (0x35, SMIF) Store (Zero, TRP0) } Else { Store (0x36, SMIF) Store (Zero, TRP0) } } } } Scope (_TZ) { ThermalZone (THRM) { Method (_CRT, 0, Serialized) { Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) } Method (_TMP, 0, Serialized) { If (ECON) { Store (\_SB.PCI0.LPCB.EC.TS1R, Local0) If (LAnd (LAnd (LEqual (OSYS, 0x07D1), GPIC), LAnd (HTTE, PSVT))) { If (LNot (LEqual (And (PDC1, 0x0A), 0x0A))) { If (LGreater (Local0, PSVT)) { If (LEqual (WTHT, Zero)) { Store (One, WTHT) Store (0x34, SMIF) Store (Zero, TRP0) } } Else { If (LEqual (WTHT, One)) { Store (Zero, WTHT) Store (0x33, SMIF) Store (Zero, TRP0) } } } } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (0x0BB8) } } Method (_PSL, 0, Serialized) { If (HTTE) { 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) } } } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { Return (Ones) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)))) } Method (GDMA, 5, Serialized) { If (Arg0) { If (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (Ones) } Method (GETT, 1, Serialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, Serialized) { Name (TMPF, Zero) If (Arg0) { Or (TMPF, One, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LNot (LGreater (Arg0, 0x14))) { Return (One) } If (LNot (LGreater (Arg0, 0x1E))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x2D))) { Return (One) } If (LNot (LGreater (Arg0, 0x3C))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x5A))) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) { Return (0x09) } } Return (0x04) } Scope (_SB) { Device (ADP1) { Name (_HID, "ACPI0003") Method (_PSR, 0, NotSerialized) { If (LEqual (ECON, Zero)) { And (PHSB (0xD4, Zero), 0x80, Local0) } Else { Store (^^PCI0.LPCB.EC.RPWR, Local0) } If (LEqual (Local0, Zero)) { Return (Zero) } Else { Return (One) } } Method (_PCL, 0, NotSerialized) { Return (_SB) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, Zero) Method (_STA, 0, NotSerialized) { If (LEqual (ECON, Zero)) { And (PHSD (0xD4, Zero), 0x40, Local1) } Else { Store (^^PCI0.LPCB.EC.BATP, Local1) } If (LEqual (Local1, Zero)) { Store (0x0F, Local0) } Else { Store (0x1F, Local0) } Return (Local0) } Method (_BIF, 0, NotSerialized) { Name (MULV, Zero) Name (BATI, Package (0x0D) { Zero, 0x2710, 0x2710, Zero, Ones, 0x03E8, 0x0190, 0x64, 0x64, "", "", "LiOn", "Sony Corp." }) Store (One, MULV) If (LEqual (ECON, Zero)) {} Else { And (^^PCI0.LPCB.EC.OMFH, 0x80, Local0) If (Local0) { Store (Zero, Index (BATI, Zero)) Store (0x0A, MULV) } Else { Store (One, Index (BATI, Zero)) } Store (^^PCI0.LPCB.EC.BDCH, Local0) Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BDCL, Local0) Store (Multiply (Local0, MULV), Index (BATI, One)) Store (^^PCI0.LPCB.EC.FCCH, Local0) Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.FCCL, Local0) Store (Multiply (Local0, MULV), Index (BATI, 0x02)) Store (^^PCI0.LPCB.EC.BAVH, Local0) Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BAVL, Local0) Store (Multiply (Local0, MULV), Index (BATI, 0x04)) } Return (BATI) } Method (_BST, 0, NotSerialized) { Name (PKG0, Package (0x04) { 0x02, Ones, Ones, Ones }) If (LEqual (ECON, Zero)) {} Else { If (LEqual (^^PCI0.LPCB.EC.CHGE, One)) { Store (0x02, Index (PKG0, Zero)) } Else { Store (One, Index (PKG0, Zero)) } Name (MULV, Zero) And (^^PCI0.LPCB.EC.OMFH, 0x80, Local0) If (Local0) { Store (0x0A, MULV) } Else { Store (One, MULV) } Store (^^PCI0.LPCB.EC.BRCH, Local0) Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BRCL, Local0) Store (Multiply (Local0, MULV), Index (PKG0, 0x02)) Store (^^PCI0.LPCB.EC.RSCL, Local2) } Return (PKG0) } Method (_PCL, 0, NotSerialized) { Return (_SB) } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPCB.EC.LSTE, Local0) } Else { And (PHSB (0xD4, Zero), 0x20, Local0) } If (Local0) { Return (Zero) } Else { Return (One) } } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_PRW, Package (0x02) { 0x1D, 0x04 }) } Mutex (PLOK, 0x00) Method (NCPU, 0, NotSerialized) { Acquire (PLOK, 0xFFFF) Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) Release (PLOK) } Device (PCI0) { Method (_INI, 0, NotSerialized) { If (CondRefOf (_OSI, Local0)) { Store (0x07D1, OSYS) If (HTTE) { Store (0x32, SMIF) Store (Zero, TRP0) } } Else { If (LEqual (SizeOf (_OS), 0x14)) { Store (0x07D0, OSYS) } Else { If (LEqual (SizeOf (_OS), 0x27)) { Store (0x07CF, OSYS) } Else { Store (0x07CE, OSYS) } } } If (LNot (LGreater (OSYS, 0x07CF))) {} } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_HID, EisaId ("PNP0A03")) Name (_ADR, Zero) Name (_BBN, Zero) OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { 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 (0x5C), , 3, TOUD, 5 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x00FF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0100,,,) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000CF7, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000CF8,,, , TypeStatic) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Address Space Granularity 0x00000D00, // Address Range Minimum 0x0000FFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x0000F300,,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000A0000, // Address Range Minimum 0x000BFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C0000, // Address Range Minimum 0x000C3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C4000, // Address Range Minimum 0x000C7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C8000, // Address Range Minimum 0x000CBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000CC000, // Address Range Minimum 0x000CFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D0000, // Address Range Minimum 0x000D3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D4000, // Address Range Minimum 0x000D7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D8000, // Address Range Minimum 0x000DBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000DC000, // Address Range Minimum 0x000DFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E0000, // Address Range Minimum 0x000E3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E4000, // Address Range Minimum 0x000E7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E8000, // Address Range Minimum 0x000EBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000EC000, // Address Range Minimum 0x000EFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000F0000, // Address Range Minimum 0x000FFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00010000,,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0xDFFFFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000000,,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { If (PM1L) { CreateDWordField (BUF0, 0x80, C0LN) Store (Zero, C0LN) } If (LEqual (PM1L, One)) { CreateBitField (BUF0, 0x0378, C0RW) Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, 0x9B, C4LN) Store (Zero, C4LN) } If (LEqual (PM1H, One)) { CreateBitField (BUF0, 0x0450, C4RW) Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, 0xB6, C8LN) Store (Zero, C8LN) } If (LEqual (PM2L, One)) { CreateBitField (BUF0, 0x0528, C8RW) Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, 0xD1, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, One)) { CreateBitField (BUF0, 0x0600, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, 0xEC, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, One)) { CreateBitField (BUF0, 0x06D8, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, 0x0107, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, One)) { CreateBitField (BUF0, 0x07B0, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, 0x0122, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, One)) { CreateBitField (BUF0, 0x0888, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, 0x013D, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, One)) { CreateBitField (BUF0, 0x0960, DCRW) Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, 0x0158, E0LN) Store (Zero, E0LN) } If (LEqual (PM5L, One)) { CreateBitField (BUF0, 0x0A38, E0RW) Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, 0x0173, E4LN) Store (Zero, E4LN) } If (LEqual (PM5H, One)) { CreateBitField (BUF0, 0x0B10, E4RW) Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, 0x018E, E8LN) Store (Zero, E8LN) } If (LEqual (PM6L, One)) { CreateBitField (BUF0, 0x0BE8, E8RW) Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, 0x01A9, ECLN) Store (Zero, ECLN) } If (LEqual (PM6H, One)) { CreateBitField (BUF0, 0x0CC0, ECRW) Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, 0x01C4, F0LN) Store (Zero, F0LN) } If (LEqual (PM0H, One)) { CreateBitField (BUF0, 0x0D98, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, 0x01D3, M1MN) CreateDWordField (BUF0, 0x01D7, M1MX) CreateDWordField (BUF0, 0x01DF, M1LN) ShiftLeft (TOUD, 0x1B, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x11) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, 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) { 0x001EFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x14 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 } }) } Else { Return (Package (0x11) { Package (0x04) { 0x0001FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0002FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0007FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001BFFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001CFFFF, Zero, ^LPCB.LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001DFFFF, Zero, ^LPCB.LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001EFFFF, Zero, ^LPCB.LNKB, Zero }, Package (0x04) { 0x001EFFFF, One, ^LPCB.LNKE, Zero }, Package (0x04) { 0x001FFFFF, Zero, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x03, ^LPCB.LNKA, Zero } }) } } Device (PEGP) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKD, Zero } }) } } Device (NGFX) { Name (_ADR, Zero) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), DSEN) If (LEqual (DSEN, Zero)) { Store (Zero, AODV) } } Method (_DOD, 0, NotSerialized) { Return (Package (0x04) { 0x0100, 0x0118, 0x0200, 0x0111 }) } Device (LCD) { Name (_ADR, 0x0118) Method (_DCS, 0, NotSerialized) { Store (0x0D, Local0) Store (PHS (0xC5), Local1) If (And (Local1, 0x0100)) { Or (Local0, 0x10, Local0) } If (And (Local1, One)) { Or (Local0, 0x02, Local0) } Return (Local0) } Method (_DGS, 0, NotSerialized) { If (And (AODV, One)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store (0x0D, Local0) Store (PHS (0xC5), Local1) If (And (Local1, 0x0200)) { Or (Local0, 0x10, Local0) } If (And (Local1, 0x02)) { Or (Local0, 0x02, Local0) } Return (Local0) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x02)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (TV) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store (0x0D, Local0) Store (PHS (0xC5), Local1) If (And (Local1, 0x0400)) { Or (Local0, 0x10, Local0) } If (And (Local1, 0x04)) { Or (Local0, 0x02, Local0) } Return (Local0) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x04)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (DVI) { Name (_ADR, 0x0111) Method (_DCS, 0, NotSerialized) { Store (0x0D, Local0) Store (PHS (0xC5), Local1) If (And (Local1, 0x0800)) { Or (Local0, 0x10, Local0) } If (And (Local1, 0x08)) { Or (Local0, 0x02, Local0) } Return (Local0) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x08)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } } } Device (GFX0) { Name (_ADR, 0x00020000) OperationRegion (VNVS, SystemMemory, 0x3FEEAB38, 0x00010000) Field (VNVS, AnyAcc, Lock, Preserve) { VBF1, 262144, VBF2, 262144 } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), DSEN) If (LEqual (DSEN, Zero)) { Store (Zero, AODV) } } Method (_DOD, 0, NotSerialized) { Name (TMP, Package (0x04) { Ones, Ones, Ones, Ones }) Store (DID1, Index (TMP, Zero)) Store (DID2, Index (TMP, One)) Store (DID3, Index (TMP, 0x02)) Store (DID4, Index (TMP, 0x03)) Return (TMP) } Method (_ROM, 2, NotSerialized) { If (LNot (LLess (Arg0, 0x8000))) { Return (GETB (Subtract (Arg0, 0x8000), Arg1, VBF2)) } If (LGreater (Add (Arg0, Arg1), 0x8000)) { Subtract (0x8000, Arg0, Local0) Subtract (Arg1, Local0, Local1) Store (GETB (Arg0, Local0, VBF1), Local3) Store (GETB (Zero, Local1, VBF2), Local4) Concatenate (Local3, Local4, Local5) Return (Local5) } Return (GETB (Arg0, Arg1, VBF1)) } Device (LCD) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID4)) } Method (_DCS, 0, NotSerialized) { If (And (PHS (0xC5), 0x00010000)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (AODV, One)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (CRT) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID1)) } Method (_DCS, 0, NotSerialized) { If (And (PHS (0xC5), 0x00020000)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x02)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (TV) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID2)) } Method (_DCS, 0, NotSerialized) { If (And (PHS (0xC5), 0x00040000)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x04)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Device (DVI) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID3)) } Method (_DCS, 0, NotSerialized) { If (And (PHS (0xC5), 0x00080000)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (AODV, 0x08)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { } } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } } Device (AZAL) { Name (_ADR, 0x001B0000) } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Name (_PRW, Package (0x02) { 0x03, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x001D0001) OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) Field (U2CS, DWordAcc, NoLock, Preserve) { U2EN, 2 } Name (_PRW, Package (0x02) { 0x04, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U2EN) } Else { Store (Zero, U2EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x001D0002) OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) Field (U2CS, DWordAcc, NoLock, Preserve) { U3EN, 2 } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U3EN) } Else { Store (Zero, U3EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB4) { Name (_ADR, 0x001D0003) OperationRegion (U4CS, PCI_Config, 0xC4, 0x04) Field (U4CS, DWordAcc, NoLock, Preserve) { U4EN, 2 } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U4EN) } Else { Store (Zero, U4EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB7) { Name (_ADR, 0x001D0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (PCIB) { Name (_ADR, 0x001E0000) Device (TI7X) { Name (_ADR, 0x00030000) OperationRegion (CBLM, PCI_Config, Zero, 0xE4) Field (CBLM, DWordAcc, NoLock, Preserve) { Offset (0x04), CD04, 8, Offset (0x44), CD44, 8 } Method (_INI, 0, NotSerialized) { Store (Zero, CD44) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (MPIC) { Name (_ADR, 0x00040000) } Device (LANC) { Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Method (_PRT, 0, NotSerialized) { If (Zero) { If (GPIC) { Return (Package (0x15) { 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) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x10 }, 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) { 0x0005FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x15 }, Package (0x04) { 0x0008FFFF, Zero, Zero, 0x14 } }) } Else { Return (Package (0x15) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKF, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, ^^LPCB.LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, ^^LPCB.LNKF, Zero }, Package (0x04) { 0x0001FFFF, 0x02, ^^LPCB.LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, ^^LPCB.LNKH, Zero }, Package (0x04) { 0x0002FFFF, Zero, ^^LPCB.LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, ^^LPCB.LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, ^^LPCB.LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x03, ^^LPCB.LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, ^^LPCB.LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, ^^LPCB.LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x02, ^^LPCB.LNKF, Zero }, Package (0x04) { 0x0003FFFF, 0x03, ^^LPCB.LNKG, Zero }, Package (0x04) { 0x0005FFFF, Zero, ^^LPCB.LNKB, Zero }, Package (0x04) { 0x0005FFFF, One, ^^LPCB.LNKE, Zero }, Package (0x04) { 0x0005FFFF, 0x02, ^^LPCB.LNKG, Zero }, Package (0x04) { 0x0005FFFF, 0x03, ^^LPCB.LNKF, Zero }, Package (0x04) { 0x0008FFFF, Zero, ^^LPCB.LNKE, Zero } }) } } Else { If (GPIC) { Return (Package (0x06) { Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0008FFFF, Zero, Zero, 0x14 } }) } Else { Return (Package (0x06) { Package (0x04) { 0x0003FFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0x0004FFFF, Zero, ^^LPCB.LNKG, Zero }, Package (0x04) { 0x0004FFFF, One, ^^LPCB.LNKD, Zero }, Package (0x04) { 0x0008FFFF, Zero, ^^LPCB.LNKE, Zero } }) } } } } Device (AUD0) { Name (_ADR, 0x001E0002) } Device (MODM) { Name (_ADR, 0x001E0003) } Device (LPCB) { Name (_ADR, 0x001F0000) OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x40), IOD0, 8, IOD1, 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) } } } Device (EC) { Name (_HID, EisaId ("PNP0C09")) Method (_CRS, 0, NotSerialized) { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x00, 0x01) IO (Decode16, 0x0066, 0x0066, 0x00, 0x01) }) Return (BFFR) } OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF) Field (ECF2, ByteAcc, Lock, Preserve) { , 3, PRCP, 1, WLNE, 1, LSTE, 1, BATP, 1, RPWR, 1, , 4, CHGE, 1, LVDS, 1, AVPE, 1, AUAM, 1, HKS1, 8, HKS2, 8, HKS3, 8, HKS4, 8, Offset (0x20), BTPL, 8, BTPH, 8, BSNL, 8, BSNH, 8, BDCL, 8, BDCH, 8, BDVL, 8, BDVH, 8, BAVL, 8, BAVH, 8, BACL, 8, BACH, 8, RSCL, 8, RSCH, 8, BRCL, 8, BRCH, 8, FCCL, 8, FCCH, 8, , 4, FDCH, 1, FUCH, 1, DCHG, 1, BTIT, 1, BSTH, 8, OMFL, 8, OMFH, 8, IBMF, 8, ASSR, 8, Offset (0x40), TS1R, 8, TS1L, 8, TS2R, 8, TS2L, 8, TS3R, 8, TS3L, 8, F1FL, 8, F1FH, 8, F2FL, 8, F2FH, 8, T1U1, 8, T1U2, 8, T1U3, 8, T1U4, 8, T1U5, 8, T1U6, 8, T1U7, 8, T1D1, 8, T1D2, 8, T1D3, 8, T1L1, 8, T2R1, 8, T2U1, 8, T3L1, 8, T3L2, 8, Offset (0x60), SMBN, 8, SPTR, 8, SSTS, 8, SADR, 8, SCMD, 8, SBFR, 256, SCNT, 8 } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECON) Store (BATP, BNUM) Store (RSCL, B0SC) Store (RPWR, PWRS) Notify (BAT0, 0x81) PNOT () } } Name (_GPE, 0x17) Method (_Q21, 0, NotSerialized) { P8XH (Zero, 0x21) Store (RPWR, PWRS) Notify (ADP1, 0x81) Notify (BAT0, 0x80) PNOT () } Method (_Q22, 0, NotSerialized) { Store (RSCL, B0SC) Store (BATP, BNUM) Notify (BAT0, 0x81) } Method (_Q23, 0, NotSerialized) { P8XH (Zero, 0x23) Store (RSCL, B0SC) Notify (BAT0, 0x80) } Method (_Q40, 0, NotSerialized) { P8XH (Zero, 0x40) Store (BATP, BNUM) Store (^^SNC.EVS0, Local0) If (LEqual (And (Local0, 0x02), 0x02)) { If (LEqual (LBST, Zero)) { Store (One, LBST) Notify (SNC, 0xB8) } } } Method (_Q41, 0, NotSerialized) { P8XH (Zero, 0x41) If (LEqual (TBST, Zero)) { Store (One, TBST) Notify (SNC, 0xBC) } } Method (_Q42, 0, NotSerialized) { P8XH (Zero, 0x42) Notify (SNC, 0xBD) } Method (_Q60, 0, NotSerialized) { P8XH (Zero, 0x60) Notify (LID0, 0x80) } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) IO (Decode16, 0x0081, 0x0081, 0x01, 0x11) IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer8_16) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF800000, 0x00800000) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, 0x00000400) }) Method (_STA, 0, NotSerialized) { If (LNot (LLess (OSYS, 0x07D1))) { If (HPAE) { Return (0x0B) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, 0x0A, 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, 0x0020, 0x01, 0x02) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x0030, 0x0030, 0x01, 0x02) IO (Decode16, 0x0034, 0x0034, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x02) IO (Decode16, 0x00B4, 0x00B4, 0x01, 0x02) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x01) IRQNoFlags () {13} }) } Device (MBD0) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) IO (Decode16, 0x0063, 0x0063, 0x01, 0x01) IO (Decode16, 0x0065, 0x0065, 0x01, 0x01) IO (Decode16, 0x0067, 0x0067, 0x01, 0x01) IO (Decode16, 0x0070, 0x0070, 0x01, 0x01) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO (Decode16, 0x0380, 0x0380, 0x01, 0x04) IO (Decode16, 0x0800, 0x0800, 0x01, 0x10) IO (Decode16, 0x1000, 0x1000, 0x01, 0x80) IO (Decode16, 0x1180, 0x1180, 0x01, 0x40) IO (Decode16, 0x1640, 0x1640, 0x01, 0x10) Memory32Fixed (ReadWrite, 0xF0008000, 0x00004000) Memory32Fixed (ReadWrite, 0xF0000000, 0x00004000) Memory32Fixed (ReadWrite, 0xF0005000, 0x00001000) Memory32Fixed (ReadWrite, 0xF0004000, 0x00001000) Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) IO (Decode16, 0x0063, 0x0063, 0x01, 0x01) IO (Decode16, 0x0065, 0x0065, 0x01, 0x01) IO (Decode16, 0x0067, 0x0067, 0x01, 0x01) IO (Decode16, 0x0070, 0x0070, 0x01, 0x01) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO (Decode16, 0x0380, 0x0380, 0x01, 0x04) IO (Decode16, 0x0800, 0x0800, 0x01, 0x10) IO (Decode16, 0x1000, 0x1000, 0x01, 0x80) IO (Decode16, 0x1180, 0x1180, 0x01, 0x40) IO (Decode16, 0x1640, 0x1640, 0x01, 0x10) Memory32Fixed (ReadWrite, 0xF0008000, 0x00004000) Memory32Fixed (ReadWrite, 0xF0000000, 0x00004000) Memory32Fixed (ReadWrite, 0xF0005000, 0x00001000) Memory32Fixed (ReadWrite, 0xF0004000, 0x00001000) Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000) }) Method (_CRS, 0, Serialized) { If (CIRP) { Return (BUF0) } Return (BUF1) } } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) { If (HPAE) { Return (BUF0) } Return (BUF1) } } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IO (Decode16, 0x0050, 0x0050, 0x10, 0x04) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IO (Decode16, 0x0050, 0x0050, 0x10, 0x04) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) { If (HPAE) { Return (BUF0) } Return (BUF1) } } Device (SNC) { Name (_HID, EisaId ("SNY5001")) Method (GBRT, 0, NotSerialized) { Store (Zero, Local0) Store (PHS (0xC3), Local0) Return (PHSB (0xCF, Local0)) } Method (SBRT, 1, NotSerialized) { Store (PHSB (0xCD, Arg0), Local0) PHSB (0xC4, Local0) Return (Zero) } Method (GPBR, 0, NotSerialized) { Return (PHSB (0xC1, Zero)) } Method (SPBR, 1, NotSerialized) { PHSB (0xC2, Arg0) Return (Zero) } Method (PWAK, 0, NotSerialized) { Acquire (PLOK, 0xFFFF) Sleep (0x64) Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) Sleep (0x64) Release (PLOK) Return (Zero) } Method (GHKE, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (ECON, Zero)) { Store (And (PHSB (0xD4, One), 0xFF), Local0) Store (Or (ShiftLeft (And (PHSB (0xD4, 0x02), 0xFF), 0x08), Local0), Local0) Store (Or (ShiftLeft (And (PHSB (0xD4, 0x03), 0xFF), 0x10), Local0), Local0) Store (Or (ShiftLeft (And (PHSB (0xD4, 0x04), 0xFF), 0x18), Local0), Local0) } Else { Store (^^EC.HKS1, Local0) Store (Or (ShiftLeft (^^EC.HKS2, 0x08), Local0), Local0) Store (Or (ShiftLeft (^^EC.HKS3, 0x10), Local0), Local0) Store (Or (ShiftLeft (^^EC.HKS4, 0x18), Local0), Local0) } Return (Local0) } Method (GWDP, 0, NotSerialized) { Return (Zero) } Name (EVS0, 0x07) Name (EVS1, Zero) Name (EVS2, Zero) Mutex (MSNE, 0x00) Method (GSNE, 1, NotSerialized) { Store (ShiftRight (And (Arg0, 0xFF000000), 0x18), Local1) Store (ShiftRight (And (Arg0, 0x00FF0000), 0x10), Local2) Store (And (Arg0, 0xFFFF), Local3) Acquire (MSNE, 0xFFFF) Store (Zero, Local0) If (LEqual (Local1, Zero)) { If (LEqual (Local2, Zero)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, 0x07), Local0) } If (LEqual (Local2, One)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, Zero), Local0) } If (LEqual (Local2, 0x02)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, Zero), Local0) } } Else { If (LEqual (Local1, One)) { If (LEqual (Local2, Zero)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, EVS0), Local0) } If (LEqual (Local2, One)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, EVS1), Local0) } If (LEqual (Local2, 0x02)) { Store (And (Arg0, 0xFFFF0000), Local0) Store (Or (Local0, EVS2), Local0) } } Else { Store (Ones, Local0) } } Release (MSNE) Return (Local0) } Method (SSNE, 1, NotSerialized) { Store (ShiftRight (And (Arg0, 0xFF000000), 0x18), Local1) Store (ShiftRight (And (Arg0, 0x00FF0000), 0x10), Local2) Store (And (Arg0, 0xFFFF), Local3) Acquire (MSNE, 0xFFFF) Store (Zero, Local0) If (LEqual (Local1, Zero)) { If (LEqual (Local2, Zero)) { Store (Or (Arg0, EVS0), EVS0) } If (LEqual (Local2, One)) { Store (Or (Arg0, EVS1), EVS1) } If (LEqual (Local2, 0x02)) { Store (Or (Arg0, EVS2), EVS2) } } Else { If (LEqual (Local1, One)) { If (LEqual (Local2, Zero)) { Store (And (EVS0, Not (Arg0)), EVS0) } If (LEqual (Local2, One)) { Store (And (EVS1, Not (Arg0)), EVS1) } If (LEqual (Local2, 0x02)) { Store (And (EVS2, Not (Arg0)), EVS2) } } } Release (MSNE) } Method (CSXB, 1, NotSerialized) { Acquire (MPHS, 0xFFFF) Store (Arg0, SXBF) PHS0 (0xCC) Store (SXBF, Local0) Release (MPHS) Return (Local0) } Method (SODV, 1, NotSerialized) { If (LNot (LEqual (DSEN, Zero))) { Return (Ones) } Store (Arg0, AODV) If (LNot (And (AODV, CADD))) { Store (One, AODV) } If (LNot (LEqual (CADD, PADD))) { Store (CADD, PADD) Notify (PCI0, Zero) Notify (PEGP, Zero) Sleep (0x02EE) } Notify (GFX0, 0x80) Notify (^^^PEGP.NGFX, 0x80) Return (Zero) } Method (GDDI, 0, NotSerialized) { Store (PHS (0xC5), Local0) Store (And (Local0, 0x0F), CADD) Return (Local0) } Method (STCS, 1, NotSerialized) { If (LEqual (Arg0, Zero)) {} If (LEqual (Arg0, One)) {} } Mutex (MIDB, 0x00) Method (RBMF, 1, Serialized) { Acquire (MIDB, 0xFFFF) And (Arg0, 0x00010000, Local0) Store (PHSD (0xDC, Local0), Local0) Release (MIDB) Return (Local0) } Method (RSBI, 1, Serialized) { Acquire (MIDB, 0xFFFF) Or (And (Arg0, 0x0001FFFF), 0x01000000, Local0) While (LEqual (And (^^EC.ASSR, 0x02), 0x02)) { Sleep (0x03E8) } PHSD (0xDC, Local0) While (LEqual (And (^^EC.ASSR, 0x02), 0x02)) { Sleep (0x03E8) } Or (And (Arg0, 0x0003FFFF), 0x03000000, Local0) Store (PHSD (0xDC, Local0), Local0) Release (MIDB) Return (Local0) } Method (CBMF, 1, Serialized) { Acquire (MIDB, 0xFFFF) Or (And (Arg0, 0x0001FFFF), 0x02000000, Local0) Store (PHSD (0xDC, Local0), Local0) Release (MIDB) Return (Zero) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ (Edge, ActiveHigh, Exclusive) {1} }) } Device (PS2M) { Name (_HID, EisaId ("SNY9001")) Name (_CID, 0x130FD041) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive) {12} }) } } Device (PATA) { Name (_ADR, 0x001F0001) OperationRegion (PACS, PCI_Config, 0x40, 0xC0) Field (PACS, DWordAcc, NoLock, Preserve) { PRIT, 16, Offset (0x04), PSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones))) { Store (0x78, PIO0) Store (0x14, DMA0) Store (0x03, FLAG) } Return (PBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x02, SYNC) Store (Zero, SDT0) And (ICR0, 0x02, ICR0) And (ICR1, 0x02, ICR1) And (ICR3, 0x02, ICR3) And (ICR5, 0x02, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, One, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (Zero, PSIT) And (SYNC, One, SYNC) Store (Zero, SDT1) And (ICR0, One, ICR0) And (ICR1, One, ICR1) And (ICR3, One, ICR3) And (ICR5, One, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x02, ICR1) } } } } Device (P_D0) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (XOr (SATD, One)) } Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } } } Device (SATA) { 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 (SBUS) { Name (_ADR, 0x001F0003) } } } }