All pastes #492425 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-17 05:12 UTC
rendered paste body
/*
RSD PTR: Checksum=14, OEMID=DELL, RsdtAddress=0x7fed39cd
 */
/*
RSDT: Length=64, Revision=1, Checksum=65,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x27d6091d,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
	Entries={ 0x7fed4800, 0x7fed4f00, 0x7fed5000, 0x7fed4fc0, 0x7fed509c, 0x7fed4bc0, 0x7fed3a0d }
 */
/*
	DSDT=0x7fed5400
	INT_MODEL=APIC
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0x70, ACPI_DISABLE=0x71, S4BIOS_REQ=0x97
	PM1a_EVT_BLK=0x1000-0x1003
	PM1a_CNT_BLK=0x1004-0x1005
	PM2_CNT_BLK=0x1020-0x1020
	PM2_TMR_BLK=0x1008-0x100b
	PM2_GPE0_BLK=0x1028-0x102f
	P_LVL2_LAT=150ms, P_LVL3_LAT=250ms
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
	Flags={WBINVD,PROC_C1,P_LVL2_UP,PWR_BUTTON,SLP_BUTTON,RTC_S4,DCK_CAP}
 */
/*
DSDT: Length=18573, Revision=1, Checksum=50,
	OEMID=INT430, OEM Table ID=SYSFexxx, OEM Revision=0x1001,
	Creator ID=INTL, Creator Revision=0x20050624
 */
DefinitionBlock (
"acpi_dsdt.aml",	//Output filename
"DSDT",			//Signature
0x1,			//DSDT Revision
"INT430",			//OEMID
"SYSFexxx",		//TABLE ID
0x1001			//OEM Revision
)

