Subject: Re: port-i386/37001 (acpi enabled kernel locks up bringing up fxp0
To: None <joerg@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Mathias De Belder <mathias@woei.be>
List: netbsd-bugs
Date: 11/25/2007 10:05:04
The following reply was made to PR port-i386/37001; it has been noted by GNATS.

From: Mathias De Belder <mathias@woei.be>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-i386/37001 (acpi enabled kernel locks up bringing up fxp0
	NIC)
Date: Sun, 25 Nov 2007 11:04:46 +0100

 On Thu, Nov 15, 2007 at 07:10:04PM +0000, Joerg Sonnenberger wrote:
 >On Tue, Nov 13, 2007 at 07:15:06PM +0000, Mathias De Belder wrote:
 >>  [   28.965439] e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI
 >>  [   28.965492] e100: Copyright(c) 1999-2006 Intel Corporation
 >>  [   29.037370] ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
 >>  [   29.037429] ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] 
 >>  -> GS= I 11 (level, low) -> IRQ 11
 >
 >This seems to indicate that Linux believes this device is on LNKH?
 >Can you get me a ACPI DSDT dump?
 
 
 Sure, here it is.
 
 
 /*
 RSD PTR: Checksum=3D82, OEMID=3DDELL, RsdtAddress=3D0x3fef0000
  */
 /*
 RSDT: Length=3D40, Revision=3D1, Checksum=3D241,
 	OEMID=3DDELL, OEM Table ID=3DCPi R, OEM Revision=3D0x27d40903,
 	Creator ID=3DASL, Creator Revision=3D0x61
  */
 /*
 	Entries=3D{ 0x3fef0400 }
  */
 /*
 	DSDT=3D0x3fef0c00
 	INT_MODEL=3DPIC
 	SCI_INT=3D9
 	SMI_CMD=3D0xb2, ACPI_ENABLE=3D0x70, ACPI_DISABLE=3D0x71, S4BIOS_REQ=3D0x97
 	PM1a_EVT_BLK=3D0x800-0x803
 	PM1a_CNT_BLK=3D0x804-0x805
 	PM2_CNT_BLK=3D0x820-0x820
 	PM2_TMR_BLK=3D0x808-0x80b
 	PM2_GPE0_BLK=3D0x828-0x82f
 	P_LVL2_LAT=3D50ms, P_LVL3_LAT=3D50ms
 	FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0
 	DUTY_OFFSET=3D1, DUTY_WIDTH=3D3
 	DAY_ALRM=3D0, MON_ALRM=3D0, CENTURY=3D0
 	Flags=3D{WBINVD,PROC_C1,PWR_BUTTON,SLP_BUTTON,DCK_CAP}
  */
 /*
 DSDT: Length=3D12973, Revision=3D1, Checksum=3D146,
 	OEMID=3DINT430, OEM Table ID=3DSYSFexxx, OEM Revision=3D0x1001,
 	Creator ID=3DMSFT, Creator Revision=3D0x100000e
  */
 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 Mojave",
     "Date: 01/28/1998",
     "Ver: 1.00.04",
 })
 Event(EJTD)
 Name(MISC, Buffer(0x9) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
 CreateByteField(MISC, 0x0, MIS0)
 CreateByteField(MISC, 0x2, MIS2)
 CreateByteField(MISC, 0x3, MIS3)
 CreateByteField(MISC, 0x4, MIS4)
 CreateByteField(MISC, 0x5, MIS5)
 CreateByteField(MISC, 0x6, MIS6)
 CreateByteField(MISC, 0x7, MIS7)
 CreateByteField(MISC, 0x8, MIS8)
 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(PNPQ, 1) {
     SX10()
     SX30(0x0)
     SX30(0x2)
     SX30(Arg0)
     SX11()
     Store(SX40(), Local0)
     SX12()
     Return(Local0)
 }
 Method(PNPD, 1) {
     SX10()
     SX30(0x0)
     SX30(0x3)
     SX30(Arg0)
     SX11()
     SX12()
 }
 Method(PNPG, 1) {
     SX10()
     SX30(0x0)
     SX30(0x0)
     SX30(Arg0)
     SX11()
     Name(PGET, Buffer(SXX3) { })
     SX44(PGET, SXX3)
     SX12()
     Return(PGET)
 }
 Method(PNPS, 2) {
     SX10()
     SX30(0x0)
     SX30(0x1)
     SX30(Arg0)
     SX34(Arg1, SizeOf(Arg1))
     SX11()
     SX12()
 }
 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(GORL) {
     SX10()
     SX30(0x9)
     SX11()
     Store(SX42(), Local0)
     SX12()
     Return(Local0)
 }
 Name(W98S, "Microsoft Windows")
 Name(NT5S, "Microsoft Windows NT")
 Name(WINM, "Microsoft WindowsME: Millennium Edition")
 Name(WXP_, "Windows 2001")
 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)
             }
         }
         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()
 }
 Name(WAKE, 0x0)
 Method(NEVT) {
     Store(SMI_(0x8c, 0x0), Local0)
     If(And(Local0, 0x1, )) {
         Notify(\_SB_.PBTN, 0x80)
     }
     If(And(Local0, 0x2, )) {
         EJTE()
     }
     If(And(Local0, 0x4, )) {
         LIDE()
     }
     If(And(Local0, 0x8, )) {
         PWRE()
     }
     If(And(Local0, 0x10, )) {
         DCKE()
     }
     If(And(Local0, 0x20, )) {
         BAYE()
     }
     If(And(Local0, 0x40, )) {
         Notify(\_SB_.SBTN, 0x80)
     }
     If(And(Local0, 0x80, )) {
         SMIE()
     }
 }
 Method(EJTE) {
     SMI_(0xa6, 0x1)
     Notify(\_SB_.PCI0.PCIE.GDCK, 0x1)
 }
 Method(LIDE) {
     Store(SMI_(0x43, 0x0), Local0)
     If(LNot(LEqual(Local0, 0x0))) {
         If(LEqual(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_.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)
         }
     }
     And(MIS0, 0x10, Local2)
     If(And(Local1, 0x10, )) {
         If(Local2) {
             Notify(\_SB_.BAT1, 0x81)
         }
         Else {
             Notify(\_SB_.BAT1, 0x81)
         }
     }
     If(And(Local1, 0x20, )) {
         If(Local2) {
             Notify(\_SB_.BAT1, 0x80)
         }
     }
     If(And(Local1, 0x40, )) {
         If(Local2) {
             Notify(\_SB_.BAT1, 0x80)
         }
     }
 }
 Method(DCKE) {
     Store(SMI_(0x65, 0x22), Local0)
     And(Local0, 0x8, MIS8)
     Store(SMI_(0x87, 0x0), Local0)
     XOr(Local0, MIS7, Local1)
     Store(Local0, MIS7)
     Store(Local0, MIS2)
     If(Local1) {
         If(Local0) {
             Notify(\_SB_.PCI0.PCIE.GDCK, 0x0)
         }
         Else {
             SMI_(0x8d, 0x0)
             If(MIS8) {
                 Signal(EJTD)
             }
             Else {
                 Notify(\_SB_.PCI0.PCIE.GDCK, 0x1)
             }
         }
     }
 }
 Method(BAYE) {
     Store(SMI_(0x86, 0x0), Local0)
     If(And(Local0, 0x2, )) {
         SMI_(0x90, 0x1)
     }
     Else {
         SMI_(0x90, 0x0)
     }
     SMI_(0xba, 0x0)
 }
 Method(SMIE) {
     Store(SMI_(0x96, 0x0), Local0)
     If(And(Local0, 0x1, )) {
         Notify(\_TZ_.THM_, 0x80)
     }
     If(And(Local0, 0x20, )) {
         Notify(\_SB_.PCI0.VID_, 0x81)
     }
     If(And(Local0, 0x2, )) {
         If(LEqual(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)
     }
     If(And(Local0, 0x4, )) {
         Notify(\_SB_.BAT0, 0x81)
         Notify(\_SB_.BAT1, 0x81)
     }
     If(And(Local0, 0x8, )) {
         Notify(\_PR_.CPU0, 0x80)
     }
     If(And(Local0, 0x10, )) {
         Notify(\_SB_.PCI0.IDE0.SEC0.MAST, 0x1)
         If(LEqual(OSID(), 0x10)) {
             Notify(\_SB_.PCI0.IDE0.SEC0, 0x1)
         }
     }
     If(And(Local0, 0x40, )) {
         Store(0x0, MIS5)
     }
 }
 Method(\_PTS, 1) {
     SMI_(0x8a, Arg0)
 }
 Method(\_WAK, 1) {
     SMI_(0xa7, MIS2)
     SMI_(0x9a, Arg0)
     BAYE()
     If(LEqual(Arg0, 0x4)) {
         Notify(\_SB_.PBTN, 0x2)
         Store(SMI_(0x98, 0x0), MIS0)
         Store(0x1, MIS4)
         SOST()
     }
     Notify(\_SB_.AC__, 0x80)
     Store(SMI_(0x87, 0x0), Local0)
     XOr(Local0, MIS2, Local1)
     If(Local1) {
         If(Local0) {
             Notify(\_SB_.PCI0.PCIE.GDCK, 0x0)
         }
         Else {
             If(LEqual(OSID(), 0x2)) {
                 SMI_(0x8d, 0x0)
                 Notify(\_SB_.PCI0.PCIE.GDCK, 0x1)
             }
         }
     }
     Store(Local0, MIS2)
     SMI_(0xa6, 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, 0x10, )) {
         Notify(\_SB_.PCI0.PCIE.GDCK, 0x2)
     }
     If(And(Local0, 0x40, )) {
         Notify(\_SB_.PCI0.PCIE.GDCK, 0x1)
     }
     If(And(Local0, 0x20, )) {
         If(LEqual(OSID(), 0x2)) {
             Store(0x1, Local1)
         }
     }
     Notify(\_SB_.BAT0, 0x81)
     Notify(\_SB_.BAT1, 0x81)
     If(Local1) {
         Notify(\_SB_.PBTN, 0x2)
     }
     Store(0x0, WAKE)
 }
 Scope(\_GPE) {
     Method(_L1D) {
         NEVT()
     }
     Method(_L1C) {
         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(_L0D) {
         Notify(\_SB_.PCI0.USB3, 0x2)
     }
     Method(_L05) {
         Notify(\_SB_.PCI0.MODM, 0x2)
     }
 }
 Name(CRS0, Buffer(0x0101) { })
 CreateByteField(CRS0, 0x0100, 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)
 }
 Scope(\_PR_) {
     Processor(CPU0, 0, 0x8e0, 0x6) {
         Name(PDC0, 0xf0000000)
         Method(_PDC, 1) {
             CreateDWordField(Arg0, 0x8, CAP0)
             Store(CAP0, PDC0)
         }
         Method(_PCT) {
             If(LEqual(And(PDC0, 0x1, ), 0x1)) {
                 Return(Package(0x2) {
                     Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x40, 0x0, 0x0, 0x9=
 9, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                     Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x10, 0x0, 0x0, 0x9=
 8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 })
             }
             Else {
                 Return(Package(0x2) {
                     Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x10, 0x0, 0x0, 0xb2=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                     Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0xb3,=
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 })
             }
         }
         Name(PSSX, Package(0x8) {
             Package(0x6) {
                 0x0640,
                 0x6590,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x0640,
                 0x6590,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x05dc,
                 0x61a8,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x0578,
                 0x5dc0,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x0514,
                 0x59d8,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x04b0,
                 0x55f0,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x044c,
                 0x5208,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
             Package(0x6) {
                 0x03e8,
                 0x4e20,
                 0xa,
                 0xa,
                 0x0,
                 0x0,
             },
         })
         Name(PSSN, 0x0)
         Method(_PSS) {
             SX10()
             If(LEqual(And(PDC0, 0x1, ), 0x1)) {
                 SX30(0xc)
             }
             Else {
                 SX30(0xb)
             }
             SX11()
             Store(SX40(), PSSN)
             Subtract(0x8, 0x8, Local1)
             While(LLess(Local1, 0x8)) {
                 Store(SX42(), Index(DerefOf(Index(PSSX, Local1, )), 0x0, ))
                 Store(SX42(), Index(DerefOf(Index(PSSX, Local1, )), 0x1, ))
                 Store(SX42(), Index(DerefOf(Index(PSSX, Local1, )), 0x2, ))
                 Store(SX42(), Index(DerefOf(Index(PSSX, Local1, )), 0x3, ))
                 Store(SX41(), Index(DerefOf(Index(PSSX, Local1, )), 0x4, ))
                 Store(SX41(), Index(DerefOf(Index(PSSX, Local1, )), 0x5, ))
                 Increment(Local1)
             }
             SX12()
             Subtract(0x8, 0x8, Local1)
             While(LLess(Local1, 0x8)) {
                 Increment(Local1)
             }
             Return(PSSX)
         }
         Method(_PPC) {
             Subtract(0x8, PSSN, Local0)
             Add(Local0, SMI_(0xad, 0x0), Local0)
             Return(Local0)
         }
         Name(DCST, Package(0x5) {
             0x4,
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x8, 0x0, 0x0, 0x0, 0x0=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x1,
                 0x1,
                 0x03e8,
             },
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x14, 0x8=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x2,
                 0x1,
                 0x01f4,
             },
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x15, 0x8=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x3,
                 0x55,
                 0xfa,
             },
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x16, 0x8=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x3,
                 0xb9,
                 0x64,
             },
         })
         Name(NCST, Package(0x3) {
             0x2,
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x8, 0x0, 0x0, 0x0, 0x0=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x1,
                 0x1,
                 0x03e8,
             },
             Package(0x4) {
                 Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x14, 0x8=
 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                 0x2,
                 0x1,
                 0x01f4,
             },
         })
         Method(_CST) {
             Store(SMI_(0x5e, 0x0), Local0)
             If(LEqual(Local0, 0x0)) {
                 Return(NCST)
             }
             Return(DCST)
         }
     }
 }
 Name(\_S0_, Package(0x3) {
     0x0,
     0x0,
     0x0,
 })
 Name(\_S1_, Package(0x3) {
     0x2,
     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(0x65, Local0)
             Multiply(Local0, 0xa, Local0)
             Add(Local0, 0x0aac, 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(\_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(AC__) {
         Name(_HID, "ACPI0003")
         Name(_PCL, Package(0x3) {
             \_SB_,
             BAT0,
             BAT1,
         })
         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()
             Sleep(0xfa)
         }
     }
     Device(BAT1) {
         Name(_HID, 0x0a0cd041)
         Name(_UID, 0x2)
         Name(_PCL, Package(0x1) {
             \_SB_,
         })
         Method(_STA) {
             And(MIS0, 0x10, Local0)
             If(Local0) {
                 Return(0x1f)
             }
             Return(0xf)
         }
         Method(_BIF) {
             Return(BIF_(0x2))
         }
         Method(_BST) {
             SX10()
             SX30(0x2)
             SX30(0x2)
             SX11()
             Name(BST1, Package(0x4) {
             })
             Store(SX42(), Index(BST1, 0x0, ))
             Store(SX42(), Index(BST1, 0x1, ))
             Store(SX42(), Index(BST1, 0x2, ))
             Store(SX42(), Index(BST1, 0x3, ))
             SX12()
             Return(BST1)
         }
         Method(_BTP, 1) {
             SX10()
             SX30(0x3)
             SX30(0x2)
             SX32(Arg0)
             SX11()
             SX12()
             Sleep(0xfa)
         }
     }
     Device(LID_) {
         Name(_HID, 0x0d0cd041)
         Method(_LID) {
             Store(SMI_(0x84, 0x0), Local0)
             Return(Local0)
         }
         Name(_PRW, Package(0x2) {
             0x1c,
             0x3,
         })
         Method(_PSW, 1) {
             PSW_(Arg0, 0x2)
         }
     }
     Device(PBTN) {
         Name(_HID, 0x0c0cd041)
         Name(_PRW, Package(0x2) {
             0x1c,
             0x4,
         })
         Method(_PSW, 1) {
             PSW_(Arg0, 0x1)
         }
     }
     Device(SBTN) {
         Name(_HID, 0x0e0cd041)
     }
     Device(MB1_) {
         Name(_HID, 0x010cd041)
         Name(_UID, 0x1)
         Method(_CRS) {
             CRS3()
             CR_0(0x1, 0x0, 0x0009fc00)
             CR_0(0x1, 0x0009fc00, 0x0400)
             If(LOr(LEqual(OSID(), 0x8), LEqual(OSID(), 0x10))) {
                 Store(GORL(), Local0)
                 CR_0(0x0, 0x000c0000, Local0)
             }
             CR_0(0x0, 0x000e0000, 0x00020000)
             Store(GMEM(), Local0)
             Subtract(Local0, 0x00010000, Local1)
             CR_0(0x1, 0x00100000, Local1)
             Add(Local1, 0x00100000, Local1)
             CR_0(0x1, Local1, 0x00010000)
             CR_0(0x0, 0xfec10000, 0x00010000)
             CR_0(0x0, 0xfeda0000, 0x00060000)
             CR_0(0x0, 0xffb00000, 0x00100000)
             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(SMI_(0x87, 0x0), MIS2)
             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)
             Subtract(0xfec10000, Local0, Local1)
             If(Local1) {
                 CR_4(Local0, Local1)
             }
             Subtract(0xfeda0000, 0xfec20000, Local1)
             CR_4(0xfec20000, Local1)
             Subtract(0xffb00000, 0xfee00000, Local1)
             CR_4(0xfee00000, 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, 0x4, 0x0=
 , 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x10, 0x2, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8=
 , 0x10, 0x6, 0x47, 0x1, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x79, 0x0 })
             Method(_CRS) {
                 Return(CRS_)
             }
         }
         Device(MB3_) {
             Name(_HID, 0x010cd041)
             Name(_UID, 0x3)
             Name(CRS_, Buffer(0x4a) {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, 0x8, 0x6, 0x8, 0x2, 0x2, 0x47, 0x1, 0x10, =
 0x8, 0x10, 0x8, 0x10, 0x50, 0x47, 0x1, 0x60, 0x8, 0x60, 0x8, 0x10, 0x20, 0x=
 47, 0x1, 0x80, 0x8, 0x80, 0x8, 0x10, 0x40, 0x47, 0x1, 0xc0, 0x8, 0xc0, 0x8,=
  0x10, 0x20, 0x47, 0x1, 0xe0, 0x8, 0xe0, 0x8, 0x10, 0x20, 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(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0=
 x10, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x4, 0x1, 0x22, 0x2, 0x0, 0x79, =
 0x0 })
                 Method(_CRS) {
                     Return(CRS_)
                 }
             }
             Device(RTC_) {
                 Name(_HID, 0x000bd041)
                 Name(CRS_, Buffer(0x15) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0=
 x10, 0x2, 0x22, 0x0, 0x1, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x2, 0x6, 0x79, =
 0x0 })
                 Method(_CRS) {
                     Return(CRS_)
                 }
             }
             Device(TMR_) {
                 Name(_HID, 0x0001d041)
                 Name(CRS_, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0=
 x10, 0x4, 0x22, 0x1, 0x0, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79,=
  0x0 })
                 Method(_CRS) {
                     Return(CRS_)
                 }
             }
             Device(SPKR) {
                 Name(_HID, 0x0008d041)
                 Name(CRS_, Buffer(0x22) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0=
 x1, 0x1, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0, 0=
 x65, 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(0x1a) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0=
 x2, 0x2, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x2, 0x2, 0x47, 0x1, 0x0, 0x9, 0x=
 0, 0x9, 0x10, 0x80, 0x79, 0x0 })
                 Method(_CRS) {
                     Return(CRS_)
                 }
             }
             Device(PIC_) {
                 Name(_HID, 0xd041)
                 Name(CRS_, Buffer(0x72) {0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0=
 x4, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x4, 0x2, 0x47, 0x1, 0x2c, 0x0, 0=
 x2c, 0x0, 0x4, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x4, 0x2, 0x47, 0x1, 0=
 x34, 0x0, 0x34, 0x0, 0x4, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x4, 0x2, 0=
 x47, 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, 0=
 x0, 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, 0x=
 10, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
                 Method(_CRS) {
                     Return(CRS_)
                 }
             }
             Device(UAR1) {
                 Name(_HID, 0x0105d041)
                 Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 Method(_STA) {
                     Store(PNPQ(0x2), Local1)
                     Return(Local1)
                 }
                 Method(_DIS) {
                     PNPD(0x2)
                 }
                 Method(_CRS) {
                     Return(PNPG(0x2))
                 }
                 Method(_PRS) {
                     Name(BUF0, Buffer(0x3b) {0x31, 0x5, 0x23, 0x58, 0x10, 0=
 x11, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x31, 0x5, 0x23, 0x58, 0x10=
 , 0x11, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x31, 0x5, 0x23, 0x58, 0=
 x10, 0x11, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x31, 0x5, 0x23, 0x58=
 , 0x10, 0x11, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x38, 0x79, 0x0 })
                     Return(BUF0)
                 }
                 Method(_SRS, 1) {
                     PNPS(0x2, Arg0)
                 }
             }
             Device(ECP_) {
                 Name(_HID, 0x0104d041)
                 Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 Method(_STA) {
                     Store(PNPQ(0x1), Local1)
                     Return(Local1)
                 }
                 Method(_DIS) {
                     PNPD(0x1)
                 }
                 Method(_CRS) {
                     Return(PNPG(0x1))
                 }
                 Name(_PRS, Buffer(0xd2) {0x30, 0x2a, 0x0, 0x0, 0x22, 0xb8, =
 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78,=
  0x7, 0x8, 0x4, 0x30, 0x2a, 0xe, 0x0, 0x22, 0x80, 0x0, 0x47, 0x1, 0x78, 0x3=
 , 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x4, 0x30, 0x2=
 a, 0x0, 0x0, 0x22, 0xb8, 0x0, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x=
 47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x4, 0x30, 0x2a, 0xe, 0x0, 0x22, 0xb8, =
 0x0, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78,=
  0x6, 0x8, 0x4, 0x30, 0x2a, 0x0, 0x0, 0x22, 0xb8, 0x0, 0x47, 0x1, 0xbc, 0x3=
 , 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x30, 0x2=
 a, 0xe, 0x0, 0x22, 0xb8, 0x0, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x=
 47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x30, 0x2a, 0x0, 0x0, 0x22, 0x0, 0=
 x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, =
 0x7, 0x8, 0x4, 0x30, 0x2a, 0x0, 0x0, 0x22, 0x0, 0x0, 0x47, 0x1, 0x78, 0x2, =
 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x4, 0x30, 0x2a,=
  0x0, 0x0, 0x22, 0x0, 0x0, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47,=
  0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x38, 0x79, 0x0 })
                 Method(_SRS, 1) {
                     PNPS(0x1, Arg0)
                 }
             }
             Device(IRDA) {
                 Name(_HID, 0x10f0a34d)
                 Method(_STA) {
                     Store(PNPQ(0x3), Local0)
                     Return(Local0)
                 }
                 Method(_DIS) {
                     PNPD(0x3)
                 }
                 Method(_CRS) {
                     Return(PNPG(0x3))
                 }
                 Name(_PRS, Buffer(0x0100) {0x30, 0x22, 0x10, 0x0, 0x47, 0x1=
 , 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8,=
  0x2a, 0xe, 0x0, 0x30, 0x22, 0x10, 0x0, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x=
 8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0x0, 0x0, 0x30, 0x2=
 2, 0x58, 0x10, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x70, =
 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0xe, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1,=
  0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, =
 0x2a, 0xe, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x=
 8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0xe, 0x0, 0x30, 0x2=
 2, 0x58, 0x10, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x70, =
 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0xe, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1,=
  0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, =
 0x2a, 0x0, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x=
 8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0x0, 0x0, 0x30, 0x2=
 2, 0x58, 0x10, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x70, =
 0x2, 0x0, 0x4, 0x8, 0x8, 0x2a, 0x0, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1,=
  0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x70, 0x2, 0x0, 0x4, 0x8, 0x8, =
 0x2a, 0x0, 0x0, 0x30, 0x22, 0x58, 0x10, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x=
 8, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79=
 , 0x0 })
                 Method(_SRS, 1) {
                     PNPS(0x3, Arg0)
                 }
             }
         }
         Device(USB0) {
             Name(_ADR, 0x001d0000)
             Method(_S0D) {
                 Store(SMI_(0x85, 0x0), Local0)
                 And(Local0, 0x1, Local0)
                 If(LEqual(Local0, 0x0)) {
                     Return(0x3)
                 }
                 Else {
                     Return(0x0)
                 }
             }
             Name(XPRW, Package(0x2) {
                 0x3,
                 0x1,
             })
             Method(_PRW) {
                 Return(XPRW)
             }
             Device(HUB0) {
                 Name(_ADR, 0x0)
                 Device(CH0_) {
                     Name(_ADR, 0x1)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH1_) {
                     Name(_ADR, 0x2)
                     Method(_PRW) {
                         Return(XPRW)
                     }
                     Method(_S1D) {
                         Return(0x3)
                     }
                 }
             }
         }
         Device(USB1) {
             Name(_ADR, 0x001d0001)
             Method(_S0D) {
                 Store(SMI_(0x85, 0x0), Local0)
                 And(Local0, 0x1, Local0)
                 If(LEqual(Local0, 0x0)) {
                     Return(0x3)
                 }
                 Else {
                     Return(0x0)
                 }
             }
             Name(XPRW, Package(0x2) {
                 0x4,
                 0x1,
             })
             Name(YPRW, Package(0x2) {
                 0x4,
                 0x0,
             })
             Method(_PRW) {
                 If(LEqual(OSID(), 0x4)) {
                     Return(YPRW)
                 }
                 Else {
                     Return(XPRW)
                 }
             }
             Device(HUB1) {
                 Name(_ADR, 0x0)
                 Device(CH10) {
                     Name(_ADR, 0x1)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH11) {
                     Name(_ADR, 0x2)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
             }
         }
         Device(USB2) {
             Name(_ADR, 0x001d0002)
             Method(_S0D) {
                 Store(SMI_(0x85, 0x0), Local0)
                 And(Local0, 0x1, Local0)
                 If(LEqual(Local0, 0x0)) {
                     Return(0x3)
                 }
                 Else {
                     Return(0x0)
                 }
             }
             Name(XPRW, Package(0x2) {
                 0xc,
                 0x1,
             })
             Method(_PRW) {
                 Return(XPRW)
             }
             Device(HUB2) {
                 Name(_ADR, 0x0)
                 Device(CH20) {
                     Name(_ADR, 0x1)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH21) {
                     Name(_ADR, 0x2)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
             }
         }
         Device(USB3) {
             Name(_ADR, 0x001d0007)
             Method(_S0D) {
                 Store(SMI_(0x85, 0x0), Local0)
                 And(Local0, 0x1, Local0)
                 If(LEqual(Local0, 0x0)) {
                     Return(0x3)
                 }
                 Else {
                     Return(0x0)
                 }
             }
             Name(_S1D, 0x2)
             Name(_S3D, 0x2)
             Name(XPRW, Package(0x2) {
                 0xd,
                 0x1,
             })
             Method(_PRW) {
                 Return(XPRW)
             }
             Device(HUB3) {
                 Name(_ADR, 0x0)
                 Device(CH30) {
                     Name(_ADR, 0x1)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH31) {
                     Name(_ADR, 0x2)
                 }
                 Device(CH32) {
                     Name(_ADR, 0x3)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH33) {
                     Name(_ADR, 0x4)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH34) {
                     Name(_ADR, 0x5)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH35) {
                     Name(_ADR, 0x6)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH36) {
                     Name(_ADR, 0x7)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
                 Device(CH37) {
                     Name(_ADR, 0x8)
                     Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
                 }
             }
         }
         Name(PIC0, Package(0x9) {
             Package(0x4) {
                 0x001fffff,
                 0x0,
                 \_SB_.PCI0.LNKA,
                 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) {
                 0x001dffff,
                 0x0,
                 \_SB_.PCI0.LNKA,
                 0x0,
             },
             Package(0x4) {
                 0x001dffff,
                 0x1,
                 \_SB_.PCI0.LNKD,
                 0x0,
             },
             Package(0x4) {
                 0x001dffff,
                 0x2,
                 \_SB_.PCI0.LNKC,
                 0x0,
             },
             Package(0x4) {
                 0x001dffff,
                 0x3,
                 \_SB_.PCI0.LNKH,
                 0x0,
             },
             Package(0x4) {
                 0x0002ffff,
                 0x0,
                 \_SB_.PCI0.LNKA,
                 0x0,
             },
         })
         Method(_PRT) {
             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(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, 0x001f0001)
             Method(_STA) {
                 Return(0xf)
             }
             Device(PRI_) {
                 Name(_ADR, 0x0)
                 Method(_STA) {
                     Return(0xf)
                 }
             }
             Device(SEC0) {
                 Name(_ADR, 0x1)
                 Method(_STA) {
                     Return(0xf)
                 }
                 Device(MAST) {
                     Name(_ADR, 0x0)
                     Name(_RMV, 0x0)
                     Method(_EJ0, 1) {
                         SMI_(0x90, 0x8)
                         Return(0x0)
                     }
                     Method(_STA) {
                         Store(SMI_(0x86, 0x0), Local0)
                         And(Local0, 0x2, Local0)
                         If(Local0) {
                             Return(0xf)
                         }
                         Return(0x0)
                     }
                 }
             }
         }
         Device(AUD_) {
             Name(_ADR, 0x001f0005)
         }
         Device(MODM) {
             Name(_ADR, 0x001f0006)
             Name(_PRW, Package(0x2) {
                 0x5,
                 0x3,
             })
         }
         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(CRT2) {
                 Method(_ADR) {
                     Store(SMI_(0x6d, 0x0), Local0)
                     If(LEqual(Local0, 0x1)) {
                         Return(0x0120)
                     }
                     Else {
                         Return(0x0101)
                     }
                 }
                 Method(_DCS) {
                     Store(SMI_(0x8e, 0x20), Local0)
                     Return(Local0)
                 }
                 Method(_DGS) {
                     Store(SMI_(0x99, 0x20), Local0)
                     Return(Local0)
                 }
                 Method(_DSS, 1) {
                     DSS_(0x20, 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)
                 }
             }
             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(MB7_) {
             Name(_HID, 0x010cd041)
             Name(_UID, 0x7)
             Method(_STA) {
                 If(LEqual(OSID(), 0x8)) {
                     Return(0xb)
                 }
                 If(LEqual(OSID(), 0x10)) {
                     Return(0xb)
                 }
                 Return(0x0)
             }
             Name(_CRS, Buffer(0x03f2) {0x47, 0x1, 0xb0, 0x7, 0xb0, 0x7, 0x1=
 0, 0xc, 0x47, 0x1, 0xc0, 0x7, 0xc0, 0x7, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xb, =
 0xb0, 0xb, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xb, 0xc0, 0xb, 0x10, 0x20, 0x47, 0x=
 1, 0xb0, 0xf, 0xb0, 0xf, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xf, 0xc0, 0xf, 0x10, =
 0x20, 0x47, 0x1, 0xb0, 0x13, 0xb0, 0x13, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x13, =
 0xc0, 0x13, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x17, 0xb0, 0x17, 0x10, 0xc, 0x47,=
  0x1, 0xc0, 0x17, 0xc0, 0x17, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x1b, 0xb0, 0x1b=
 , 0x10, 0xc, 0x47, 0x1, 0xc0, 0x1b, 0xc0, 0x1b, 0x10, 0x20, 0x47, 0x1, 0xb0=
 , 0x1f, 0xb0, 0x1f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x1f, 0xc0, 0x1f, 0x10, 0x2=
 0, 0x47, 0x1, 0xb0, 0x23, 0xb0, 0x23, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x23, 0xc=
 0, 0x23, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x27, 0xb0, 0x27, 0x10, 0xc, 0x47, 0x=
 1, 0xc0, 0x27, 0xc0, 0x27, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x2b, 0xb0, 0x2b, 0=
 x10, 0xc, 0x47, 0x1, 0xc0, 0x2b, 0xc0, 0x2b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0=
 x2f, 0xb0, 0x2f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x2f, 0xc0, 0x2f, 0x10, 0x20, =
 0x47, 0x1, 0xb0, 0x33, 0xb0, 0x33, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x33, 0xc0, =
 0x33, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x37, 0xb0, 0x37, 0x10, 0xc, 0x47, 0x1, =
 0xc0, 0x37, 0xc0, 0x37, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x3b, 0xb0, 0x3b, 0x10=
 , 0xc, 0x47, 0x1, 0xc0, 0x3b, 0xc0, 0x3b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x3f=
 , 0xb0, 0x3f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x3f, 0xc0, 0x3f, 0x10, 0x20, 0x4=
 7, 0x1, 0xb0, 0x43, 0xb0, 0x43, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x43, 0xc0, 0x4=
 3, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x47, 0xb0, 0x47, 0x10, 0xc, 0x47, 0x1, 0xc=
 0, 0x47, 0xc0, 0x47, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x4b, 0xb0, 0x4b, 0x10, 0=
 xc, 0x47, 0x1, 0xc0, 0x4b, 0xc0, 0x4b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x4f, 0=
 xb0, 0x4f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x4f, 0xc0, 0x4f, 0x10, 0x20, 0x47, =
 0x1, 0xb0, 0x53, 0xb0, 0x53, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x53, 0xc0, 0x53, =
 0x10, 0x20, 0x47, 0x1, 0xb0, 0x57, 0xb0, 0x57, 0x10, 0xc, 0x47, 0x1, 0xc0, =
 0x57, 0xc0, 0x57, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x5b, 0xb0, 0x5b, 0x10, 0xc,=
  0x47, 0x1, 0xc0, 0x5b, 0xc0, 0x5b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x5f, 0xb0=
 , 0x5f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x5f, 0xc0, 0x5f, 0x10, 0x20, 0x47, 0x1=
 , 0xb0, 0x63, 0xb0, 0x63, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x63, 0xc0, 0x63, 0x1=
 0, 0x20, 0x47, 0x1, 0xb0, 0x67, 0xb0, 0x67, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x6=
 7, 0xc0, 0x67, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x6b, 0xb0, 0x6b, 0x10, 0xc, 0x=
 47, 0x1, 0xc0, 0x6b, 0xc0, 0x6b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x6f, 0xb0, 0=
 x6f, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x6f, 0xc0, 0x6f, 0x10, 0x20, 0x47, 0x1, 0=
 xb0, 0x73, 0xb0, 0x73, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x73, 0xc0, 0x73, 0x10, =
 0x20, 0x47, 0x1, 0xb0, 0x77, 0xb0, 0x77, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x77, =
 0xc0, 0x77, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x7b, 0xb0, 0x7b, 0x10, 0xc, 0x47,=
  0x1, 0xc0, 0x7b, 0xc0, 0x7b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x7f, 0xb0, 0x7f=
 , 0x10, 0xc, 0x47, 0x1, 0xc0, 0x7f, 0xc0, 0x7f, 0x10, 0x20, 0x47, 0x1, 0xb0=
 , 0x83, 0xb0, 0x83, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x83, 0xc0, 0x83, 0x10, 0x2=
 0, 0x47, 0x1, 0xb0, 0x87, 0xb0, 0x87, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x87, 0xc=
 0, 0x87, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x8b, 0xb0, 0x8b, 0x10, 0xc, 0x47, 0x=
 1, 0xc0, 0x8b, 0xc0, 0x8b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x8f, 0xb0, 0x8f, 0=
 x10, 0xc, 0x47, 0x1, 0xc0, 0x8f, 0xc0, 0x8f, 0x10, 0x20, 0x47, 0x1, 0xb0, 0=
 x93, 0xb0, 0x93, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x93, 0xc0, 0x93, 0x10, 0x20, =
 0x47, 0x1, 0xb0, 0x97, 0xb0, 0x97, 0x10, 0xc, 0x47, 0x1, 0xc0, 0x97, 0xc0, =
 0x97, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x9b, 0xb0, 0x9b, 0x10, 0xc, 0x47, 0x1, =
 0xc0, 0x9b, 0xc0, 0x9b, 0x10, 0x20, 0x47, 0x1, 0xb0, 0x9f, 0xb0, 0x9f, 0x10=
 , 0xc, 0x47, 0x1, 0xc0, 0x9f, 0xc0, 0x9f, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xa3=
 , 0xb0, 0xa3, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xa3, 0xc0, 0xa3, 0x10, 0x20, 0x4=
 7, 0x1, 0xb0, 0xa7, 0xb0, 0xa7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xa7, 0xc0, 0xa=
 7, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xab, 0xb0, 0xab, 0x10, 0xc, 0x47, 0x1, 0xc=
 0, 0xab, 0xc0, 0xab, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xaf, 0xb0, 0xaf, 0x10, 0=
 xc, 0x47, 0x1, 0xc0, 0xaf, 0xc0, 0xaf, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xb3, 0=
 xb0, 0xb3, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xb3, 0xc0, 0xb3, 0x10, 0x20, 0x47, =
 0x1, 0xb0, 0xb7, 0xb0, 0xb7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xb7, 0xc0, 0xb7, =
 0x10, 0x20, 0x47, 0x1, 0xb0, 0xbb, 0xb0, 0xbb, 0x10, 0xc, 0x47, 0x1, 0xc0, =
 0xbb, 0xc0, 0xbb, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xbf, 0xb0, 0xbf, 0x10, 0xc,=
  0x47, 0x1, 0xc0, 0xbf, 0xc0, 0xbf, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xc3, 0xb0=
 , 0xc3, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xc3, 0xc0, 0xc3, 0x10, 0x20, 0x47, 0x1=
 , 0xb0, 0xc7, 0xb0, 0xc7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xc7, 0xc0, 0xc7, 0x1=
 0, 0x20, 0x47, 0x1, 0xb0, 0xcb, 0xb0, 0xcb, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xc=
 b, 0xc0, 0xcb, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xcf, 0xb0, 0xcf, 0x10, 0xc, 0x=
 47, 0x1, 0xc0, 0xcf, 0xc0, 0xcf, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xd3, 0xb0, 0=
 xd3, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xd3, 0xc0, 0xd3, 0x10, 0x20, 0x47, 0x1, 0=
 xb0, 0xd7, 0xb0, 0xd7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xd7, 0xc0, 0xd7, 0x10, =
 0x20, 0x47, 0x1, 0xb0, 0xdb, 0xb0, 0xdb, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xdb, =
 0xc0, 0xdb, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xdf, 0xb0, 0xdf, 0x10, 0xc, 0x47,=
  0x1, 0xc0, 0xdf, 0xc0, 0xdf, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xe3, 0xb0, 0xe3=
 , 0x10, 0xc, 0x47, 0x1, 0xc0, 0xe3, 0xc0, 0xe3, 0x10, 0x20, 0x47, 0x1, 0xb0=
 , 0xe7, 0xb0, 0xe7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xe7, 0xc0, 0xe7, 0x10, 0x2=
 0, 0x47, 0x1, 0xb0, 0xeb, 0xb0, 0xeb, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xeb, 0xc=
 0, 0xeb, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xef, 0xb0, 0xef, 0x10, 0xc, 0x47, 0x=
 1, 0xc0, 0xef, 0xc0, 0xef, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xf3, 0xb0, 0xf3, 0=
 x10, 0xc, 0x47, 0x1, 0xc0, 0xf3, 0xc0, 0xf3, 0x10, 0x20, 0x47, 0x1, 0xb0, 0=
 xf7, 0xb0, 0xf7, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xf7, 0xc0, 0xf7, 0x10, 0x20, =
 0x47, 0x1, 0xb0, 0xfb, 0xb0, 0xfb, 0x10, 0xc, 0x47, 0x1, 0xc0, 0xfb, 0xc0, =
 0xfb, 0x10, 0x20, 0x47, 0x1, 0xb0, 0xff, 0xb0, 0xff, 0x10, 0xc, 0x47, 0x1, =
 0xc0, 0xff, 0xc0, 0xff, 0x10, 0x20, 0x79, 0x0 })
         }
         Device(PCIE) {
             Name(_ADR, 0x001e0000)
             Name(_PRW, Package(0x2) {
                 0xb,
                 0x4,
             })
             Name(PICE, Package(0x7) {
                 Package(0x4) {
                     0x0001ffff,
                     0x0,
                     \_SB_.PCI0.LNKA,
                     0x0,
                 },
                 Package(0x4) {
                     0x0001ffff,
                     0x1,
                     \_SB_.PCI0.LNKD,
                     0x0,
                 },
                 Package(0x4) {
                     0x0003ffff,
                     0x0,
                     \_SB_.PCI0.LNKB,
                     0x0,
                 },
                 Package(0x4) {
                     0x0003ffff,
                     0x1,
                     \_SB_.PCI0.LNKD,
                     0x0,
                 },
                 Package(0x4) {
                     0x0008ffff,
                     0x0,
                     \_SB_.PCI0.LNKE,
                     0x0,
                 },
                 Package(0x4) {
                     0x0008ffff,
                     0x0,
                     \_SB_.PCI0.LNKB,
                     0x0,
                 },
                 Package(0x4) {
                     0x0008ffff,
                     0x1,
                     \_SB_.PCI0.LNKB,
                     0x0,
                 },
             })
             Method(_PRT) {
                 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, 0x00010001)
                 Method(_INI) {
                     SMI_(0x9d, 0x4)
                 }
                 Name(_S1D, 0x0)
                 Name(_S3D, 0x3)
             }
             Device(GDCK) {
                 Name(_HID, 0x150cd041)
                 Method(_STA) {
                     If(And(MIS5, 0x1, )) {
                         Store(SMI_(0x87, 0x0), Local2)
                         If(Local2) {
                             Notify(\_SB_.PCI0.PCIE.GDCK, 0x0)
                             Return(0x0)
                         }
                     }
                     Store(SMI_(0x87, 0x0), Local0)
                     If(Local0) {
                         Return(0xf)
                     }
                     Return(0x0)
                 }
                 Method(_UID) {
                     SX10()
                     SX30(0x5)
                     SX30(OSID())
                     SX11()
                     Store(SX42(), Local0)
                     SX12()
                     Return(Local0)
                 }
                 Method(_BDN) {
                     Store(SMI_(0x87, 0x0), Local0)
                     If(LEqual(Local0, 0x1)) {
                         Return(0x0c80ac10)
                     }
                     If(LEqual(Local0, 0x2)) {
                         Return(0x0d80ac10)
                     }
                     Return(0x0)
                 }
                 Method(ZEJ0, 1) {
                     Store(SMI_(0x87, 0x0), MIS7)
                     If(MIS7) {
                         SMI_(0xa6, 0x2)
                         SMI_(0x49, 0x1)
                         Wait(EJTD, 0xa000)
                         SMI_(0x49, 0x0)
                     }
                     Return(0x0)
                 }
                 Method(_EJ3, 1) {
                     SMI_(0xa6, 0x1)
                     Return(0x0)
                 }
                 Method(_EJ4, 1) {
                     SMI_(0xa6, 0x1)
                     Return(0x0)
                 }
                 Method(_DCK, 1) {
                     If(Arg0) {
                         SMI_(0x8d, 0x1)
                         Store(0x0, MIS5)
                     }
                     Else {
                         SMI_(0x8d, 0x0)
                         Store(0x0, MIS2)
                         Store(0x1, MIS5)
                     }
                     Return(0x1)
                 }
             }
             Device(DCKS) {
                 Name(_ADR, 0x00080000)
                 Name(_EJD, "\_SB_.PCI0.PCIE.GDCK")
             }
         }
     }
 }
 
 }