/* RSD PTR: OEM=INTEL, ACPI_Rev=2.0x (2) XSDT=0x7f6fe120, length=36, cksum=237 */ /* XSDT: Length=100, Revision=1, Checksum=151, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=, Creator Revision=0x1000013 Entries={ 0x7f6fc000, 0x7f6fd000, 0x7f6fb000, 0x7f6fa000, 0x7f6f9000, 0x7f6f8000, 0x7f6f2000, 0x7f6f1000 } */ /* FACP: Length=244, Revision=4, Checksum=213, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 FACS=0x7f688000, DSDT=0x7f6f3000 INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0 PSTATE_CNT=0x80 PM1a_EVT_BLK=0x400-0x403 PM1a_CNT_BLK=0x404-0x405 PM2_CNT_BLK=0x420-0x420 PM_TMR_BLK=0x408-0x40b GPE0_BLK=0x428-0x42f CST_CNT=0x85 P_LVL2_LAT=1 us, P_LVL3_LAT=85 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=0 IAPC_BOOT_ARCH={LEGACY_DEV,8042} Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,RESET_REG} RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6 X_FACS=0x7f688000, X_DSDT=0x7f6f3000 X_PM1a_EVT_BLK=0x00000000:0[0] (Memory) X_PM1a_CNT_BLK=0x00000000:0[0] (Memory) X_PM_TMR_BLK=0x00000000:0[0] (Memory) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=19218, Revision=1, Checksum=63, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 */ /* SSDT: Length=1220, Revision=2, Checksum=130, OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20051117 */ /* HPET: Length=56, Revision=1, Checksum=180, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 HPET Number=0 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1 Comparitors=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=128 */ /* APIC: Length=104, Revision=2, Checksum=110, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=2 Flags={ENABLED} APIC ID=1 Type=IO APIC APIC ID=4 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} Type=Local NMI ACPI CPU=1 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=Local NMI ACPI CPU=2 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* MCFG: Length=60, Revision=1, Checksum=220, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 255 */ /* ASF!: Length=165, Revision=32, Checksum=92, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 */ /* SLIC: Length=374, Revision=1, Checksum=202, OEMID=GBT, OEM Table ID=GBTUACPI, OEM Revision=0x1, Creator ID=SLIC, Creator Revision=0xf4240 */ /* BOOT: Length=40, Revision=1, Checksum=116, OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000013 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20090521 * * Disassembly of /tmp/acpidump.B1uhcE, Sat Jul 4 23:59:49 2009 * * * Original Table Header: * Signature "DSDT" * Length 0x00004FB2 (20402) * Revision 0x01 **** ACPI 1.0, no 64-bit math support * Checksum 0x98 * OEM ID "INTEL " * OEM Table ID "Napa " * OEM Revision 0x00000001 (1) * Compiler ID "MSFT" * Compiler Version 0x01000013 (16777235) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "INTEL ", "Napa ", 0x00000001) { OperationRegion (PORT, SystemIO, 0x80, One) Field (PORT, ByteAcc, NoLock, Preserve) { P80H, 8 } OperationRegion (GPIO, SystemIO, 0x0500, 0x3F) Field (GPIO, ByteAcc, NoLock, Preserve) { Offset (0x0F), , 3, GP27, 1, Offset (0x10), Offset (0x38), , 1, , 1, CPEN, 1, Offset (0x39) } OperationRegion (PMBA, SystemIO, 0x0400, 0x80) Field (PMBA, ByteAcc, NoLock, Preserve) { Offset (0x28), , 1, HPST, 1, SPST, 1, Offset (0x42), , 1, GPEC, 1 } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 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 } OperationRegion (MBOX, SystemMemory, 0x7F6BED90, 0x00000115) Field (MBOX, AnyAcc, NoLock, Preserve) { PCI1, 8, PCI2, 8, PCI3, 8, PCI4, 8, PCI5, 8, PCI6, 8, PCI7, 8, PCI8, 8, NLCK, 8, ZIPE, 8, COMA, 8, CAIO, 8, CAIP, 8, CAMD, 8, CADA, 8, COMB, 8, CBIO, 8, CBIP, 8, CBMD, 8, CBDA, 8, COMC, 8, CCIO, 8, CCIP, 8, CCMD, 8, CCDA, 8, COMD, 8, CDIO, 8, CDIP, 8, CDMD, 8, CDDA, 8, LPT1, 8, L1IO, 8, L1IP, 8, L1MD, 8, L1DA, 8, LPT2, 8, L2IO, 8, L2IP, 8, L2MD, 8, L2DA, 8, LPT3, 8, L3IO, 8, L3IP, 8, L3MD, 8, L3DA, 8, FDDC, 8, FDWP, 8, HGMP, 8, LGMP, 8, MIDI, 8, AZLA, 8, AUDO, 8, MODM, 8, IDEC, 8, PACT, 8, SCFG, 8, AIBT, 8, AMOD, 8, P0HP, 8, P2HP, 8, P0IL, 8, P2IL, 8, IDLY, 8, PMTP, 8, PMIO, 8, PMBM, 8, PMTM, 8, PMSM, 8, PSTP, 8, PSIO, 8, PSBM, 8, PSTM, 8, PSSM, 8, SMTP, 8, SMIO, 8, SMBM, 8, SMTM, 8, SMSM, 8, SSTP, 8, SSIO, 8, SSBM, 8, SSTM, 8, SSSM, 8, IDE0, 8, IDE1, 8, IDE2, 8, IDE3, 8, IDE4, 8, IDE5, 8, IDE6, 8, IDE7, 8, PWDA, 8, PWDB, 8, PWDC, 8, PWDD, 8, PWDE, 8, PWDF, 8, PWDG, 8, PWDH, 8, PWDI, 8, PWDJ, 8, PWDK, 8, PWDL, 8, PWDM, 8, PWDN, 8, PWDO, 8, PWDP, 8, PWDQ, 8, PWDR, 8, PWDS, 8, PWDT, 8, PWDU, 8, PWSV, 8, PWSW, 8, PWSX, 8, PWSY, 8, PWSZ, 8, PWS0, 8, PWS1, 8, PWS2, 8, PWS3, 8, PWS4, 8, PWS5, 8, PEGS, 8, D2F1, 8, IGMT, 8, DTSZ, 8, BOTT, 8, TVTP, 8, HIUB, 8, LUBS, 8, EDCG, 8, SDFY, 8, SDTC, 8, SDRP, 8, SDCL, 8, SDRC, 8, SDRE, 8, FC2L, 8, FC3L, 8, FCS4, 8, APIM, 8, HPTS, 8, HPTA, 8, EMAS, 8, MASF, 8, ASFB, 8, MBTX, 8, XPRO, 8, IDER, 8, SOLE, 8, EYLS, 8, EYLH, 8, TPMD, 8, TPMO, 8, TPMC, 8, TPMM, 8, TPCC, 8, TPLC, 8, TPLR, 32, GP15, 8, KBLS, 8, ISTC, 8, TRML, 8, TRON, 8, NXMD, 8, PCRR, 8, C4EN, 8, C43D, 8, EMTT, 8, PROH, 8, DFSB, 8, TUBM, 8, TSTE, 8, DAS3, 8, WKPM, 8, WKMD, 8, WKS5, 8, HOUR, 8, MINS, 8, SECS, 8, DOFM, 8, QKS4, 8, POPU, 8, POPD, 8, NXFE, 8, VTST, 8, VTFE, 8, S5FG, 8, CSTS, 8, ENCS, 8, DEC4, 8, HC4E, 8, ENC6, 8, CSTR, 8, CMPE, 8, DTSE, 8, DTSC, 8, QBOT, 8, QEBT, 8, PBOT, 8, OSYS, 16, M256, 8, PEGF, 8, BOM0, 8, BNPT, 8, LNMT, 8, NBTO, 8, NBTV, 64, NABD, 8, NEBD, 8, NLBD, 8, BTOD, 64, DFBT, 16, NPSP, 16, LANG, 8, SPVP, 16, POPW, 16, UACL, 8, USPW, 16, SUPS, 8, DVET, 8, HDPW, 16, S3RS, 8, SAHP, 16, SAHF, 8, UMPW, 8, SMHP, 16, SAMP, 16, SAMF, 8, SVPF, 8, URPF, 8, VGAO, 8, SOFF, 8, KBPO, 8, MSPO, 8, PWST, 8, PSHM, 8, USBB, 8, EXCD, 8, DTST, 8, OSYI, 16, EVTL, 8, SYBE, 8, ETLC, 8, AC30, 8, AORS, 8, CDBT, 8, FLBT, 8 } OperationRegion (CMS1, SystemIO, 0x72, 0x02) Field (CMS1, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8 } Method (CMSW, 2, NotSerialized) { Store (Arg0, CMSI) Store (Arg1, CMSD) } Method (CMSR, 1, NotSerialized) { Store (Arg0, CMSI) } OperationRegion (SMIC, SystemIO, 0xB2, 0x02) Field (SMIC, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } Method (OSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xB2, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } Method (CESY, 0, NotSerialized) { CMSR (0x3E) Store (CMSD, Local0) If (And (Local0, One)) { If (LEqual (\_SB.PCI0.LPC.H_EC.WFST, Zero)) { Store (0xE0, PRM0) Store (One, PRM1) Store (Local0, P80H) OSMI (0xE4) DSWM (0xE0, One) } } } Method (DSWM, 2, NotSerialized) { CMSR (0x3E) Store (CMSD, Local0) If (LEqual (Arg0, 0xE0)) { If (LEqual (Arg1, Zero)) { And (Local0, 0xFE) } Else { Or (Local0, One) } } If (LEqual (Arg0, 0xE1)) { If (LEqual (Arg1, Zero)) { And (Local0, 0xFD) } Else { Or (Local0, 0x02) } } If (LEqual (Arg0, 0xE2)) { If (LEqual (Arg1, Zero)) { And (Local0, 0xFB) } Else { Or (Local0, 0x04) } } If (LEqual (Arg0, 0xE4)) { If (LEqual (Arg1, Zero)) { And (Local0, 0xF7) } Else { Or (Local0, 0x08) } } CMSW (0x3E, Local0) } OperationRegion (IO_T, SystemIO, 0x0800, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { Offset (0x02), Offset (0x04), Offset (0x06), Offset (0x08), TRP1, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (IO_D, SystemIO, 0x0810, 0x08) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (NVST, SystemMemory, 0x7F6BEEA5, 0x00000046) Field (NVST, AnyAcc, Lock, Preserve) { SMIF, 8, PRM0, 8, PRM1, 8, BRTL, 8, TLST, 8, IGDS, 8, LCDA, 16, CSTE, 16, NSTE, 16, CADL, 16, PADL, 16, LIDS, 8, PWRS, 8, BVAL, 32, CMPF, 8, CSTF, 8, GTF0, 56, GTF2, 56, IDEM, 8, DTS1, 8, DTS2, 8, DTSF, 8, PPMF, 32, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, BNUM, 8, B1SC, 8, B1SS, 8 } Scope (_PR) { Processor (CPU0, 0x01, 0x00000410, 0x06) {} Processor (CPU1, 0x02, 0x00000410, 0x06) {} } Name (ECON, Zero) Name (CTYP, Zero) Name (DSEN, One) Name (S5BT, Zero) Method (_PTS, 1, NotSerialized) { CMSW (0x21, Zero) If (LEqual (Arg0, 0x03)) { Store (0x53, P80H) CMSW (0x21, One) } If (LEqual (Arg0, 0x04)) { CMSW (0x3F, 0x3F) CMSW (0x21, 0x02) Store (0x54, P80H) } Store (One, \_SB.PCI0.EXP1.HPCS) Store (One, \_SB.PCI0.EXP2.HPCS) Store (One, \_SB.PCI0.EXP3.HPCS) Store (One, HPST) Add (BRTL, 0x80, Local0) CMSW (0x3D, Local0) If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05))) { Store (Zero, Local1) If (LEqual (\_SB.PCI0.LPC.H_EC.WFST, One)) { Store (One, Local1) } If (LEqual (\_SB.PCI0.LPC.H_EC.BTST, One)) { Add (Local1, 0x02, Local1) } If (LEqual (\_SB.PCI0.LPC.H_EC.ST35, One)) { Add (Local1, 0x04, Local1) } If (LEqual (\_SB.PCI0.LPC.H_EC.CCDS, One)) { Add (Local1, 0x08, Local1) } CMSW (0x3E, Local1) } Return (Zero) } Method (_WAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { If (LAnd (DTSE, CMPE)) { Store (0x14, DTSF) Store (Zero, TRPD) } Store (0xE3, P80H) Store (One, S5BT) } If (LEqual (Arg0, 0x04)) { If (LAnd (DTSE, CMPE)) { Store (0x14, DTSF) Store (Zero, TRPD) } Store (0xE4, P80H) Store (One, S5BT) } Store (0x3D, CMSI) Store (CMSD, Local0) Subtract (Local0, 0x80, BRTL) OSMI (0xBD) Return (Zero) } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (LEqual (DAS3, One)) { Name (_S3, Package (0x04) { 0x05, 0x05, Zero, Zero }) } Name (_S4, Package (0x04) { 0x06, 0x06, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, 0x07, Zero, Zero }) Scope (_GPE) { Method (_L01, 0, NotSerialized) { Sleep (0x64) If (\_SB.PCI0.EXP4.HPCS) { If (\_SB.PCI0.EXP4.PDC4) { Store (One, \_SB.PCI0.EXP4.PDC4) Notify (\_SB.PCI0.EXP4, Zero) } Store (One, \_SB.PCI0.EXP4.HPCS) } } Method (_L02, 0, NotSerialized) { Store (Zero, GPEC) Notify (\_TZ.THRM, 0x80) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.UHC1, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.UHC2, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.AZAL, 0x02) Notify (\_SB.PCI0.MODM, 0x02) } Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.EXP1, 0x02) Notify (\_SB.PCI0.EXP2, 0x02) Notify (\_SB.PCI0.EXP3, 0x02) Notify (\_SB.PCI0.EXP4, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P32, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.UHC3, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.ECHI, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.UHC4, 0x02) } } Name (GPIC, Zero) Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) } Scope (_TZ) { PowerResource (FN00, 0x00, 0x0000) { Method (_STA, 0, Serialized) { Store (0xF1, P80H) Return (One) } Method (_ON, 0, Serialized) { } Method (_OFF, 0, Serialized) { } } Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, Zero) Name (_PR0, Package (0x01) { FN00 }) } ThermalZone (THRM) { Method (_CRT, 0, Serialized) { Return (0x0E30) } Method (_TMP, 0, Serialized) { If (ECON) { Store (\_SB.PCI0.LPC.H_EC.TMPV, Local0) Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Return (0x0BB8) } Method (_PSL, 0, Serialized) { Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) { Return (0x0DE0) } Method (_TC1, 0, Serialized) { Return (Zero) } Method (_TC2, 0, Serialized) { Return (0x0A) } Method (_TSP, 0, Serialized) { Return (0x32) } Method (_TZP, 0, Serialized) { Return (0x04B0) } } } Method (SCMP, 2, NotSerialized) { Name (STG1, Buffer (0x50) {}) Name (STG2, Buffer (0x50) {}) Store (Arg0, STG1) Store (Arg1, STG2) If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Store (Zero, Local0) While (LLess (Local0, SizeOf (Arg0))) { If (LNotEqual (DerefOf (Index (STG1, Local0)), DerefOf (Index ( STG2, Local0)))) { Return (Zero) } Increment (Local0) } Return (One) } 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 (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LLessEqual (Arg0, 0x14)) { Return (One) } If (LLessEqual (Arg0, 0x1E)) { Return (0x02) } If (LLessEqual (Arg0, 0x2D)) { Return (One) } If (LLessEqual (Arg0, 0x3C)) { Return (0x02) } If (LLessEqual (Arg0, 0x5A)) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x09) } } Return (0x04) } Scope (_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_PRW, Package (0x02) { 0x1D, 0x04 }) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Name (_PRW, Package (0x02) { 0x1D, 0x04 }) Method (_LID, 0, NotSerialized) { Return (LIDS) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Name (PBIF, Package (0x0D) { One, 0x10CC, 0x10CC, One, 0x3A98, 0xC8, 0x64, Zero, Zero, "Model123", "1234567890123456", "Lion ", "Vendor123456789A" }) Method (_STA, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPC.H_EC.BATS) { Return (0x1F) } Else { Return (0x0F) } } Else { Return (0x0F) } } Name (PBST, Package (0x04) { 0x02, 0x0A90, 0x1000, 0x2A30 }) Method (_BIF, 0, NotSerialized) { If (ECON) { Store (Zero, Index (PBIF, Zero)) Store (Zero, Index (PBIF, One)) Store (Zero, Index (PBIF, 0x02)) Store (Zero, Index (PBIF, 0x04)) Store (Zero, Index (PBIF, 0x05)) Store (Zero, Index (PBIF, 0x06)) Store (Zero, Index (PBIF, 0x07)) Store (Zero, Index (PBIF, 0x08)) If (^^PCI0.LPC.H_EC.BATS) { Store (Or (^^PCI0.LPC.H_EC.BIF0, One), Index (PBIF, Zero)) Store (^^PCI0.LPC.H_EC.BIF1, Index (PBIF, One)) Store (^^PCI0.LPC.H_EC.BIF2, Index (PBIF, 0x02)) Store (Or (^^PCI0.LPC.H_EC.BIF3, One), Index (PBIF, 0x03)) Store (^^PCI0.LPC.H_EC.BIF4, Index (PBIF, 0x04)) Store (^^PCI0.LPC.H_EC.BIF5, Index (PBIF, 0x05)) Store (^^PCI0.LPC.H_EC.BIF6, Index (PBIF, 0x06)) Store (^^PCI0.LPC.H_EC.BIF7, Index (PBIF, 0x07)) Store (^^PCI0.LPC.H_EC.BIF8, Index (PBIF, 0x08)) Store (^^PCI0.LPC.H_EC.BIF9, Index (PBIF, 0x09)) Store (^^PCI0.LPC.H_EC.BIFA, Index (PBIF, 0x0A)) Store (^^PCI0.LPC.H_EC.BIFB, Index (PBIF, 0x0B)) Store (^^PCI0.LPC.H_EC.BIFC, Index (PBIF, 0x0C)) } Else { Store (Ones, Index (PBIF, One)) Store (Ones, Index (PBIF, 0x02)) Store (Ones, Index (PBIF, 0x04)) } } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (ECON) { Store (Zero, Index (PBST, Zero)) If (^^PCI0.LPC.H_EC.BATS) { Store (Zero, Local0) Or (Local0, ^^PCI0.LPC.H_EC.DCHG, Local0) Or (Local0, ShiftLeft (^^PCI0.LPC.H_EC.BCHG, One), Local0) Or (Local0, ShiftLeft (^^PCI0.LPC.H_EC.BCRT, 0x02), Local0) Store (Local0, Index (PBST, Zero)) Store (^^PCI0.LPC.H_EC.BST1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Store (Local0, Index (PBST, One)) Store (^^PCI0.LPC.H_EC.BST2, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Store (Local0, Index (PBST, 0x02)) Store (^^PCI0.LPC.H_EC.BST3, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Store (Local0, Index (PBST, 0x03)) } Else { Store (Ones, Index (PBST, One)) Store (Ones, Index (PBST, 0x02)) Store (Ones, Index (PBST, 0x03)) } } Return (PBST) } } Method (ITOS, 1, NotSerialized) { Store ("", Local0) Store (0x04, Local1) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) Store (DerefOf (Index (CHAR, Local4)), Local2) Concatenate (Local0, Local2, Local5) Store (Local5, Local0) } Return (Local0) } Name (CHAR, Package (0x10) { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }) Device (AC) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Method (_PSR, 0, NotSerialized) { If (ECON) { Return (^^PCI0.LPC.H_EC.ACIN) } Else { Return (One) } } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (GBTD) { Name (_HID, "GBTD0004") Method (GBF1, 0, NotSerialized) { Return (BRTL) } Method (GBFC, 2, Serialized) { If (LEqual (Arg0, One)) { Return (BRTL) } If (LEqual (Arg0, 0x02)) { Store (Arg1, BRTL) OSMI (0xBD) } If (LEqual (Arg0, 0x03)) { If (LEqual (S5BT, Zero)) { CESY () Store (One, S5BT) } Return (^^PCI0.LPC.H_EC.WFST) } If (LEqual (Arg0, 0x04)) { Return (^^PCI0.LPC.H_EC.ST35) } If (LEqual (Arg0, 0x05)) { Return (^^PCI0.LPC.H_EC.BTST) } If (LEqual (Arg0, 0x06)) { Return (^^PCI0.LPC.H_EC.KEYS) } If (LEqual (Arg0, 0x07)) { Return (^^PCI0.LPC.H_EC.CCDS) } } Method (APCI, 2, Serialized) { Store (Arg0, PRM0) Store (Arg0, P80H) Store (Arg1, PRM1) DSWM (Arg0, Arg1) OSMI (0xE4) Return (Zero) } } Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (_INI, 0, NotSerialized) { If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, OSYS) } Else { Store (0x07D1, OSYS) } } Else { Store (0x07D0, OSYS) } } Method (_OSC, 5, NotSerialized) { Store (Arg3, Local0) Multiply (Local0, 0x04, Local1) Name (BUF1, Buffer (Local1) {}) Store (Arg4, BUF1) Store (Zero, Local1) Store (Zero, Local2) While (Local0) { Multiply (Local1, 0x04, Local2) CreateDWordField (BUF1, Local2, CAPB) If (Arg2) { If (LEqual (Local1, Zero)) { And (CAPB, 0xFFFFFFFC) } } Else { } Increment (Local1) Decrement (Local0) } Return (BUF1) } 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, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length 0x00,, , 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 0x00,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length 0x00,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xE0000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y0D, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN) Store (Zero, C0LN) } If (LEqual (PM1L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW) Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN) Store (Zero, C4LN) } If (LEqual (PM1H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW) Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN) Store (Zero, C8LN) } If (LEqual (PM2L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW) Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW) Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN) Store (Zero, E0LN) } If (LEqual (PM5L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW) Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN) Store (Zero, E4LN) } If (LEqual (PM5H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW) Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN) Store (Zero, E8LN) } If (LEqual (PM6L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW) Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN) Store (Zero, ECLN) } If (LEqual (PM6H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW) Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN) Store (Zero, F0LN) } If (LEqual (PM0H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN) CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX) CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN) ShiftLeft (TOUD, 0x1B, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x0F) { Package (0x04) { 0x0001FFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x0002FFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001BFFFF, Zero, ^LPC.LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, ^LPC.LNKB, Zero }, Package (0x04) { 0x001CFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x001DFFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001DFFFF, One, ^LPC.LNKB, Zero }, Package (0x04) { 0x001DFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x001EFFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001EFFFF, One, ^LPC.LNKB, Zero }, Package (0x04) { 0x001FFFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001FFFFF, One, ^LPC.LNKB, Zero } }) } Else { Return (Package (0x0F) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001EFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x11 } }) } } Device (P32) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (Package (0x02) { 0x0B, 0x04 }) } Else { Return (Package (0x02) { 0x0B, Zero }) } } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x09) { Package (0x04) { 0x0002FFFF, Zero, ^^LPC.LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, ^^LPC.LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, ^^LPC.LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x03, ^^LPC.LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, ^^LPC.LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, ^^LPC.LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x02, ^^LPC.LNKF, Zero }, Package (0x04) { 0x0003FFFF, 0x03, ^^LPC.LNKG, Zero }, Package (0x04) { 0x0008FFFF, Zero, ^^LPC.LNKE, Zero } }) } Else { Return (Package (0x09) { 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) { 0x0008FFFF, Zero, Zero, 0x14 } }) } } } Device (LPC) { Name (_ADR, 0x001F0000) OperationRegion (PRR0, PCI_Config, 0x60, 0x04) Field (PRR0, AnyAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (PRR1, PCI_Config, 0x68, 0x04) Field (PRR1, AnyAcc, NoLock, Preserve) { PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } OperationRegion (PRR2, PCI_Config, 0x80, 0x02) Field (PRR2, AnyAcc, NoLock, Preserve) { IODL, 8, IODH, 8 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { If (And (PIRA, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRA, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRA, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (And (PIRB, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRB, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRB, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (And (PIRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRC, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (And (PIRD, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRD, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRD, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (And (PIRE, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRE, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRE, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (And (PIRF, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRF, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRF, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (And (PIRG, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRG, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRG, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (And (PIRH, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRH, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRH, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRH) } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // 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, 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, 0x0600, // Range Minimum 0x0600, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0610, // Range Minimum 0x0610, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x40, // Length ) Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED18000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED19000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) }) } 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 (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) { If (LEqual (HPTS, One)) { Return (BUF0) } Else { Return (BUF1) } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0E) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (LEqual (HPTS, One)) { Return (0x0F) } Else { Return (Zero) } } Else { If (HPTS) { Return (0x0B) } Else { Return (Zero) } } } Method (_CRS, 0, Serialized) { If (LEqual (HPTS, One)) { CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y0E._BAS, HPT0) If (LEqual (HPTA, One)) { Store (0xFED01000, HPT0) } If (LEqual (HPTA, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPTA, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // 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 (FPU) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (BUF0, 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 ) }) Name (BUF1, 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} }) Method (_CRS, 0, Serialized) { If (HPTS) { Return (BUF0) } Return (BUF1) } } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF800000, // Address Base 0x00800000, // Address Length ) }) } Device (KBC) { 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} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (MOUE) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (H_EC) { Name (_HID, EisaId ("PNP0C09")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) OperationRegion (EC0R, EmbeddedControl, Zero, 0xFF) Field (EC0R, ByteAcc, Lock, Preserve) { DCHG, 1, BCHG, 1, BCRT, 1, Offset (0x01), BIF0, 8, BIF3, 8, ACIN, 1, , 5, CCDS, 1, BTST, 1, , 2, FANS, 1, LIDS, 1, , 2, WFST, 1, ST35, 1, BATS, 1, Offset (0x06), Offset (0x10), BIF1, 16, BIF2, 16, BST2, 16, BST3, 16, BIF5, 16, BIF6, 16, BIF7, 16, BIF8, 16, BIF4, 16, BST1, 16, Offset (0x30), BIFC, 128, BIFA, 128, BIFB, 64, BIF9, 64, TMPV, 8, TMPI, 8, OCRT, 8, Offset (0x64), Offset (0x7F), KEYS, 8 } Method (_REG, 2, NotSerialized) { Store (Zero, ECON) If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { Store (Arg1, ECON) Notify (BAT0, Zero) } Else { If (LAnd (LEqual (OSYS, 0x07D6), LEqual (Arg1, One))) { Store (Arg1, ECON) } } Store (ACIN, Local0) Store (0x21, CMSI) Store (CMSD, Local2) If (LEqual (Local2, Zero)) { CMSW (0x21, 0xFF) If (Local0) { Add (0x0A, 0x80, Local3) CMSW (0x3D, Local3) OSMI (0xBD) } Else { Add (0x07, 0x80, Local3) CMSW (0x3D, Local3) OSMI (0xBD) } } } Name (_GPE, 0x17) Method (_Q28, 0, NotSerialized) { If (ECON) { Store (BRTL, Local0) If (LGreater (Local0, One)) { If (LGreater (Local0, 0x0A)) { Store (0x0A, Local0) } Decrement (Local0) Store (Local0, BRTL) OSMI (0xBD) } } } Method (_Q30, 0, NotSerialized) { If (ECON) { Store (BRTL, Local1) If (LLess (Local1, 0x0A)) { If (LLess (Local1, One)) { Store (One, Local1) } Increment (Local1) Store (Local1, BRTL) OSMI (0xBD) } } } Method (_Q50, 0, NotSerialized) { Notify (SLPB, 0x80) } Method (_Q57, 0, NotSerialized) { Store (0x25, P80H) If (LEqual (TLST, Zero)) { Store (0x36, SMIF) Store (One, PRM0) Store (0x02, TLST) } Store (0x36, SMIF) Store (0x02, PRM0) Store (0x0909, CADL) If (LNot (And (CADL, 0x0100))) { If (LEqual (TLST, One)) { Store (Zero, Local5) } Else { Store (0x04, TLST) } } If (LEqual (TLST, 0x04)) { Store (0x0808, NSTE) Store (One, TLST) } Else { If (LEqual (TLST, 0x02)) { Store (0x0909, NSTE) Store (0x04, TLST) } Else { Store (0x0101, NSTE) Store (0x02, TLST) } } Notify (OVGA, 0x80) } Method (_Q60, 0, NotSerialized) { If (LEqual (OSYS, 0x07D2)) { Store (0x64, BRTL) } Store (0x0A, BRTL) OSMI (0xBD) Notify (AC, 0x81) } Method (_Q61, 0, NotSerialized) { If (LEqual (OSYS, 0x07D2)) { Store (0x3C, BRTL) } Store (0x07, BRTL) OSMI (0xBD) Notify (AC, 0x81) } Method (_Q62, 0, NotSerialized) { Notify (BAT0, 0x81) } Method (_Q63, 0, NotSerialized) { Notify (BAT0, 0x81) } Method (_Q66, 0, NotSerialized) { Notify (\_TZ.THRM, 0x80) } Method (_Q67, 0, NotSerialized) { Notify (\_TZ.THRM, 0x80) } Method (_Q68, 0, NotSerialized) { Notify (\_TZ.THRM, 0x80) } Method (_Q70, 0, NotSerialized) { Add (BRTL, 0x80, Local0) CMSW (0x3D, Local0) OSMI (0xB0) Notify (LID0, 0x80) } Method (_Q71, 0, NotSerialized) { Store (0x3D, CMSI) Store (CMSD, Local0) Subtract (Local0, 0x80, BRTL) OSMI (0xBD) Notify (LID0, 0x80) } } } Device (UHC1) { Name (_ADR, 0x001D0000) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } } Device (UHC2) { Name (_ADR, 0x001D0001) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } } Device (UHC3) { Name (_ADR, 0x001D0002) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } } Device (UHC4) { Name (_ADR, 0x001D0003) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } } Device (ECHI) { Name (_ADR, 0x001D0007) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } } Device (EXP1) { Name (_ADR, 0x001C0000) OperationRegion (P1CS, PCI_Config, 0x40, 0x0100) Field (P1CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD1, 1, Offset (0x1A), ABP1, 1, , 2, PDC1, 1, , 2, PDS1, 1, Offset (0x20), RID1, 16, PSP1, 1, PPP1, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS1) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKD, Zero } }) } Else { 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 } }) } } } Device (EXP2) { Name (_ADR, 0x001C0001) OperationRegion (P2CS, PCI_Config, 0x40, 0x0100) Field (P2CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD2, 1, Offset (0x1A), ABP2, 1, , 2, PDC2, 1, , 2, PDS2, 1, Offset (0x20), RID2, 16, PSP2, 1, PPP2, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS2) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKA, Zero } }) } Else { Return (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 } }) } } } Device (EXP3) { Name (_ADR, 0x001C0002) OperationRegion (P3CS, PCI_Config, 0x40, 0x0100) Field (P3CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD3, 1, Offset (0x1A), ABP3, 1, , 2, PDC3, 1, , 2, PDS3, 1, Offset (0x20), RID3, 16, PSP3, 1, PPP3, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS3) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (Zero) } } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKB, Zero } }) } Else { Return (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 } }) } } } Device (EXP4) { Name (_ADR, 0x001C0003) OperationRegion (P4CS, PCI_Config, 0x40, 0x0100) Field (P4CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD4, 1, Offset (0x1A), ABP4, 1, , 2, PDC4, 1, , 2, PDS4, 1, Offset (0x20), RID4, 16, PSP4, 1, PPP4, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS4) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (One) } } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKC, Zero } }) } Else { Return (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 } }) } } } Device (AZAL) { Name (_ADR, 0x001B0000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKMD, One)) { Return (Package (0x02) { 0x05, 0x04 }) } Else { Return (Package (0x02) { 0x05, Zero }) } } } Device (AUDO) { Name (_ADR, 0x001E0002) } Device (MODM) { Name (_ADR, 0x001E0003) Method (_PRW, 0, NotSerialized) { If (LEqual (WKMD, One)) { Return (Package (0x02) { 0x05, 0x04 }) } Else { Return (Package (0x02) { 0x05, Zero }) } } } Device (OVGA) { Name (_ADR, 0x00020000) OperationRegion (VNVS, SystemMemory, 0x7F677010, 0x00010004) Field (VNVS, AnyAcc, Lock, Preserve) { RSIZ, 32, RBUF, 524288 } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), DSEN) } Method (_DOD, 0, NotSerialized) { If (LEqual (LCDA, 0x0110)) { Return (Package (0x06) { 0x00010100, 0x00010110, 0x00010200, 0x00010300, 0x00010500, 0x00010600 }) } Return (Package (0x06) { 0x00010100, 0x00010200, 0x00010300, 0x00010400, 0x00010500, 0x00010600 }) } Method (_ROM, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) If (LGreater (Local1, 0x1000)) { Store (0x1000, Local1) } If (LGreater (Add (Local0, Local1), RSIZ)) { Store (Zero, Local0) } Multiply (Local0, 0x08, Local2) Multiply (Local1, 0x08, Local3) Name (ROM1, Buffer (RSIZ) {}) Name (ROM2, Buffer (Local1) {}) Store (RBUF, ROM1) CreateField (ROM1, Local2, Local3, TMPB) Store (TMPB, ROM2) Return (ROM2) } Device (CRT1) { Name (_ADR, 0x0100) Name (_DCS, 0x1F) Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x0101)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DTV1) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store (One, SMIF) Store (Zero, TRP1) If (And (CSTE, 0x0202)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x0202)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DFP1) { Name (_ADR, 0x0300) Method (_DCS, 0, NotSerialized) { Store (One, SMIF) Store (Zero, TRP1) If (And (CSTE, 0x0404)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x0404)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (LCDA) } Name (_DCS, 0x1F) Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x0808)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } } Device (IDEC) { 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) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 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 (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) Return (PBUF) } } Method (_STM, 3, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x0E, SYNC) Store (Zero, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } Or (ICR1, One, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (Zero, PSIT) And (SYNC, 0x0D, SYNC) Store (Zero, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } Or (ICR1, 0x02, ICR1) } } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } } } Device (SECD) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (SBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, Zero, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones))) { Store (0x78, PIO0) Store (0x14, DMA0) Store (0x03, FLAG) } Return (SBUF) } } Method (_STM, 3, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x40F0, SECT) And (SYNC, 0x0B, SYNC) Store (Zero, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, One)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x04, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (Zero, SSIT) And (SYNC, 0x07, SYNC) Store (Zero, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x08, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x08, ICR1) } } } } } Device (S_D0) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (One) } Method (_GTF, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (SIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, One, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } } Device (S_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { If (LNotEqual (SCFG, 0x04)) { Name (SIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, One, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } } } Device (PRT0) { Name (_ADR, 0xFFFF) Method (_SDD, 1, NotSerialized) { If (LEqual (SCFG, 0x04)) { Name (GBU0, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (GBU0, Zero, GB00) CreateByteField (GBU0, One, GB01) CreateByteField (GBU0, 0x02, GB02) CreateByteField (GBU0, 0x03, GB03) CreateByteField (GBU0, 0x04, GB04) CreateByteField (GBU0, 0x05, GB05) CreateByteField (GBU0, 0x06, GB06) If (LEqual (SizeOf (Arg0), 0x0200)) { CreateWordField (Arg0, 0x9C, W780) CreateWordField (Arg0, 0x9E, W790) If (LAnd (W780, 0x04)) { If (LEqual (And (W790, 0x04), Zero)) { Store (0x10, GB00) Store (0x03, GB01) Store (0xEF, GB06) } } } Store (GBU0, GTF0) } } Method (_GTF, 0, NotSerialized) { If (LAnd (LEqual (SCFG, 0x04), LEqual (AIBT, Zero))) { Return (GTF0) } } } Device (PRT2) { Name (_ADR, 0x0002FFFF) Method (_SDD, 1, NotSerialized) { If (LEqual (SCFG, 0x04)) { Name (GBU2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (GBU2, Zero, GB20) CreateByteField (GBU2, One, GB21) CreateByteField (GBU2, 0x02, GB22) CreateByteField (GBU2, 0x03, GB23) CreateByteField (GBU2, 0x04, GB24) CreateByteField (GBU2, 0x05, GB25) CreateByteField (GBU2, 0x06, GB26) If (LEqual (SizeOf (Arg0), 0x0200)) { CreateWordField (Arg0, 0x9C, W782) CreateWordField (Arg0, 0x9E, W792) If (LAnd (W782, 0x04)) { If (LEqual (And (W792, 0x04), Zero)) { Store (0x10, GB20) Store (0x03, GB21) Store (0xEF, GB26) } } } Store (GBU2, GTF2) } } Method (_GTF, 0, NotSerialized) { If (LAnd (LEqual (SCFG, 0x04), LEqual (AIBT, Zero))) { Return (GTF2) } } } } } } Scope (\) { Name (SSDT, Package (0x0C) { "CPU0IST ", 0x7F579C90, 0x00000239, "CPU1IST ", 0x7F579F10, 0x000000D0, "CPU0CST ", 0x7F578E10, 0x000001C7, "CPU1CST ", 0x7F577F10, 0x00000083 }) Name (CFGD, 0x013B68B1) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\SDTL, Zero) } Scope (\_PR.CPU0) { Name (HI0, Zero) Name (HC0, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS0, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, Index (STS0, Zero)) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, Index (STS0, Zero)) Return (Arg3) } Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0, 0x09), 0x09)), LNot (And (SDTL, One)))) { Or (SDTL, One, SDTL) OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, One)), DerefOf (Index (SSDT, 0x02 ))) Load (IST0, HI0) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18 )), LNot (And (SDTL, 0x02)))) { Or (SDTL, 0x02, SDTL) OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08 ))) Load (CST0, HC0) } } Return (Arg3) } } Scope (\_PR.CPU1) { Name (HI1, Zero) Name (HC1, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS1, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS1) CreateDWordField (Arg3, 0x04, CAP1) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID1, Zero, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, Index (STS1, Zero)) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, Index (STS1, Zero)) Return (Arg3) } Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1, 0x09), 0x09)), LNot (And (SDTL, 0x10)))) { Or (SDTL, 0x10, SDTL) OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05 ))) Load (IST1, HI1) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18 )), LNot (And (SDTL, 0x20)))) { Or (SDTL, 0x20, SDTL) OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B ))) Load (CST1, HC1) } } Return (Arg3) } } }