{
Name(VERS, Package(0x3) {
    "Project: DELL D05    ",
    "Date: 01/01/2005",
    "Ver: 1.00.00",
})
Name(MISC, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
CreateByteField(MISC, 0x0, MIS0)
CreateByteField(MISC, 0x3, MIS3)
CreateByteField(MISC, 0x4, MIS4)
CreateByteField(MISC, 0x6, MIS6)
Mutex(SMIX, 1)
Method(SMI_, 2) {
    Acquire(SMIX, 0xffff)
    Store(Arg1, \_SB_.SMIA)
    Store(Arg0, \_SB_.SMIC)
    Store(\_SB_.SMIC, Local0)
    While(LNot(LEqual(Local0, 0x0))) {
        Store(\_SB_.SMIC, Local0)
    }
    Store(\_SB_.SMIA, Local1)
    Release(SMIX)
    Return(Local1)
}
Name(SXX0, Buffer(0x0100) { })
Name(SXX1, Buffer(0x8) { })
CreateWordField(SXX1, 0x0, SXX2)
CreateWordField(SXX1, 0x4, SXX3)
Method(SX10) {
    Acquire(SMIX, 0xffff)
    Store(0x0, SXX2)
}
Method(SX30, 1) {
    Store(SXX2, Local0)
    Increment(Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateByteField(SXX0, SXX2, SX20)
        Store(Arg0, SX20)
        Store(Local0, SXX2)
    }
}
Method(SX31, 1) {
    Store(SXX2, Local0)
    Add(Local0, 0x2, Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateWordField(SXX0, SXX2, SX21)
        Store(Arg0, SX21)
        Store(Local0, SXX2)
    }
}
Method(SX32, 1) {
    Store(SXX2, Local0)
    Add(Local0, 0x4, Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateDWordField(SXX0, SXX2, SX22)
        Store(Arg0, SX22)
        Store(Local0, SXX2)
    }
}
Method(SX33, 2) {
    If(LLess(Arg1, SizeOf(Arg0))) {
        CreateByteField(Arg0, Arg1, SX20)
        SX30(SX20)
    }
}
Method(SX34, 2) {
    Store(0x0, Local0)
    While(LLess(Local0, Arg1)) {
        SX33(Arg0, Local0)
        Increment(Local0)
    }
}
Method(SXX6, 2) {
    Store(Arg1, \_SB_.SMIA)
    Store(Arg0, \_SB_.SMIC)
    Store(\_SB_.SMIC, Local0)
    While(LNot(LEqual(Local0, 0x0))) {
        Store(\_SB_.SMIC, Local0)
    }
    Return(\_SB_.SMIA)
}
Method(SXX5, 2) {
    If(LLess(Arg1, SizeOf(Arg0))) {
        CreateByteField(Arg0, Arg1, SX20)
        SXX6(0x7c, SX20)
    }
}
Method(SXX4) {
    SXX6(0x7b, 0x0)
    Store(0x0, Local0)
    While(LLess(Local0, SXX2)) {
        SXX5(SXX0, Local0)
        Increment(Local0)
    }
}
Method(SXX8, 2) {
    If(LLess(Arg1, SizeOf(Arg0))) {
        CreateByteField(Arg0, Arg1, SX20)
        Store(SXX6(0x7d, 0x0), SX20)
    }
}
Method(SXX7) {
    Store(0x0, Local0)
    While(LLess(Local0, SXX3)) {
        Add(SXX2, Local0, Local1)
        SXX8(SXX0, Local1)
        Increment(Local0)
    }
}
Method(SX11) {
    SXX4()
    Store(SXX6(0x79, 0x0), SXX3)
    Add(SXX2, SXX3, Local0)
    If(LLess(SizeOf(SXX0), Local0)) {
        Store(SizeOf(SXX0), Local0)
        Subtract(Local0, SXX2, Local0)
        Store(Local0, SXX3)
    }
    SXX7()
}
Method(SX40) {
    Store(SXX2, Local0)
    Increment(Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateByteField(SXX0, SXX2, SX20)
        Store(Local0, SXX2)
        Return(SX20)
    }
    Return(0x0)
}
Method(SX41) {
    Store(SXX2, Local0)
    Add(Local0, 0x2, Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateWordField(SXX0, SXX2, SX21)
        Store(Local0, SXX2)
        Return(SX21)
    }
    Return(0x0)
}
Method(SX42) {
    Store(SXX2, Local0)
    Add(Local0, 0x4, Local0)
    If(LNot(LGreater(Local0, SizeOf(SXX0)))) {
        CreateDWordField(SXX0, SXX2, SX22)
        Store(Local0, SXX2)
        Return(SX22)
    }
    Return(0x0)
}
Method(SX43, 2) {
    If(LLess(Arg1, SizeOf(Arg0))) {
        CreateByteField(Arg0, Arg1, SX20)
        Store(SX40(), SX20)
    }
}
Method(SX44, 2) {
    Store(0x0, Local0)
    While(LLess(Local0, Arg1)) {
        SX43(Arg0, Local0)
        Increment(Local0)
    }
}
Method(SX45) {
    Store(SX40(), Local0)
    Name(SX23, Buffer(Local0) { })
    SX44(SX23, Local0)
    Return(SX23)
}
Method(SX12) {
    Release(SMIX)
}
Method(PSW_, 2) {
    SX10()
    SX30(0x6)
    SX30(Arg0)
    SX30(Arg1)
    SX11()
    SX12()
}
Method(DSS_, 2) {
    SX10()
    SX30(0x8)
    SX30(Arg0)
    SX32(Arg1)
    SX11()
    SX12()
}
Method(GMEM) {
    SX10()
    SX30(0x7)
    SX11()
    Store(SX42(), Local0)
    SX12()
    Return(Local0)
}
Method(SMMB) {
    SX10()
    SX30(0x11)
    SX11()
    Store(SX42(), Local0)
    SX12()
    Return(Local0)
}
Method(GORL) {
    SX10()
    SX30(0x9)
    SX11()
    Store(SX42(), Local0)
    SX12()
    Return(Local0)
}
Method(HSCO, 1) {
    SX10()
    SX30(0x17)
    SX30(Arg0)
    SX11()
    Store(SX40(), Local0)
    SX12()
    Return(Local0)
}
Mutex(WMIS, 1)
Name(WM00, 0x0)
Method(WM02) {
    SX10()
    SX30(0x15)
    SX11()
    Store(SX42(), WM00)
    SX12()
}
Method(WM03, 3) {
    OperationRegion(WWPR, SystemMemory, Arg0, 0x1)
    Field(WWPR, ByteAcc, Lock, Preserve) {
        MEMW,	8
    }
    CreateByteField(Arg1, Arg2, WVAL)
    Store(WVAL, MEMW)
}
Method(WM05, 3) {
    OperationRegion(WWPR, SystemMemory, Arg0, 0x4)
    Field(WWPR, ByteAcc, Lock, Preserve) {
        MW32,	32
    }
    CreateDWordField(Arg1, Arg2, WVAL)
    Store(WVAL, MW32)
}
Method(WM04, 3) {
    OperationRegion(WRPR, SystemMemory, Arg0, 0x1)
    Field(WRPR, ByteAcc, Lock, Preserve) {
        MEMR,	8
    }
    CreateByteField(Arg1, Arg2, WVAL)
    Store(MEMR, WVAL)
    Store(0x0, MEMR)
}
Method(WM06, 3) {
    OperationRegion(WRPR, SystemMemory, Arg0, 0x4)
    Field(WRPR, ByteAcc, Lock, Preserve) {
        MR32,	32
    }
    CreateDWordField(Arg1, Arg2, WVAL)
    Store(MR32, WVAL)
    Store(0x0, MR32)
}
Method(WM07, 2) {
    If(LNot(LGreater(Arg1, 0x1000))) {
        Store(WM00, Local0)
        Store(0x0, Local1)
        While(LLess(Local1, Arg1)) {
            WM05(Local0, Arg0, Local1)
            Add(Local0, 0x4, Local0)
            Add(Local1, 0x4, Local1)
        }
        SXX6(0xcc, 0x0)
        Store(WM00, Local0)
        Store(0x0, Local1)
        While(LLess(Local1, Arg1)) {
            WM06(Local0, Arg0, Local1)
            Add(Local0, 0x4, Local0)
            Add(Local1, 0x4, Local1)
        }
    }
    Return(Arg0)
}
Method(WMI_, 2) {
    Acquire(WMIS, 0xffff)
    If(LEqual(WM00, 0x0)) {
        WM02()
    }
    WM07(Arg0, Arg1)
    Release(WMIS)
    Return(Arg0)
}
Name(W98S, "Microsoft Windows")
Name(NT5S, "Microsoft Windows NT")
Name(WINM, "Microsoft WindowsME: Millennium Edition")
Name(WXP_, "Windows 2001")
Name(WLG_, "Windows 2006")
Method(GETC, 2) {
    CreateByteField(Arg0, Arg1, TCHR)
    Return(TCHR)
}
Method(STRE, 2) {
    Name(STR1, Buffer(0x50) { })
    Name(STR2, Buffer(0x50) { })
    Store(Arg0, STR1)
    Store(Arg1, STR2)
    Store(Zero, Local0)
    Store(One, Local1)
    While(Local1) {
        Store(GETC(STR1, Local0), Local1)
        Store(GETC(STR2, Local0), Local2)
        If(LNot(LEqual(Local1, Local2))) {
            Return(Zero)
        }
        Increment(Local0)
    }
    Return(One)
}
Method(OSID) {
    If(LEqual(MIS3, 0x0)) {
        Store(0x1, MIS3)
        If(CondRefOf(\_OSI, Local0)) {
            If(\_OSI) {
                WXP_
                Store(0x10, MIS3)
            }
            If(\_OSI) {
                WLG_
                Store(0x20, MIS3)
            }
        }
        Else {
            If(STRE(\_OS_, W98S)) {
                Store(0x2, MIS3)
            }
            If(STRE(\_OS_, NT5S)) {
                Store(0x8, MIS3)
            }
            If(STRE(\_OS_, WINM)) {
                Store(0x4, MIS3)
            }
        }
    }
    Return(MIS3)
}
Method(SOST) {
    SX10()
    SX30(0xa)
    OSID()
    SX30(MIS3)
    SX11()
    SX12()
}
Scope(\) {
    OperationRegion(RCRB, SystemMemory, 0xf4008000, 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),
        RPD1,	1,
        RPD2,	1,
        RPD3,	1,
        RPD4,	1,
        RPD5,	1,
        RPD6,	1
    }
}
Name(WAKE, 0x0)
Method(NEVT) {
    Store(SMI_(0x8c, 0x0), Local0)
    If(And(Local0, 0x1, )) {
        Notify(\_SB_.PBTN, 0x80)
    }
    If(And(Local0, 0x4, )) {
        LIDE()
    }
    If(And(Local0, 0x8, )) {
        PWRE()
    }
    If(And(Local0, 0x40, )) {
        Notify(\_SB_.SBTN, 0x80)
    }
    If(And(Local0, 0x80, )) {
        SMIE()
    }
}
Method(LIDE) {
    Store(SMI_(0x43, 0x0), Local0)
    If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0xf)))) {
        Store(SMI_(0x6d, 0x0), Local0)
        If(LEqual(Local0, 0x3)) {
            If(LNot(LLess(OSID(), 0x10))) {
                Notify(\_SB_.PCI0, 0x0)
                Sleep(0x03e8)
            }
            Else {
                If(LEqual(OSID(), 0x8)) {
                    Notify(\_SB_.PCI0.VID_, 0x0)
                    Notify(\_SB_.PCI0.VID2, 0x0)
                    Sleep(0x02ee)
                }
            }
            Notify(\_SB_.PCI0.VID_, 0x80)
            Notify(\_SB_.PCI0.AGP_.VID_, 0x80)
        }
    }
    Notify(\_SB_.LID_, 0x80)
}
Method(PWRE) {
    Store(SMI_(0x98, 0x0), Local0)
    XOr(Local0, MIS0, Local1)
    And(Local0, Or(0x1, Or(0x2, 0x10, ), ), MIS0)
    If(And(Local1, 0x1, )) {
        Notify(\_SB_.AC__, 0x80)
    }
    And(MIS0, 0x2, Local2)
    If(And(Local1, 0x2, )) {
        If(Local2) {
            Notify(\_SB_.BAT0, 0x81)
        }
        Else {
            Notify(\_SB_.BAT0, 0x81)
        }
    }
    If(And(Local1, 0x4, )) {
        If(Local2) {
            Notify(\_SB_.BAT0, 0x80)
        }
    }
    If(And(Local1, 0x8, )) {
        If(Local2) {
            Notify(\_SB_.BAT0, 0x80)
        }
    }
}
Method(CESM) {
    SX10()
    SX30(0x18)
    SX11()
    Store(SX42(), Local0)
    SX12()
    If(LNot(LLess(OSID(), 0x20))) {
        If(And(Local0, 0x1, )) {
            Notify(\_SB_.MBTN, 0x80)
        }
    }
    If(LNot(LLess(OSID(), 0x20))) {
        If(And(Local0, 0x4, )) {
            Notify(\_SB_.PCI0.AGP_.VID_.LCD_, 0x86)
            Notify(\_SB_.PCI0.VID_.LCD_, 0x86)
        }
        If(And(Local0, 0x2, )) {
            Notify(\_SB_.PCI0.AGP_.VID_.LCD_, 0x87)
            Notify(\_SB_.PCI0.VID_.LCD_, 0x87)
        }
    }
}
Method(SMIE) {
    Store(SMI_(0x96, 0x0), Local0)
    If(And(Local0, 0x1, )) {
        Notify(\_TZ_.THM_, 0x80)
    }
    If(And(Local0, 0x20, )) {
        Notify(\_SB_.PCI0.VID_, 0x81)
        Notify(\_SB_.PCI0.AGP_.VID_, 0x81)
    }
    If(And(Local0, 0x2, )) {
        Store(SMI_(0x6d, 0x0), Local0)
        If(LEqual(Local0, 0x3)) {
            If(LNot(LLess(OSID(), 0x10))) {
                Notify(\_SB_.PCI0, 0x0)
                Sleep(0x03e8)
            }
            Else {
                If(LEqual(OSID(), 0x8)) {
                    Notify(\_SB_.PCI0.VID_, 0x0)
                    Notify(\_SB_.PCI0.VID2, 0x0)
                    Sleep(0x02ee)
                }
            }
            Notify(\_SB_.PCI0.VID_, 0x80)
        }
        Else {
            Notify(\_SB_.PCI0.AGP_.VID_, 0x80)
        }
    }
    If(And(Local0, 0x4, )) {
        CESM()
    }
    If(And(Local0, 0x8, )) {
        Notify(\_PR_.CPU0, 0x80)
        Notify(\_PR_.CPU1, 0x80)
    }
}
Method(\_PTS, 1) {
    SMI_(0x8a, Arg0)
}
Method(\_WAK, 1) {
    SMI_(0x9a, Arg0)
    If(LEqual(Arg0, 0x4)) {
        Notify(\_SB_.PBTN, 0x2)
        Store(SMI_(0x98, 0x0), MIS0)
        Store(0x1, MIS4)
        SOST()
    }
    Notify(\_SB_.AC__, 0x80)
    \_SB_.PCI0.WKHP()
    Store(HSCO(0x1), Local0)
    If(Local0) {
        If(LNot(LLess(OSID(), 0x20))) {
            Notify(\_SB_.MBTN, 0x2)
            HSCO(0x2)
        }
    }
    Return(Package(0x2) {
        0x0,
        0x0,
    })
}
Method(NWAK) {
    Store(0x1, WAKE)
    Store(SMI_(0x89, 0x0), Local0)
    Store(0x0, Local1)
    If(LEqual(Local0, 0x0)) {
        Store(0x1, Local1)
    }
    If(And(Local0, 0x1, )) {
        Store(0x1, Local1)
    }
    If(And(Local0, 0x2, )) {
        LIDE()
    }
    If(And(Local0, 0x20, )) {
        If(LEqual(OSID(), 0x2)) {
            Store(0x1, Local1)
        }
    }
    Notify(\_SB_.BAT0, 0x81)
    If(LEqual(Local0, 0x4)) {
        Store(0x1, Local1)
    }
    If(Local1) {
        Notify(\_SB_.PBTN, 0x2)
    }
    Store(0x0, WAKE)
}
Scope(\_GPE) {
    Method(_L01) {
        \_SB_.PCI0.POHP()
    }
    Method(_L19) {
        NEVT()
    }
    Method(_L16) {
        NWAK()
    }
    Method(_L0B) {
        Store(0x0, Local0)
        Notify(\_SB_.PCI0, 0x2)
    }
    Method(_L18) {
        Store(0x0, Local0)
    }
    Method(_L03) {
        Notify(\_SB_.PCI0.USB0, 0x2)
    }
    Method(_L04) {
        Notify(\_SB_.PCI0.USB1, 0x2)
    }
    Method(_L0C) {
        Notify(\_SB_.PCI0.USB2, 0x2)
    }
    Method(_L0E) {
        Notify(\_SB_.PCI0.USB3, 0x2)
    }
    Method(_L0D) {
        Notify(\_SB_.PCI0.EHCI, 0x2)
    }
    Method(_L05) {
        Notify(\_SB_.PCI0.AZAL, 0x2)
    }
    Method(_L09) {
        Store(SMI_(0xc6, 0x0), Local0)
        If(And(Local0, 0x2, )) {
            Notify(\_SB_.PCI0.RP02.PXS2, 0x2)
        }
        If(And(Local0, 0x4, )) {
            Notify(\_SB_.PCI0.RP04.PXS4, 0x2)
        }
    }
}
Name(CRS0, Buffer(0x0192) { })
CreateWordField(CRS0, 0x0190, CRS1)
Method(CRS3) {
    Store(0x0, CRS1)
}
Method(CRS4, 1) {
    CreateByteField(CRS0, CRS1, CRS2)
    Store(Arg0, CRS2)
    Increment(CRS1)
}
Method(CRS5, 1) {
    CreateWordField(CRS0, CRS1, CRS2)
    Store(Arg0, CRS2)
    Increment(CRS1)
    Increment(CRS1)
}
Method(CRS6, 1) {
    CreateDWordField(CRS0, CRS1, CRS2)
    Store(Arg0, CRS2)
    Add(CRS1, 0x4, CRS1)
}
Method(CR_0, 3) {
    CRS4(0x86)
    CRS5(0x9)
    CRS4(Arg0)
    CRS6(Arg1)
    CRS6(Arg2)
}
Method(CR_1, 4) {
    CRS4(0x47)
    CRS4(0x1)
    CRS5(Arg0)
    CRS5(Arg1)
    CRS4(Arg2)
    CRS4(Arg3)
}
Method(CR_2, 2) {
    CRS4(0x88)
    CRS5(0xd)
    CRS4(0x2)
    CRS4(0xc)
    CRS4(0x0)
    CRS5(0x0)
    CRS5(Arg0)
    Add(Arg0, Arg1, Local0)
    Decrement(Local0)
    CRS5(Local0)
    CRS5(0x0)
    CRS5(Arg1)
}
Method(CR_3, 2) {
    CRS4(0x88)
    CRS5(0xd)
    CRS4(0x1)
    CRS4(0xc)
    CRS4(0x3)
    CRS5(0x0)
    CRS5(Arg0)
    Add(Arg0, Arg1, Local0)
    Decrement(Local0)
    CRS5(Local0)
    CRS5(0x0)
    CRS5(Arg1)
}
Method(CR_4, 2) {
    CRS4(0x87)
    CRS5(0x17)
    CRS4(0x0)
    CRS4(0xc)
    CRS4(0x3)
    CRS6(0x0)
    CRS6(Arg0)
    Add(Arg0, Arg1, Local0)
    Decrement(Local0)
    CRS6(Local0)
    CRS6(0x0)
    CRS6(Arg1)
}
Method(CR_5) {
    CRS5(0x79)
    Store(CRS1, Local0)
    Subtract(0x0192, 0x2, Local1)
    While(LLess(Local0, Local1)) {
        CRS4(0x0)
        Increment(Local0)
    }
    Store(0x79, CRS1)
}
Scope(\_PR_) {
    Processor(CPU0, 0, 0x1010, 0x6) {
    }
    Processor(CPU1, 1, 0x1010, 0x6) {
    }
}
Name(\_S0_, Package(0x3) {
    0x0,
    0x0,
    0x0,
})
Name(\_S3_, Package(0x3) {
    0x5,
    0x0,
    0x0,
})
Name(\_S4_, Package(0x3) {
    0x7,
    0x0,
    0x0,
})
Name(\_S5_, Package(0x3) {
    0x7,
    0x0,
    0x0,
})
Scope(\_TZ_) {
    ThermalZone(THM_) {
        Method(_CRT) {
            Store(GINF(0x12), Local0)
            Return(Local0)
        }
        Method(_TMP) {
            Store(GINF(0x4), Local0)
            Return(Local0)
        }
        Method(GINF, 1) {
            SX10()
            SX30(Arg0)
            SX11()
            Store(SX41(), Local0)
            SX12()
            If(LLess(Local0, 0x0ba6)) {
                Store(0x0ba6, Local0)
            }
            Return(Local0)
        }
    }
}
Scope(\) {
    Name(GPIC, 0x0)
    Method(_PIC, 1) {
        Store(Arg0, GPIC)
    }
}
Scope(\_SB_) {
    OperationRegion(SMIR, SystemIO, 0xb2, 0x2)
    Field(SMIR, ByteAcc, NoLock, Preserve) {
        SMIC,	8,
        SMID,	8
    }
    OperationRegion(SMR2, SystemIO, 0x86, 0x1)
    Field(SMR2, ByteAcc, NoLock, Preserve) {
        SMIA,	8
    }
    Device(AMW0) {
        Mutex(WMIX, 1)
        Name(_HID, "*pnp0c14")
        Name(_UID, 0x0)
        Method(STBY, 3) {
            CreateByteField(Arg0, Arg1, TMP_)
            Store(Arg2, TMP_)
        }
        Method(STWD, 3) {
            CreateWordField(Arg0, Arg1, TMP_)
            Store(Arg2, TMP_)
        }
        Method(STDW, 3) {
            CreateDWordField(Arg0, Arg1, TMP_)
            Store(Arg2, TMP_)
        }
        Method(CLBY, 1) {
            Store(0x0, Local0)
            While(LLess(Local0, SizeOf(Arg0))) {
                STBY(Arg0, Local0, 0x0)
                Increment(Local0)
            }
        }
        Name(_WDG, Buffer(0x64) {0xbc, 0xdc, 0x9d, 0x8d, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0x41, 0x41, 0x1, 0x0, 0xce, 0x93, 0x5, 0xa8, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0x42, 0x41, 0x1, 0x2, 0x94, 0x59, 0xbb, 0x9d, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0xd0, 0x0, 0x1, 0x8, 0xe0, 0x6c, 0x77, 0xa3, 0x88, 0x1e, 0xdb, 0x11, 0xa9, 0x8b, 0x8, 0x0, 0x20, 0xc, 0x9a, 0x66, 0x42, 0x43, 0x1, 0x0, 0x21, 0x12, 0x90, 0x5, 0x66, 0xd5, 0xd1, 0x11, 0xb2, 0xf0, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10, 0x4d, 0x4f, 0x1, 0x0 })
        Name(INFO, Buffer(0x80) { })
        Name(ECD0, 0x0)
        Method(WED0, 1) {
            Store(Arg0, ECD0)
            Return(Zero)
        }
        Method(WCAA, 1) {
            Return(Zero)
        }
        Method(WQAA, 1) {
            Acquire(WMIX, 0xffff)
            CLBY(INFO)
            If(LNot(LEqual(Arg0, 0x0))) {
                Store(INFO, Local1)
            }
            Else {
                STDW(INFO, 0x0, 0x4c4c4544)
                STDW(INFO, 0x4, 0x494d5720)
                STDW(INFO, 0x8, 0x1)
                STDW(INFO, 0xc, 0x1000)
                Store(INFO, Local1)
            }
            Release(WMIX)
            Return(Local1)
        }
        Method(WSAA, 2) {
            Return(Arg1)
        }
        Method(WMBA, 3) {
            CreateDWordField(Arg2, 0x28, WBUF)
            Add(WBUF, 0x2c, Local1)
            If(LNot(LGreater(Local1, 0x1000))) {
                Store(WMI_(Arg2, Local1), Local0)
            }
            Return(Local0)
        }
        Method(_WED, 1) {
            Acquire(WMIX, 0xffff)
            CLBY(INFO)
            If(LOr(LNot(LEqual(Arg0, 0xd0)), LEqual(ECD0, 0x0))) {
                Store(INFO, Local1)
            }
            Else {
                SX10()
                SX30(0x16)
                SX11()
                Store(SX42(), Local0)
                SX12()
                STDW(INFO, 0x0, Local0)
                Store(INFO, Local1)
            }
            Release(WMIX)
            Return(Local1)
        }
        Name(WQMO, Buffer(0x0572) {0x46, 0x4f, 0x4d, 0x42, 0x1, 0x0, 0x0, 0x0, 0x62, 0x5, 0x0, 0x0, 0x88, 0x1c, 0x0, 0x0, 0x44, 0x53, 0x0, 0x1, 0x1a, 0x7d, 0xda, 0x54, 0x18, 0xd5, 0x8d, 0x0, 0x1, 0x6, 0x18, 0x42, 0x10, 0xf, 0x10, 0x22, 0x21, 0x4, 0x12, 0x1, 0xa1, 0xc8, 0x2c, 0xc, 0x86, 0x10, 0x38, 0x2e, 0x84, 0x1c, 0x40, 0x48, 0x1c, 0x14, 0x4a, 0x8, 0x84, 0xfa, 0x13, 0xc8, 0xaf, 0x0, 0x84, 0xe, 0x5, 0xc8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x4, 0x11, 0xf4, 0x2a, 0xc0, 0xa6, 0x0, 0x93, 0x2, 0x2c, 0xa, 0xd0, 0x2e, 0xc0, 0xb2, 0x0, 0xdd, 0x2, 0xa4, 0xc3, 0x12, 0x91, 0xe0, 0x28, 0x31, 0xe0, 0x28, 0x9d, 0xd8, 0xc2, 0xd, 0x1b, 0xbc, 0x50, 0x14, 0xcd, 0x20, 0x4a, 0x82, 0xca, 0x5, 0xf8, 0x46, 0x10, 0x78, 0xb9, 0x2, 0x24, 0x4f, 0x40, 0x9a, 0x5, 0x18, 0x16, 0x60, 0x5d, 0x80, 0xec, 0x21, 0x50, 0xa9, 0x43, 0x40, 0xc9, 0x19, 0x2, 0x6a, 0x0, 0xad, 0x4e, 0x40, 0xf8, 0x95, 0x4e, 0x9, 0x49, 0x10, 0xce, 0x58, 0xc5, 0xe3, 0x6b, 0x16, 0x4d, 0xcf, 0x49, 0xce, 0x31, 0xe4, 0x78, 0x5c, 0xe8, 0x41, 0xf0, 0x40, 0xa, 0x40, 0x58, 0x78, 0x8, 0x45, 0x80, 0x41, 0x49, 0x18, 0xb, 0x75, 0x31, 0x6a, 0xd4, 0x48, 0xd9, 0x80, 0xc, 0x51, 0xda, 0xa8, 0xd1, 0x3, 0x3a, 0xbf, 0x23, 0x39, 0xbb, 0xa3, 0x3b, 0x92, 0x4, 0x46, 0x3d, 0xa6, 0x63, 0x2c, 0x6c, 0x46, 0x42, 0x8d, 0xd1, 0x1c, 0x14, 0x81, 0xc6, 0xd, 0xda, 0x12, 0x61, 0x35, 0xae, 0xd8, 0x67, 0x66, 0xe1, 0xc3, 0x12, 0xc6, 0x11, 0x1c, 0x58, 0x82, 0x46, 0xd1, 0x34, 0xc7, 0xb3, 0xd, 0x91, 0xe0, 0x20, 0x42, 0x63, 0x64, 0x40, 0xc8, 0xf3, 0xb0, 0x5, 0x7a, 0xe4, 0x9, 0xec, 0x1e, 0x51, 0xa, 0x11, 0x34, 0xdf, 0x13, 0xa9, 0x51, 0x80, 0x36, 0xc, 0xd9, 0x3a, 0x1b, 0x68, 0xa8, 0xb1, 0x1a, 0x43, 0x11, 0x44, 0x84, 0xa0, 0x51, 0xc, 0x16, 0x21, 0x54, 0x88, 0xff, 0x7f, 0x94, 0xa8, 0xa7, 0x14, 0x24, 0x6a, 0x65, 0x20, 0x42, 0xb, 0x66, 0x4, 0x66, 0x7f, 0x10, 0x24, 0xc6, 0x99, 0x41, 0x87, 0x5, 0xcb, 0x0, 0x91, 0x11, 0x41, 0xa3, 0x61, 0x67, 0x1, 0xf, 0xc7, 0x33, 0x69, 0x7e, 0x62, 0x1a, 0x9c, 0x9, 0xc6, 0x86, 0x90, 0x6, 0x8, 0x89, 0x3a, 0x38, 0x50, 0x2, 0x4b, 0x19, 0x38, 0xb1, 0x3d, 0x2e, 0x8d, 0xef, 0x8c, 0xa3, 0x86, 0x38, 0xf5, 0x33, 0xf3, 0x3f, 0xc2, 0x5b, 0xf0, 0x11, 0x80, 0x8f, 0xc1, 0x83, 0x3d, 0x84, 0x80, 0x47, 0xc8, 0xce, 0x0, 0x6, 0xc4, 0x7b, 0x9f, 0x34, 0x99, 0x8b, 0xcf, 0x2, 0x30, 0x86, 0xf, 0xd7, 0xf8, 0x28, 0x34, 0x1e, 0x76, 0x3e, 0x60, 0xe3, 0xe2, 0xf0, 0x3e, 0x14, 0x9c, 0x70, 0xb1, 0x20, 0xa, 0x0, 0x21, 0x59, 0xe7, 0x3, 0xf4, 0xac, 0x8f, 0x2d, 0xe0, 0xc3, 0x40, 0xb3, 0x77, 0x8, 0x42, 0xf0, 0x22, 0xe0, 0xa3, 0x83, 0x8f, 0x1b, 0x1e, 0xf7, 0xf3, 0x6, 0x18, 0xe, 0x7, 0x1e, 0x8e, 0x4f, 0x1b, 0xc0, 0x65, 0x4, 0x5c, 0xda, 0x93, 0xc2, 0x4, 0x92, 0xfc, 0x4, 0x90, 0x18, 0x18, 0xd4, 0x81, 0xc0, 0x7, 0xb, 0xb8, 0x92, 0xe0, 0x50, 0xc3, 0xf3, 0xc4, 0x1e, 0x10, 0xfe, 0xff, 0x47, 0x79, 0x22, 0x2f, 0x6, 0x9e, 0xfe, 0x63, 0x0, 0x8c, 0x3, 0x82, 0xa7, 0x75, 0x52, 0xbe, 0x79, 0x3c, 0x48, 0x78, 0x50, 0x61, 0x12, 0xf8, 0x94, 0xc0, 0xd0, 0xf8, 0x71, 0x3, 0xac, 0xa3, 0xc6, 0x1f, 0x10, 0xe0, 0x9d, 0x24, 0xce, 0xaf, 0xcf, 0x1, 0xe8, 0xd0, 0x70, 0x8a, 0xc, 0xe4, 0x35, 0xe0, 0xa4, 0x4f, 0xc9, 0xe3, 0x4b, 0xe0, 0x33, 0x7, 0xec, 0xbb, 0xc1, 0x61, 0x1c, 0x4c, 0x88, 0x8, 0xef, 0x1, 0x4f, 0x1d, 0xbe, 0x6b, 0x3c, 0xa, 0x4, 0x8a, 0xd0, 0xdb, 0x99, 0x83, 0x9e, 0x42, 0x8c, 0x12, 0xed, 0xac, 0xc2, 0x3c, 0x70, 0x44, 0xf1, 0x91, 0xc3, 0x8, 0xef, 0x1e, 0xbe, 0x13, 0x3c, 0x80, 0xb4, 0x36, 0x39, 0xe1, 0x6, 0x7a, 0xe6, 0x60, 0xd1, 0xce, 0x2c, 0xb2, 0x0, 0xa2, 0x48, 0xa3, 0x41, 0x9d, 0x11, 0x7c, 0x1a, 0xf0, 0xb4, 0x9e, 0x62, 0x7c, 0x94, 0x30, 0xc8, 0x19, 0x1e, 0xd8, 0x73, 0xc2, 0x63, 0x80, 0x7, 0xcc, 0xee, 0x7, 0x3e, 0x4e, 0xf8, 0x5c, 0x80, 0x77, 0xd, 0xa8, 0x19, 0xfa, 0xb0, 0x1, 0xe7, 0xd0, 0x81, 0x3f, 0x4d, 0xe0, 0xf, 0x16, 0xf8, 0xf1, 0xf8, 0x9a, 0xc3, 0x26, 0x9c, 0xc0, 0xf2, 0x7, 0x81, 0x1a, 0x99, 0xa1, 0x3d, 0xcb, 0xd3, 0x7a, 0xd, 0xf0, 0x69, 0xc7, 0x4, 0x3e, 0x6f, 0xf8, 0xff, 0xff, 0xcf, 0xf1, 0x78, 0xc0, 0xaf, 0xf8, 0x74, 0x41, 0xee, 0xa, 0x9e, 0xaf, 0xcf, 0x2e, 0xcc, 0xc6, 0x78, 0x50, 0xa3, 0xf0, 0x1, 0x7, 0x77, 0x76, 0xf1, 0x11, 0xc0, 0x67, 0x17, 0xe0, 0x39, 0x89, 0x67, 0x9, 0xf0, 0x1e, 0x2, 0x7c, 0x22, 0x89, 0xf7, 0xb0, 0x5, 0x63, 0xc4, 0x78, 0xc8, 0x33, 0xae, 0x7a, 0x18, 0xba, 0x8, 0x58, 0xdd, 0x7d, 0x5, 0x75, 0xf4, 0x2, 0x13, 0xd4, 0x6b, 0x6, 0xee, 0xf4, 0x2, 0x7c, 0x4e, 0x59, 0xf0, 0xfe, 0xff, 0xa7, 0x2c, 0xe0, 0x7e, 0x55, 0xe0, 0x47, 0x14, 0x30, 0x40, 0x76, 0x76, 0x3a, 0x11, 0xc2, 0x7b, 0xc9, 0x73, 0x88, 0x6f, 0x57, 0x3e, 0x98, 0x4, 0x79, 0xe, 0x88, 0xf0, 0x94, 0xc5, 0xef, 0x3, 0x51, 0x62, 0x1e, 0x50, 0xa4, 0x28, 0x46, 0xc, 0xf2, 0x84, 0xe5, 0xeb, 0x49, 0xc, 0x43, 0x7, 0xb, 0x17, 0x3e, 0xc2, 0x53, 0x16, 0x60, 0xf1, 0x92, 0x85, 0x39, 0x65, 0xc1, 0x7c, 0x1b, 0xf8, 0x94, 0x5, 0x8e, 0xff, 0xff, 0x29, 0xb, 0x5c, 0xe3, 0x7e, 0xca, 0x2, 0x66, 0xd2, 0x9f, 0x2, 0x3e, 0xd5, 0xf8, 0x9, 0xa0, 0xe8, 0x7, 0xb, 0xa, 0xe3, 0x53, 0x16, 0xe0, 0x4a, 0xde, 0x1, 0x1, 0x34, 0x67, 0x27, 0xdf, 0x16, 0xc, 0x76, 0xcc, 0xbe, 0x64, 0xf8, 0x94, 0x8, 0x86, 0x43, 0x86, 0xef, 0x54, 0x87, 0xf2, 0xc8, 0xf1, 0x14, 0xe0, 0x23, 0x16, 0xd8, 0xe3, 0x1c, 0x3, 0x74, 0x5c, 0xf1, 0x11, 0xcb, 0xff, 0xff, 0x23, 0x16, 0xc0, 0x8d, 0x3, 0x8, 0xfe, 0xd4, 0x1, 0xeb, 0x1e, 0x10, 0xd6, 0x87, 0xe, 0xe0, 0x21, 0xfb, 0x21, 0xa0, 0x33, 0x8c, 0x25, 0x83, 0xc8, 0xc6, 0xb9, 0x86, 0x8e, 0xd1, 0xe2, 0x17, 0xaa, 0x9b, 0x42, 0xec, 0x83, 0xe1, 0xb2, 0x81, 0x4, 0xea, 0xe1, 0x5a, 0x30, 0x85, 0x44, 0xd1, 0x68, 0x34, 0x6, 0x26, 0x30, 0x82, 0x33, 0x88, 0x1, 0x9d, 0x11, 0x42, 0x87, 0x32, 0x9c, 0x8a, 0xf3, 0x10, 0xea, 0xff, 0x4f, 0x30, 0xd4, 0x8d, 0x89, 0xce, 0xce, 0xf3, 0xe7, 0xb7, 0x11, 0x9f, 0x8, 0xc, 0xec, 0x2b, 0xc4, 0x5b, 0x6, 0x58, 0x86, 0xe5, 0xc5, 0x3d, 0x1, 0x1c, 0xe3, 0x49, 0x26, 0xa8, 0xe6, 0x58, 0x83, 0x9a, 0x83, 0xaf, 0x2, 0x6f, 0x64, 0x26, 0xf0, 0x15, 0xc, 0x6c, 0xa7, 0x19, 0x8c, 0xbe, 0x3b, 0x1, 0x28, 0x80, 0x7c, 0x14, 0xf0, 0x7d, 0xf9, 0x6d, 0x80, 0xcd, 0xe2, 0x95, 0xd9, 0x68, 0x3e, 0x7f, 0x22, 0x86, 0x8e, 0x12, 0x33, 0x74, 0xa, 0xe2, 0xa1, 0x3b, 0xe8, 0xd0, 0xd1, 0xc7, 0x1, 0x9f, 0xac, 0x70, 0xc1, 0xe, 0x5f, 0xd0, 0x26, 0x77, 0xb4, 0x27, 0xe6, 0x59, 0x78, 0x9e, 0xb8, 0xb9, 0x83, 0xe9, 0x88, 0x4, 0x63, 0xf0, 0x98, 0xc9, 0x83, 0x59, 0xe0, 0xe4, 0x41, 0xf1, 0xff, 0x9f, 0x3c, 0x4c, 0x78, 0x4c, 0xd8, 0xc3, 0x21, 0x3d, 0x74, 0x78, 0x64, 0x7c, 0x9c, 0x3e, 0xfd, 0x30, 0xec, 0xd3, 0x39, 0x97, 0xa2, 0x67, 0xa4, 0x3b, 0xc6, 0x33, 0x17, 0x6, 0xd6, 0x23, 0xe7, 0xb0, 0x46, 0xb, 0x7b, 0xc0, 0xcf, 0x21, 0xbe, 0xc3, 0xf8, 0xc0, 0xc3, 0x60, 0x7d, 0x7a, 0x1, 0xc7, 0xf1, 0xb, 0xfe, 0x69, 0x0, 0x3c, 0x7, 0x10, 0x8f, 0xe1, 0x5, 0x84, 0x1f, 0x5f, 0x74, 0xfe, 0xa5, 0x42, 0x17, 0x27, 0x79, 0x30, 0xa8, 0xd3, 0x14, 0xe0, 0xea, 0xf4, 0x6, 0x9e, 0xab, 0x3e, 0xee, 0x2c, 0x85, 0xfb, 0xff, 0x9f, 0xa5, 0x60, 0x1c, 0x7e, 0x7d, 0x81, 0xf7, 0x5d, 0xca, 0x8, 0x7, 0xf2, 0x2c, 0x5, 0xf6, 0xd8, 0xcf, 0x10, 0x1d, 0x2, 0x7c, 0x96, 0x2, 0xf8, 0xf1, 0xfa, 0xf0, 0x79, 0x6, 0x6e, 0xe0, 0xd3, 0x2f, 0xd0, 0xfa, 0xff, 0x9f, 0x42, 0xc0, 0x7f, 0x8c, 0xf0, 0x11, 0x7, 0x77, 0xb6, 0x1, 0xef, 0xd1, 0x17, 0x1c, 0x7, 0x63, 0x7e, 0xc6, 0xc0, 0x1d, 0xc7, 0x80, 0xc7, 0xc9, 0x19, 0x77, 0x9a, 0xf0, 0x10, 0xf8, 0x0, 0x5a, 0x9d, 0x1e, 0x39, 0xf5, 0x9c, 0x12, 0xee, 0x38, 0xc0, 0xa7, 0x84, 0x1b, 0x0, 0x26, 0xc0, 0x19, 0x13, 0x50, 0xf5, 0xff, 0x3f, 0x63, 0x2, 0x63, 0x90, 0x8, 0xef, 0xa, 0x51, 0xdf, 0x91, 0xd, 0xf1, 0x8c, 0xcc, 0x70, 0xde, 0x1a, 0x1e, 0x5f, 0x9e, 0x91, 0xc1, 0x79, 0xc6, 0x4, 0xf8, 0xf3, 0xff, 0x3f, 0xd2, 0x63, 0x6f, 0xa, 0xc1, 0x9f, 0x42, 0x80, 0x89, 0xf8, 0x33, 0x26, 0x15, 0x7e, 0xc6, 0x84, 0x36, 0x17, 0x4f, 0xdb, 0x67, 0x4c, 0x80, 0x7b, 0xff, 0xff, 0x33, 0x26, 0xe0, 0x3b, 0xf2, 0x19, 0x13, 0xd0, 0x73, 0xa4, 0xc2, 0x9d, 0x31, 0xc1, 0x30, 0xce, 0xf7, 0x27, 0x83, 0x3c, 0x8f, 0xf8, 0x40, 0xe0, 0xa3, 0xc, 0x53, 0x68, 0xd3, 0xa7, 0x46, 0xa3, 0x56, 0xd, 0xca, 0xd4, 0x28, 0xd3, 0xa0, 0x56, 0x9f, 0x4a, 0x8d, 0x19, 0x3b, 0x3a, 0x59, 0xc4, 0x5a, 0x35, 0x58, 0x87, 0x5a, 0xaf, 0x40, 0x2c, 0xe9, 0x89, 0x21, 0x10, 0xff, 0xff, 0x45, 0x79, 0x0, 0x61, 0x71, 0x4d, 0x80, 0x30, 0xe1, 0xab, 0x12, 0x88, 0x63, 0x83, 0x50, 0xb1, 0x3a, 0x20, 0x1a, 0x19, 0xa2, 0x41, 0x4, 0xe4, 0x10, 0x3e, 0x80, 0x58, 0x24, 0x10, 0x81, 0x13, 0x25, 0xa0, 0xd4, 0x9, 0x8, 0x13, 0xba, 0x16, 0x81, 0x58, 0x9e, 0x17, 0x10, 0x16, 0xe, 0x84, 0x4a, 0x32, 0x3, 0xce, 0xf4, 0x81, 0x8, 0xc8, 0x52, 0x5f, 0x21, 0x2, 0xb2, 0x70, 0x10, 0x1, 0xf9, 0xff, 0xf })
    }
    Device(AC__) {
        Name(_HID, "ACPI0003")
        Name(_PCL, Package(0x2) {
            \_SB_,
            BAT0,
        })
        Method(_PSR) {
            Store(SMI_(0x85, 0x0), Local0)
            And(Local0, 0x1, Local0)
            Return(Local0)
        }
        Method(_STA) {
            Return(0xf)
        }
    }
    Name(BIFP, Package(0xd) {
    })
    Method(BIF_, 1) {
        SX10()
        SX30(0x1)
        SX30(Arg0)
        SX11()
        Store(SX42(), Index(BIFP, 0x0, ))
        Store(SX42(), Index(BIFP, 0x1, ))
        Store(SX42(), Index(BIFP, 0x2, ))
        Store(SX42(), Index(BIFP, 0x3, ))
        Store(SX42(), Index(BIFP, 0x4, ))
        Store(SX42(), Index(BIFP, 0x5, ))
        Store(SX42(), Index(BIFP, 0x6, ))
        Store(SX42(), Index(BIFP, 0x7, ))
        Store(SX42(), Index(BIFP, 0x8, ))
        Store(SX45(), Index(BIFP, 0x9, ))
        Store(SX45(), Index(BIFP, 0xa, ))
        Store(SX45(), Index(BIFP, 0xb, ))
        Store(SX45(), Index(BIFP, 0xc, ))
        SX12()
        Return(BIFP)
    }
    Device(BAT0) {
        Name(_HID, 0x0a0cd041)
        Name(_UID, 0x1)
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Method(_STA) {
            And(MIS0, 0x2, Local0)
            If(Local0) {
                Return(0x1f)
            }
            Return(0xf)
        }
        Method(_BIF) {
            Return(BIF_(0x1))
        }
        Method(_BST) {
            SX10()
            SX30(0x2)
            SX30(0x1)
            SX11()
            Name(BST0, Package(0x4) {
            })
            Store(SX42(), Index(BST0, 0x0, ))
            Store(SX42(), Index(BST0, 0x1, ))
            Store(SX42(), Index(BST0, 0x2, ))
            Store(SX42(), Index(BST0, 0x3, ))
            SX12()
            Return(BST0)
        }
        Method(_BTP, 1) {
            SX10()
            SX30(0x3)
            SX30(0x1)
            SX32(Arg0)
            SX11()
            SX12()
        }
    }
    Device(LID_) {
        Name(_HID, 0x0d0cd041)
        Method(_LID) {
            Store(SMI_(0x84, 0x0), Local0)
            Return(Local0)
        }
        Name(_PRW, Package(0x2) {
            0x16,
            0x3,
        })
        Method(_PSW, 1) {
            PSW_(Arg0, 0x2)
        }
    }
    Device(PBTN) {
        Name(_HID, 0x0c0cd041)
        Name(_PRW, Package(0x2) {
            0x16,
            0x4,
        })
        Method(_PSW, 1) {
            PSW_(Arg0, 0x1)
        }
    }
    Device(SBTN) {
        Name(_HID, 0x0e0cd041)
    }
    Device(MBTN) {
        Name(_HID, "PNP0C32")
        Name(_UID, 0x0)
        Method(_STA) {
            If(LLess(OSID(), 0x20)) {
                Return(0x0)
            }
            Return(0xf)
        }
        Name(_PRW, Package(0x2) {
            0x16,
            0x5,
        })
        Method(GHID) {
            Store(HSCO(0x1), Local0)
            If(Local0) {
                Notify(\_SB_.MBTN, 0x2)
                HSCO(0x2)
            }
            Return(Buffer(0x1) {0x0 })
        }
    }
    Device(MB1_) {
        Name(_HID, 0x010cd041)
        Name(_UID, 0x1)
        Method(_CRS) {
            CRS3()
            CR_0(0x1, 0x0, 0x0009fc00)
            CR_0(0x1, 0x0009fc00, 0x0400)
            If(LNot(LLess(OSID(), 0x8))) {
                Store(GORL(), Local0)
                CR_0(0x0, 0x000c0000, Local0)
            }
            CR_0(0x0, 0x000e0000, 0x00020000)
            Store(GMEM(), Local0)
            Subtract(Local0, 0x0002cc00, Local1)
            CR_0(0x1, 0x00100000, Local1)
            Add(Local1, 0x00100000, Local1)
            CR_0(0x1, Local1, 0x0002cc00)
            Store(SMMB(), Local0)
            CR_0(0x1, Local0, 0x00100000)
            Add(Local1, 0x0002cc00, Local1)
            Store(SMI_(0x6d, 0x0), Local0)
            If(LEqual(Local0, 0x3)) {
                CR_0(0x0, Local1, 0x00800000)
            }
            Subtract(0xffffffff, 0xffb00000, Local0)
            Add(Local0, 0x1, Local0)
            CR_0(0x0, 0xffb00000, Local0)
            CR_0(0x1, 0xfec00000, 0x00010000)
            CR_0(0x1, 0xfee00000, 0x00010000)
            CR_0(0x0, 0xfed20000, 0x00080000)
            CR_0(0x1, 0xffa80000, 0x4000)
            CR_0(0x1, 0xf4000000, 0x4000)
            CR_0(0x1, 0xf4004000, 0x1000)
            CR_0(0x1, 0xf4005000, 0x1000)
            CR_0(0x1, 0xf4006000, 0x1000)
            CR_0(0x1, 0xf4008000, 0x4000)
            CR_0(0x1, 0xf0000000, 0x04000000)
            CR_5()
            Return(CRS0)
        }
    }
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        Name(_PRW, Package(0x2) {
            0xb,
            0x3,
        })
        Method(_INI) {
            Store(SMI_(0x98, 0x0), MIS0)
            And(MIS0, Or(0x1, Or(0x2, 0x10, ), ), MIS0)
            Store(0x1, MIS4)
            SOST()
        }
        Method(_CRS) {
            CRS3()
            CR_2(0x0, 0x0100)
            CR_3(0x0, 0x0cf8)
            CR_1(0x0cf8, 0x0cf8, 0x1, 0x8)
            CR_3(0x0d00, 0xf300)
            CR_4(0x000a0000, 0x00020000)
            CR_4(0x000d0000, 0x00010000)
            Add(0x00100000, GMEM(), Local0)
            Add(Local0, 0x00100000, Local0)
            Store(SMI_(0x6d, 0x0), Local3)
            If(LEqual(Local3, 0x3)) {
                Add(Local0, 0x00800000, Local0)
            }
            Subtract(0xf0000000, Local0, Local1)
            CR_4(Local0, Local1)
            Add(0xf4006000, 0x1000, Local0)
            Subtract(0xf4008000, Local0, Local1)
            CR_4(Local0, Local1)
            Add(0xf4008000, 0x4000, Local0)
            Subtract(0xfec00000, Local0, Local1)
            CR_4(Local0, Local1)
            Add(0xfec00000, 0x00010000, Local0)
            Subtract(0xfed00000, Local0, Local1)
            If(Local1) {
                CR_4(Local0, Local1)
            }
            Add(0xfed00000, 0x0400, Local0)
            Subtract(0xfed20000, Local0, Local1)
            If(Local1) {
                CR_4(Local0, Local1)
            }
            Add(0xfed20000, 0x00080000, Local0)
            Subtract(0xfeda0000, Local0, Local1)
            CR_4(Local0, Local1)
            Add(0xfee00000, 0x00010000, Local0)
            Subtract(0xffb00000, Local0, Local1)
            CR_4(Local0, Local1)
            CR_5()
            Return(CRS0)
        }
        Device(MB2_) {
            Name(_HID, 0x010cd041)
            Name(_UID, 0x2)
            Name(CRS_, Buffer(0x3d) {0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x2, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x2, 0x1, 0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x10, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x10, 0x2, 0x22, 0x1, 0x0, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x10, 0x2, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x10, 0x6, 0x47, 0x1, 0x8, 0x10, 0x8, 0x10, 0x8, 0x8, 0x79, 0x0 })
            Method(_CRS) {
                Return(CRS_)
            }
        }
        Device(MB3_) {
            Name(_HID, 0x010cd041)
            Name(_UID, 0x3)
            Name(CRS_, Buffer(0x52) {0x47, 0x1, 0x0, 0xf4, 0x0, 0xf4, 0x1, 0xff, 0x47, 0x1, 0x86, 0x0, 0x86, 0x0, 0x2, 0x1, 0x47, 0x1, 0xb3, 0x0, 0xb3, 0x0, 0x1, 0x1, 0x47, 0x1, 0x6, 0x10, 0x6, 0x10, 0x2, 0x2, 0x47, 0x1, 0xa, 0x10, 0xa, 0x10, 0x1, 0x50, 0x47, 0x1, 0x60, 0x10, 0x60, 0x10, 0x10, 0x20, 0x47, 0x1, 0x80, 0x10, 0x80, 0x10, 0x10, 0x40, 0x47, 0x1, 0xc0, 0x10, 0xc0, 0x10, 0x10, 0x20, 0x47, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x20, 0x47, 0x1, 0x9, 0x8, 0x9, 0x8, 0x1, 0x1, 0x79, 0x0 })
            Method(_CRS) {
                Return(CRS_)
            }
        }
        Device(ISAB) {
            Name(_ADR, 0x001f0000)
            OperationRegion(PIR1, PCI_Config, 0x60, 0x4)
            OperationRegion(PIR2, PCI_Config, 0x68, 0x4)
            OperationRegion(FDIS, PCI_Config, 0xf2, 0x2)
            Device(PS2M) {
                Name(_HID, 0x130fd041)
                Name(CRS_, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(KBC_) {
                Name(_HID, 0x0303d041)
                Name(CRS_, Buffer(0x25) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x10, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x4, 0x1, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x2, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x6, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(RT__, Buffer(0x15) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x10, 0x2, 0x22, 0x0, 0x1, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x2, 0x6, 0x79, 0x0 })
                Method(_CRS) {
                    Return(RT__)
                }
            }
            Device(TMR_) {
                Name(_HID, 0x0001d041)
                Name(TM__, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x10, 0x4, 0x22, 0x4, 0x0, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79, 0x0 })
                Method(_CRS) {
                    Return(TM__)
                }
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(CRS_, Buffer(0x22) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0x1, 0x47, 0x1, 0x67, 0x0, 0x67, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(MB4_) {
                Name(_HID, 0x010cd041)
                Name(_UID, 0x4)
                Name(CRS_, Buffer(0x2a) {0x47, 0x1, 0x80, 0xc, 0x80, 0xc, 0x10, 0x80, 0x47, 0x1, 0x10, 0x9, 0x10, 0x9, 0x10, 0x10, 0x47, 0x1, 0x20, 0x9, 0x20, 0x9, 0x10, 0x10, 0x47, 0x1, 0xb0, 0xc, 0xb0, 0xc, 0x10, 0x10, 0x47, 0x1, 0x30, 0x9, 0x30, 0x9, 0x10, 0x50, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Name(CRS_, Buffer(0x72) {0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x4, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x4, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x4, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x4, 0x2, 0x47, 0x1, 0x34, 0x0, 0x34, 0x0, 0x4, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x4, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x4, 0x2, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0, 0x4, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x4, 0x2, 0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x4, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x4, 0x2, 0x47, 0x1, 0xb4, 0x0, 0xb4, 0x0, 0x4, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x4, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x4, 0x2, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(MAD_) {
                Name(_HID, 0x0002d041)
                Name(CRS_, Buffer(0x3d) {0x2a, 0x10, 0x4, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x10, 0x6, 0x47, 0x1, 0x87, 0x0, 0x87, 0x0, 0x1, 0x9, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x10, 0x20, 0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x10, 0x10, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x10, 0x2, 0x47, 0x1, 0x93, 0x0, 0x93, 0x0, 0x1, 0xd, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(COPR) {
                Name(_HID, 0x040cd041)
                Name(CRS_, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x10, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
                Method(_CRS) {
                    Return(CRS_)
                }
            }
            Device(HPET) {
                Name(_HID, 0x0301d041)
                Name(_CID, 0x010cd041)
                Name(BUF0, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
                Method(_STA) {
                    If(LNot(LLess(OSID(), 0x10))) {
                        If(HPAE) {
                            Return(0xf)
                        }
                    }
                    Return(0x0)
                }
                Method(_CRS) {
                    Return(BUF0)
                }
            }
        }
        Method(UCMD, 3) {
            SX10()
            SX30(0xf)
            SX30(Arg0)
            SX30(Arg1)
            SX30(Arg2)
            SX11()
            Store(SX40(), Local0)
            SX12()
            Return(Local0)
        }
        Method(UPSW, 2) {
            Return(UCMD(0x2, Arg0, Arg1))
        }
        Method(UPRW, 2) {
            Return(UCMD(0x1, Arg0, Arg1))
        }
        Device(USB0) {
            Name(_ADR, 0x001d0000)
            Method(_PRW) {
                Store(UPRW(0x0, 0x0), Local0)
                If(LEqual(Local0, 0x3)) {
                    Return(Package(0x2) {
                        0x3,
                        0x3,
                    })
                }
                If(LEqual(Local0, 0x1)) {
                    Return(Package(0x2) {
                        0x3,
                        0x1,
                    })
                }
                Return(Package(0x2) {
                    0x3,
                    0x0,
                })
            }
            Method(_PSW, 1) {
                UPSW(Arg0, 0x0)
            }
            Device(HUB0) {
                Name(_ADR, 0x0)
                Device(CH00) {
                    Name(_ADR, 0x1)
                }
                Device(CH01) {
                    Name(_ADR, 0x2)
                }
            }
        }
        Device(USB1) {
            Name(_ADR, 0x001d0001)
            Method(_PRW) {
                Store(UPRW(0x0, 0x1), Local0)
                If(LEqual(Local0, 0x3)) {
                    Return(Package(0x2) {
                        0x4,
                        0x3,
                    })
                }
                If(LEqual(Local0, 0x1)) {
                    Return(Package(0x2) {
                        0x4,
                        0x1,
                    })
                }
                Return(Package(0x2) {
                    0x4,
                    0x0,
                })
            }
            Method(_PSW, 1) {
                UPSW(Arg0, 0x1)
            }
            Device(HUB1) {
                Name(_ADR, 0x0)
                Device(CH10) {
                    Name(_ADR, 0x1)
                }
                Device(CH11) {
                    Name(_ADR, 0x2)
                }
            }
        }
        Device(USB2) {
            Name(_ADR, 0x001d0002)
            Method(_PRW) {
                Store(UPRW(0x0, 0x2), Local0)
                If(LEqual(Local0, 0x3)) {
                    Return(Package(0x2) {
                        0xc,
                        0x3,
                    })
                }
                If(LEqual(Local0, 0x1)) {
                    Return(Package(0x2) {
                        0xc,
                        0x1,
                    })
                }
                Return(Package(0x2) {
                    0xc,
                    0x0,
                })
            }
            Method(_PSW, 1) {
                UPSW(Arg0, 0x2)
            }
            Device(HUB2) {
                Name(_ADR, 0x0)
                Device(CH20) {
                    Name(_ADR, 0x1)
                }
                Device(CH21) {
                    Name(_ADR, 0x2)
                }
            }
        }
        Device(USB3) {
            Name(_ADR, 0x001d0003)
            Method(_PRW) {
                Store(UPRW(0x0, 0x3), Local0)
                If(LEqual(Local0, 0x3)) {
                    Return(Package(0x2) {
                        0xe,
                        0x3,
                    })
                }
                If(LEqual(Local0, 0x1)) {
                    Return(Package(0x2) {
                        0xe,
                        0x1,
                    })
                }
                Return(Package(0x2) {
                    0xe,
                    0x0,
                })
            }
            Method(_PSW, 1) {
                UPSW(Arg0, 0x3)
            }
            Device(HUB3) {
                Name(_ADR, 0x0)
                Device(CH30) {
                    Name(_ADR, 0x1)
                }
                Device(CH31) {
                    Name(_ADR, 0x2)
                }
            }
        }
        Device(EHCI) {
            Name(_ADR, 0x001d0007)
            Name(_S1D, 0x2)
            Name(_S3D, 0x2)
            Method(_PRW) {
                Store(UPRW(0x0, 0x7), Local0)
                If(LEqual(Local0, 0x3)) {
                    Return(Package(0x2) {
                        0xd,
                        0x3,
                    })
                }
                If(LEqual(Local0, 0x1)) {
                    Return(Package(0x2) {
                        0xd,
                        0x1,
                    })
                }
                Return(Package(0x2) {
                    0xd,
                    0x0,
                })
            }
            Method(_PSW, 1) {
                UPSW(Arg0, 0x7)
            }
            Device(HUB7) {
                Name(_ADR, 0x0)
                Device(CH00) {
                    Name(_ADR, 0x1)
                }
                Device(CH01) {
                    Name(_ADR, 0x2)
                }
                Device(CH10) {
                    Name(_ADR, 0x3)
                }
                Device(CH11) {
                    Name(_ADR, 0x4)
                }
                Device(CH20) {
                    Name(_ADR, 0x5)
                }
                Device(CH21) {
                    Name(_ADR, 0x6)
                }
                Device(CH30) {
                    Name(_ADR, 0x7)
                }
                Device(CH31) {
                    Name(_ADR, 0x8)
                }
            }
        }
        Name(PIC0, Package(0x13) {
            Package(0x4) {
                0x001fffff,
                0x0,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x001fffff,
                0x1,
                \_SB_.PCI0.LNKB,
                0x0,
            },
            Package(0x4) {
                0x001fffff,
                0x2,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x001fffff,
                0x3,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x001effff,
                0x0,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x001effff,
                0x1,
                \_SB_.PCI0.LNKB,
                0x0,
            },
            Package(0x4) {
                0x001effff,
                0x2,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x001effff,
                0x3,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x001dffff,
                0x0,
                \_SB_.PCI0.LNKE,
                0x0,
            },
            Package(0x4) {
                0x001dffff,
                0x1,
                \_SB_.PCI0.LNKF,
                0x0,
            },
            Package(0x4) {
                0x001dffff,
                0x2,
                \_SB_.PCI0.LNKG,
                0x0,
            },
            Package(0x4) {
                0x001dffff,
                0x3,
                \_SB_.PCI0.LNKH,
                0x0,
            },
            Package(0x4) {
                0x001cffff,
                0x0,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x001cffff,
                0x1,
                \_SB_.PCI0.LNKB,
                0x0,
            },
            Package(0x4) {
                0x001cffff,
                0x2,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x001cffff,
                0x3,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x001bffff,
                0x0,
                \_SB_.PCI0.LNKF,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x0,
                \_SB_.PCI0.LNKA,
                0x0,
            },
        })
        Name(API0, Package(0x13) {
            Package(0x4) {
                0x001fffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x001fffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x001fffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x001fffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x001effff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x001effff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x001effff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x001effff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x001dffff,
                0x0,
                0x0,
                0x14,
            },
            Package(0x4) {
                0x001dffff,
                0x1,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x001dffff,
                0x2,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x001dffff,
                0x3,
                0x0,
                0x17,
            },
            Package(0x4) {
                0x001cffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x001cffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x001cffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x001cffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x001bffff,
                0x0,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0001ffff,
                0x0,
                0x0,
                0x10,
            },
        })
        Method(_PRT) {
            Store(API0, Local0)
            If(LNot(GPIC)) {
                Store(PIC0, Local0)
            }
            Return(Local0)
        }
        Field(\_SB_.PCI0.ISAB.PIR1, ByteAcc, NoLock, Preserve) {
            PIRA,	8,
            PIRB,	8,
            PIRC,	8,
            PIRD,	8
        }
        Field(\_SB_.PCI0.ISAB.PIR2, ByteAcc, NoLock, Preserve) {
            PIRE,	8,
            PIRF,	8,
            PIRG,	8,
            PIRH,	8
        }
        Device(LNKA) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x1)
            Name(_PRS, Buffer(0x6) {0x23, 0x0, 0xe, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRA, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRA, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRA)
            }
            Method(_CRS) {
                Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFA, 0x1, IRA_)
                Store(PIRA, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRA_)
                }
                Return(BUFA)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQA)
                FindSetLeftBit(IRQA, Local0)
                Decrement(Local0)
                Store(Local0, PIRA)
            }
        }
        Device(LNKB) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x2)
            Name(_PRS, Buffer(0x6) {0x23, 0xa0, 0x0, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRB, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRB, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRB)
            }
            Method(_CRS) {
                Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFB, 0x1, IRB_)
                Store(PIRB, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRB_)
                }
                Return(BUFB)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQB)
                FindSetLeftBit(IRQB, Local0)
                Decrement(Local0)
                Store(Local0, PIRB)
            }
        }
        Device(LNKC) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x3)
            Name(_PRS, Buffer(0x6) {0x23, 0x0, 0xe, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRC, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRC, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRC)
            }
            Method(_CRS) {
                Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFC, 0x1, IRC_)
                Store(PIRC, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRC_)
                }
                Return(BUFC)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQC)
                FindSetLeftBit(IRQC, Local0)
                Decrement(Local0)
                Store(Local0, PIRC)
            }
        }
        Device(LNKD) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x4)
            Name(_PRS, Buffer(0x6) {0x23, 0xa0, 0xe, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRD, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRD, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRD)
            }
            Method(_CRS) {
                Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFD, 0x1, IRD_)
                Store(PIRD, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRD_)
                }
                Return(BUFD)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQD)
                FindSetLeftBit(IRQD, Local0)
                Decrement(Local0)
                Store(Local0, PIRD)
            }
        }
        Device(LNKE) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x5)
            Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRE, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRE, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRE)
            }
            Method(_CRS) {
                Name(BUFE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFE, 0x1, IRE_)
                Store(PIRE, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRE_)
                }
                Return(BUFE)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQE)
                FindSetLeftBit(IRQE, Local0)
                Decrement(Local0)
                Store(Local0, PIRE)
            }
        }
        Device(LNKF) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x6)
            Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRF, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRF, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRF)
            }
            Method(_CRS) {
                Name(BUFF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFF, 0x1, IRF_)
                Store(PIRF, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRF_)
                }
                Return(BUFF)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQF)
                FindSetLeftBit(IRQF, Local0)
                Decrement(Local0)
                Store(Local0, PIRF)
            }
        }
        Device(LNKG) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x7)
            Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRG, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRG, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRG)
            }
            Method(_CRS) {
                Name(BUFG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFG, 0x1, IRG_)
                Store(PIRG, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRG_)
                }
                Return(BUFG)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQG)
                FindSetLeftBit(IRQG, Local0)
                Decrement(Local0)
                Store(Local0, PIRG)
            }
        }
        Device(LNKH) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x8)
            Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
            Method(_STA) {
                Store(PIRH, Local0)
                And(Local0, 0x80, Local0)
                If(LEqual(Local0, 0x80)) {
                    Return(0x9)
                }
                Return(0xb)
            }
            Method(_DIS) {
                Store(PIRH, Local0)
                Or(Local0, 0x80, Local0)
                Store(Local0, PIRH)
            }
            Method(_CRS) {
                Name(BUFH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateWordField(BUFH, 0x1, IRH_)
                Store(PIRH, Local0)
                And(Local0, 0x8f, Local0)
                If(LLess(Local0, 0x80)) {
                    And(Local0, 0xf, )
                    Store(0x1, Local1)
                    ShiftLeft(Local1, Local0, Local1)
                    Store(Local1, IRH_)
                }
                Return(BUFH)
            }
            Method(_SRS, 1) {
                CreateWordField(Arg0, 0x1, IRQH)
                FindSetLeftBit(IRQH, Local0)
                Decrement(Local0)
                Store(Local0, PIRH)
            }
        }
        Device(IDE0) {
            Name(_ADR, 0x001f0002)
            OperationRegion(PCFG, PCI_Config, 0x0, 0x0100)
            Field(PCFG, DWordAcc, NoLock, Preserve) {
                Offset(0x40),
                TPF0,	1,
                TPI0,	1,
                TPP0,	1,
                TPD0,	1,
                TPF1,	1,
                TPI1,	1,
                TPP1,	1,
                TPD1,	1,
                TPRT,	2,
                ,	2,
                TPIS,	2,
                TPTR,	1,
                TPDE,	1,
                TSF0,	1,
                TSI0,	1,
                TSP0,	1,
                TSD0,	1,
                TSF1,	1,
                TSI1,	1,
                TSP1,	1,
                TSD1,	1,
                TSRT,	2,
                ,	2,
                TSIS,	2,
                TSTR,	1,
                TSDE,	1,
                PRTS,	2,
                PIOS,	2,
                SRTS,	2,
                SIOS,	2,
                Offset(0x48),
                SCP0,	1,
                SCP1,	1,
                SCS0,	1,
                SCS1,	1,
                Offset(0x4a),
                PCT0,	2,
                ,	2,
                PCT1,	2,
                Offset(0x4b),
                SCT0,	2,
                ,	2,
                SCT1,	2,
                Offset(0x4c),
                Offset(0x54),
                PCB0,	1,
                PCB1,	1,
                SCB0,	1,
                SCB1,	1,
                ,	2,
                PMCR,	1,
                PSCR,	1,
                ,	4,
                FPC0,	1,
                FPC1,	1,
                FSC0,	1,
                FSC1,	1,
                PSIG,	2,
                SSIG,	2,
                Offset(0x58)
            }
            Name(GTMT, Buffer(0x14) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x11, 0x0, 0x0, 0x0 })
            CreateDWordField(GTMT, 0x0, PIO0)
            CreateDWordField(GTMT, 0x4, DMA0)
            CreateDWordField(GTMT, 0x8, PIO1)
            CreateDWordField(GTMT, 0xc, DMA1)
            CreateDWordField(GTMT, 0x10, IFLG)
            Method(GTMI) {
                Store(Ones, PIO0)
                Store(Ones, DMA0)
                Store(Ones, PIO1)
                Store(Ones, DMA1)
                Store(0x10, IFLG)
            }
            Method(UDMA, 3) {
                If(Arg0) {
                    Return(0x14)
                }
                If(Arg1) {
                    If(LEqual(Arg2, 0x2)) {
                        Return(0x3c)
                    }
                    Else {
                        Return(0x5a)
                    }
                }
                Else {
                    Multiply(Subtract(0x4, Arg2, ), 0x1e, Local0)
                    Return(Local0)
                }
            }
            Method(PIOM, 2) {
                Store(0x9, Local0)
                Subtract(Local0, Arg0, Local0)
                Subtract(Local0, Arg1, Local0)
                Multiply(Local0, 0x1e, Local0)
                Return(Local0)
            }
            Method(GTMP) {
                GTMI()
                If(LEqual(TPDE, 0x0)) {
                    Return(GTMT)
                }
                Or(SCP0, IFLG, IFLG)
                ShiftLeft(TPI0, 0x1, Local0)
                Or(Local0, IFLG, IFLG)
                ShiftLeft(SCP1, 0x2, Local0)
                Or(Local0, IFLG, IFLG)
                ShiftLeft(TPI1, 0x3, Local0)
                Or(Local0, IFLG, IFLG)
                Store(PIOM(TPIS, TPRT), PIO0)
                Store(PIOM(PRTS, PIOS), PIO1)
                If(SCP0) {
                    Store(UDMA(FPC0, PCB0, PCT0), DMA0)
                }
                Else {
                    If(TPD0) {
                        Store(PIO0, DMA0)
                    }
                }
                If(SCP1) {
                    Store(UDMA(FPC1, PCB1, PCT1), DMA1)
                }
                Else {
                    If(TPD1) {
                        Store(PIO1, DMA1)
                    }
                }
                Return(GTMT)
            }
            Method(GTMS) {
                GTMI()
                If(LEqual(TSDE, 0x0)) {
                    Return(GTMT)
                }
                Or(SCS0, IFLG, IFLG)
                ShiftLeft(TSI0, 0x1, Local0)
                Or(Local0, IFLG, IFLG)
                ShiftLeft(SCS1, 0x2, Local0)
                Or(Local0, IFLG, IFLG)
                ShiftLeft(TSI1, 0x3, Local0)
                Or(Local0, IFLG, IFLG)
                Store(PIOM(TSIS, TSRT), PIO0)
                Store(PIOM(SRTS, SIOS), PIO1)
                If(SCS0) {
                    Store(UDMA(FSC0, SCB0, SCT0), DMA0)
                }
                Else {
                    If(TSD0) {
                        Store(PIO0, DMA0)
                    }
                }
                If(SCS1) {
                    Store(UDMA(FSC1, SCB1, SCT1), DMA1)
                }
                Else {
                    If(TSD1) {
                        Store(PIO1, DMA1)
                    }
                }
                Return(GTMT)
            }
            Method(_STA) {
                Return(0xf)
            }
            Device(PRI_) {
                Name(_ADR, 0x0)
                Method(_STA) {
                    Return(0xf)
                }
                Method(_GTM) {
                    Return(GTMP())
                }
                Device(MAST) {
                    Name(_ADR, 0x0)
                    Name(GTFP, Buffer(0x7) {0x10, 0x3, 0x0, 0x0, 0x0, 0xa0, 0xef })
                    Method(_GTF) {
                        Store(SMI_(0x76, 0x0), Local0)
                        If(LEqual(Local0, 0x1)) {
                            Return(GTFP)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
            }
            Device(SEC0) {
                Name(_ADR, 0x1)
                Method(_STA) {
                    Return(0xf)
                }
                Method(_GTM) {
                    Return(GTMS())
                }
            }
        }
        Device(AZAL) {
            Name(_ADR, 0x001b0000)
            Name(_PRW, Package(0x2) {
                0x5,
                0x3,
            })
        }
        Device(AGP_) {
            Name(_ADR, 0x00010000)
            Name(PIC1, Package(0x1) {
                Package(0x4) {
                    0xffff,
                    0x0,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
            })
            Name(API1, Package(0x1) {
                Package(0x4) {
                    0xffff,
                    0x0,
                    0x0,
                    0x10,
                },
            })
            Method(_PRT) {
                Store(API1, Local0)
                If(LNot(GPIC)) {
                    Store(PIC1, Local0)
                }
                Return(Local0)
            }
            Device(VID_) {
                Name(_ADR, 0x0)
                Method(_DOS, 1) {
                    Store(Arg0, MIS4)
                    SMI_(0x9e, MIS4)
                }
                Method(_DOD) {
                    Store(SMI_(0x6d, 0x0), Local0)
                    If(LEqual(Local0, 0x1)) {
                        Return(Package(0x4) {
                            0x00010100,
                            0x00010200,
                            0x00010110,
                            0x00010210,
                        })
                    }
                    Else {
                        Return(Package(0x4) {
                            0x00010100,
                            0x00010200,
                            0x00010118,
                            0x00010120,
                        })
                    }
                }
                Device(TV__) {
                    Method(_ADR) {
                        Return(0x0200)
                    }
                    Method(_DCS) {
                        Store(SMI_(0x8e, 0x4), Local0)
                        Return(Local0)
                    }
                    Method(_DGS) {
                        Store(SMI_(0x99, 0x4), Local0)
                        Return(Local0)
                    }
                    Method(_DSS, 1) {
                        DSS_(0x4, Arg0)
                    }
                }
                Device(CRT_) {
                    Method(_ADR) {
                        Return(0x0100)
                    }
                    Method(_DCS) {
                        Store(SMI_(0x8e, 0x2), Local0)
                        Return(Local0)
                    }
                    Method(_DGS) {
                        Store(SMI_(0x99, 0x2), Local0)
                        Return(Local0)
                    }
                    Method(_DSS, 1) {
                        DSS_(0x2, Arg0)
                    }
                }
                Device(LCD_) {
                    Method(_ADR) {
                        Store(SMI_(0x6d, 0x0), Local0)
                        If(LEqual(Local0, 0x1)) {
                            Return(0x0110)
                        }
                        Else {
                            Return(0x0118)
                        }
                    }
                    Method(_DCS) {
                        Store(SMI_(0x8e, 0x1), Local0)
                        Return(Local0)
                    }
                    Method(_DGS) {
                        Store(SMI_(0x99, 0x1), Local0)
                        Return(Local0)
                    }
                    Method(_DSS, 1) {
                        DSS_(0x1, Arg0)
                    }
                    Name(BTVL, 0x64)
                    Name(DBCL, Package(0xa) {
                    })
                    Method(_BCL) {
                        SX10()
                        SX30(0x19)
                        SX30(0x0)
                        SX11()
                        Store(SX40(), Index(DBCL, 0x0, ))
                        Store(SX40(), Index(DBCL, 0x1, ))
                        Store(SX40(), Index(DBCL, 0x2, ))
                        Store(SX40(), Index(DBCL, 0x3, ))
                        Store(SX40(), Index(DBCL, 0x4, ))
                        Store(SX40(), Index(DBCL, 0x5, ))
                        Store(SX40(), Index(DBCL, 0x6, ))
                        Store(SX40(), Index(DBCL, 0x7, ))
                        Store(SX40(), Index(DBCL, 0x8, ))
                        Store(SX40(), Index(DBCL, 0x9, ))
                        SX12()
                        Return(DBCL)
                    }
                    Method(_BCM, 1) {
                        SX10()
                        SX30(0x19)
                        SX30(0x1)
                        SX30(Arg0)
                        Store(Arg0, BTVL)
                        SX11()
                        SX12()
                    }
                    Method(_BQC) {
                        SX10()
                        SX30(0x19)
                        SX30(0x2)
                        SX11()
                        Store(SX40(), Local0)
                        Store(Local0, BTVL)
                        SX12()
                        Return(Local0)
                    }
                }
                Device(DVI_) {
                    Method(_ADR) {
                        Store(SMI_(0x6d, 0x0), Local0)
                        If(LEqual(Local0, 0x1)) {
                            Return(0x0210)
                        }
                        Else {
                            Return(0x0120)
                        }
                    }
                    Method(_DCS) {
                        Store(SMI_(0x8e, 0x8), Local0)
                        Return(Local0)
                    }
                    Method(_DGS) {
                        Store(SMI_(0x99, 0x8), Local0)
                        Return(Local0)
                    }
                    Method(_DSS, 1) {
                        DSS_(0x8, Arg0)
                    }
                }
            }
        }
        Device(VID_) {
            Name(_ADR, 0x00020000)
            Method(_DOS, 1) {
                Store(Arg0, MIS4)
                SMI_(0x9e, MIS4)
            }
            Method(_DOD) {
                Return(Package(0x4) {
                    0x00010100,
                    0x00010200,
                    0x00010400,
                    0x00010300,
                })
            }
            Device(TV__) {
                Method(_ADR) {
                    Return(0x0200)
                }
                Method(_DCS) {
                    Store(SMI_(0x8e, 0x4), Local0)
                    Return(Local0)
                }
                Method(_DGS) {
                    Store(SMI_(0x99, 0x4), Local0)
                    Return(Local0)
                }
                Method(_DSS, 1) {
                    DSS_(0x4, Arg0)
                }
            }
            Device(CRT_) {
                Method(_ADR) {
                    Return(0x0100)
                }
                Method(_DCS) {
                    Store(SMI_(0x8e, 0x2), Local0)
                    Return(Local0)
                }
                Method(_DGS) {
                    Store(SMI_(0x99, 0x2), Local0)
                    Return(Local0)
                }
                Method(_DSS, 1) {
                    DSS_(0x2, Arg0)
                }
            }
            Device(LCD_) {
                Method(_ADR) {
                    Return(0x0400)
                }
                Method(_DCS) {
                    Store(SMI_(0x8e, 0x1), Local0)
                    Return(Local0)
                }
                Method(_DGS) {
                    Store(SMI_(0x99, 0x1), Local0)
                    Return(Local0)
                }
                Method(_DSS, 1) {
                    DSS_(0x1, Arg0)
                }
                Name(BTVL, 0x64)
                Name(DBCL, Package(0xa) {
                })
                Method(_BCL) {
                    SX10()
                    SX30(0x19)
                    SX30(0x0)
                    SX11()
                    Store(SX40(), Index(DBCL, 0x0, ))
                    Store(SX40(), Index(DBCL, 0x1, ))
                    Store(SX40(), Index(DBCL, 0x2, ))
                    Store(SX40(), Index(DBCL, 0x3, ))
                    Store(SX40(), Index(DBCL, 0x4, ))
                    Store(SX40(), Index(DBCL, 0x5, ))
                    Store(SX40(), Index(DBCL, 0x6, ))
                    Store(SX40(), Index(DBCL, 0x7, ))
                    Store(SX40(), Index(DBCL, 0x8, ))
                    Store(SX40(), Index(DBCL, 0x9, ))
                    SX12()
                    Return(DBCL)
                }
                Method(_BCM, 1) {
                    SX10()
                    SX30(0x19)
                    SX30(0x1)
                    SX30(Arg0)
                    Store(Arg0, BTVL)
                    SX11()
                    SX12()
                }
                Method(_BQC) {
                    SX10()
                    SX30(0x19)
                    SX30(0x2)
                    SX11()
                    Store(SX40(), Local0)
                    Store(Local0, BTVL)
                    SX12()
                    Return(Local0)
                }
            }
            Device(DVI_) {
                Method(_ADR) {
                    Return(0x0300)
                }
                Method(_DCS) {
                    Store(SMI_(0x8e, 0x8), Local0)
                    Return(Local0)
                }
                Method(_DGS) {
                    Store(SMI_(0x99, 0x8), Local0)
                    Return(Local0)
                }
                Method(_DSS, 1) {
                    DSS_(0x8, Arg0)
                }
            }
        }
        Device(VID2) {
            Name(_ADR, 0x00020001)
            Method(_DOS, 1) {
            }
            Method(_DOD) {
                Return(Package(0x0) {
                })
            }
        }
        Device(PCIE) {
            Name(_ADR, 0x001e0000)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
            Name(PICE, Package(0x3) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0001ffff,
                    0x1,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x0,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
            })
            Name(APIE, Package(0x3) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0x0001ffff,
                    0x1,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0xffff,
                    0x0,
                    0x0,
                    0x11,
                },
            })
            Method(_PRT) {
                Store(APIE, Local0)
                If(LNot(GPIC)) {
                    Store(PICE, Local0)
                }
                Return(Local0)
            }
            Device(CRD0) {
                Name(_ADR, 0x00010000)
                Method(_INI) {
                    SMI_(0x95, 0x4)
                }
                Name(_S1D, 0x0)
                Name(_S3D, 0x3)
            }
            Device(CRD1) {
                Name(_ADR, 0x00010005)
                Method(_INI) {
                    SMI_(0x9d, 0x4)
                }
                Name(_S1D, 0x0)
                Name(_S3D, 0x3)
            }
        }
        Device(RP01) {
            Name(_ADR, 0x001c0000)
            OperationRegion(P1CS, PCI_Config, 0x0, 0x0100)
            Field(P1CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP1,	1,
                ,	2,
                PDC1,	1,
                ,	2,
                PDS1,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP1,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS1) {
                Name(_ADR, 0x0)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x3,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x13,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(RP02) {
            Name(_ADR, 0x001c0001)
            OperationRegion(P2CS, PCI_Config, 0x0, 0x0100)
            Field(P2CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP2,	1,
                ,	2,
                PDC2,	1,
                ,	2,
                PDS2,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP2,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS2) {
                Name(_ADR, 0x0)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x4,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x10,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(RP03) {
            Name(_ADR, 0x001c0002)
            OperationRegion(P3CS, PCI_Config, 0x0, 0x0100)
            Field(P3CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP3,	1,
                ,	2,
                PDC3,	1,
                ,	2,
                PDS3,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP3,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS3) {
                Name(_ADR, 0x0)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x3,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x11,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(RP04) {
            Name(_ADR, 0x001c0003)
            OperationRegion(P4CS, PCI_Config, 0x0, 0x0100)
            Field(P4CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP4,	1,
                ,	2,
                PDC4,	1,
                ,	2,
                PDS4,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP4,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS4) {
                Name(_ADR, 0x0)
                Method(_RMV) {
                    Return(0x1)
                }
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x3,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x12,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(RP05) {
            Name(_ADR, 0x001c0004)
            OperationRegion(P5CS, PCI_Config, 0x0, 0x0100)
            Field(P5CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP5,	1,
                ,	2,
                PDC5,	1,
                ,	2,
                PDS5,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP5,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS5) {
                Name(_ADR, 0x0)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x3,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x13,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(RP06) {
            Name(_ADR, 0x001c0005)
            OperationRegion(P6CS, PCI_Config, 0x0, 0x0100)
            Field(P6CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x3e),
                ,	6,
                SBSR,	1,
                Offset(0x52),
                ,	13,
                LSTS,	1,
                Offset(0x5a),
                ABP6,	1,
                ,	2,
                PDC6,	1,
                ,	2,
                PDS6,	1,
                Offset(0x5b),
                LASC,	1,
                Offset(0x60),
                Offset(0x62),
                PSP6,	1,
                Offset(0xdc),
                ,	30,
                HPCS,	1,
                PMCS,	1,
                Offset(0xe2),
                Offset(0xe3),
                WXME,	2
            }
            Device(PXS6) {
                Name(_ADR, 0x0)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x3,
            })
            Method(_PRT) {
                If(\GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x10,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LNKD,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LNKA,
                            0x0,
                        },
                    })
                }
            }
        }
        Method(WKHP) {
            Notify(\_SB_.PCI0.RP04, 0x0)
        }
        Method(POHP) {
            If(LEqual(0x2, 0x2)) {
                If(LAnd(LEqual(RPD2, 0x0), \_SB_.PCI0.RP02.HPCS)) {
                    If(\_SB_.PCI0.RP02.WXME) {
                        If(\_SB_.PCI0.RP02.LASC) {
                            While(\_SB_.PCI0.RP02.SBSR) {
                                Sleep(0xa)
                            }
                            Sleep(0x64)
                            If(LEqual(\_SB_.PCI0.RP02.LSTS, 0x0)) {
                                SX10()
                                SX30(0x14)
                                SX11()
                                SX12()
                                Sleep(0x32)
                            }
                            Store(0x1, \_SB_.PCI0.RP02.LASC)
                            Store(0x1, \_SB_.PCI0.RP02.PDC2)
                            Store(0x1, \_SB_.PCI0.RP02.HPCS)
                            If(\_SB_.PCI0.RP02.PDS2) {
                                Notify(\_SB_.PCI0.RP02, 0x0)
                            }
                        }
                    }
                    Else {
                        If(\_SB_.PCI0.RP02.PDC2) {
                            Store(0x1, \_SB_.PCI0.RP02.PDC2)
                            Store(0x1, \_SB_.PCI0.RP02.HPCS)
                            Notify(\_SB_.PCI0.RP02, 0x0)
                        }
                        Else {
                            Store(0x1, \_SB_.PCI0.RP02.HPCS)
                        }
                    }
                }
            }
            Else {
                Sleep(0x01f4)
                If(\_SB_.PCI0.RP02.HPCS) {
                    If(LAnd(LEqual(RPD2, 0x0), \_SB_.PCI0.RP02.PDC2)) {
                        Store(0x1, \_SB_.PCI0.RP02.PDC2)
                        Store(0x1, \_SB_.PCI0.RP02.HPCS)
                        Notify(\_SB_.PCI0.RP02, 0x0)
                    }
                    Else {
                        Store(0x1, \_SB_.PCI0.RP02.HPCS)
                    }
                }
            }
            If(LEqual(0x2, 0x4)) {
                If(LAnd(LEqual(RPD4, 0x0), \_SB_.PCI0.RP04.HPCS)) {
                    If(\_SB_.PCI0.RP04.WXME) {
                        If(\_SB_.PCI0.RP04.LASC) {
                            While(\_SB_.PCI0.RP04.SBSR) {
                                Sleep(0xa)
                            }
                            Sleep(0x64)
                            If(LEqual(\_SB_.PCI0.RP04.LSTS, 0x0)) {
                                SX10()
                                SX30(0x14)
                                SX11()
                                SX12()
                                Sleep(0x32)
                            }
                            Store(0x1, \_SB_.PCI0.RP04.LASC)
                            Store(0x1, \_SB_.PCI0.RP04.PDC4)
                            Store(0x1, \_SB_.PCI0.RP04.HPCS)
                            If(\_SB_.PCI0.RP04.PDS4) {
                                Notify(\_SB_.PCI0.RP04, 0x0)
                            }
                        }
                    }
                    Else {
                        If(\_SB_.PCI0.RP04.PDC4) {
                            Store(0x1, \_SB_.PCI0.RP04.PDC4)
                            Store(0x1, \_SB_.PCI0.RP04.HPCS)
                            Notify(\_SB_.PCI0.RP04, 0x0)
                        }
                        Else {
                            Store(0x1, \_SB_.PCI0.RP04.HPCS)
                        }
                    }
                }
            }
            Else {
                Sleep(0x01f4)
                If(\_SB_.PCI0.RP04.HPCS) {
                    If(LAnd(LEqual(RPD4, 0x0), \_SB_.PCI0.RP04.PDC4)) {
                        Store(0x1, \_SB_.PCI0.RP04.PDC4)
                        Store(0x1, \_SB_.PCI0.RP04.HPCS)
                        Notify(\_SB_.PCI0.RP04, 0x0)
                    }
                    Else {
                        Store(0x1, \_SB_.PCI0.RP04.HPCS)
                    }
                }
            }
        }
        Scope(\_SB_.PCI0.USB0.HUB0.CH00) {
            Device(ECHB) {
                Name(_ADR, 0x0)
                Device(CH0_) {
                    Name(_ADR, 0x0)
                }
                Device(CH1_) {
                    Name(_ADR, 0x1)
                }
                Device(CH2_) {
                    Name(_ADR, 0x2)
                }
                Device(CH3_) {
                    Name(_ADR, 0x3)
                }
            }
        }
        Scope(\_SB_.PCI0.EHCI.HUB7.CH00) {
            Device(ECHB) {
                Name(_ADR, 0x0)
                Device(CH0_) {
                    Name(_ADR, 0x0)
                }
                Device(CH1_) {
                    Name(_ADR, 0x1)
                }
                Device(CH2_) {
                    Name(_ADR, 0x2)
                }
                Device(CH3_) {
                    Name(_ADR, 0x3)
                }
            }
        }
        Scope(\_SB_.PCI0.RP04.PXS4) {
            Name(_EJD, "\_SB.PCI0.EHCI.HUB7.CH00.ECHB.CH2")
        }
        Scope(\_SB_.PCI0.EHCI.HUB7.CH00.ECHB.CH2_) {
            Name(_EJD, "\_SB.PCI0.RP04.PXS4")
        }
        Scope(\_SB_.PCI0.USB0.HUB0.CH00.ECHB.CH2_) {
            Name(_EJD, "\_SB.PCI0.RP04.PXS4")
        }
        Scope(\_SB_.PCI0.RP04) {
            Method(_DSM, 4) {
                If(LEqual(Arg0, Buffer(0x10) {0xd0, 0x37, 0xc9, 0xe5, 0x53, 0x35, 0x7a, 0x4d, 0x91, 0x17, 0xea, 0x4d, 0x19, 0xc3, 0x43, 0x4d })) {
                    If(LEqual(Arg2, 0x0)) {
                        Return(Buffer(0x1) {0x21 })
                    }
                    If(LEqual(Arg2, 0x5)) {
                        Return(0x1)
                    }
                }
                Return(Buffer(0x1) {0x0 })
            }
        }
    }
}

}
/*
HPET: Length=56, Revision=1, Checksum=168,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x1,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
APIC: Length=104, Revision=1, Checksum=97,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x27d6091d,
	Creator ID=ASL, Creator Revision=0x47
 */
/*
MCFG: Length=62, Revision=16, Checksum=77,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x27d6091d,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
SLIC: Length=374, Revision=1, Checksum=63,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x27d6091d,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
BOOT: Length=40, Revision=1, Checksum=17,
	OEMID=DELL, OEM Table ID=M07, OEM Revision=0x27d6091d,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
SSDT: Length=1244, Revision=1, Checksum=252,
	OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20050624
 */