DefinitionBlock("DSDT.AML","DSDT",1,"INTEL ","CALISTGA",0x2) { OperationRegion(PRT0,SystemIo,0x80,0x04) Field(PRT0,DWordAcc,Lock,Preserve) { P80H,32 } OperationRegion(PRT1,SystemIo,0x84,0x02) Field(PRT1,ByteAcc,Lock,Preserve) { P84H,8, P85H,8 } OperationRegion(PRT2,SystemIo,0x0378,0x01) Field(PRT2,ByteAcc,NoLock,Preserve) { P378,8 } OperationRegion(IO_T,SystemIo,0x0800,0x10) Field(IO_T,ByteAcc,NoLock,Preserve) { Offset(0x08), TRP0,8 } OperationRegion(PMIO,SystemIo,0x1000,0x80) Field(PMIO,ByteAcc,NoLock,Preserve) { Offset(0x10), ,5, TDTY,3, FTHT,1, Offset(0x42), THRP,1, GPEC,1 } 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, ,4, GP12,1, Offset(0x0E), GL02,8, GL03,8, 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, ,7, GP39,1, GL05,8, GL06,8, GL07,8 } OperationRegion(GNVS,SystemMemory,0xFFFF0000,0xAA55) Field(GNVS,AnyAcc,Lock,Preserve) { OSYS,16, SMIF,8, PRM0,8, PRM1,8, SCIF,8, PRM2,8, PRM3,8, LCKF,8, PRM4,8, PRM5,8, P80D,32, LIDS,8, PWRS,8, DBGS,8, LINX,8, Offset(0x14), ACTT,8, PSVT,8, TC1V,8, TC2V,8, TSPV,8, CRTT,8, DTSE,8, DTS1,8, DTS2,8, Offset(0x1E), BNUM,8, B0SC,8, B1SC,8, B2SC,8, B0SS,8, B1SS,8, B2SS,8, Offset(0x28), APIC,8, MPEN,8, Offset(0x2B), PPCM,8, PCP0,8, PCP1,8, Offset(0x32), HOTK,8, B2EF,8, B3ED,8, B4ED,8, CM3P,8, CM4P,8, RTCF,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(0x69), ALSE,8, ALAF,8, LLOW,8, LHIH,8, Offset(0x6E), EMAE,8, EMAP,16, EMAL,16, Offset(0x74), MEFE,8, Offset(0x78), TPMP,8, TPME,8, Offset(0x82), GTF0,56, GTF2,56, IDEM,8 } OperationRegion(RCRB,SystemMemory,0xFFFF1000,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, HDAD,1, A97D,1, Offset(0x341A), RP1D,1, RP2D,1, RP3D,1, RP4D,1, RP5D,1, RP6D,1 } Mutex(MUTX,0) Name(_S0,Package(0x03){ 0x00, 0x00, 0x00 }) Name(_S3,Package(0x03){ 0x05, 0x05, 0x00 }) Name(_S4,Package(0x03){ 0x06, 0x06, 0x00 }) Name(_S5,Package(0x03){ 0x07, 0x07, 0x00 }) Scope(\_PR) { Processor(CPU0,0x00,0x00001010,0x06){} Processor(CPU1,0x01,0x00001010,0x06){} } Name(\DSEN,0x01) Name(\ECON,0x00) Name(\GPIC,0x00) Name(\CTYP,0x00) Name(\L01C,0x00) Name(\VFN0,0x00) Method(\_PIC,1,NotSerialized) { Store(Arg0,GPIC) } Method(_PTS,1,NotSerialized) { Store(0x00,P80D) P8XH /* \P8XH */(0x00,Arg0) If(LEqual(Arg0,0x03)) { If(ECON /* \ECON */) { Store(0x00,\_SB.PCI0.LPCB.H_EC.SMIB) } } If(LEqual(Arg0,0x03)) { Store(0x4C,\_SB.BCMD) Store(Zero,\_SB.SMIC) } If(LEqual(Arg0,0x05)) { \_SB.PHSR(0x4B) } } Method(_WAK,1,NotSerialized) { P8XH /* \P8XH */(0x00,0xAB) Store(0xAB,P378) If(LOr(LEqual(Arg0,0x03),LEqual(Arg0,0x04))) { If(And(CFGD /* **** can't find object in namespace */(0x01000000Zero,),,)) { If(LAnd(And(CFGD /* **** can't find object in namespace */(0xF0Zero,),LEqual(OSYS /* \OSYS */,0x07D1),TRAP),0x3D)) { } } } If(LEqual(Arg0,0x03)) { \_SB.PCI0.LPCB.H_EC._REG(0x03,0x01) If(ECON /* \ECON */) { Store(0x01,\_SB.PCI0.LPCB.H_EC.SMIB) } Store(0x01,LIDS) TRAP /* \TRAP */(0x2A) TRAP /* \TRAP */(0xE0) If(LEqual(RTCF /* \RTCF */,0x00)) { Notify(\_SB.PWRB,0x02) } TRAP /* \TRAP */(0x46) } If(LEqual(Arg0,0x04)) { \_SB.PCI0.LPCB.H_EC._REG(0x03,0x01) If(DTSE /* \DTSE */) { TRAP /* \TRAP */(0x47) } Notify(\_SB.PWRB,0x02) } If(LEqual(OSYS /* \OSYS */,0x07D2)) { If(And(CFGD /* **** can't find object in namespace */(0x01Zero,),,)) { If(LGreater(\_PR.CPU0._PPC /* **** can't find object in namespace */(0x00),Subtract(\_PR.CPU0._PPC /* **** can't find object in namespace */(0x01),\_PR.CPU0._PPC /* **** can't find object in namespace */(),PNOT))) { Add(\_PR.CPU0._PPC /* **** can't find object in namespace */(0x01),\_PR.CPU0._PPC /* **** can't find object in namespace */(),PNOT) } Else { Add(\_PR.CPU0._PPC /* **** can't find object in namespace */(0x01),\_PR.CPU0._PPC /* **** can't find object in namespace */(),PNOT) Subtract(\_PR.CPU0._PPC /* **** can't find object in namespace */(0x01),\_PR.CPU0._PPC /* **** can't find object in namespace */(),PNOT) } } } P8XH /* \P8XH */(0x00,0xCD) Store(0xCD,P378) Return(Package(0x02){ 0x00, 0x00 }) } Scope(\_GPE) { Method(_L00,0,NotSerialized) { Store(P84H /* \P84H */,Local0) Add(Local0,0x01,Local0) Store(Local0,P84H) Notify(\_TZ.THRM,0x80) Store(0x00,P378) } Method(_L02,0,NotSerialized) { Store(0x00,GPEC) Store(0x02,P378) } Method(_L03,0,NotSerialized) { Notify(\_SB.PCI0.USB1,0x02) Store(0x03,P378) } Method(_L04,0,NotSerialized) { Notify(\_SB.PCI0.USB2,0x02) Store(0x04,P378) } Method(_L05,0,NotSerialized) { Store(0x05,P378) If(HDAD /* \HDAD */) { Notify(\_SB.PCI0.MODM,0x02) } Else { Notify(\_SB.PCI0.HDEF,0x02) } } Method(_L07,0,NotSerialized) { Store(0x07,P378) Store(0x20,\_SB.PCI0.SBUS.HSTS) } Method(_L08,0,NotSerialized) { Store(0x08,P378) If(ECON /* \ECON */) { If(LNot(LEqual(LIDS /* \LIDS */,\_SB.PCI0.LPCB.H_EC.LSTE))) { Store(\_SB.PCI0.LPCB.H_EC.LSTE,LIDS) TRAP /* \TRAP */(0x2A) Notify(\_SB.LID0,0x80) } Else { Xor(\_SB.PCI0.LPCB.H_EC.CPWR,0x01,Local0) If(LNot(LEqual(PWRS /* \PWRS */,Local0))) { Store(Local0,PWRS) TRAP /* \TRAP */(0x2B) PNOT /* \PNOT */() } } } } Method(_L09,0,NotSerialized) { Store(0x09,P378) If(\_SB.PCI0.RP01.PSP1) { Store(0x01,\_SB.PCI0.RP01.PSP1) Store(0x01,\_SB.PCI0.RP01.PMCS) Notify(\_SB.PCI0.RP01,0x02) } If(\_SB.PCI0.RP02.PSP2) { Store(0x01,\_SB.PCI0.RP02.PSP2) Store(0x01,\_SB.PCI0.RP02.PMCS) Notify(\_SB.PCI0.RP02,0x02) } If(\_SB.PCI0.RP03.PSP3) { Store(0x01,\_SB.PCI0.RP03.PSP3) Store(0x01,\_SB.PCI0.RP03.PMCS) Notify(\_SB.PCI0.RP03,0x02) } If(\_SB.PCI0.RP04.PSP4) { Store(0x01,\_SB.PCI0.RP04.PSP4) Store(0x01,\_SB.PCI0.RP04.PMCS) Notify(\_SB.PCI0.RP04,0x02) } If(\_SB.PCI0.RP05.PSP5) { Store(0x01,\_SB.PCI0.RP05.PSP5) Store(0x01,\_SB.PCI0.RP05.PMCS) Notify(\_SB.PCI0.RP05,0x02) } If(\_SB.PCI0.RP06.PSP6) { Store(0x01,\_SB.PCI0.RP06.PSP6) Store(0x01,\_SB.PCI0.RP06.PMCS) Notify(\_SB.PCI0.RP06,0x02) } } Method(_L0B,0,NotSerialized) { Store(0x0B,P378) Notify(\_SB.PCI0.PCIB,0x02) } Method(_L0C,0,NotSerialized) { Notify(\_SB.PCI0.USB3,0x02) Store(0x0C,P378) } Method(_L0D,0,NotSerialized) { Notify(\_SB.PCI0.USB7,0x02) Store(0x0D,P378) } Method(_L0E,0,NotSerialized) { Notify(\_SB.PCI0.USB4,0x02) Store(0x0E,P378) } } Method(BTTM,1,Serialized) { If(PWRS /* \PWRS */) { If(LNot(LLess(Arg0,B0SC /* \B0SC */))) { Store(Arg0,B0SC) Notify(\_SB.BAT0,0x80) } } Else { If(LNot(LGreater(Arg0,B0SC /* \B0SC */))) { Store(Arg0,B0SC) Notify(\_SB.BAT0,0x80) } } } Method(GETB,3,Serialized) { Multiply(Arg0,0x08,Local0) Multiply(Arg1,0x08,Local1) CreateField(Arg2,Local0,Local1,TBF3) Return(TBF3 /* \GETB.TBF3 */) } Method(HKDS,1,Serialized) { If(LEqual(0x00,DSEN /* \DSEN */)) { If(LEqual(TRAP /* \TRAP */(Arg0),0x00)) { If(LNot(LEqual(CADL /* \CADL */,PADL /* \PADL */))) { Store(CADL /* \CADL */,PADL) If(LOr(LGreater(OSYS /* \OSYS */,0x07D0),LLess(OSYS /* \OSYS */,0x07D6))) { Notify(\_SB.PCI0,0x00) } Else { Notify(\_SB.PCI0.GFX0,0x00) } Sleep(0x02EE) } Notify(\_SB.PCI0.GFX0,0x80) Sleep(0x01F4) TRAP /* \TRAP */(0xE2) } } If(LEqual(0x01,DSEN /* \DSEN */)) { If(LEqual(TRAP /* \TRAP */(Increment(Arg0)),0x00)) { Notify(\_SB.PCI0.GFX0,0x81) } } } Method(LSDS,1,Serialized) { If(Arg0) { HKDS /* \HKDS */(0x0C) } Else { HKDS /* \HKDS */(0x0E) } If(LNot(LEqual(DSEN /* \DSEN */,0x01))) { Sleep(0x32) While(LEqual(DSEN /* \DSEN */,0x02)) { Sleep(0x32) } } } Method(P8XH,2,Serialized) { If(LEqual(Arg0,0x00)) { Store(Or(And(P80D /* \P80D */,0xFFFFFF00),Arg1),P80D) } If(LEqual(Arg0,0x01)) { Store(Or(And(P80D /* \P80D */,0xFFFF00FF),ShiftLeft(Arg1,0x08)),P80D) } If(LEqual(Arg0,0x02)) { Store(Or(And(P80D /* \P80D */,0xFF00FFFF),ShiftLeft(Arg1,0x10)),P80D) } If(LEqual(Arg0,0x03)) { Store(Or(And(P80D /* \P80D */,0x00FFFFFF),ShiftLeft(Arg1,0x18)),P80D) } Store(P80D /* \P80D */,P80H) } Method(PNOT,0,Serialized) { If(MPEN /* \MPEN */) { If(And(PDC0 /* **** can't find object in namespace */(0x08Zero,),,)) { Notify(\_PR.CPU0,0x80) If(And(PDC0 /* **** can't find object in namespace */(0x10Zero,),,)) { Sleep(0x64) Notify(\_PR.CPU0,0x81) } } If(And(PDC1 /* **** can't find object in namespace */(0x08Zero,),,)) { Notify(\_PR.CPU1,0x80) If(And(PDC1 /* **** can't find object in namespace */(0x10Zero,),,)) { Sleep(0x64) Notify(\_PR.CPU1,0x81) } } } Else { Notify(\_PR.CPU0,0x80) Sleep(0x64) Notify(\_PR.CPU0,0x81) } Notify(\_SB.BAT0,0x80) Notify(\_SB.BAT1,0x80) Notify(\_SB.BAT2,0x80) } Method(TRAP,1,Serialized) { Store(Arg0,SMIF) Store(0x00,TRP0) Return(SMIF /* \SMIF */) } Method(GETP,1,Serialized) { If(LEqual(And(Arg0,0x09),0x00)) { Return(0xFFFFFFFF) } If(LEqual(And(Arg0,0x09),0x08)) { Return(0x0384) } ShiftRight(And(Arg0,0x0300),0x08,Local0) ShiftRight(And(Arg0,0x3000),0x0C,Local1) Return(Multiply(0x1E,Subtract(0x09,Add(Local0,Local1)))) } Method(GDMA,5,Serialized) { If(Arg0) { If(LAnd(Arg1,Arg4)) { Return(0x14) } If(LAnd(Arg2,Arg4)) { Return(Multiply(Subtract(0x04,Arg3),0x0F)) } Return(Multiply(Subtract(0x04,Arg3),0x1E)) } Return(0xFFFFFFFF) } Method(GETT,1,Serialized) { Return(Multiply(0x1E,Subtract(0x09,Add(And(ShiftRight(Arg0,0x02),0x03),And(Arg0,0x03))))) } Method(GETF,3,Serialized) { Name(TMPF,0x00) If(Arg0) { Or(TMPF /* \GETF.TMPF */,0x01,TMPF) } If(And(Arg2,0x02)) { Or(TMPF /* \GETF.TMPF */,0x02,TMPF) } If(Arg1) { Or(TMPF /* \GETF.TMPF */,0x04,TMPF) } If(And(Arg2,0x20)) { Or(TMPF /* \GETF.TMPF */,0x08,TMPF) } If(And(Arg2,0x4000)) { Or(TMPF /* \GETF.TMPF */,0x10,TMPF) } Return(TMPF /* \GETF.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,0x01))) { Return(0x2101) } } Return(0x1001) } } Method(SDMA,1,Serialized) { If(LNot(LGreater(Arg0,0x14))) { Return(0x01) } If(LNot(LGreater(Arg0,0x1E))) { Return(0x02) } If(LNot(LGreater(Arg0,0x2D))) { Return(0x01) } If(LNot(LGreater(Arg0,0x3C))) { Return(0x02) } If(LNot(LGreater(Arg0,0x5A))) { Return(0x01) } Return(0x00) } 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,0x01))) { Return(0x09) } } Return(0x04) } Scope(\_TZ) { ThermalZone(THRM) { Method(_AC0,0,NotSerialized) { Return(0x06C4) } Method(_SCP,1,NotSerialized) { Notify(\_TZ.THRM,0x81) } Method(_CRT,0,Serialized) { Return(Add(0x0AAC,Multiply(CRTT /* \CRTT */,0x0A))) } Method(_TMP,0,Serialized) { If(ECON /* \ECON */) { Store(\_SB.PCI0.LPCB.H_EC.DTMP,Local0) P8XH /* \P8XH */(0x00,Local0) Return(Add(0x0AAC,Multiply(Local0,0x0A))) } Return(0x0BB8) } Method(_PSL,0,Serialized) { If(MPEN /* \MPEN */) { Return(Package(0x02){ \_PR.CPU0, \_PR.CPU1 }) } Return(Package(0x01){ \_PR.CPU0 }) } Method(_PSV,0,Serialized) { Return(Add(0x0AAC,Multiply(PSVT /* \PSVT */,0x0A))) } Method(_TC1,0,Serialized) { Return(TC1V /* \TC1V */) } Method(_TC2,0,Serialized) { Return(TC2V /* \TC2V */) } Method(_TSP,0,Serialized) { Return(TSPV /* \TSPV */) } } } Scope(\_SB) { OperationRegion(TCG1,SystemMemory,0xFFFFFFFF,0x0140) Field(TCG1,AnyAcc,NoLock,Preserve) { PPRQ,8, PPLO,8, PPRP,8, PPOR,8, TPRS,8, TPMV,8, MOR,8 } Method(PHSR,1,Serialized) { Store(Arg0,BCMD) Store(Zero,DID) Store(Zero,SMIC) If(LEqual(BCMD /* \_SB.BCMD */,Arg0)) { } Store(Zero,BCMD) Store(Zero,DID) Return(0x00) } OperationRegion(SMI0,SystemIo,0xFFFFFFFE,0xFFFF0040) Field(SMI0,AnyAcc,NoLock,Preserve) { SMIC,8 } OperationRegion(SMI1,SystemMemory,0xFFFFFFFE,0xFFFF0041) Field(SMI1,AnyAcc,NoLock,Preserve) { BCMD,8, DID,32, INFO,1024 } Field(SMI1,AnyAcc,NoLock,Preserve) { AccessAs(ByteAcc,0x00), Offset(0x05), INF,8 } Method(_INI,0,NotSerialized) { If(DTSE /* \DTSE */) { TRAP /* \TRAP */(0x47) } Store(0x07D0,OSYS) If(CondRefOf(_OSI,Local0)) { If(_OSI /* \_OSI */("Linux")) { Store(0x01,LINX) } If(_OSI /* \_OSI */("Windows 2001")) { Store(0x07D1,OSYS) } If(_OSI /* \_OSI */("Windows 2001 SP1")) { Store(0x07D1,OSYS) } If(_OSI /* \_OSI */("Windows 2001 SP2")) { Store(0x07D2,OSYS) } If(_OSI /* \_OSI */("Windows 2006")) { Store(0x07D6,OSYS) } } If(LAnd(MPEN /* \MPEN */,LEqual(OSYS /* \OSYS */,0x07D1))) { TRAP /* \TRAP */(0x3D) } TRAP /* \TRAP */(0x32) } Device(ADP1) { Name(_HID,"ACPI0003") Method(_PSR,0,NotSerialized) { Return(PWRS /* \PWRS */) } Method(_PCL,0,NotSerialized) { Return(\_SB **** illegal parameter type. Expected Integer,String,Buffer,Package,DDB Handle,Reference but found Integer,String,Buffer,Package,DDB Handle,Reference ) **** illegal return type. Expected Package but found Package } } Device(BAT0) { Name(_HID,EISAID("PNP0C0A")) // Control-Method Battery Name(_UID,0x01) Name(_PCL,Package(0x01){ \_SB }) Name(PBIF,Package(0x0D){ 0x01, 0x10CC, 0x10CC, 0x01, 0x3A98, 0x03E8, 0x0190, 0x64, 0x64, "Battery 1", " ", "Lion", "Mitac" }) Name(PBST,Package(0x04){ 0x01, 0x0A90, 0x1000, 0x2A30 }) Method(_STA,0,NotSerialized) { If(ECON /* \ECON */) { If(\_SB.PCI0.LPCB.H_EC.B1PR) { Return(0x1F) } Return(0x0F) } Else { Return(0x1F) } } Method(_BIF,0,NotSerialized) { If(ECON /* \ECON */) { Store(Multiply(\_SB.PCI0.LPCB.H_EC.B1DH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B1DL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT0.PBIF */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B1FH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B1FL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT0.PBIF */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B1VH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B1VL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT0.PBIF */,0x04)) } Return(PBIF /* \_SB.BAT0.PBIF */) } Method(_BST,0,NotSerialized) { If(ECON /* \ECON */) { Store(\_SB.PCI0.LPCB.H_EC.B1CG,Local0) ShiftLeft(Local0,0x01,Local0) Store(\_SB.PCI0.LPCB.H_EC.PBLO,Local1) ShiftLeft(Local0,0x02,Local1) Or(Local0,Local1,Local0) Store(\_SB.PCI0.LPCB.H_EC.B1DS,Local1) Or(Local0,Local1,Local0) Store(Local0,Index(PBST /* \_SB.BAT0.PBST */,0x00)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BA1H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BA1L,Local0) If(LGreater(Local0,0x7FFF)) { Subtract(0x00010000,Local0,Local0) } Store(Local0,Index(PBST /* \_SB.BAT0.PBST */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B1RH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B1RL,Local0) Store(Local0,Index(PBST /* \_SB.BAT0.PBST */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BV1H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BV1L,Local0) Store(Local0,Index(PBST /* \_SB.BAT0.PBST */,0x03)) } Else { Store(0x01,Index(PBST /* \_SB.BAT0.PBST */,Zero)) Store(0x78,Index(PBST /* \_SB.BAT0.PBST */,0x01)) Store(0x0BB8,Index(PBST /* \_SB.BAT0.PBST */,0x02)) Store(0x3A98,Index(PBST /* \_SB.BAT0.PBST */,0x03)) } Return(PBST /* \_SB.BAT0.PBST */) } } Device(BAT1) { Name(_HID,EISAID("PNP0C0A")) // Control-Method Battery Name(_UID,0x02) Name(_PCL,Package(0x01){ \_SB }) Name(PBIF,Package(0x0D){ 0x01, 0x10CC, 0x10CC, 0x01, 0x3A98, 0x03E8, 0x0190, 0x64, 0x64, "Battery 2", " ", "Lion", "Mitac" }) Name(PBST,Package(0x04){ 0x01, 0x0A90, 0x1000, 0x2A30 }) Method(_STA,0,NotSerialized) { If(ECON /* \ECON */) { If(\_SB.PCI0.LPCB.H_EC.B2PR) { Return(0x1F) } Return(0x0F) } Else { Return(0x1F) } } Method(_BIF,0,NotSerialized) { If(ECON /* \ECON */) { Store(Multiply(\_SB.PCI0.LPCB.H_EC.B2DH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B2DL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT1.PBIF */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B2FH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B2FL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT1.PBIF */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B2VH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B2VL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT1.PBIF */,0x04)) } Return(PBIF /* \_SB.BAT1.PBIF */) } Method(_BST,0,NotSerialized) { If(ECON /* \ECON */) { Store(\_SB.PCI0.LPCB.H_EC.B2CG,Local0) ShiftLeft(Local0,0x01,Local0) Store(\_SB.PCI0.LPCB.H_EC.BYLO,Local1) ShiftLeft(Local0,0x02,Local1) Or(Local0,Local1,Local0) Store(\_SB.PCI0.LPCB.H_EC.B2DS,Local1) Or(Local0,Local1,Local0) Store(Local0,Index(PBST /* \_SB.BAT1.PBST */,0x00)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BA2H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BA2L,Local0) If(LGreater(Local0,0x7FFF)) { Subtract(0x00010000,Local0,Local0) } Store(Local0,Index(PBST /* \_SB.BAT1.PBST */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B2RH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B2RL,Local0) Store(Local0,Index(PBST /* \_SB.BAT1.PBST */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BV2H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BV2L,Local0) Store(Local0,Index(PBST /* \_SB.BAT1.PBST */,0x03)) } Else { Store(0x01,Index(PBST /* \_SB.BAT1.PBST */,Zero)) Store(0x78,Index(PBST /* \_SB.BAT1.PBST */,0x01)) Store(0x0BB8,Index(PBST /* \_SB.BAT1.PBST */,0x02)) Store(0x3A98,Index(PBST /* \_SB.BAT1.PBST */,0x03)) } Return(PBST /* \_SB.BAT1.PBST */) } } Device(BAT2) { Name(_HID,EISAID("PNP0C0A")) // Control-Method Battery Name(_UID,0x03) Name(_PCL,Package(0x01){ \_SB }) Name(PBIF,Package(0x0D){ 0x01, 0x10CC, 0x10CC, 0x01, 0x3A98, 0x03E8, 0x0190, 0x64, 0x64, "Battery 3", " ", "Lion", "Mitac" }) Name(PBST,Package(0x04){ 0x01, 0x0A90, 0x1000, 0x2A30 }) Method(_STA,0,NotSerialized) { If(ECON /* \ECON */) { If(\_SB.PCI0.LPCB.H_EC.B3PR) { Return(0x1F) } Return(0x0F) } Else { Return(0x1F) } } Method(_BIF,0,NotSerialized) { If(ECON /* \ECON */) { Store(Multiply(\_SB.PCI0.LPCB.H_EC.B3DH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B3DL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT2.PBIF */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B3FH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B3FL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT2.PBIF */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B3VH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B3VL,Local0) Store(Local0,Index(PBIF /* \_SB.BAT2.PBIF */,0x04)) } Return(PBIF /* \_SB.BAT2.PBIF */) } Method(_BST,0,NotSerialized) { If(ECON /* \ECON */) { Store(\_SB.PCI0.LPCB.H_EC.B3CG,Local0) ShiftLeft(Local0,0x01,Local0) Store(\_SB.PCI0.LPCB.H_EC.BYLO,Local1) ShiftLeft(Local0,0x02,Local1) Or(Local0,Local1,Local0) Store(\_SB.PCI0.LPCB.H_EC.B3DS,Local1) Or(Local0,Local1,Local0) Store(Local0,Index(PBST /* \_SB.BAT2.PBST */,0x00)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BA3H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BA3L,Local0) If(LGreater(Local0,0x7FFF)) { Subtract(0x00010000,Local0,Local0) } Store(Local0,Index(PBST /* \_SB.BAT2.PBST */,0x01)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.B3RH,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.B3RL,Local0) Store(Local0,Index(PBST /* \_SB.BAT2.PBST */,0x02)) Store(Multiply(\_SB.PCI0.LPCB.H_EC.BV3H,0x0100),Local0) Add(Local0,\_SB.PCI0.LPCB.H_EC.BV3L,Local0) Store(Local0,Index(PBST /* \_SB.BAT2.PBST */,0x03)) } Else { Store(0x01,Index(PBST /* \_SB.BAT2.PBST */,Zero)) Store(0x78,Index(PBST /* \_SB.BAT2.PBST */,0x01)) Store(0x0BB8,Index(PBST /* \_SB.BAT2.PBST */,0x02)) Store(0x3A98,Index(PBST /* \_SB.BAT2.PBST */,0x03)) } Return(PBST /* \_SB.BAT2.PBST */) } } Device(LID0) { Name(_HID,EISAID("PNP0C0D")) // Lid Method(_LID,0,NotSerialized) { Return(LIDS /* \LIDS */) } } Device(PWRB) { Name(_HID,EISAID("PNP0C0C")) // Control-Method Power Button Name(_PRW,Package(0x02){ 0x08, 0x04 }) } Device(SLPB) { Name(_HID,EISAID("PNP0C0E")) // Control-Method Sleep Button Name(_PRW,Package(0x02){ 0x08, 0x04 }) } Device(PCI0) { Method(_S3D,0,NotSerialized) { Return(0x02) } Method(_S4D,0,NotSerialized) { Return(0x02) } Name(_HID,EISAID("PNP0A08")) Name(_CID,EISAID("PNP0A03")) // PCI Host Bridge Name(_ADR,0x00) Name(_BBN,0x00) 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,0x0000,0x00FF,0x0000,0x0100) DWORDIO(ResourceProducer,MinFixed,MaxFixed,PosDecode,EntireRange,0x00000000,0x00000000,0x00000CF7,0x00000000,0x00000CF8) IO(Decode16,0x0CF8,0x0CF8,0x01,0x08) DWORDIO(ResourceProducer,MinFixed,MaxFixed,PosDecode,EntireRange,0x00000000,0x00000D00,0x0000FFFF,0x00000000,0x0000F300) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000A0000,0x000BFFFF,0x00000000,0x00020000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000C0000,0x000C3FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000C4000,0x000C7FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000C8000,0x000CBFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000CC000,0x000CFFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000D0000,0x000D3FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000D4000,0x000D7FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000D8000,0x000DBFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000DC000,0x000DFFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000E0000,0x000E3FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000E4000,0x000E7FFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000E8000,0x000EBFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000EC000,0x000EFFFF,0x00000000,0x00004000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x000F0000,0x000FFFFF,0x00000000,0x00010000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0x00000000,0xFEBFFFFF,0x00000000,0x00000000) DWORDMemory(ResourceProducer,PosDecode,MinFixed,MaxFixed,Cacheable,ReadWrite,0x00000000,0xFED40000,0xFED44FFF,0x00000000,0x00000000) }) Method(_CRS,0,Serialized) { If(PM1L /* \_SB.PCI0.PM1L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x7C,C0LN) Store(Zero,C0LN) } If(LEqual(PM1L /* \_SB.PCI0.PM1L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0358,C0RW) Store(Zero,C0RW) } If(PM1H /* \_SB.PCI0.PM1H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x96,C4LN) Store(Zero,C4LN) } If(LEqual(PM1H /* \_SB.PCI0.PM1H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0428,C4RW) Store(Zero,C4RW) } If(PM2L /* \_SB.PCI0.PM2L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0xB0,C8LN) Store(Zero,C8LN) } If(LEqual(PM2L /* \_SB.PCI0.PM2L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x04F8,C8RW) Store(Zero,C8RW) } If(PM2H /* \_SB.PCI0.PM2H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0xCA,CCLN) Store(Zero,CCLN) } If(LEqual(PM2H /* \_SB.PCI0.PM2H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x05C8,CCRW) Store(Zero,CCRW) } If(PM3L /* \_SB.PCI0.PM3L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0xE4,D0LN) Store(Zero,D0LN) } If(LEqual(PM3L /* \_SB.PCI0.PM3L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0698,D0RW) Store(Zero,D0RW) } If(PM3H /* \_SB.PCI0.PM3H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0xFE,D4LN) Store(Zero,D4LN) } If(LEqual(PM3H /* \_SB.PCI0.PM3H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0768,D4RW) Store(Zero,D4RW) } If(PM4L /* \_SB.PCI0.PM4L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x0118,D8LN) Store(Zero,D8LN) } If(LEqual(PM4L /* \_SB.PCI0.PM4L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0838,D8RW) Store(Zero,D8RW) } If(PM4H /* \_SB.PCI0.PM4H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x0132,DCLN) Store(Zero,DCLN) } If(LEqual(PM4H /* \_SB.PCI0.PM4H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0908,DCRW) Store(Zero,DCRW) } If(PM5L /* \_SB.PCI0.PM5L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x014C,E0LN) Store(Zero,E0LN) } If(LEqual(PM5L /* \_SB.PCI0.PM5L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x09D8,E0RW) Store(Zero,E0RW) } If(PM5H /* \_SB.PCI0.PM5H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x0166,E4LN) Store(Zero,E4LN) } If(LEqual(PM5H /* \_SB.PCI0.PM5H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0AA8,E4RW) Store(Zero,E4RW) } If(PM6L /* \_SB.PCI0.PM6L */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x0180,E8LN) Store(Zero,E8LN) } If(LEqual(PM6L /* \_SB.PCI0.PM6L */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0B78,E8RW) Store(Zero,E8RW) } If(PM6H /* \_SB.PCI0.PM6H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x019A,ECLN) Store(Zero,ECLN) } If(LEqual(PM6H /* \_SB.PCI0.PM6H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0C48,ECRW) Store(Zero,ECRW) } If(PM0H /* \_SB.PCI0.PM0H */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x01B4,F0LN) Store(Zero,F0LN) } If(LEqual(PM0H /* \_SB.PCI0.PM0H */,0x01)) { CreateBitField(BUF0 /* \_SB.PCI0.BUF0 */,0x0D18,F0RW) Store(Zero,F0RW) } If(TPMP /* \TPMP */) { CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x01E8,TPML) Store(0x5000,TPML) } CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x01C2,M1MN) CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x01C6,M1MX) CreateDwordField(BUF0 /* \_SB.PCI0.BUF0 */,0x01CE,M1LN) ShiftLeft(TOUD /* \_SB.PCI0.TOUD */,0x1B,M1MN) Add(Subtract(M1MX /* \_SB.PCI0._CRS.M1MX */,M1MN /* \_SB.PCI0._CRS.M1MN */),0x01,M1LN) Return(BUF0 /* \_SB.PCI0.BUF0 */) } Method(_PRT,0,NotSerialized) { If(GPIC /* \GPIC */) { Return(Package(0x11){ Package(0x04){ 0x0001FFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x0002FFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x0007FFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x001BFFFF, 0x00, 0x00, 0x16 }, Package(0x04){ 0x001CFFFF, 0x00, 0x00, 0x11 }, Package(0x04){ 0x001CFFFF, 0x01, 0x00, 0x10 }, Package(0x04){ 0x001CFFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0x001CFFFF, 0x03, 0x00, 0x13 }, Package(0x04){ 0x001DFFFF, 0x00, 0x00, 0x17 }, Package(0x04){ 0x001DFFFF, 0x01, 0x00, 0x13 }, Package(0x04){ 0x001DFFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0x001DFFFF, 0x03, 0x00, 0x10 }, Package(0x04){ 0x001EFFFF, 0x00, 0x00, 0x16 }, Package(0x04){ 0x001EFFFF, 0x01, 0x00, 0x14 }, Package(0x04){ 0x001FFFFF, 0x00, 0x00, 0x12 }, Package(0x04){ 0x001FFFFF, 0x01, 0x00, 0x13 }, Package(0x04){ 0x001FFFFF, 0x03, 0x00, 0x10 } }) } Else { Return(Package(0x11){ Package(0x04){ 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x0002FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x0007FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x001BFFFF, 0x00, \_SB.PCI0.LPCB.LNKG, 0x00 }, Package(0x04){ 0x001CFFFF, 0x00, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0x001CFFFF, 0x01, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x001CFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x001CFFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x001DFFFF, 0x00, \_SB.PCI0.LPCB.LNKH, 0x00 }, Package(0x04){ 0x001DFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x001DFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x001DFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x001EFFFF, 0x00, \_SB.PCI0.LPCB.LNKG, 0x00 }, Package(0x04){ 0x001EFFFF, 0x01, \_SB.PCI0.LPCB.LNKE, 0x00 }, Package(0x04){ 0x001FFFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x001FFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x001FFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 } }) } } Device(PDRC) { Name(_HID,EISAID("PNP0C02")) // Motherboard Resources Name(_UID,0x01) Name(BUF0,ResourceTemplate() { Memory32Fixed(ReadWrite,0xE0000000,0x10000000) Memory32Fixed(ReadWrite,0xFED14000,0x00004000) Memory32Fixed(ReadWrite,0xFED18000,0x00001000) Memory32Fixed(ReadWrite,0xFED19000,0x00001000) Memory32Fixed(ReadWrite,0xFED1C000,0x00004000) Memory32Fixed(ReadWrite,0xFED20000,0x00020000) Memory32Fixed(ReadWrite,0xFED40000,0x00005000) Memory32Fixed(ReadWrite,0xFED45000,0x0004B000) }) Name(BUF1,ResourceTemplate() { Memory32Fixed(ReadWrite,0xE0000000,0x10000000) Memory32Fixed(ReadWrite,0xFED14000,0x00004000) Memory32Fixed(ReadWrite,0xFED18000,0x00001000) Memory32Fixed(ReadWrite,0xFED19000,0x00001000) Memory32Fixed(ReadWrite,0xFED1C000,0x00004000) Memory32Fixed(ReadWrite,0xFED20000,0x00020000) Memory32Fixed(ReadWrite,0xFED45000,0x0004B000) }) Method(_CRS,0,Serialized) { If(LNot(TPMP /* \TPMP */)) { Return(BUF0 /* \_SB.PCI0.PDRC.BUF0 */) } If(LNot(TPME /* \TPME */)) { Return(BUF0 /* \_SB.PCI0.PDRC.BUF0 */) } Return(BUF1 /* \_SB.PCI0.PDRC.BUF1 */) } } Device(PEGP) { Name(_ADR,0x00010000) Method(_PRT,0,NotSerialized) { If(GPIC /* \GPIC */) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x13 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 } }) } } } Device(GFX0) { Name(_ADR,0x00020000) Method(_DOS,1,NotSerialized) { Store(And(Arg0,0x03),DSEN) } Method(_DOD,0,NotSerialized) { If(LEqual(NDID /* \NDID */,0x01)) { Name(TMP1,Package(0x01){ 0xFFFFFFFF }) Store(Or(0x00010000,DID1 /* \DID1 */),Index(TMP1 /* \_SB.PCI0.GFX0._DOD.TMP1 */,0x00)) Return(TMP1 /* \_SB.PCI0.GFX0._DOD.TMP1 */) } If(LEqual(NDID /* \NDID */,0x02)) { Name(TMP2,Package(0x02){ 0xFFFFFFFF, 0xFFFFFFFF }) Store(Or(0x00010000,DID1 /* \DID1 */),Index(TMP2 /* \_SB.PCI0.GFX0._DOD.TMP2 */,0x00)) Store(Or(0x00010000,DID2 /* \DID2 */),Index(TMP2 /* \_SB.PCI0.GFX0._DOD.TMP2 */,0x01)) Return(TMP2 /* \_SB.PCI0.GFX0._DOD.TMP2 */) } If(LEqual(NDID /* \NDID */,0x03)) { Name(TMP3,Package(0x03){ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store(Or(0x00010000,DID1 /* \DID1 */),Index(TMP3 /* \_SB.PCI0.GFX0._DOD.TMP3 */,0x00)) Store(Or(0x00010000,DID2 /* \DID2 */),Index(TMP3 /* \_SB.PCI0.GFX0._DOD.TMP3 */,0x01)) Store(Or(0x00010000,DID3 /* \DID3 */),Index(TMP3 /* \_SB.PCI0.GFX0._DOD.TMP3 */,0x02)) Return(TMP3 /* \_SB.PCI0.GFX0._DOD.TMP3 */) } If(LEqual(NDID /* \NDID */,0x04)) { Name(TMP4,Package(0x04){ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store(Or(0x00010000,DID1 /* \DID1 */),Index(TMP4 /* \_SB.PCI0.GFX0._DOD.TMP4 */,0x00)) Store(Or(0x00010000,DID2 /* \DID2 */),Index(TMP4 /* \_SB.PCI0.GFX0._DOD.TMP4 */,0x01)) Store(Or(0x00010000,DID3 /* \DID3 */),Index(TMP4 /* \_SB.PCI0.GFX0._DOD.TMP4 */,0x02)) Store(Or(0x00010000,DID4 /* \DID4 */),Index(TMP4 /* \_SB.PCI0.GFX0._DOD.TMP4 */,0x03)) Return(TMP4 /* \_SB.PCI0.GFX0._DOD.TMP4 */) } Name(TMP5,Package(0x05){ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store(Or(0x00010000,DID1 /* \DID1 */),Index(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */,0x00)) Store(Or(0x00010000,DID2 /* \DID2 */),Index(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */,0x01)) Store(Or(0x00010000,DID3 /* \DID3 */),Index(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */,0x02)) Store(Or(0x00010000,DID4 /* \DID4 */),Index(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */,0x03)) Store(Or(0x00010000,DID5 /* \DID5 */),Index(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */,0x04)) Return(TMP5 /* \_SB.PCI0.GFX0._DOD.TMP5 */) } Device(DD01) { Method(_ADR,0,Serialized) { Return(And(0xFFFF,DID1 /* \DID1 */)) } Method(_DCS,0,NotSerialized) { TRAP /* \TRAP */(0x01) If(And(CSTE /* \CSTE */,0x01)) { Return(0x1F) } Return(0x1D) } Method(_DGS,0,NotSerialized) { If(And(NSTE /* \NSTE */,0x01)) { Return(0x01) } Return(0x00) } Method(_DSS,1,NotSerialized) { If(LEqual(And(Arg0,0xC0000000),0xC0000000)) { Store(NSTE /* \NSTE */,CSTE) } } } Device(DD02) { Method(_ADR,0,Serialized) { Return(And(0xFFFF,DID2 /* \DID2 */)) } Method(_DCS,0,NotSerialized) { TRAP /* \TRAP */(0x01) If(And(CSTE /* \CSTE */,0x02)) { Return(0x1F) } Return(0x1D) } Method(_DGS,0,NotSerialized) { If(And(NSTE /* \NSTE */,0x02)) { Return(0x01) } Return(0x00) } Method(_DSS,1,NotSerialized) { If(LEqual(And(Arg0,0xC0000000),0xC0000000)) { Store(NSTE /* \NSTE */,CSTE) } } } Device(DD03) { Method(_ADR,0,Serialized) { Return(And(0xFFFF,DID3 /* \DID3 */)) } Method(_DCS,0,NotSerialized) { TRAP /* \TRAP */(0x01) If(And(CSTE /* \CSTE */,0x04)) { Return(0x1F) } Return(0x1D) } Method(_DGS,0,NotSerialized) { If(And(NSTE /* \NSTE */,0x04)) { Return(0x01) } Return(0x00) } Method(_DSS,1,NotSerialized) { If(LEqual(And(Arg0,0xC0000000),0xC0000000)) { Store(NSTE /* \NSTE */,CSTE) } } } Device(DD04) { Method(_ADR,0,Serialized) { Return(And(0xFFFF,DID4 /* \DID4 */)) } Method(_DCS,0,NotSerialized) { TRAP /* \TRAP */(0x01) If(And(CSTE /* \CSTE */,0x08)) { Return(0x1F) } Return(0x1D) } Method(_DGS,0,NotSerialized) { If(And(NSTE /* \NSTE */,0x08)) { Return(0x01) } Return(0x00) } Method(_DSS,1,NotSerialized) { If(LEqual(And(Arg0,0xC0000000),0xC0000000)) { Store(NSTE /* \NSTE */,CSTE) } } } Device(DD05) { Method(_ADR,0,Serialized) { Return(And(0xFFFF,DID5 /* \DID5 */)) } Method(_DCS,0,NotSerialized) { TRAP /* \TRAP */(0x01) If(And(CSTE /* \CSTE */,0x10)) { Return(0x1F) } Return(0x1D) } Method(_DGS,0,NotSerialized) { If(And(NSTE /* \NSTE */,0x10)) { Return(0x01) } Return(0x00) } Method(_DSS,1,NotSerialized) { If(LEqual(And(Arg0,0xC0000000),0xC0000000)) { Store(NSTE /* \NSTE */,CSTE) } } } } Device(HDEF) { Name(_ADR,0x001B0000) Name(_PRW,Package(0x02){ 0x05, 0x04 }) } Device(RP01) { Name(_ADR,0x001C0000) OperationRegion(P1CS,PCI_Config,0x40,0x0100) Field(P1CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP1,1, ,2, PDC1,1, ,2, PDS1,1, Offset(0x20), Offset(0x22), PSP1,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS1) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x13 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 } }) } } } Device(RP02) { Name(_ADR,0x001C0001) OperationRegion(P2CS,PCI_Config,0x40,0x0100) Field(P2CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP2,1, ,2, PDC2,1, ,2, PDS2,1, Offset(0x20), Offset(0x22), PSP2,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS2) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x13 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x10 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 } }) } } } Device(RP03) { Name(_ADR,0x001C0002) OperationRegion(P3CS,PCI_Config,0x40,0x0100) Field(P3CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP3,1, ,2, PDC3,1, ,2, PDS3,1, Offset(0x20), Offset(0x22), PSP3,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS3) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x13 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x10 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x11 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKB, 0x00 } }) } } } Device(RP04) { Name(_ADR,0x001C0003) OperationRegion(P4CS,PCI_Config,0x40,0x0100) Field(P4CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP4,1, ,2, PDC4,1, ,2, PDS4,1, Offset(0x20), Offset(0x22), PSP4,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS4) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x13 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x10 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x12 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKC, 0x00 } }) } } } Device(RP05) { Name(_ADR,0x001C0004) OperationRegion(P5CS,PCI_Config,0x40,0x0100) Field(P5CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP5,1, ,2, PDC5,1, ,2, PDS5,1, Offset(0x20), Offset(0x22), PSP5,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS5) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x13 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 } }) } } } Device(RP06) { Name(_ADR,0x001C0005) OperationRegion(P6CS,PCI_Config,0x40,0x0100) Field(P6CS,AnyAcc,NoLock,WriteAsZeros) { Offset(0x1A), ABP6,1, ,2, PDC6,1, ,2, PDS6,1, Offset(0x20), Offset(0x22), PSP6,1, Offset(0x9C), ,30, HPCS,1, PMCS,1 } Device(PXS6) { Name(_ADR,0x00) Name(_PRW,Package(0x02){ 0x09, 0x04 }) } Method(_PRT,0,NotSerialized) { If(\GPIC) { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x11 }, Package(0x04){ 0xFFFF, 0x01, 0x00, 0x12 }, Package(0x04){ 0xFFFF, 0x02, 0x00, 0x13 }, Package(0x04){ 0xFFFF, 0x03, 0x00, 0x10 } }) } Else { Return(Package(0x04){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 } }) } } } 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(0x00,U1EN) } } Method(_S3D,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(0x00,U2EN) } } Method(_S3D,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(0x00,U3EN) } } Method(_S3D,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(0x00,U4EN) } } Method(_S3D,0,NotSerialized) { Return(0x02) } } Device(USB7) { Name(_ADR,0x001D0007) Device(HUB7) { Name(_ADR,0x00) Device(PRT1) { Name(_ADR,0x01) } Device(PRT2) { Name(_ADR,0x02) } Device(PRT3) { Name(_ADR,0x03) } Device(PRT4) { Name(_ADR,0x04) } Device(PRT5) { Name(_ADR,0x05) } Device(PRT6) { Name(_ADR,0x06) } Device(PRT7) { Name(_ADR,0x07) } Device(PRT8) { Name(_ADR,0x08) } } Name(_PRW,Package(0x02){ 0x0D, 0x03 }) Method(_S3D,0,NotSerialized) { Return(0x02) } } Device(PCIB) { Name(_ADR,0x001E0000) Device(SLT0) { Name(_ADR,0x00) } Device(SLT1) { Name(_ADR,0x00010000) } Device(SLT4) { Name(_ADR,0x00060000) } Device(CB0) { Name(_ADR,0x00080000) } Device(CB1) { Name(_ADR,0x00080001) } Device(SLT6) { Name(_ADR,0x000C0000) Device(ES00) { Name(_ADR,0x00040000) } Device(ES01) { Name(_ADR,0x00040001) } Device(ES02) { Name(_ADR,0x00040002) } Device(ES03) { Name(_ADR,0x00040003) } Device(ES10) { Name(_ADR,0x00050000) } Device(ES11) { Name(_ADR,0x00050001) } Device(ES12) { Name(_ADR,0x00050002) } Device(ES13) { Name(_ADR,0x00050003) } Method(_PRT,0,NotSerialized) { Return(Package(0x08){ Package(0x04){ 0x0004FFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x0004FFFF, 0x01, 0x00, 0x11 }, Package(0x04){ 0x0004FFFF, 0x02, 0x00, 0x12 }, Package(0x04){ 0x0004FFFF, 0x03, 0x00, 0x13 }, Package(0x04){ 0x0005FFFF, 0x00, 0x00, 0x11 }, Package(0x04){ 0x0005FFFF, 0x01, 0x00, 0x12 }, Package(0x04){ 0x0005FFFF, 0x02, 0x00, 0x13 }, Package(0x04){ 0x0005FFFF, 0x03, 0x00, 0x10 } }) } } Device(B2C0) { Name(_ADR,0x000B0000) } Device(B2C1) { Name(_ADR,0x000B0001) } Method(_PRT,0,NotSerialized) { If(GPIC /* \GPIC */) { Return(Package(0x08){ Package(0x04){ 0xFFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x0001FFFF, 0x00, 0x00, 0x14 }, Package(0x04){ 0x0001FFFF, 0x01, 0x00, 0x11 }, Package(0x04){ 0x0006FFFF, 0x00, 0x00, 0x12 }, Package(0x04){ 0x0008FFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x0008FFFF, 0x01, 0x00, 0x15 }, Package(0x04){ 0x000BFFFF, 0x00, 0x00, 0x10 }, Package(0x04){ 0x000BFFFF, 0x01, 0x00, 0x11 } }) } Else { Return(Package(0x15){ Package(0x04){ 0xFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0xFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0xFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0xFFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKE, 0x00 }, Package(0x04){ 0x0001FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0x0004FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x0004FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0x0004FFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x0004FFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x0005FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x0005FFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0x0005FFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x0005FFFF, 0x03, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package(0x04){ 0x0006FFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package(0x04){ 0x0008FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x0008FFFF, 0x01, \_SB.PCI0.LPCB.LNKF, 0x00 }, Package(0x04){ 0x000CFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x000CFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package(0x04){ 0x000BFFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package(0x04){ 0x000BFFFF, 0x01, \_SB.PCI0.LPCB.LNKB, 0x00 } }) } } } Device(AUD0) { Name(_ADR,0x001E0002) } Device(MODM) { Name(_ADR,0x001E0003) Name(_PRW,Package(0x02){ 0x05, 0x04 }) } 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, IOE0,8, IOE1,8 } Device(LNKA) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link Name(_UID,0x01) 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 /* \_SB.PCI0.LPCB.LNKA._CRS.RTLA */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PARC /* \_SB.PCI0.LPCB.PARC */,0x0F),IRQ0) Return(RTLA /* \_SB.PCI0.LPCB.LNKA._CRS.RTLA */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKA._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PARC) } Method(_STA,0,Serialized) { If(And(PARC /* \_SB.PCI0.LPCB.PARC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKB) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKB._CRS.RTLB */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PBRC /* \_SB.PCI0.LPCB.PBRC */,0x0F),IRQ0) Return(RTLB /* \_SB.PCI0.LPCB.LNKB._CRS.RTLB */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKB._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PBRC) } Method(_STA,0,Serialized) { If(And(PBRC /* \_SB.PCI0.LPCB.PBRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKC) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKC._CRS.RTLC */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PCRC /* \_SB.PCI0.LPCB.PCRC */,0x0F),IRQ0) Return(RTLC /* \_SB.PCI0.LPCB.LNKC._CRS.RTLC */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKC._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PCRC) } Method(_STA,0,Serialized) { If(And(PCRC /* \_SB.PCI0.LPCB.PCRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKD) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKD._CRS.RTLD */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PDRC /* \_SB.PCI0.LPCB.PDRC */,0x0F),IRQ0) Return(RTLD /* \_SB.PCI0.LPCB.LNKD._CRS.RTLD */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKD._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PDRC) } Method(_STA,0,Serialized) { If(And(PDRC /* \_SB.PCI0.LPCB.PDRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKE) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKE._CRS.RTLE */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PERC /* \_SB.PCI0.LPCB.PERC */,0x0F),IRQ0) Return(RTLE /* \_SB.PCI0.LPCB.LNKE._CRS.RTLE */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKE._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PERC) } Method(_STA,0,Serialized) { If(And(PERC /* \_SB.PCI0.LPCB.PERC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKF) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKF._CRS.RTLF */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PFRC /* \_SB.PCI0.LPCB.PFRC */,0x0F),IRQ0) Return(RTLF /* \_SB.PCI0.LPCB.LNKF._CRS.RTLF */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKF._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PFRC) } Method(_STA,0,Serialized) { If(And(PFRC /* \_SB.PCI0.LPCB.PFRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKG) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKG._CRS.RTLG */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PGRC /* \_SB.PCI0.LPCB.PGRC */,0x0F),IRQ0) Return(RTLG /* \_SB.PCI0.LPCB.LNKG._CRS.RTLG */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKG._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PGRC) } Method(_STA,0,Serialized) { If(And(PGRC /* \_SB.PCI0.LPCB.PGRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(LNKH) { Name(_HID,EISAID("PNP0C0F")) // PCI Interrupt Link 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 /* \_SB.PCI0.LPCB.LNKH._CRS.RTLH */,0x01,IRQ0) Store(Zero,IRQ0) ShiftLeft(0x01,And(PHRC /* \_SB.PCI0.LPCB.PHRC */,0x0F),IRQ0) Return(RTLH /* \_SB.PCI0.LPCB.LNKH._CRS.RTLH */) } Method(_SRS,1,Serialized) { CreateWordField(Arg0,0x01,IRQ0) FindSetRightBit(IRQ0 /* \_SB.PCI0.LPCB.LNKH._SRS.IRQ0 */,Local0) Decrement(Local0) Store(Local0,PHRC) } Method(_STA,0,Serialized) { If(And(PHRC /* \_SB.PCI0.LPCB.PHRC */,0x80)) { Return(0x09) } Else { Return(0x0B) } } } Device(H_EC) { Name(_HID,EISAID("PNP0C09")) // ACPI Embedded Controller Name(_UID,0x01) Method(_CRS,0,NotSerialized) { Name(BFFR,ResourceTemplate() { IO(Decode16,0x0062,0x0062,0x00,0x01) IO(Decode16,0x0066,0x0066,0x00,0x01) }) Return(BFFR /* \_SB.PCI0.LPCB.H_EC._CRS.BFFR */) } OperationRegion(ECF2,EmbeddedControl,0x00,0xFF) Field(ECF2,ByteAcc,Lock,Preserve) { Offset(0x16), ,2, LSTE,1, Offset(0x17), CPWR,1, Offset(0x18), B1PR,1, B2PR,1, B3PR,1, B1CH,1, B2CH,1, B3CH,1, BWAR,1, BLOW,1, B1CG,1, B2CG,1, B3CG,1, PBLO,1, BYLO,1, ACCH,1, B1FC,1, B2FC,1, RBA1,1, RBA2,1, RBA3,1, B1NR,1, B2NR,1, B3NR,1, B3FC,1, Offset(0x1B), Offset(0x20), BV1H,8, BV1L,8, BC1H,8, BC1L,8, BA1H,8, BA1L,8, Offset(0x28), B1RH,8, B1RL,8, B1FH,8, B1FL,8, Offset(0x2F), ,6, B1DS,1, Offset(0x30), Offset(0x3C), B1DH,8, B1DL,8, B1VH,8, B1VL,8, Offset(0x44), BV2H,8, BV2L,8, BC2H,8, BC2L,8, BA2H,8, BA2L,8, Offset(0x4C), B2RH,8, B2RL,8, B2FH,8, B2FL,8, Offset(0x53), ,6, B2DS,1, Offset(0x54), Offset(0x5E), SMIB,1, Offset(0x60), B2DH,8, B2DL,8, B2VH,8, B2VL,8, Offset(0x6A), BV3H,8, BV3L,8, BC3H,8, BC3L,8, BA3H,8, BA3L,8, Offset(0x72), B3RH,8, B3RL,8, B3FH,8, B3FL,8, Offset(0x79), ,6, B3DS,1, Offset(0x7A), Offset(0x7B), DTMP,8, B3DH,8, B3DL,8, B3VH,8, B3VL,8 } Method(_REG,2,NotSerialized) { If(LAnd(LEqual(Arg0,0x03),LEqual(Arg1,0x01))) { Store(Arg1,ECON) If(LNot(LEqual(LSTE /* \_SB.PCI0.LPCB.H_EC.LSTE */,LIDS /* \LIDS */))) { Store(LSTE /* \_SB.PCI0.LPCB.H_EC.LSTE */,LIDS) TRAP /* \TRAP */(0x2A) Notify(\_SB.LID0,0x80) } Xor(CPWR /* \_SB.PCI0.LPCB.H_EC.CPWR */,0x01,Local0) If(LNot(LEqual(Local0,PWRS /* \PWRS */))) { Store(Local0,PWRS) TRAP /* \TRAP */(0x2B) } PNOT /* \PNOT */() } } Name(_GPE,0x17) Method(_Q0A,0,NotSerialized) { Store(0x0A,P378) Store(0x0A,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q0B,0,NotSerialized) { Store(0x0B,P378) Store(0x0B,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q0C,0,NotSerialized) { Store(0x0C,P378) Store(0x0C,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q0D,0,NotSerialized) { Store(0x0D,P378) Store(0x0D,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q0E,0,NotSerialized) { Store(0x0E,P378) Store(0x0E,HOTK) TRAP /* \TRAP */(0xE1) Sleep(0x32) } Method(_Q0F,0,NotSerialized) { Store(0x0F,P378) Store(0x0F,HOTK) TRAP /* \TRAP */(0xE1) Sleep(0x32) } Method(_Q10,0,NotSerialized) { Store(0x10,P378) Store(0x10,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q11,0,NotSerialized) { Store(0x11,P378) Store(0x11,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q12,0,NotSerialized) { Store(0x12,P378) Store(0x12,HOTK) TRAP /* \TRAP */(0xFA) HKDS /* \HKDS */(0x0A) } Method(_Q13,0,NotSerialized) { Store(0x13,P378) Store(0x13,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q14,0,NotSerialized) { Store(0x14,P378) Store(0x14,HOTK) TRAP /* \TRAP */(0xE1) } Method(_Q15,0,NotSerialized) { Store(0x15,P378) Store(0x15,HOTK) Store(0x15,P80H) Notify(\_SB.SLPB,0x80) } Method(_Q41,0,NotSerialized) { Store(0x41,P378) Store(0x41,P80H) PNOT /* \PNOT */() } Method(_Q42,0,NotSerialized) { Store(0x42,P378) Store(0x42,P80H) PNOT /* \PNOT */() } Method(_Q43,0,NotSerialized) { Store(0x43,P378) Store(0x43,P80H) Xor(CPWR /* \_SB.PCI0.LPCB.H_EC.CPWR */,0x01,Local0) If(LNot(LEqual(Local0,PWRS /* \PWRS */))) { Store(Local0,PWRS) TRAP /* \TRAP */(0x2B) } PNOT /* \PNOT */() } Method(_Q44,0,NotSerialized) { Store(0x44,P378) Store(0x44,P80H) PNOT /* \PNOT */() } Method(_Q45,0,NotSerialized) { Store(0x45,P378) Store(0x45,P80H) } Method(_Q46,0,NotSerialized) { Store(0x46,P378) Store(0x46,P80H) Store(LSTE /* \_SB.PCI0.LPCB.H_EC.LSTE */,LIDS) TRAP /* \TRAP */(0x2A) Notify(\_SB.LID0,0x80) } Method(_Q47,0,NotSerialized) { Store(0x47,P378) Store(0x47,P80H) } } Device(DMAC) { Name(_HID,EISAID("PNP0200")) // PC DMA Controller 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")) // Firmware Hub Name(_CRS,ResourceTemplate() { Memory32Fixed(ReadOnly,0xFF000000,0x01000000) }) } Device(HPET) { Name(_HID,EISAID("PNP0103")) Name(_CID,EISAID("PNP0C01")) // System BIOS Name(BUF0,ResourceTemplate() { Memory32Fixed(ReadOnly,0xFED00000,0x00000400) }) Method(_STA,0,NotSerialized) { If(LNot(LLess(OSYS /* \OSYS */,0x07D1))) { If(HPAE /* \HPAE */) { Return(0x0F) } } Else { If(HPAE /* \HPAE */) { Return(0x0B) } } Return(0x00) } Method(_CRS,0,Serialized) { If(HPAE /* \HPAE */) { CreateDwordField(BUF0 /* \_SB.PCI0.LPCB.HPET.BUF0 */,0x04,HPT0) If(LEqual(HPAS /* \HPAS */,0x01)) { Store(0xFED01000,HPT0) } If(LEqual(HPAS /* \HPAS */,0x02)) { Store(0xFED02000,HPT0) } If(LEqual(HPAS /* \HPAS */,0x03)) { Store(0xFED03000,HPT0) } } Return(BUF0 /* \_SB.PCI0.LPCB.HPET.BUF0 */) } } Device(IPIC) { Name(_HID,EISAID("PNP0000")) // PC Interrupt Controller 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")) // Math Coprocessor Name(_CRS,ResourceTemplate() { IO(Decode16,0x00F0,0x00F0,0x01,0x01) IRQNoFlags(){13} }) } Device(LDRC) { Name(_HID,EISAID("PNP0C02")) // Motherboard Resources Name(_UID,0x02) Name(_CRS,ResourceTemplate() { IO(Decode16,0x002E,0x002E,0x01,0x02) IO(Decode16,0x004E,0x004E,0x01,0x02) 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,0x0068,0x0068,0x01,0x08) 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,0x0260,0x0260,0x01,0x08) IO(Decode16,0x0300,0x0300,0x01,0x08) IO(Decode16,0x0600,0x0600,0x01,0x20) IO(Decode16,0x0680,0x0680,0x01,0x20) IO(Decode16,0x0800,0x0800,0x01,0x10) IO(Decode16,0x1000,0x1000,0x01,0x80) IO(Decode16,0x1180,0x1180,0x01,0x40) IO(Decode16,0x1640,0x1640,0x01,0x10) }) } Device(RTC) { Name(_HID,EISAID("PNP0B00")) // PC Real-Time Clock Name(_CRS,ResourceTemplate() { IO(Decode16,0x0070,0x0070,0x01,0x08) IRQNoFlags(){8} }) } Device(TIMR) { Name(_HID,EISAID("PNP0100")) // PC Interval Timer Name(_CRS,ResourceTemplate() { IO(Decode16,0x0040,0x0040,0x01,0x04) IO(Decode16,0x0050,0x0050,0x10,0x04) IRQNoFlags(){0} }) } Device(SIO) { Name(_HID,EISAID("PNP0A05")) // Generic ISA Bus Mutex(S268,0) OperationRegion(SMSC,SystemIo,0x4E,0x02) Field(SMSC,ByteAcc,Lock,Preserve) { INDX,8, DATA,8 } IndexField(INDX,DATA,AnyAcc,NoLock,Preserve) { AccessAs(ByteAcc,0x00), ,3, FPD,1, Offset(0x01), ,2, LPD,1, LMD,1, Offset(0x02), ,1, U3PD,1, U4PD,1, U1PD,1, ,3, U2PD,1, Offset(0x04), LEMD,2, Offset(0x05), Offset(0x0A), ,6, IROM,2, Offset(0x0C), ,3, U2MD,3, Offset(0x0D), CR0D,8, Offset(0x1B), CR1B,8, CR1C,8, CR1D,8, Offset(0x20), CR20,8, Offset(0x23), CR23,8, CR24,8, CR25,8, CR26,8, CR27,8, CR28,8, Offset(0x2B), CR2B,8, CR2C,8 } Method(ENFG,0,NotSerialized) { Store(0x55,INDX) } Method(EXFG,0,NotSerialized) { Store(0xAA,INDX) } Method(_INI,0,NotSerialized) { } Device(UAR1) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x01) Name(_DDN,"COM1") Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U1PD /* \_SB.PCI0.LPCB.SIO.U1PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR24 /* \_SB.PCI0.LPCB.SIO.CR24 */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U1PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U1PD /* \_SB.PCI0.LPCB.SIO.U1PD */,0x00))) { And(CR24 /* \_SB.PCI0.LPCB.SIO.CR24 */,0x3F,Local0) ShiftLeft(Local0,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR24 /* \_SB.PCI0.LPCB.SIO.CR24 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) ShiftRight(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x04,Local0) ShiftLeft(0x01,Local0,IRQV) } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.UAR1._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x03F8,0x03F8,0x08,0x08) IRQNoFlags(){4} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.UAR1._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.UAR1._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR24) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.UAR1._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } ShiftLeft(Local0,0x04,Local0) And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x0F,Local1) Or(Local0,Local1,CR28) Store(0x01,U1PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(UAR2) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x02) Name(_DDN,"COM2") Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(U2PD /* \_SB.PCI0.LPCB.SIO.U2PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U2PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x00)) { If(LNot(LEqual(U2PD /* \_SB.PCI0.LPCB.SIO.U2PD */,0x00))) { And(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x3F,Local0) ShiftLeft(Local0,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.UAR2._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){3} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.UAR2._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.UAR2._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR25) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.UAR2._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0xF0,Local1) Or(Local0,Local1,CR28) Store(0x01,U2PD) Store(0x00,U2MD) Store(0x00,IROM) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(IRDA) { Name(_HID,EISAID("PNP0510")) Name(_UID,0x01) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x01))) { If(LNot(LEqual(CR2B /* \_SB.PCI0.LPCB.SIO.CR2B */,0x00))) { Store(0x00,Local1) } } Else { If(LNot(LEqual(CR2B /* \_SB.PCI0.LPCB.SIO.CR2B */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(U2PD /* \_SB.PCI0.LPCB.SIO.U2PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U2PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x01)) { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { ShiftLeft(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.IRDA._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){3} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.IRDA._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.IRDA._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR25) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.IRDA._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0xF0,Local1) Or(Local0,Local1,CR28) Store(0x01,U2PD) Store(0x01,U2MD) Store(0x00,IROM) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(FIR) { Name(_HID,EISAID("SMCF010")) Name(_CID,EISAID("PNP0510")) Name(_UID,0x03) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x01))) { Store(0x00,Local1) } Else { If(LEqual(CR2B /* \_SB.PCI0.LPCB.SIO.CR2B */,0x00)) { Store(0x00,Local1) } Else { If(LNot(LEqual(U2PD /* \_SB.PCI0.LPCB.SIO.U2PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U2PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} IO(Decode16,0x0000,0x0000,0x08,0x08) DMA(Compatibility,NotBusMaster,Transfer8){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x09,IRQV) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x0D,IO5) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x0E,IO6) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x0F,IO7) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x10,IO8) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x01)) { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { ShiftLeft(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) ShiftLeft(CR2B /* \_SB.PCI0.LPCB.SIO.CR2B */,0x03,Local0) Store(Local0,IO5) Store(Local0,IO7) ShiftRight(CR2B /* \_SB.PCI0.LPCB.SIO.CR2B */,0x05,Local0) Store(Local0,IO6) Store(Local0,IO8) And(CR2C /* \_SB.PCI0.LPCB.SIO.CR2C */,0x0F,Local0) ShiftLeft(0x01,Local0,DMAV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.FIR._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){3} IO(Decode16,0x06F8,0x06F8,0x08,0x08) DMA(Compatibility,NotBusMaster,Transfer8){3} } StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){3} IO(Decode16,0x06F8,0x06F8,0x08,0x08) DMA(Compatibility,NotBusMaster,Transfer8){1} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) CreateByteField(Arg0,0x0D,IO5) CreateByteField(Arg0,0x0E,IO6) CreateByteField(Arg0,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.FIR._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.FIR._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR25) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.FIR._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0xF0,Local1) Or(Local0,Local1,CR28) ShiftRight(IO5 /* \_SB.PCI0.LPCB.SIO.FIR._SRS.IO5 */,0x03,Local0) ShiftLeft(IO6 /* \_SB.PCI0.LPCB.SIO.FIR._SRS.IO6 */,0x05,Local1) Or(Local0,Local1,Local0) Store(Local0,CR2B) FindSetRightBit(DMAV /* \_SB.PCI0.LPCB.SIO.FIR._SRS.DMAV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR2C /* \_SB.PCI0.LPCB.SIO.CR2C */,0xF0,Local1) Or(Local0,Local1,CR2C) Store(0x01,U2PD) Store(0x01,U2MD) Store(0x00,IROM) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(ASKR) { Name(_HID,EISAID("PNP0510")) Name(_UID,0x02) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x02))) { Store(0x00,Local1) } Else { If(LNot(LEqual(U2PD /* \_SB.PCI0.LPCB.SIO.U2PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U2PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LEqual(U2MD /* \_SB.PCI0.LPCB.SIO.U2MD */,0x02)) { If(LNot(LEqual(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x00))) { ShiftLeft(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR25 /* \_SB.PCI0.LPCB.SIO.CR25 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.ASKR._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){3} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.ASKR._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.ASKR._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR25) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.ASKR._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR28 /* \_SB.PCI0.LPCB.SIO.CR28 */,0xF0,Local1) Or(Local0,Local1,CR28) Store(0x01,U2PD) Store(0x02,U2MD) Store(0x00,IROM) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(UAR3) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x03) Name(_DDN,"COM3") Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U3PD /* \_SB.PCI0.LPCB.SIO.U3PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR1B /* \_SB.PCI0.LPCB.SIO.CR1B */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U3PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U3PD /* \_SB.PCI0.LPCB.SIO.U3PD */,0x00))) { And(CR1B /* \_SB.PCI0.LPCB.SIO.CR1B */,0x3F,Local0) ShiftLeft(Local0,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR1B /* \_SB.PCI0.LPCB.SIO.CR1B */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) ShiftRight(CR1D /* \_SB.PCI0.LPCB.SIO.CR1D */,0x04,Local0) ShiftLeft(0x01,Local0,IRQV) } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.UAR3._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x03E8,0x03E8,0x08,0x08) IRQNoFlags(){5} } StartDependentFn(2,2) { IO(Decode16,0x02F8,0x02F8,0x08,0x08) IRQNoFlags(){11} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.UAR3._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.UAR3._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR1B) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.UAR3._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } ShiftLeft(Local0,0x04,Local0) And(CR1D /* \_SB.PCI0.LPCB.SIO.CR1D */,0x0F,Local1) Or(Local0,Local1,CR1D) Store(0x01,U3PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(UAR4) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x04) Name(_DDN,"COM4") Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U4PD /* \_SB.PCI0.LPCB.SIO.U4PD */,0x00))) { Store(0x0F,Local1) } Else { If(LNot(LEqual(CR1C /* \_SB.PCI0.LPCB.SIO.CR1C */,0x00))) { Store(0x0D,Local1) } Else { Store(0x00,Local1) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,U4PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(U4PD /* \_SB.PCI0.LPCB.SIO.U4PD */,0x00))) { And(CR1C /* \_SB.PCI0.LPCB.SIO.CR1C */,0x3F,Local0) ShiftLeft(Local0,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR1C /* \_SB.PCI0.LPCB.SIO.CR1C */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR1D /* \_SB.PCI0.LPCB.SIO.CR1D */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.UAR4._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(2,2) { IO(Decode16,0x02E8,0x02E8,0x08,0x08) IRQNoFlags(){11} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.UAR4._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.UAR4._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR1C) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.UAR4._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR1D /* \_SB.PCI0.LPCB.SIO.CR1D */,0xF0,Local1) Or(Local0,Local1,CR1D) Store(0x01,U4PD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(FDC) { Name(_HID,EISAID("PNP0700")) // Floppy Controller Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(FPD /* \_SB.PCI0.LPCB.SIO.FPD */,0x00))) { Store(0x0F,Local1) } Else { Store(0x00,Local1) } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,FPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x06) IO(Decode16,0x0000,0x0000,0x01,0x01) IRQNoFlags(){} DMA(Compatibility,NotBusMaster,Transfer16){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x05,IO4) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x0A,IO5) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x0B,IO6) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x0C,IO7) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x0D,IO8) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x11,IRQV) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(FPD /* \_SB.PCI0.LPCB.SIO.FPD */,0x00))) { And(CR20 /* \_SB.PCI0.LPCB.SIO.CR20 */,0x3F,Local0) ShiftLeft(Local0,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) Add(Local0,0x07,IO5) Add(Local0,0x07,IO7) ShiftRight(CR20 /* \_SB.PCI0.LPCB.SIO.CR20 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(Local0,IO6) Store(Local0,IO8) ShiftRight(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x04,Local0) ShiftLeft(0x01,Local0,IRQV) ShiftRight(CR26 /* \_SB.PCI0.LPCB.SIO.CR26 */,0x04,Local0) ShiftLeft(0x01,Local0,DMAV) } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.FDC._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFn(0,0) { IO(Decode16,0x03F0,0x03F0,0x08,0x06) IO(Decode16,0x03F7,0x03F7,0x01,0x01) IRQNoFlags(){6} DMA(Compatibility,NotBusMaster,Transfer8){2} } StartDependentFn(0,0) { IO(Decode16,0x0370,0x0370,0x08,0x06) IO(Decode16,0x0377,0x0377,0x01,0x01) IRQNoFlags(){6} DMA(Compatibility,NotBusMaster,Transfer8){2} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x11,IRQV) CreateByteField(Arg0,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.FDC._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.FDC._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR20) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.FDC._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } ShiftLeft(Local0,0x04,Local0) And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x0F,Local1) Or(Local0,Local1,CR27) FindSetRightBit(DMAV /* \_SB.PCI0.LPCB.SIO.FDC._SRS.DMAV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } ShiftLeft(Local0,0x04,Local0) And(CR26 /* \_SB.PCI0.LPCB.SIO.CR26 */,0x0F,Local1) Or(Local0,Local1,CR26) Store(0x01,FPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(LPT) { Name(_HID,EISAID("PNP0400")) // Printer port (Uni) Name(_UID,0x01) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x01))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LPD /* \_SB.PCI0.LPCB.SIO.LPD */,0x00))) { Store(0x0F,Local1) } Else { Store(0x00,Local1) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,LPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x05,IO4) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x07,LNB1) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x01)) { If(LNot(LEqual(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x00))) { ShiftLeft(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) If(LEqual(Local0,0x03BC)) { Store(0x04,LNB1) } ShiftRight(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.LPT._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFnNoPri() { IO(Decode16,0x0378,0x0378,0x08,0x08) IRQNoFlags(){7} } StartDependentFnNoPri() { IO(Decode16,0x0278,0x0278,0x08,0x08) IRQNoFlags(){5} } StartDependentFnNoPri() { IO(Decode16,0x03BC,0x03BC,0x08,0x04) IRQNoFlags(){7} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.LPT._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.LPT._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR23) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.LPT._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0xF0,Local1) Or(Local0,Local1,CR27) Store(0x01,LPD) Store(0x01,LMD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(LPBI) { Name(_HID,EISAID("PNP0400")) // Printer port (Uni) Name(_UID,0x02) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LPD /* \_SB.PCI0.LPCB.SIO.LPD */,0x00))) { Store(0x0F,Local1) } Else { Store(0x00,Local1) } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,LPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x05,IO4) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x07,LNB1) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(And(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00),LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x00))) { If(LNot(LEqual(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x00))) { ShiftLeft(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) If(LEqual(Local0,0x03BC)) { Store(0x04,LNB1) } ShiftRight(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.LPBI._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFnNoPri() { IO(Decode16,0x0378,0x0378,0x08,0x08) IRQNoFlags(){7} } StartDependentFnNoPri() { IO(Decode16,0x0278,0x0278,0x08,0x08) IRQNoFlags(){5} } StartDependentFnNoPri() { IO(Decode16,0x03BC,0x03BC,0x08,0x04) IRQNoFlags(){7} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.LPBI._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.LPBI._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR23) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.LPBI._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0xF0,Local1) Or(Local0,Local1,CR27) Store(0x01,LPD) Store(0x00,LMD) Store(0x00,LEMD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(EPP) { Name(_HID,EISAID("PNP0400")) // Printer port (Uni) Name(_UID,0x03) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x01))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LPD /* \_SB.PCI0.LPCB.SIO.LPD */,0x00))) { Store(0x0F,Local1) } Else { Store(0x00,Local1) } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,LPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */,0x05,IO4) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(And(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00),LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x01))) { If(LNot(LEqual(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x00))) { ShiftLeft(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) ShiftRight(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Store(0x01,Local0) And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x0F,Local1) ShiftLeft(Local0,Local1,IRQV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.EPP._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFnNoPri() { IO(Decode16,0x0378,0x0378,0x08,0x08) IRQNoFlags(){7} } StartDependentFnNoPri() { IO(Decode16,0x0278,0x0278,0x08,0x08) IRQNoFlags(){5} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x09,IRQV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.EPP._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.EPP._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR23) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.EPP._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0xF0,Local1) Or(Local0,Local1,CR27) Store(0x01,LPD) Store(0x00,LMD) Store(0x01,LEMD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } Device(ECP) { Name(_HID,EISAID("PNP0401")) // Printer port (ECP) Method(_STA,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(LNot(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x02))) { Store(0x00,Local1) } Else { If(LNot(LEqual(LPD /* \_SB.PCI0.LPCB.SIO.LPD */,0x00))) { Store(0x0F,Local1) } Else { Store(0x00,Local1) } } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(Local1) } Method(_DIS,0,NotSerialized) { Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() Store(0x00,LPD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x0000,0x0000,0x08,0x08) IO(Decode16,0x0000,0x0000,0x08,0x08) IRQNoFlags(){} DMA(Compatibility,NotBusMaster,Transfer16){} }) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x02,IO1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x03,IO2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x04,IO3) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x05,IO4) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x06,ALB1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x07,LNB1) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0A,IO5) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0B,IO6) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0C,IO7) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0D,IO8) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0E,ALB2) CreateByteField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x0F,LNB2) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x11,IRQV) CreateWordField(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() If(And(LEqual(LMD /* \_SB.PCI0.LPCB.SIO.LMD */,0x00),LEqual(LEMD /* \_SB.PCI0.LPCB.SIO.LEMD */,0x02))) { If(LNot(LEqual(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x00))) { ShiftLeft(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x02,Local0) Store(Local0,IO1) Store(Local0,IO3) Store(Local0,IO5) Store(Local0,IO7) If(LEqual(Local0,0x03BC)) { Store(0x08,ALB1) Store(0x04,LNB1) Store(0x08,ALB2) Store(0x04,LNB2) } ShiftRight(CR23 /* \_SB.PCI0.LPCB.SIO.CR23 */,0x06,Local0) Store(Local0,IO2) Store(Local0,IO4) Add(Local0,0x04,IO6) Add(Local0,0x04,IO8) And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0x0F,Local0) ShiftLeft(0x01,Local0,IRQV) And(CR26 /* \_SB.PCI0.LPCB.SIO.CR26 */,0x0F,Local0) ShiftLeft(0x01,Local0,DMAV) } } EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) Return(RSRC /* \_SB.PCI0.LPCB.SIO.ECP._CRS.RSRC */) } Name(_PRS,ResourceTemplate() { StartDependentFnNoPri() { IO(Decode16,0x0378,0x0378,0x08,0x08) IO(Decode16,0x0778,0x0778,0x08,0x08) IRQ(Edge,ActiveHigh,Exclusive){7} DMA(Compatibility,NotBusMaster,Transfer16){3} } StartDependentFnNoPri() { IO(Decode16,0x0278,0x0278,0x08,0x08) IO(Decode16,0x0678,0x0678,0x08,0x08) IRQ(Edge,ActiveHigh,Exclusive){5} DMA(Compatibility,NotBusMaster,Transfer16){3} } StartDependentFnNoPri() { IO(Decode16,0x03BC,0x03BC,0x08,0x04) IO(Decode16,0x07BC,0x07BC,0x08,0x04) IRQ(Edge,ActiveHigh,Exclusive){7} DMA(Compatibility,NotBusMaster,Transfer16){3} } EndDependentFn() }) Method(_SRS,1,NotSerialized) { CreateByteField(Arg0,0x02,IO1) CreateByteField(Arg0,0x03,IO2) CreateWordField(Arg0,0x11,IRQV) CreateWordField(Arg0,0x14,DMAV) Acquire(S268,0xFFFF) ENFG /* \_SB.PCI0.LPCB.SIO.ENFG */() ShiftRight(IO1 /* \_SB.PCI0.LPCB.SIO.ECP._SRS.IO1 */,0x02,Local0) ShiftLeft(IO2 /* \_SB.PCI0.LPCB.SIO.ECP._SRS.IO2 */,0x06,Local1) Or(Local0,Local1,Local0) Store(Local0,CR23) FindSetRightBit(IRQV /* \_SB.PCI0.LPCB.SIO.ECP._SRS.IRQV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR27 /* \_SB.PCI0.LPCB.SIO.CR27 */,0xF0,Local1) Or(Local0,Local1,CR27) FindSetRightBit(DMAV /* \_SB.PCI0.LPCB.SIO.ECP._SRS.DMAV */,Local0) If(LNot(LEqual(Local0,0x00))) { Subtract(Local0,0x01,Local0) } And(CR26 /* \_SB.PCI0.LPCB.SIO.CR26 */,0xF0,Local1) Or(Local0,Local1,CR26) Store(0x01,LPD) Store(0x00,LMD) Store(0x02,LEMD) EXFG /* \_SB.PCI0.LPCB.SIO.EXFG */() Release(S268) } } } Device(COM3) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x05) Method(_STA,0,NotSerialized) { If(LNot(LEqual(B2EF /* \B2EF */,0x04))) { Store(0x00,Local1) } Else { If(LNot(LEqual(B3ED /* \B3ED */,0x01))) { Store(0x00,Local1) } Else { Store(0x0F,Local1) } } Return(Local1) } Method(_DIS,0,NotSerialized) { } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x03E8,0x03E8,0x08,0x08) IRQNoFlags(){} }) CreateWordField(RSRC /* \_SB.PCI0.LPCB.COM3._CRS.RSRC */,0x09,IRQV) If(LNot(LEqual(B3ED /* \B3ED */,0x00))) { Store(CM3P /* \CM3P */,Local0) And(Local0,0x01,Local0) If(Local0) { Store(0x10,IRQV) } Else { Store(0x20,IRQV) } } Return(RSRC /* \_SB.PCI0.LPCB.COM3._CRS.RSRC */) } Method(_PRS,0,NotSerialized) { Name(B2C3,Buffer(0x0E){0x47,0x01,0xE8,0x03,0xE8,0x03,0x01,0x08, 0x22,0x00,0x00,0x38,0x79,0x00}) CreateWordField(B2C3 /* \_SB.PCI0.LPCB.COM3._PRS.B2C3 */,0x09,IRQV) Store(CM3P /* \CM3P */,Local0) And(Local0,0x01,Local0) If(Local0) { Store(0x10,IRQV) } Else { Store(0x20,IRQV) } Return(B2C3 /* \_SB.PCI0.LPCB.COM3._PRS.B2C3 */) } Method(_SRS,1,NotSerialized) { } } Device(COM4) { Name(_HID,EISAID("PNP0501")) // 16550 Serial Port Name(_UID,0x06) Method(_STA,0,NotSerialized) { If(LNot(LEqual(B2EF /* \B2EF */,0x04))) { Store(0x00,Local1) } Else { If(LNot(LEqual(B4ED /* \B4ED */,0x01))) { Store(0x00,Local1) } Else { Store(0x0F,Local1) } } Return(Local1) } Method(_DIS,0,NotSerialized) { } Method(_CRS,0,NotSerialized) { Name(RSRC,ResourceTemplate() { IO(Decode16,0x02E8,0x02E8,0x08,0x08) IRQNoFlags(){} }) CreateWordField(RSRC /* \_SB.PCI0.LPCB.COM4._CRS.RSRC */,0x09,IRQV) If(LNot(LEqual(B4ED /* \B4ED */,0x00))) { Store(CM4P /* \CM4P */,Local0) And(Local0,0x01,Local0) If(Local0) { Store(0x08,IRQV) } Else { Store(0x0800,IRQV) } } Return(RSRC /* \_SB.PCI0.LPCB.COM4._CRS.RSRC */) } Method(_PRS,0,NotSerialized) { Name(B2C4,Buffer(0x0E){0x47,0x01,0xE8,0x02,0xE8,0x02,0x01,0x08, 0x22,0x00,0x00,0x38,0x79,0x00}) CreateWordField(B2C4 /* \_SB.PCI0.LPCB.COM4._PRS.B2C4 */,0x09,IRQV) Store(CM4P /* \CM4P */,Local0) And(Local0,0x01,Local0) If(Local0) { Store(0x08,IRQV) } Else { Store(0x0800,IRQV) } Return(B2C4 /* \_SB.PCI0.LPCB.COM4._PRS.B2C4 */) } Method(_SRS,1,NotSerialized) { } } Device(TPM) { Method(_HID,0,NotSerialized) { If(LNot(LLess(OSYS /* \OSYS */,0x07D6))) { Return(0x02016D08) } Else { Return(0x01016D08) } } Name(_CID,EISAID("PNP0C31")) Name(_UID,0x01) Method(_STA,0,NotSerialized) { If(TPRS /* \_SB.TPRS */) { Return(0x0F) } Return(0x00) } Name(_CRS,ResourceTemplate() { Memory32Fixed(ReadWrite,0xFED40000,0x00005000) }) Method(UCMP,2,NotSerialized) { If(LNot(LEqual(0x10,SizeOf(Arg0)))) { Return(0x00) } If(LNot(LEqual(0x10,SizeOf(Arg1)))) { Return(0x00) } Store(0x00,Local0) While(LLess(Local0,0x10)) { If(LNot(LEqual(DeRefOf(Index(Arg0,Local0)),DeRefOf(Index(Arg1,Local0))))) { Return(0x00) } Increment(Local0) } Return(0x01) } Method(_DSM,4,Serialized) { If(LEqual(UCMP /* \_SB.PCI0.LPCB.TPM.UCMP */(Arg0,Buffer(0x10){0xA6,0xFA,0xDD,0x3D,0x1B,0x36,0xB4,0x4E, 0xA4,0x24,0x8D,0x10,0x08,0x9D,0x16,0x53}),0x01)) { If(LEqual(Arg2,0x00)) { Return(Buffer(0x01){0x7F}) } If(LEqual(Arg2,0x01)) { Return(Buffer(0x04){0x31,0x2E,0x30,0x00}) } If(LEqual(Arg2,0x02)) { If(TPRS /* \_SB.TPRS */) { If(LEqual(DeRefOf(Index(Arg3,0x00)),0x00)) { Store(0x00,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x01)) { Store(0x01,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x02)) { Store(0x02,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x03)) { Store(0x03,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x04)) { Store(0x04,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x05)) { Store(0x05,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x06)) { Store(0x06,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x07)) { Store(0x07,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x08)) { Store(0x08,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x09)) { Store(0x09,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x0A)) { Store(0x0A,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x0B)) { Store(0x0B,PPRQ) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x0C)) { Store(0x00,PPRQ) Return(0x01) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x0D)) { Store(0x00,PPRQ) Return(0x01) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x0E)) { Store(0x0E,PPRQ) Return(0x00) /* **** mixed return types */ } Return(0x01) /* **** mixed return types */ } Return(0x01) /* **** mixed return types */ } If(LEqual(Arg2,0x03)) { Name(TMP1,Package(0x02){ 0x00, 0xFFFFFFFF }) Store(\_SB.PPRQ,Index(TMP1 /* \_SB.PCI0.LPCB.TPM._DSM.TMP1 */,0x01)) Return(TMP1 /* \_SB.PCI0.LPCB.TPM._DSM.TMP1 */) /* **** mixed return types */ } If(LEqual(Arg2,0x04)) { Return(0x01) /* **** mixed return types */ } If(LEqual(Arg2,0x05)) { Name(TMP2,Package(0x03){ 0x00, 0xFFFFFFFF, 0xFFFFFFFF }) Store(\_SB.PPLO,Index(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */,0x01)) If(LOr(LOr(LGreater(\_SB.PPLO,0x0E),LEqual(\_SB.PPLO,0x0C)),LEqual(\_SB.PPLO,0x0D))) { Store(0xFFFFFFF1,Index(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */,0x02)) Return(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */) /* **** mixed return types */ } If(LEqual(PPRP /* \_SB.PPRP */,0xFF)) { Store(0xFFFFFFF1,Index(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */,0x02)) Return(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */) /* **** mixed return types */ } If(PPOR /* \_SB.PPOR */) { Store(0xFFFFFFF0,Index(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */,0x02)) Return(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */) /* **** mixed return types */ } Store(\_SB.PPRP,Index(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */,0x02)) Return(TMP2 /* \_SB.PCI0.LPCB.TPM._DSM.TMP2 */) /* **** mixed return types */ } If(LEqual(Arg2,0x06)) { CreateByteField(Arg3,0x04,LAN0) CreateByteField(Arg3,0x05,LAN1) Or(ShiftLeft(LAN1 /* \_SB.PCI0.LPCB.TPM._DSM.LAN1 */,0x08),LAN0 /* \_SB.PCI0.LPCB.TPM._DSM.LAN0 */,P80H) If(LOr(LEqual(LAN0 /* \_SB.PCI0.LPCB.TPM._DSM.LAN0 */,0x65),LEqual(LAN0 /* \_SB.PCI0.LPCB.TPM._DSM.LAN0 */,0x45))) { If(LOr(LEqual(LAN1 /* \_SB.PCI0.LPCB.TPM._DSM.LAN1 */,0x6E),LEqual(LAN1 /* \_SB.PCI0.LPCB.TPM._DSM.LAN1 */,0x4E))) { Return(0x00) /* **** mixed return types */ } } Return(0x01) /* **** mixed return types */ } Return(0x01) /* **** mixed return types */ } If(LEqual(UCMP /* \_SB.PCI0.LPCB.TPM.UCMP */(Arg0,Buffer(0x10){0xED,0x54,0x60,0x37,0x13,0xCC,0x75,0x46, 0x90,0x1C,0x47,0x56,0xD7,0xF2,0xD4,0x5D}),0x01)) { If(LEqual(Arg2,0x00)) { Return(Buffer(0x01){0x01}) } If(LEqual(Arg2,0x01)) { If(LEqual(DeRefOf(Index(Arg3,0x00)),0x00)) { Store(0x00,\_SB.MOR) Return(0x00) /* **** mixed return types */ } If(LEqual(DeRefOf(Index(Arg3,0x00)),0x01)) { Store(0x01,\_SB.MOR) Return(0x00) /* **** mixed return types */ } } Return(0x01) /* **** mixed return types */ } Return(Buffer(0x01){0x00}) } } Device(PS2K) { Name(_HID,EISAID("PNP0303")) // PC Keyboard Controller 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("PNP0F13")) // PS/2-style Mouse Port 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,0x00) 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 /* \_SB.PCI0.PATA.PRID._GTM.PBUF */,0x00,PIO0) CreateDwordField(PBUF /* \_SB.PCI0.PATA.PRID._GTM.PBUF */,0x04,DMA0) CreateDwordField(PBUF /* \_SB.PCI0.PATA.PRID._GTM.PBUF */,0x08,PIO1) CreateDwordField(PBUF /* \_SB.PCI0.PATA.PRID._GTM.PBUF */,0x0C,DMA1) CreateDwordField(PBUF /* \_SB.PCI0.PATA.PRID._GTM.PBUF */,0x10,FLAG) Store(GETP /* \GETP */(PRIT /* \_SB.PCI0.PATA.PRIT */),PIO0) Store(GDMA /* \GDMA */(And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x01),And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x01),And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x01),SDT0 /* \_SB.PCI0.PATA.SDT0 */,And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x01)),DMA0) If(LEqual(DMA0 /* \_SB.PCI0.PATA.PRID._GTM.DMA0 */,0xFFFFFFFF)) { Store(PIO0 /* \_SB.PCI0.PATA.PRID._GTM.PIO0 */,DMA0) } If(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x4000)) { If(LEqual(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x90),0x80)) { Store(0x0384,PIO1) } Else { Store(GETT /* \GETT */(PSIT /* \_SB.PCI0.PATA.PSIT */),PIO1) } } Else { Store(0xFFFFFFFF,PIO1) } Store(GDMA /* \GDMA */(And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x02),And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x02),And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x02),SDT1 /* \_SB.PCI0.PATA.SDT1 */,And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x02)),DMA1) If(LEqual(DMA1 /* \_SB.PCI0.PATA.PRID._GTM.DMA1 */,0xFFFFFFFF)) { Store(PIO1 /* \_SB.PCI0.PATA.PRID._GTM.PIO1 */,DMA1) } Store(GETF /* \GETF */(And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x01),And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x02),PRIT /* \_SB.PCI0.PATA.PRIT */),FLAG) If(And(LEqual(PIO0 /* \_SB.PCI0.PATA.PRID._GTM.PIO0 */,0xFFFFFFFF),LEqual(DMA0 /* \_SB.PCI0.PATA.PRID._GTM.DMA0 */,0xFFFFFFFF))) { Store(0x78,PIO0) Store(0x14,DMA0) Store(0x03,FLAG) } Return(PBUF /* \_SB.PCI0.PATA.PRID._GTM.PBUF */) } Method(_STM,3,NotSerialized) { CreateDwordField(Arg0,0x00,PIO0) CreateDwordField(Arg0,0x04,DMA0) CreateDwordField(Arg0,0x08,PIO1) CreateDwordField(Arg0,0x0C,DMA1) CreateDwordField(Arg0,0x10,FLAG) If(LEqual(SizeOf(Arg1),0x0200)) { And(PRIT /* \_SB.PCI0.PATA.PRIT */,0xC0F0,PRIT) And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x02,SYNC) Store(0x00,SDT0) And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x02,ICR0) And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x02,ICR1) And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x02,ICR3) And(ICR5 /* \_SB.PCI0.PATA.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 /* \_SB.PCI0.PATA.PRIT */,0x8004,PRIT) If(LAnd(And(FLAG /* \_SB.PCI0.PATA.PRID._STM.FLAG */,0x02),And(W490 /* \_SB.PCI0.PATA.PRID._STM.W490 */,0x0800))) { Or(PRIT /* \_SB.PCI0.PATA.PRIT */,0x02,PRIT) } Or(PRIT /* \_SB.PCI0.PATA.PRIT */,SETP /* \SETP */(PIO0 /* \_SB.PCI0.PATA.PRID._STM.PIO0 */,W530 /* \_SB.PCI0.PATA.PRID._STM.W530 */,W640 /* \_SB.PCI0.PATA.PRID._STM.W640 */),PRIT) If(And(FLAG /* \_SB.PCI0.PATA.PRID._STM.FLAG */,0x01)) { Or(SYNC /* \_SB.PCI0.PATA.SYNC */,0x01,SYNC) Store(SDMA /* \SDMA */(DMA0 /* \_SB.PCI0.PATA.PRID._STM.DMA0 */),SDT0) If(LLess(DMA0 /* \_SB.PCI0.PATA.PRID._STM.DMA0 */,0x1E)) { Or(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x01,ICR3) } If(LLess(DMA0 /* \_SB.PCI0.PATA.PRID._STM.DMA0 */,0x3C)) { Or(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x01,ICR0) } If(And(W930 /* \_SB.PCI0.PATA.PRID._STM.W930 */,0x2000)) { Or(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x01,ICR1) } } } If(LEqual(SizeOf(Arg2),0x0200)) { And(PRIT /* \_SB.PCI0.PATA.PRIT */,0xBF0F,PRIT) Store(0x00,PSIT) And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x01,SYNC) Store(0x00,SDT1) And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x01,ICR0) And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x01,ICR1) And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x01,ICR3) And(ICR5 /* \_SB.PCI0.PATA.ICR5 */,0x01,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 /* \_SB.PCI0.PATA.PRIT */,0x8040,PRIT) If(LAnd(And(FLAG /* \_SB.PCI0.PATA.PRID._STM.FLAG */,0x08),And(W491 /* \_SB.PCI0.PATA.PRID._STM.W491 */,0x0800))) { Or(PRIT /* \_SB.PCI0.PATA.PRIT */,0x20,PRIT) } If(And(FLAG /* \_SB.PCI0.PATA.PRID._STM.FLAG */,0x10)) { Or(PRIT /* \_SB.PCI0.PATA.PRIT */,0x4000,PRIT) If(LGreater(PIO1 /* \_SB.PCI0.PATA.PRID._STM.PIO1 */,0xF0)) { Or(PRIT /* \_SB.PCI0.PATA.PRIT */,0x80,PRIT) } Else { Or(PRIT /* \_SB.PCI0.PATA.PRIT */,0x10,PRIT) Store(SETT /* \SETT */(PIO1 /* \_SB.PCI0.PATA.PRID._STM.PIO1 */,W531 /* \_SB.PCI0.PATA.PRID._STM.W531 */,W641 /* \_SB.PCI0.PATA.PRID._STM.W641 */),PSIT) } } If(And(FLAG /* \_SB.PCI0.PATA.PRID._STM.FLAG */,0x04)) { Or(SYNC /* \_SB.PCI0.PATA.SYNC */,0x02,SYNC) Store(SDMA /* \SDMA */(DMA1 /* \_SB.PCI0.PATA.PRID._STM.DMA1 */),SDT1) If(LLess(DMA1 /* \_SB.PCI0.PATA.PRID._STM.DMA1 */,0x1E)) { Or(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x02,ICR3) } If(LLess(DMA1 /* \_SB.PCI0.PATA.PRID._STM.DMA1 */,0x3C)) { Or(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x02,ICR0) } If(And(W931 /* \_SB.PCI0.PATA.PRID._STM.W931 */,0x2000)) { Or(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x02,ICR1) } } } } Device(P_D0) { Name(_ADR,0x00) Method(_GTF,0,NotSerialized) { Name(PIB0,Buffer(0x0E){0x03,0x00,0x00,0x00,0x00,0xA0,0xEF,0x03, 0x00,0x00,0x00,0x00,0xA0,0xEF}) CreateByteField(PIB0 /* \_SB.PCI0.PATA.PRID.P_D0._GTF.PIB0 */,0x01,PMD0) CreateByteField(PIB0 /* \_SB.PCI0.PATA.PRID.P_D0._GTF.PIB0 */,0x08,DMD0) If(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x02)) { If(LEqual(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x09),0x08)) { Store(0x08,PMD0) } Else { Store(0x0A,PMD0) ShiftRight(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x0300),0x08,Local0) ShiftRight(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x3000),0x0C,Local1) Add(Local0,Local1,Local2) If(LEqual(0x03,Local2)) { Store(0x0B,PMD0) } If(LEqual(0x05,Local2)) { Store(0x0C,PMD0) } } } Else { Store(0x01,PMD0) } If(And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x01)) { Store(Or(SDT0 /* \_SB.PCI0.PATA.SDT0 */,0x40),DMD0) If(And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x01)) { If(And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x01)) { Add(DMD0 /* \_SB.PCI0.PATA.PRID.P_D0._GTF.DMD0 */,0x02,DMD0) } If(And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x01)) { Store(0x45,DMD0) } } } Else { Or(Subtract(And(PMD0 /* \_SB.PCI0.PATA.PRID.P_D0._GTF.PMD0 */,0x07),0x02),0x20,DMD0) } Return(PIB0 /* \_SB.PCI0.PATA.PRID.P_D0._GTF.PIB0 */) } } Device(P_D1) { Name(_ADR,0x01) Method(_GTF,0,NotSerialized) { Name(PIB1,Buffer(0x0E){0x03,0x00,0x00,0x00,0x00,0xB0,0xEF,0x03, 0x00,0x00,0x00,0x00,0xB0,0xEF}) CreateByteField(PIB1 /* \_SB.PCI0.PATA.PRID.P_D1._GTF.PIB1 */,0x01,PMD1) CreateByteField(PIB1 /* \_SB.PCI0.PATA.PRID.P_D1._GTF.PIB1 */,0x08,DMD1) If(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x20)) { If(LEqual(And(PRIT /* \_SB.PCI0.PATA.PRIT */,0x90),0x80)) { Store(0x08,PMD1) } Else { Add(And(PSIT /* \_SB.PCI0.PATA.PSIT */,0x03),ShiftRight(And(PSIT /* \_SB.PCI0.PATA.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(0x01,PMD1) } If(And(SYNC /* \_SB.PCI0.PATA.SYNC */,0x02)) { Store(Or(SDT1 /* \_SB.PCI0.PATA.SDT1 */,0x40),DMD1) If(And(ICR1 /* \_SB.PCI0.PATA.ICR1 */,0x02)) { If(And(ICR0 /* \_SB.PCI0.PATA.ICR0 */,0x02)) { Add(DMD1 /* \_SB.PCI0.PATA.PRID.P_D1._GTF.DMD1 */,0x02,DMD1) } If(And(ICR3 /* \_SB.PCI0.PATA.ICR3 */,0x02)) { Store(0x45,DMD1) } } } Else { Or(Subtract(And(PMD1 /* \_SB.PCI0.PATA.PRID.P_D1._GTF.PMD1 */,0x07),0x02),0x20,DMD1) } Return(PIB1 /* \_SB.PCI0.PATA.PRID.P_D1._GTF.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) OperationRegion(SMBP,PCI_Config,0x40,0xC0) Field(SMBP,DWordAcc,NoLock,Preserve) { ,2, I2CE,1 } OperationRegion(SMBI,SystemIo,0x18C0,0x10) Field(SMBI,ByteAcc,NoLock,Preserve) { HSTS,8, Offset(0x02), HCON,8, HCOM,8, TXSA,8, DAT0,8, DAT1,8, HBDR,8, PECR,8, RXSA,8, SDAT,16 } Method(SSXB,2,Serialized) { If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0x00) } Store(0x00,I2CE) Store(0xBF,HSTS) Store(Arg0,TXSA) Store(Arg1,HCOM) Store(0x48,HCON) If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(0x01) } Return(0x00) } Method(SRXB,1,Serialized) { If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0xFFFF) } Store(0x00,I2CE) Store(0xBF,HSTS) Store(Or(Arg0,0x01),TXSA) Store(0x44,HCON) If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(DAT0 /* \_SB.PCI0.SBUS.DAT0 */) /* **** mixed return types */ } Return(0xFFFF) } Method(SWRB,3,Serialized) { If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0x00) } Store(0x00,I2CE) Store(0xBF,HSTS) Store(Arg0,TXSA) Store(Arg1,HCOM) Store(Arg2,DAT0) Store(0x48,HCON) If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(0x01) } Return(0x00) } Method(SRDB,2,Serialized) { If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0xFFFF) } Store(0x00,I2CE) Store(0xBF,HSTS) Store(Or(Arg0,0x01),TXSA) Store(Arg1,HCOM) Store(0x48,HCON) If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(DAT0 /* \_SB.PCI0.SBUS.DAT0 */) /* **** mixed return types */ } Return(0xFFFF) } Method(SBLW,4,Serialized) { If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0x00) } Store(Arg3,I2CE) Store(0xBF,HSTS) Store(Arg0,TXSA) Store(Arg1,HCOM) Store(SizeOf(Arg2),DAT0) Store(0x00,Local1) Store(DeRefOf(Index(Arg2,0x00)),HBDR) Store(0x54,HCON) While(LGreater(SizeOf(Arg2),Local1)) { Store(0x0FA0,Local0) While(LAnd(LNot(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x80)),Local0)) { Decrement(Local0) Stall(0x32) } If(LNot(Local0)) { KILL /* \_SB.PCI0.SBUS.KILL */() Return(0x00) } Store(0x80,HSTS) Increment(Local1) If(LGreater(SizeOf(Arg2),Local1)) { Store(DeRefOf(Index(Arg2,Local1)),HBDR) } } If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(0x01) } Return(0x00) } Method(SBLR,3,Serialized) { Name(TBUF,Buffer(0x0100){}) If(STRT /* \_SB.PCI0.SBUS.STRT */()) { Return(0x00) } Store(Arg2,I2CE) Store(0xBF,HSTS) Store(Or(Arg0,0x01),TXSA) Store(Arg1,HCOM) Store(0x54,HCON) Store(0x0FA0,Local0) While(LAnd(LNot(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x80)),Local0)) { Decrement(Local0) Stall(0x32) } If(LNot(Local0)) { KILL /* \_SB.PCI0.SBUS.KILL */() Return(0x00) } Store(DAT0 /* \_SB.PCI0.SBUS.DAT0 */,Index(TBUF /* \_SB.PCI0.SBUS.SBLR.TBUF */,0x00)) Store(0x80,HSTS) Store(0x01,Local1) While(LLess(Local1,DeRefOf(Index(TBUF /* \_SB.PCI0.SBUS.SBLR.TBUF */,0x00)))) { Store(0x0FA0,Local0) While(LAnd(LNot(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x80)),Local0)) { Decrement(Local0) Stall(0x32) } If(LNot(Local0)) { KILL /* \_SB.PCI0.SBUS.KILL */() Return(0x00) } Store(HBDR /* \_SB.PCI0.SBUS.HBDR */,Index(TBUF /* \_SB.PCI0.SBUS.SBLR.TBUF */,Local1)) Store(0x80,HSTS) Increment(Local1) } If(COMP /* \_SB.PCI0.SBUS.COMP */()) { Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) Return(TBUF /* \_SB.PCI0.SBUS.SBLR.TBUF */) /* **** mixed return types */ } Return(0x00) } Method(STRT,0,Serialized) { Store(0xC8,Local0) While(Local0) { If(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x40)) { Decrement(Local0) Sleep(0x01) If(LEqual(Local0,0x00)) { Return(0x01) } } Else { Store(0x00,Local0) } } Store(0x0FA0,Local0) While(Local0) { If(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x01)) { Decrement(Local0) Stall(0x32) If(LEqual(Local0,0x00)) { KILL /* \_SB.PCI0.SBUS.KILL */() } } Else { Return(0x00) } } Return(0x01) } Method(COMP,0,Serialized) { Store(0x0FA0,Local0) While(Local0) { If(And(HSTS /* \_SB.PCI0.SBUS.HSTS */,0x02)) { Return(0x01) } Else { Decrement(Local0) Stall(0x32) If(LEqual(Local0,0x00)) { KILL /* \_SB.PCI0.SBUS.KILL */() } } } Return(0x00) } Method(KILL,0,Serialized) { Or(HCON /* \_SB.PCI0.SBUS.HCON */,0x02,HCON) Or(HSTS /* \_SB.PCI0.SBUS.HSTS */,0xFF,HSTS) } } } } }