Jump to content

fluid | fixed

ludacrisvp

ludacrisvp

Member Since 24 Jan 2008
Offline Last Active May 05 2013 04:02 AM
-----

In Topic: Toshiba Satellite C850 Custom

27 March 2013 - 06:11 PM

You will have to boot the installer from a partition on your internal hard drive. Booting from USB or DVD will not work.

In Topic: Toshiba Satellite C850 Custom

27 March 2013 - 05:46 PM

How are you installing?

In Topic: Toshiba Satellite C850 Custom

27 March 2013 - 05:40 AM

View Postjahmgwapo, on 27 March 2013 - 05:29 AM, said:

Does your laptop has a dedicated GPU? My C850 has a dedicated ATI 7610M which I think is causing the problem. My Mt. Lion is the GM release (10.8). I am stuck at Apple logo with a no entry sign.

No, this laptop is the intel hd4000 only display.

That is typically a "still waiting for root device error" boot with -v flag and let it sit a while to find out.

In Topic: Toshiba Satellite C850 Custom

27 March 2013 - 01:49 AM

Here is a link to what I used to setup the system.
Should have all the kexts and dsdt. Note I have 8GB of DDR3 1600 and the Intel Core i3-3110M @ 2.40GHz (non-turbo) Dual Core w/ HT (4 thread total)
It might make a difference for the DSDT having difference proc and ram type/quantity.

http://www.filedropper.com/c850setup

boot plist file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Default Partition</key>
<string>hd(0,3)</string>
<key>EHCIacquire</key>
<string>Yes</string>
<key>EHCIhard</key>
<string>Yes</string>
<key>EnableBacklight</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1366x768x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>HD4000PlatformId</key>
<string>3</string>
<key>Hide Partition</key>
<string>hd(0,4)</string>
<key>Kernel Flags</key>
<string>forcewake=yes npci=0x2000</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>RestartFix</key>
<string>No</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>SystemType</key>
<string>2</string>
<key>Theme</key>
<string>Blackosx_Product_Box</string>
<key>Timeout</key>
<string>1</string>
<key>UHCIreset</key>
<string>Yes</string>
<key>Wake</key>
<string>Yes</string>
</dict>
</plist>


smbios.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SMbiosdate</key>
<string>21/03/12</string>
<key>SMbiosvendor</key>
<string>Apple Inc.</string>
<key>SMbiosversion</key>
<string>MBP91.88Z.00D3.B00.1203211536</string>
<key>SMboardproduct</key>
<string>Mac-6F01561E16C75D06</string>
<key>SMfamily</key>
<string>MacBook Pro</string>
<key>SMmanufacter</key>
<string>MacBook Pro</string>
<key>SMmanufacturer</key>
<string>Apple Inc.</string>
<key>SMmemspeed</key>
<string>1600</string>
<key>SMmemtype</key>
<string>24</string>
<key>SMproductname</key>
<string>MacBookPro9,1</string>
<key>SMserial</key>
<string>C02H7UK2F1G4</string>
<key>SMsystemversion</key>
<string>1.0</string>
</dict>
</plist>


dsdt

DefinitionBlock ("DSDT.aml", "DSDT", 1, "TOSINV", "TOSINV00", 0x00000000)
{
	External (HNOT, MethodObj)	// 1 Arguments
	External (SNXD)
	External (HWID, IntObj)
	External (IDAB, MethodObj)	// 0 Arguments
	External (HDOS, MethodObj)	// 0 Arguments
	External (BRIN, IntObj)
	External (BCMF)
	External (BROH, IntObj)
	External (BRLV, IntObj)
	External (PWM6)
	External (PWM5)
	External (PWM4)
	External (PWM3)
	External (PWM2)
	External (PWM1)
	External (PWM0)
	External (PANL)
	External (PWM7)
	External (TNOT, MethodObj)	// 0 Arguments
	External (PDC7)
	External (PDC6)
	External (PDC5)
	External (PDC4)
	External (PDC3)
	External (PDC2)
	External (PDC1)
	External (PDC0)
	External (CFGD)
	External (ECE2)
	External (SPS3, MethodObj)	// 0 Arguments
	External (SPS0, MethodObj)	// 0 Arguments
	External (\TNOW)
	External (\_SB_.CPTO, IntObj)
	External (\_SB_.TWAK, MethodObj)	// 1 Arguments
	External (\_SB_.KUPP)
	External (\_SB_.TPTS, MethodObj)	// 1 Arguments
	External (\_PR_.CPU0.CTLD, MethodObj)	// 0 Arguments
	External (\_PR_.CPU0._PPC)
	External (\_SB_.PCI0.LPCB.ECA3)
	External (\_SB_.PCI0.LPCB.PNID)
	External (\_SB_.PCI0.IEIT.EITV, MethodObj)	// 0 Arguments
	External (\_SB_.PCI0.LPCB.EC9C, IntObj)
	External (\_SB_.PCI0.LPCB.LREG, MethodObj)	// 0 Arguments
	Method (DTGP, 5, NotSerialized)
	{
		If (LEqual (Arg0, Buffer (0x10)
				{
					/* 0000 */   0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
					/* 0008 */   0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
				}))
		{
			If (LEqual (Arg1, One))
			{
				If (LEqual (Arg2, Zero))
				{
					Store (Buffer (One)
						{
							 0x03
						}, Arg4)
					Return (One)
				}
				If (LEqual (Arg2, One))
				{
					Return (One)
				}
			}
		}
		Store (Buffer (One)
			{
				 0x00
			}, Arg4)
		Return (Zero)
	}
	Name (SS1, Zero)
	Name (SS2, Zero)
	Name (SS3, One)
	Name (SS4, One)
	Name (IOST, 0xFFFF)
	Name (SP2O, 0x4E)
	Name (SP1O, 0x2E)
	Name (IO1B, 0x0600)
	Name (IO1L, 0x70)
	Name (IO2B, 0x0600)
	Name (IO2L, 0x20)
	Name (IO3B, 0x0290)
	Name (IO3L, 0x10)
	Name (SP3O, 0x2E)
	Name (IO4B, 0x0A20)
	Name (IO4L, 0x20)
	Name (MCHB, 0xFED10000)
	Name (MCHL, 0x8000)
	Name (EGPB, 0xFED19000)
	Name (EGPL, 0x1000)
	Name (DMIB, 0xFED18000)
	Name (DMIL, 0x1000)
	Name (IFPB, 0xFED14000)
	Name (IFPL, 0x1000)
	Name (PEBS, 0xE0000000)
	Name (PELN, 0x10000000)
	Name (TTTB, 0xFED20000)
	Name (TTTL, 0x00020000)
	Name (SMBS, 0x0580)
	Name (SMBL, 0x20)
	Name (PBLK, 0x0410)
	Name (PMBS, 0x0400)
	Name (PMLN, 0x80)
	Name (LVL2, 0x0414)
	Name (LVL3, 0x0415)
	Name (LVL4, 0x0416)
	Name (SMIP, 0xB2)
	Name (GPBS, 0x0500)
	Name (GPLN, 0x80)
	Name (APCB, 0xFEC00000)
	Name (APCL, 0x1000)
	Name (PM30, 0x0430)
	Name (SRCB, 0xFED1C000)
	Name (SRCL, 0x4000)
	Name (SUSW, 0xFF)
	Name (HPTB, 0xFED00000)
	Name (HPTC, 0xFED1F404)
	Name (ACPH, 0xDE)
	Name (ASSB, Zero)
	Name (AOTB, Zero)
	Name (AAXB, Zero)
	Name (ITKE, Zero)
	Name (DSSP, Zero)
	Name (FHPP, Zero)
	Name (FMBL, One)
	Name (FDTP, 0x02)
	Name (FUPS, 0x03)
	Name (BEL, One)
	Name (BEH, 0x02)
	Name (BRH, 0x03)
	Name (BTF, 0x04)
	Name (BYB, 0x06)
	Name (BWB, 0x06)
	Name (BELC, 0x09)
	Name (BRHP, 0x0A)
	Name (BTFC, 0x0B)
	Name (BEHP, 0x0C)
	Name (BELP, 0x0E)
	Name (BTL, 0x10)
	Name (BTFP, 0x11)
	Name (BSR, 0x14)
	Name (BLR, 0x18)
	Name (BLH, 0x19)
	Name (BCH, 0x16)
	Name (BCC, 0x1C)
	Name (BEF, 0x21)
	Name (BLLE, 0x22)
	Name (BLLC, 0x23)
	Name (BLCA, 0x24)
	Name (BLLS, 0x25)
	Name (BLLP, 0x26)
	Name (BLLD, 0x27)
	Name (BKF, 0x28)
	Name (BHBE, 0x30)
	Name (BHBC, 0x31)
	Name (BHBN, 0x32)
	Name (BHBM, 0x33)
	Name (TCGM, One)
	Name (TRTP, One)
	Name (WDTE, One)
	Name (TRTD, 0x02)
	Name (TRTI, 0x03)
	Name (GCDD, One)
	Name (DSTA, 0x0A)
	Name (DSLO, 0x0C)
	Name (DSLC, 0x0E)
	Name (PITS, 0x10)
	Name (SBCS, 0x12)
	Name (SALS, 0x13)
	Name (LSSS, 0x2A)
	Name (SOOT, 0x35)
	Name (PDBR, 0x4D)
	Name (DPPB, 0xFED98000)
	Name (DPPL, 0x8000)
	OperationRegion (GNVS, SystemMemory, 0xBAFBDC98, 0x0203)
	Field (GNVS, AnyAcc, Lock, Preserve)
	{
		OSYS,   16, 
		SMIF,   8, 
		PRM0,   8, 
		PRM1,   8, 
		SCIF,   8, 
		PRM2,   8, 
		PRM3,   8, 
		LCKF,   8, 
		PRM4,   8, 
		PRM5,   8, 
		P80D,   32, 
		LIDS,   8, 
		PWRS,   8, 
		DBGS,   8, 
		THOF,   8, 
		ACT1,   8, 
		ACTT,   8, 
		PSVT,   8, 
		TC1V,   8, 
		TC2V,   8, 
		TSPV,   8, 
		CRTT,   8, 
		DTSE,   8, 
		DTS1,   8, 
		DTS2,   8, 
		DTSF,   8, 
		Offset (0x25), 
		REVN,   8, 
		RES3,   8, 
		Offset (0x28), 
		APIC,   8, 
		TCNT,   8, 
		PCP0,   8, 
		PCP1,   8, 
		PPCM,   8, 
		PPMF,   32, 
		C67L,   8, 
		NATP,   8, 
		CMAP,   8, 
		CMBP,   8, 
		LPTP,   8, 
		FDCP,   8, 
		COMA,   8, 
		COMB,   8, 
		SMSC,   8, 
		W381,   8, 
		SMC1,   8, 
		IGDS,   8, 
		TLST,   8, 
		CADL,   8, 
		PADL,   8, 
		CSTE,   16, 
		NSTE,   16, 
		SSTE,   16, 
		NDID,   8, 
		DID1,   32, 
		DID2,   32, 
		DID3,   32, 
		DID4,   32, 
		DID5,   32, 
		KSV0,   32, 
		KSV1,   8, 
		Offset (0x67), 
		BLCS,   8, 
		BRTL,   8, 
		ALSE,   8, 
		ALAF,   8, 
		LLOW,   8, 
		LHIH,   8, 
		Offset (0x6E), 
		EMAE,   8, 
		EMAP,   16, 
		EMAL,   16, 
		Offset (0x74), 
		MEFE,   8, 
		DSTS,   8, 
		Offset (0x78), 
		TPMP,   8, 
		TPME,   8, 
		MORD,   8, 
		TCGP,   8, 
		PPRP,   32, 
		PPRQ,   8, 
		LPPR,   8, 
		GTF0,   56, 
		GTF2,   56, 
		IDEM,   8, 
		GTF1,   56, 
		BID,	8, 
		PLID,   8, 
		Offset (0xAA), 
		ASLB,   32, 
		IBTT,   8, 
		IPAT,   8, 
		ITVF,   8, 
		ITVM,   8, 
		IPSC,   8, 
		IBLC,   8, 
		IBIA,   8, 
		ISSC,   8, 
		I409,   8, 
		I509,   8, 
		I609,   8, 
		I709,   8, 
		IPCF,   8, 
		IDMS,   8, 
		IF1E,   8, 
		HVCO,   8, 
		NXD1,   32, 
		NXD2,   32, 
		NXD3,   32, 
		NXD4,   32, 
		NXD5,   32, 
		NXD6,   32, 
		NXD7,   32, 
		NXD8,   32, 
		GSMI,   8, 
		PAVP,   8, 
		Offset (0xE1), 
		OSCC,   8, 
		NEXP,   8, 
		SBV1,   8, 
		SBV2,   8, 
		Offset (0xEB), 
		DSEN,   8, 
		Offset (0xED), 
		GPIC,   8, 
		CTYP,   8, 
		L01C,   8, 
		VFN0,   8, 
		VFN1,   8, 
		VFN2,   8, 
		VFN3,   8, 
		VFN4,   8, 
		VFN5,   8, 
		VFN6,   8, 
		VFN7,   8, 
		VFN8,   8, 
		VFN9,   8, 
		Offset (0x100), 
		NVGA,   32, 
		NVHA,   32, 
		AMDA,   32, 
		DID6,   32, 
		DID7,   32, 
		DID8,   32, 
		EBAS,   32, 
		CPSP,   32, 
		EECP,   32, 
		EVCP,   32, 
		XBAS,   32, 
		OBS1,   32, 
		OBS2,   32, 
		OBS3,   32, 
		OBS4,   32, 
		OBS5,   32, 
		OBS6,   32, 
		OBS7,   32, 
		OBS8,   32, 
		Offset (0x157), 
		ATMC,   8, 
		PTMC,   8, 
		ATRA,   8, 
		PTRA,   8, 
		PNHM,   32, 
		TBAB,   32, 
		TBAH,   32, 
		RTIP,   8, 
		TSOD,   8, 
		ATPC,   8, 
		PTPC,   8, 
		PFLV,   8, 
		BREV,   8, 
		SGMD,   8, 
		SGFL,   8, 
		PWOK,   8, 
		HLRS,   8, 
		DSEL,   8, 
		ESEL,   8, 
		PSEL,   8, 
		PWEN,   8, 
		PRST,   8, 
		MXD1,   32, 
		MXD2,   32, 
		MXD3,   32, 
		MXD4,   32, 
		MXD5,   32, 
		MXD6,   32, 
		MXD7,   32, 
		MXD8,   32, 
		GBAS,   16, 
		SGGP,   8, 
		Offset (0x19D), 
		ALFP,   8, 
		IMON,   8, 
		PDTS,   8, 
		PKGA,   8, 
		PAMT,   8, 
		AC0F,   8, 
		AC1F,   8, 
		DTS3,   8, 
		DTS4,   8, 
		Offset (0x1B2), 
		XHCI,   8, 
		XHPM,   8, 
		Offset (0x1B7), 
		XTUB,   32, 
		XTUS,   32, 
		XMPB,   32, 
		Offset (0x1C4), 
		LPMV,   8, 
		Offset (0x1C6), 
		DDRF,   8, 
		MM64,   8, 
		Offset (0x1CB), 
		PSKE,   8, 
		PSME,   8, 
		Offset (0x1E0), 
		CCMD,   8, 
		COMD,   8, 
		LPT1,   8, 
		PSTP,   8, 
		WKMD,   8, 
		IDER,   8, 
		PIE0,   8, 
		PIE1,   8, 
		CSTS,   8, 
		PMEE,   8, 
		WOLE,   8, 
		NVAD,   32, 
		PGVI,   32, 
		OPTF,   8, 
		IFSE,   8, 
		AOAC,   8, 
		S1C0,   16, 
		S1C1,   16, 
		S2C0,   16, 
		S2C1,   16, 
		SLPS,   8, 
		ALAT,   32
	}
	OperationRegion (OGNS, SystemMemory, 0xBAFBC818, 0x076F)
	Field (OGNS, AnyAcc, Lock, Preserve)
	{
		OG00,   8, 
		OG01,   8, 
		OG02,   8, 
		OG03,   8, 
		OG04,   8, 
		OG05,   8, 
		OG06,   8, 
		OG07,   8, 
		OG08,   8, 
		OG09,   8, 
		OG10,   8, 
		ECON,   8, 
		OEMR,   64, 
		ACPS,   8, 
		CPUS,   8, 
		CPUL,   8, 
		ECRO,   8, 
		ECRM,   8, 
		ECRS,   8, 
		ECRD,   8, 
		REVD,   8, 
		EGST,   8, 
		LCDS,   8, 
		BTOP,   8, 
		HSWK,   8, 
		LCMD,   8, 
		SVCF,   8, 
		SWBF,   256, 
		KYBF,   256, 
		IECS,   24, 
		CECC,   8, 
		CECE,   32, 
		CECI,   16, 
		CECZ,   8, 
		CECF,   8, 
		CARG,   160, 
		LENA,   8, 
		LENB,   8, 
		LENC,   8, 
		LENE,   8, 
		LEND,   8, 
		IFNK,   1024, 
		ICMD,   4096, 
		RESL,   32, 
		RESV,   16, 
		USC1,   32, 
		USC2,   32, 
		VGAM,   8, 
		USBM,   32, 
		TPID,   8, 
		NODD,   8, 
		IHDD,   8, 
		TJET,   8, 
		CPUM,   8, 
		POLI,   8, 
		TCCR,   8, 
		TEST,   8, 
		LCDA,   8, 
		PWMV,   64, 
		EJLL,   8, 
		EJLR,   8, 
		SCFG,   8, 
		FKRG,   8, 
		HFMF,   8, 
		HYBT,   8, 
		SKEY,   8, 
		UCSP,   8, 
		CBTN,   8, 
		KBLE,   8, 
		CPTO,   8, 
		KUPP,   8, 
		SLMC,   8, 
		IREX,   8, 
		SATR,   8, 
		GPUR,   8, 
		HSFN,   8, 
		HSP0,   8, 
		HSP1,   8, 
		HSP2,   8, 
		HSP3,   8, 
		HSP4,   8, 
		HSP5,   8, 
		HSP6,   8, 
		HSP7,   8, 
		HSP8,   8, 
		HSP9,   8, 
		HSPA,   8, 
		HSPB,   8, 
		HSS0,   8, 
		HSBD,   32, 
		HSDB,   32, 
		HSSS,   8, 
		LPSW,   8, 
		ITLK,   32, 
		DMIS,   32, 
		TPNO,   16, 
		STNO,   8, 
		Offset (0x35F), 
		Offset (0x365), 
		DMIF,   16, 
		Offset (0x36F), 
		WDMI,   8192
	}
	OperationRegion (PSMI, SystemIO, 0xB2, 0x02)
	Field (PSMI, ByteAcc, NoLock, Preserve)
	{
		APMC,   8, 
		APMD,   8
	}
	Method (OSMI, 1, NotSerialized)
	{
		Store (Arg0, APMD)
		Store (0xBE, APMC)
		Stall (0xFF)
		Stall (0xFF)
		Stall (0xFF)
		Stall (0xFF)
		Stall (0xFF)
		Stall (0xFF)
	}
	Scope (_SB)
	{
		Name (PRSA, ResourceTemplate ()
		{
			IRQ (Level, ActiveLow, Shared, )
				{1,3,4,5,6,10,11,12,14,15}
		})
		Alias (PRSA, PRSB)
		Alias (PRSA, PRSC)
		Alias (PRSA, PRSD)
		Alias (PRSA, PRSE)
		Alias (PRSA, PRSF)
		Alias (PRSA, PRSG)
		Alias (PRSA, PRSH)
		Device (PCI0)
		{
			Name (_HID, EisaId ("PNP0A03"))
			Name (_UID, Zero)
			Method (^BN00, 0, NotSerialized)
			{
				Return (Zero)
			}
			Method (_BBN, 0, NotSerialized)
			{
				Return (BN00 ())
			}
			Name (PR00, Package (0x25)
			{
				Package (0x04)
				{
					0x0014FFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					0x03, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x0019FFFF, 
					Zero, 
					LNKE, 
					Zero
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					One, 
					LNKF, 
					Zero
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					0x02, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					0x03, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x001BFFFF, 
					Zero, 
					LNKG, 
					Zero
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					Zero, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					One, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					0x03, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					Zero, 
					LNKH, 
					Zero
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					One, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					0x03, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					Zero, 
					LNKF, 
					Zero
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					One, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					0x02, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					0x03, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					0x03, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x0002FFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					0x03, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					Zero, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					One, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					0x02, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					0x03, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0x0018FFFF, 
					Zero, 
					LNKE, 
					Zero
				}
			})
			Name (AR00, Package (0x25)
			{
				Package (0x04)
				{
					0x0014FFFF, 
					Zero, 
					Zero, 
					0x15
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x0016FFFF, 
					0x03, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x0019FFFF, 
					Zero, 
					Zero, 
					0x14
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					One, 
					Zero, 
					0x15
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					0x02, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x001AFFFF, 
					0x03, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x001BFFFF, 
					Zero, 
					Zero, 
					0x16
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					Zero, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					One, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x001CFFFF, 
					0x03, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					Zero, 
					Zero, 
					0x17
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					One, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x001DFFFF, 
					0x03, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					Zero, 
					Zero, 
					0x15
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					One, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					0x02, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x001FFFFF, 
					0x03, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x0001FFFF, 
					0x03, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x0002FFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x0004FFFF, 
					0x03, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					Zero, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					One, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					0x02, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0x0006FFFF, 
					0x03, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0x0018FFFF, 
					Zero, 
					Zero, 
					0x14
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR00)
				}
				Return (PR00)
			}
			Method (_PS0, 0, NotSerialized)
			{
				If (LLessEqual (OSYS, 0x07D5))
				{
					If (LEqual (XINI, Zero))
					{
						Store (One, XINI)
						^LPCB.LREG ()
					}
				}
				SPS0 ()
			}
			Method (_PS3, 0, NotSerialized)
			{
				SPS3 ()
			}
			OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
			Field (HBUS, DWordAcc, NoLock, Preserve)
			{
				Offset (0x40), 
				EPEN,   1, 
					,   11, 
				EPBR,   20, 
				Offset (0x48), 
				MHEN,   1, 
					,   14, 
				MHBR,   17, 
				Offset (0x50), 
				GCLK,   1, 
				Offset (0x54), 
				D0EN,   1, 
				Offset (0x60), 
				PXEN,   1, 
				PXSZ,   2, 
					,   23, 
				PXBR,   6, 
				Offset (0x68), 
				DIEN,   1, 
					,   11, 
				DIBR,   20, 
				Offset (0x70), 
					,   20, 
				MEBR,   12, 
				Offset (0x80), 
					,   4, 
				PM0H,   2, 
				Offset (0x81), 
				PM1L,   2, 
					,   2, 
				PM1H,   2, 
				Offset (0x82), 
				PM2L,   2, 
					,   2, 
				PM2H,   2, 
				Offset (0x83), 
				PM3L,   2, 
					,   2, 
				PM3H,   2, 
				Offset (0x84), 
				PM4L,   2, 
					,   2, 
				PM4H,   2, 
				Offset (0x85), 
				PM5L,   2, 
					,   2, 
				PM5H,   2, 
				Offset (0x86), 
				PM6L,   2, 
					,   2, 
				PM6H,   2, 
				Offset (0x87), 
				Offset (0xA8), 
					,   20, 
				TUUD,   19, 
				Offset (0xBC), 
					,   20, 
				TLUD,   12, 
				Offset (0xC8), 
					,   7, 
				HTSE,   1
			}
			OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
			Field (MCHT, ByteAcc, NoLock, Preserve)
			{
			}
			Name (BUF0, ResourceTemplate ()
			{
				WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
					0x0000,			 // Granularity
					0x0000,			 // Range Minimum
					0x00FF,			 // Range Maximum
					0x0000,			 // Translation Offset
					0x0100,			 // Length
					,, _Y00)
				DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
					0x00000000,		 // Granularity
					0x00000000,		 // Range Minimum
					0x00000CF7,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00000CF8,		 // Length
					,, , TypeStatic)
				IO (Decode16,
					0x0CF8,			 // Range Minimum
					0x0CF8,			 // Range Maximum
					0x01,			   // Alignment
					0x08,			   // Length
					)
				DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
					0x00000000,		 // Granularity
					0x00000D00,		 // Range Minimum
					0x0000FFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x0000F300,		 // Length
					,, , TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000A0000,		 // Range Minimum
					0x000BFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00020000,		 // Length
					,, , AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000C0000,		 // Range Minimum
					0x000C3FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y01, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000C4000,		 // Range Minimum
					0x000C7FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y02, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000C8000,		 // Range Minimum
					0x000CBFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y03, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000CC000,		 // Range Minimum
					0x000CFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y04, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000D0000,		 // Range Minimum
					0x000D3FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y05, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000D4000,		 // Range Minimum
					0x000D7FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y06, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000D8000,		 // Range Minimum
					0x000DBFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y07, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000DC000,		 // Range Minimum
					0x000DFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y08, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000E0000,		 // Range Minimum
					0x000E3FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y09, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000E4000,		 // Range Minimum
					0x000E7FFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y0A, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000E8000,		 // Range Minimum
					0x000EBFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y0B, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000EC000,		 // Range Minimum
					0x000EFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00004000,		 // Length
					,, _Y0C, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0x000F0000,		 // Range Minimum
					0x000FFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00010000,		 // Length
					,, _Y0D, AddressRangeMemory, TypeStatic)
				DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0xFEAFFFFE,		 // Range Minimum
					0xFEAFFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x00000002,		 // Length
					,, _Y0E, AddressRangeMemory, TypeStatic)
				QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x0000000000000000, // Granularity
					0x0000000000010000, // Range Minimum
					0x000000000001FFFF, // Range Maximum
					0x0000000000000000, // Translation Offset
					0x0000000000010000, // Length
					,, _Y0F, AddressRangeMemory, TypeStatic)
			})
			Method (_CRS, 0, Serialized)
			{
				CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)
				Store (Subtract (ShiftRight (PELN, 0x14), 0x02), PBMX)
				CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)
				Store (Subtract (ShiftRight (PELN, 0x14), One), PBLN)
				If (PM1L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN)
					Store (Zero, C0LN)
				}
				If (LEqual (PM1L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW)
					Store (Zero, C0RW)
				}
				If (PM1H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN)
					Store (Zero, C4LN)
				}
				If (LEqual (PM1H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW)
					Store (Zero, C4RW)
				}
				If (PM2L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN)
					Store (Zero, C8LN)
				}
				If (LEqual (PM2L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW)
					Store (Zero, C8RW)
				}
				If (PM2H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN)
					Store (Zero, CCLN)
				}
				If (LEqual (PM2H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW)
					Store (Zero, CCRW)
				}
				If (PM3L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN)
					Store (Zero, D0LN)
				}
				If (LEqual (PM3L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW)
					Store (Zero, D0RW)
				}
				If (PM3H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN)
					Store (Zero, D4LN)
				}
				If (LEqual (PM3H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW)
					Store (Zero, D4RW)
				}
				If (PM4L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN)
					Store (Zero, D8LN)
				}
				If (LEqual (PM4L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW)
					Store (Zero, D8RW)
				}
				If (PM4H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN)
					Store (Zero, DCLN)
				}
				If (LEqual (PM4H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW)
					Store (Zero, DCRW)
				}
				If (PM5L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN)
					Store (Zero, E0LN)
				}
				If (LEqual (PM5L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW)
					Store (Zero, E0RW)
				}
				If (PM5H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN)
					Store (Zero, E4LN)
				}
				If (LEqual (PM5H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW)
					Store (Zero, E4RW)
				}
				If (PM6L)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN)
					Store (Zero, E8LN)
				}
				If (LEqual (PM6L, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW)
					Store (Zero, E8RW)
				}
				If (PM6H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN)
					Store (Zero, ECLN)
				}
				If (LEqual (PM6H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)
					Store (Zero, ECRW)
				}
				If (PM0H)
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)
					Store (Zero, F0LN)
				}
				If (LEqual (PM0H, One))
				{
					CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW)
					Store (Zero, F0RW)
				}
				CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)
				CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)
				CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)
				ShiftLeft (TLUD, 0x14, M1MN)
				Add (Subtract (M1MX, M1MN), One, M1LN)
				If (LOr (LEqual (MM64, Zero), LLessEqual (OSYS, 0x07D3)))
				{
					CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)
					Store (Zero, MSLN)
				}
				Else
				{
					CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)
					CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)
					CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)
					Store (Zero, M2LN)
					If (LGreaterEqual (TUUD, 0x1000))
					{
						ShiftLeft (TUUD, 0x14, M2MN)
					}
					Else
					{
						Store (Zero, M2MN)
					}
					Subtract (Add (M2MN, M2LN), One, M2MX)
				}
				Return (BUF0)
			}
			Name (GUID, Buffer (0x10)
			{
				/* 0000 */   0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
				/* 0008 */   0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
			})
			Name (SUPP, Zero)
			Name (CTRL, Zero)
			Name (XCNT, Zero)
			Method (_OSC, 4, Serialized)
			{
				Store (Arg3, Local0)
				CreateDWordField (Local0, Zero, CDW1)
				CreateDWordField (Local0, 0x04, CDW2)
				CreateDWordField (Local0, 0x08, CDW3)
				If (^XHC.CUID (Arg0))
				{
					Return (^XHC.POSC (Arg1, Arg2, Arg3))
				}
				Else
				{
					If (_OSI ("Windows 2012"))
					{
						If (LEqual (XCNT, Zero))
						{
							^XHC.XSEL ()
							Increment (XCNT)
						}
					}
				}
				If (LAnd (LEqual (Arg0, GUID), NEXP))
				{
					Store (CDW2, SUPP)
					Store (CDW3, CTRL)
					If (Not (And (CDW1, One)))
					{
						If (And (CTRL, One))
						{
							NHPG ()
						}
						If (And (CTRL, 0x04))
						{
							NPME ()
						}
					}
					If (LNotEqual (Arg1, One))
					{
						Or (CDW1, 0x08, CDW1)
					}
					If (LNotEqual (CDW3, CTRL))
					{
						Or (CDW1, 0x10, CDW1)
					}
					Store (CTRL, CDW3)
					Store (CTRL, OSCC)
					Return (Local0)
				}
				Else
				{
					Or (CDW1, 0x04, CDW1)
					Return (Local0)
				}
			}
			Device (P0P1)
			{
				Name (_ADR, 0x001E0000)
				Method (_PRW, 0, NotSerialized)
				{
					If (PMEE)
					{
						Return (Package (0x02)
						{
							0x0B, 
							0x04
						})
					}
					Else
					{
						Return (Package (0x02)
						{
							0x0B, 
							Zero
						})
					}
				}
				Name (PR04, Package (0x0C)
				{
					Package (0x04)
					{
						0xFFFF, 
						Zero, 
						LNKF, 
						Zero
					}, 
					Package (0x04)
					{
						0xFFFF, 
						One, 
						LNKG, 
						Zero
					}, 
					Package (0x04)
					{
						0xFFFF, 
						0x02, 
						LNKH, 
						Zero
					}, 
					Package (0x04)
					{
						0xFFFF, 
						0x03, 
						LNKE, 
						Zero
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						Zero, 
						LNKG, 
						Zero
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						One, 
						LNKF, 
						Zero
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						0x02, 
						LNKE, 
						Zero
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						0x03, 
						LNKH, 
						Zero
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						Zero, 
						LNKC, 
						Zero
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						One, 
						LNKE, 
						Zero
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						0x02, 
						LNKG, 
						Zero
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						0x03, 
						LNKF, 
						Zero
					}
				})
				Name (AR04, Package (0x0C)
				{
					Package (0x04)
					{
						0xFFFF, 
						Zero, 
						Zero, 
						0x15
					}, 
					Package (0x04)
					{
						0xFFFF, 
						One, 
						Zero, 
						0x16
					}, 
					Package (0x04)
					{
						0xFFFF, 
						0x02, 
						Zero, 
						0x17
					}, 
					Package (0x04)
					{
						0xFFFF, 
						0x03, 
						Zero, 
						0x14
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						Zero, 
						Zero, 
						0x16
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						One, 
						Zero, 
						0x15
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						0x02, 
						Zero, 
						0x14
					}, 
					Package (0x04)
					{
						0x0001FFFF, 
						0x03, 
						Zero, 
						0x17
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						Zero, 
						Zero, 
						0x12
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						One, 
						Zero, 
						0x14
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						0x02, 
						Zero, 
						0x16
					}, 
					Package (0x04)
					{
						0x0005FFFF, 
						0x03, 
						Zero, 
						0x15
					}
				})
				Method (_PRT, 0, NotSerialized)
				{
					If (PICM)
					{
						Return (AR04)
					}
					Return (PR04)
				}
			}
			Device (LPCB)
			{
				Name (_ADR, 0x001F0000)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"device-id", 
							Buffer (0x04)
							{
								 0x18, 0x3A, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
				Scope (\_SB)
				{
					OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
					Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
					{
						Offset (0x20), 
						PARC,   8, 
						PBRC,   8, 
						PCRC,   8, 
						PDRC,   8, 
						Offset (0x28), 
						PERC,   8, 
						PFRC,   8, 
						PGRC,   8, 
						PHRC,   8, 
						Offset (0x6C), 
						Offset (0x6D), 
						Offset (0x6E), 
						XUSB,   1
					}
					Device (LNKA)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, One)
						Method (_DIS, 0, Serialized)
						{
							Or (PARC, 0x80, PARC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSA)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLA, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLA, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PARC, 0x0F), IRQ0)
							Return (RTLA)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PARC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PARC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKB)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x02)
						Method (_DIS, 0, Serialized)
						{
							Or (PBRC, 0x80, PBRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSB)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLB, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLB, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
							Return (RTLB)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PBRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PBRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKC)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x03)
						Method (_DIS, 0, Serialized)
						{
							Or (PCRC, 0x80, PCRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSC)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLC, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLC, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
							Return (RTLC)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PCRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PCRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKD)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x04)
						Method (_DIS, 0, Serialized)
						{
							Or (PDRC, 0x80, PDRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSD)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLD, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLD, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
							Return (RTLD)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PDRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PDRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKE)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x05)
						Method (_DIS, 0, Serialized)
						{
							Or (PERC, 0x80, PERC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSE)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLE, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLE, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PERC, 0x0F), IRQ0)
							Return (RTLE)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PERC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PERC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKF)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x06)
						Method (_DIS, 0, Serialized)
						{
							Or (PFRC, 0x80, PFRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSF)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLF, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLF, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
							Return (RTLF)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PFRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PFRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKG)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x07)
						Method (_DIS, 0, Serialized)
						{
							Or (PGRC, 0x80, PGRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSG)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLG, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLG, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
							Return (RTLG)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PGRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PGRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
					Device (LNKH)
					{
						Name (_HID, EisaId ("PNP0C0F"))
						Name (_UID, 0x08)
						Method (_DIS, 0, Serialized)
						{
							Or (PHRC, 0x80, PHRC)
						}
						Method (_PRS, 0, Serialized)
						{
							Return (PRSH)
						}
						Method (_CRS, 0, Serialized)
						{
							Name (RTLH, ResourceTemplate ()
							{
								IRQ (Level, ActiveLow, Shared, )
									{}
							})
							CreateWordField (RTLH, One, IRQ0)
							Store (Zero, IRQ0)
							ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
							Return (RTLH)
						}
						Method (_SRS, 1, Serialized)
						{
							CreateWordField (Arg0, One, IRQ0)
							FindSetRightBit (IRQ0, Local0)
							Decrement (Local0)
							Store (Local0, PHRC)
						}
						Method (_STA, 0, Serialized)
						{
							If (And (PHRC, 0x80))
							{
								Return (0x09)
							}
							Else
							{
								Return (0x0B)
							}
						}
					}
				}
				OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
				Field (LPC0, AnyAcc, NoLock, Preserve)
				{
					Offset (0x40), 
					IOD0,   8, 
					IOD1,   8, 
					Offset (0xB0), 
					RAEN,   1, 
						,   13, 
					RCBA,   18
				}
				Device (DMAC)
				{
					Name (_HID, EisaId ("PNP0200"))
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0000,			 // Range Minimum
							0x0000,			 // Range Maximum
							0x01,			   // Alignment
							0x20,			   // Length
							)
						IO (Decode16,
							0x0081,			 // Range Minimum
							0x0081,			 // Range Maximum
							0x01,			   // Alignment
							0x11,			   // Length
							)
						IO (Decode16,
							0x0093,			 // Range Minimum
							0x0093,			 // Range Maximum
							0x01,			   // Alignment
							0x0D,			   // Length
							)
						IO (Decode16,
							0x00C0,			 // Range Minimum
							0x00C0,			 // Range Maximum
							0x01,			   // Alignment
							0x20,			   // Length
							)
						DMA (Compatibility, NotBusMaster, Transfer8_16, )
							{4}
					})
				}
				Device (FWHD)
				{
					Name (_HID, EisaId ("INT0800"))
					Name (_CRS, ResourceTemplate ()
					{
						Memory32Fixed (ReadOnly,
							0xFF000000,		 // Address Base
							0x01000000,		 // Address Length
							)
					})
				}
				Device (HPET)
				{
					Name (_HID, EisaId ("PNP0103"))
					Name (_UID, Zero)
					Name (BUF0, ResourceTemplate ()
					{
						IRQNoFlags ()
							{0}
						IRQNoFlags (_Y10)
							{8}
						Memory32Fixed (ReadWrite,
							0xFED00000,		 // Address Base
							0x00000400,		 // Address Length
							)
					})
					Method (_STA, 0, NotSerialized)
					{
						If (LGreaterEqual (OSYS, 0x07D1))
						{
							If (HPAE)
							{
								Return (0x0F)
							}
						}
						Else
						{
							If (HPAE)
							{
								Return (0x0B)
							}
						}
						Return (Zero)
					}
					Method (_CRS, 0, Serialized)
					{
						If (HPAE)
						{
							CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._INT, HPT0)
							If (LEqual (HPAS, One))
							{
								Store (0xFED01000, HPT0)
							}
							If (LEqual (HPAS, 0x02))
							{
								Store (0xFED02000, HPT0)
							}
							If (LEqual (HPAS, 0x03))
							{
								Store (0xFED03000, HPT0)
							}
						}
						Return (BUF0)
					}
				}
				Device (IPIC)
				{
					Name (_HID, EisaId ("PNP0000"))
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0020,			 // Range Minimum
							0x0020,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0024,			 // Range Minimum
							0x0024,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0028,			 // Range Minimum
							0x0028,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x002C,			 // Range Minimum
							0x002C,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0030,			 // Range Minimum
							0x0030,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0034,			 // Range Minimum
							0x0034,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0038,			 // Range Minimum
							0x0038,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x003C,			 // Range Minimum
							0x003C,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00A0,			 // Range Minimum
							0x00A0,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00A4,			 // Range Minimum
							0x00A4,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00A8,			 // Range Minimum
							0x00A8,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00AC,			 // Range Minimum
							0x00AC,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00B0,			 // Range Minimum
							0x00B0,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00B4,			 // Range Minimum
							0x00B4,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00B8,			 // Range Minimum
							0x00B8,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x00BC,			 // Range Minimum
							0x00BC,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x04D0,			 // Range Minimum
							0x04D0,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
					})
				}
				Device (MATH)
				{
					Name (_HID, EisaId ("PNP0C04"))
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x00F0,			 // Range Minimum
							0x00F0,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IRQNoFlags ()
							{13}
					})
				}
				Device (LDRC)
				{
					Name (_HID, EisaId ("PNP0C02"))
					Name (_UID, 0x02)
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x002E,			 // Range Minimum
							0x002E,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x004E,			 // Range Minimum
							0x004E,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0061,			 // Range Minimum
							0x0061,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0063,			 // Range Minimum
							0x0063,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0062,			 // Range Minimum
							0x0062,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0065,			 // Range Minimum
							0x0065,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0066,			 // Range Minimum
							0x0066,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0067,			 // Range Minimum
							0x0067,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0068,			 // Range Minimum
							0x0068,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x006C,			 // Range Minimum
							0x006C,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0070,			 // Range Minimum
							0x0070,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0080,			 // Range Minimum
							0x0080,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0092,			 // Range Minimum
							0x0092,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x00B2,			 // Range Minimum
							0x00B2,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
						IO (Decode16,
							0x0680,			 // Range Minimum
							0x0680,			 // Range Maximum
							0x01,			   // Alignment
							0x20,			   // Length
							)
						IO (Decode16,
							0x1000,			 // Range Minimum
							0x1000,			 // Range Maximum
							0x01,			   // Alignment
							0x10,			   // Length
							)
						IO (Decode16,
							0xFFFF,			 // Range Minimum
							0xFFFF,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0xFFFF,			 // Range Minimum
							0xFFFF,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0400,			 // Range Minimum
							0x0400,			 // Range Maximum
							0x01,			   // Alignment
							0x54,			   // Length
							)
						IO (Decode16,
							0x0458,			 // Range Minimum
							0x0458,			 // Range Maximum
							0x01,			   // Alignment
							0x28,			   // Length
							)
						IO (Decode16,
							0x0500,			 // Range Minimum
							0x0500,			 // Range Maximum
							0x01,			   // Alignment
							0x80,			   // Length
							)
						IO (Decode16,
							0x164E,			 // Range Minimum
							0x164E,			 // Range Maximum
							0x01,			   // Alignment
							0x02,			   // Length
							)
					})
				}
				Device (RTC)
				{
					Name (_HID, EisaId ("PNP0B00"))
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0070,			 // Range Minimum
							0x0070,			 // Range Maximum
							0x01,			   // Alignment
							0x08,			   // Length
							)
					})
				}
				Device (TIMR)
				{
					Name (_HID, EisaId ("PNP0100"))
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0040,			 // Range Minimum
							0x0040,			 // Range Maximum
							0x01,			   // Alignment
							0x04,			   // Length
							)
						IO (Decode16,
							0x0050,			 // Range Minimum
							0x0050,			 // Range Maximum
							0x10,			   // Alignment
							0x04,			   // Length
							)
					})
				}
				Device (CWDT)
				{
					Name (_HID, EisaId ("INT3F0D"))
					Name (_CID, EisaId ("PNP0C02"))
					Name (BUF0, ResourceTemplate ()
					{
						IO (Decode16,
							0x0454,			 // Range Minimum
							0x0454,			 // Range Maximum
							0x04,			   // Alignment
							0x04,			   // Length
							)
					})
					Method (_STA, 0, Serialized)
					{
						Return (0x0F)
					}
					Method (_CRS, 0, Serialized)
					{
						Return (BUF0)
					}
				}
				Device (KBC)
				{
					Method (_HID, 0, NotSerialized)
					{
						If (LLess (OSYS, 0x07DC))
						{
							Return (0x0303D041)
						}
						Return (0x0111F351)
					}
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0060,			 // Range Minimum
							0x0060,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IO (Decode16,
							0x0064,			 // Range Minimum
							0x0064,			 // Range Maximum
							0x01,			   // Alignment
							0x01,			   // Length
							)
						IRQ (Edge, ActiveHigh, Exclusive, )
							{1}
					})
					Name (_CID, EisaId ("PNP0303"))
				}
				Device (MOUE)
				{
					Method (_HID, 0, NotSerialized)
					{
						Return (0x1003F351)
					}
					Name (_CID, Package (0x03)
					{
						EisaId ("SYN1900"), 
						EisaId ("SYN0002"), 
						EisaId ("PNP0F13")
					})
					Name (_CRS, ResourceTemplate ()
					{
						IRQ (Edge, ActiveHigh, Exclusive, )
							{12}
					})
				}
				Device (NCIR)
				{
					Method (_STA, 0, NotSerialized)
					{
						If (LEqual (And (ECE2, 0x06), 0x06))
						{
							If (LEqual (IREX, One))
							{
								Return (0xFF)
							}
						}
						Return (Zero)
					}
					Method (_HID, 0, NotSerialized)
					{
						Return (0x2310A35C)
					}
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0620,			 // Range Minimum
							0x0620,			 // Range Maximum
							0x01,			   // Alignment
							0x20,			   // Length
							)
						IRQ (Edge, ActiveHigh, Exclusive, )
							{4}
					})
				}
				Device (RCIR)
				{
					Method (_STA, 0, NotSerialized)
					{
						If (LEqual (And (ECE2, 0x02), 0x02))
						{
							If (LNotEqual (And (ECE2, 0x04), 0x04))
							{
								If (LEqual (IREX, One))
								{
									Return (0xFF)
								}
							}
						}
						Return (Zero)
					}
					Method (_HID, 0, NotSerialized)
					{
						Return (0x2310A35C)
					}
					Name (_CRS, ResourceTemplate ()
					{
						IO (Decode16,
							0x0620,			 // Range Minimum
							0x0620,			 // Range Maximum
							0x01,			   // Alignment
							0x20,			   // Length
							)
						IRQ (Edge, ActiveHigh, Exclusive, )
							{4}
					})
				}
			}
		}
	}
	Name (XINI, Zero)
	Mutex (MUTX, 0x00)
	OperationRegion (PRT0, SystemIO, 0x80, 0x04)
	Field (PRT0, DWordAcc, Lock, Preserve)
	{
		P80H,   32
	}
	Method (P8XH, 3, Serialized)
	{
		If (LEqual (Arg0, Zero))
		{
			Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
		}
		If (LEqual (Arg0, One))
		{
			Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
				), P80D)
		}
		If (LEqual (Arg0, 0x02))
		{
			Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
				), P80D)
		}
		If (LEqual (Arg0, 0x03))
		{
			Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
				), P80D)
		}
		If (LEqual (Arg0, 0x04))
		{
			Store (Or (And (P80D, Zero), Arg1), P80D)
		}
		If (LEqual (Arg2, Zero)) {}
		If (LEqual (Arg2, One))
		{
			Store (P80D, P80H)
		}
	}
	OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
	Field (SPRT, ByteAcc, Lock, Preserve)
	{
		SSMP,   8
	}
	Method (_PIC, 1, NotSerialized)
	{
		Store (Arg0, GPIC)
		Store (Arg0, PICM)
	}
	Method (_PTS, 1, NotSerialized)
	{
		Store (Zero, P80D)
		P8XH (Zero, Arg0, Zero)
		Store (Arg0, SLPS)
		\_SB.TPTS (Arg0)
		If (LEqual (Arg0, 0x03))
		{
			P8XH (0x04, 0x53, Zero)
			P8XH (0x04, 0x53, One)
			If (LAnd (DTSE, LGreater (TCNT, One)))
			{
				TRAP (TRTD, 0x1E)
			}
		}
		If (LEqual (Arg0, 0x04))
		{
			P8XH (0x04, 0x54, Zero)
			P8XH (0x04, 0x54, One)
		}
		If (LEqual (Arg0, 0x05))
		{
			P8XH (0x04, 0x55, Zero)
			P8XH (0x04, 0x55, One)
		}
		If (LOr (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)), LEqual (
			Arg0, 0x05)))
		{
			If (LEqual (PFLV, FDTP))
			{
				Store (One, GP27)
			}
		}
	}
	Method (_WAK, 1, Serialized)
	{
		Store (Zero, P80D)
		If (NEXP)
		{
			If (And (OSCC, 0x02))
			{
				\_SB.PCI0.NHPG ()
			}
			If (And (OSCC, 0x04))
			{
				\_SB.PCI0.NPME ()
			}
		}
		If (LEqual (Arg0, 0x03))
		{
			P8XH (0x04, 0xE3, Zero)
			P8XH (0x04, 0xE3, One)
			Store (0x70, SSMP)
			Store (0x22, \_SB.KUPP)
		}
		If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
		{
			If (LAnd (DTSE, LGreater (TCNT, One)))
			{
				TRAP (TRTD, 0x14)
			}
			If (LEqual (OSYS, 0x07D2))
			{
				If (And (CFGD, One))
				{
					If (LGreater (\_PR.CPU0._PPC, Zero))
					{
						Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
						PNOT ()
						Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
						PNOT ()
					}
					Else
					{
						Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
						PNOT ()
						Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
						PNOT ()
					}
				}
			}
			If (LEqual (ECON, One)) {}
			If (LEqual (RP1D, Zero))
			{
				Notify (\_SB.PCI0.RP01, Zero)
			}
			If (LEqual (RP2D, Zero))
			{
				Notify (\_SB.PCI0.RP02, Zero)
			}
			If (LEqual (RP3D, Zero))
			{
				Notify (\_SB.PCI0.RP03, Zero)
			}
			If (LEqual (RP4D, Zero))
			{
				Notify (\_SB.PCI0.RP04, Zero)
			}
			If (LEqual (RP5D, Zero))
			{
				Notify (\_SB.PCI0.RP05, Zero)
			}
			If (LEqual (RP6D, Zero))
			{
				Notify (\_SB.PCI0.RP06, Zero)
			}
			If (LEqual (RP7D, Zero))
			{
				If (LEqual (DSTS, Zero))
				{
					Notify (\_SB.PCI0.RP07, Zero)
				}
			}
			If (LEqual (RP8D, Zero))
			{
				If (LEqual (DSTS, Zero))
				{
					Notify (\_SB.PCI0.RP08, Zero)
				}
			}
		}
		If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
		{
			\_SB.PCI0.XHC.XWAK ()
			\_PR.CPU0.CTLD ()
		}
		If (LEqual (Arg0, 0x04))
		{
			\_SB.PCI0.LPCB.LREG ()
			P8XH (0x04, 0xE4, Zero)
			P8XH (0x04, 0xE4, One)
		}
		If (LEqual (Arg0, 0x05))
		{
			P8XH (0x04, 0xE5, Zero)
			P8XH (0x04, 0xE5, One)
		}
		\_SB.TWAK (Arg0)
		Return (Package (0x02)
		{
			Zero, 
			Zero
		})
	}
	Method (GETB, 3, Serialized)
	{
		Multiply (Arg0, 0x08, Local0)
		Multiply (Arg1, 0x08, Local1)
		CreateField (Arg2, Local0, Local1, TBF3)
		Return (TBF3)
	}
	Method (PNOT, 0, Serialized)
	{
		If (LGreater (TCNT, One))
		{
			If (And (PDC0, 0x08))
			{
				Notify (\_PR.CPU0, 0x80)
				If (And (PDC0, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU0, 0x81)
				}
			}
			If (And (PDC1, 0x08))
			{
				Notify (\_PR.CPU1, 0x80)
				If (And (PDC1, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU1, 0x81)
				}
			}
			If (And (PDC2, 0x08))
			{
				Notify (\_PR.CPU2, 0x80)
				If (And (PDC2, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU2, 0x81)
				}
			}
			If (And (PDC3, 0x08))
			{
				Notify (\_PR.CPU3, 0x80)
				If (And (PDC3, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU3, 0x81)
				}
			}
			If (And (PDC4, 0x08))
			{
				Notify (\_PR.CPU4, 0x80)
				If (And (PDC4, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU4, 0x81)
				}
			}
			If (And (PDC5, 0x08))
			{
				Notify (\_PR.CPU5, 0x80)
				If (And (PDC5, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU5, 0x81)
				}
			}
			If (And (PDC6, 0x08))
			{
				Notify (\_PR.CPU6, 0x80)
				If (And (PDC6, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU6, 0x81)
				}
			}
			If (And (PDC7, 0x08))
			{
				Notify (\_PR.CPU7, 0x80)
				If (And (PDC7, 0x10))
				{
					Sleep (0x64)
					Notify (\_PR.CPU7, 0x81)
				}
			}
		}
		Else
		{
			Notify (\_PR.CPU0, 0x80)
			Sleep (0x64)
			Notify (\_PR.CPU0, 0x81)
		}
	}
	Method (TRAP, 2, Serialized)
	{
		Store (Arg1, SMIF)
		If (LEqual (Arg0, TRTP))
		{
			Store (Zero, TRP0)
		}
		If (LEqual (Arg0, TRTD))
		{
			Store (Arg1, DTSF)
			Store (Zero, TRPD)
			Return (DTSF)
		}
		If (LEqual (Arg0, TRTI))
		{
			Store (Zero, TRPH)
		}
		Return (SMIF)
	}
	Scope (_SB.PCI0)
	{
		Method (_INI, 0, NotSerialized)
		{
			Store (0x07D0, OSYS)
			If (CondRefOf (\_OSI, Local0))
			{
				If (_OSI ("Windows 2001"))
				{
					Store (0x07D1, OSYS)
				}
				If (_OSI ("Windows 2001 SP1"))
				{
					Store (0x07D1, OSYS)
				}
				If (_OSI ("Windows 2001 SP2"))
				{
					Store (0x07D2, OSYS)
				}
				If (_OSI ("Windows 2001.1"))
				{
					Store (0x07D3, OSYS)
				}
				If (_OSI ("Windows 2006"))
				{
					Store (0x07D6, OSYS)
				}
				If (_OSI ("Windows 2009"))
				{
					Store (0x07D9, OSYS)
				}
				If (_OSI ("Windows 2012"))
				{
					Store (0x07DC, OSYS)
				}
			}
			If (LGreater (OSYS, 0x07D5))
			{
				OSMI (0xE4)
				^LPCB.LREG ()
			}
			Else
			{
				Store (Zero, XINI)
			}
		}
		Method (NHPG, 0, Serialized)
		{
			Store (Zero, ^RP01.HPEX)
			Store (Zero, ^RP02.HPEX)
			Store (Zero, ^RP03.HPEX)
			Store (Zero, ^RP04.HPEX)
			Store (One, ^RP01.HPSX)
			Store (One, ^RP02.HPSX)
			Store (One, ^RP03.HPSX)
			Store (One, ^RP04.HPSX)
		}
		Method (NPME, 0, Serialized)
		{
			Store (Zero, ^RP01.PMEX)
			Store (Zero, ^RP02.PMEX)
			Store (Zero, ^RP03.PMEX)
			Store (Zero, ^RP04.PMEX)
			Store (Zero, ^RP05.PMEX)
			Store (Zero, ^RP06.PMEX)
			Store (Zero, ^RP07.PMEX)
			Store (Zero, ^RP08.PMEX)
			Store (One, ^RP01.PMSX)
			Store (One, ^RP02.PMSX)
			Store (One, ^RP03.PMSX)
			Store (One, ^RP04.PMSX)
			Store (One, ^RP05.PMSX)
			Store (One, ^RP06.PMSX)
			Store (One, ^RP07.PMSX)
			Store (One, ^RP08.PMSX)
		}
	}
	Scope (\)
	{
		Name (PICM, Zero)
	}
	Scope (_PR)
	{
		Processor (CPU0, 0x01, 0x00000410, 0x06)
		{
			Method (_DSM, 4, NotSerialized)
			{
				Store ("Writing plugin-type to Registry!", Debug)
				Store (Package (0x02)
					{
						"plugin-type", 
						One
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}
		Processor (CPU1, 0x02, 0x00000410, 0x06)
		{
		}
		Processor (CPU2, 0x03, 0x00000410, 0x06)
		{
		}
		Processor (CPU3, 0x04, 0x00000410, 0x06)
		{
		}
		Processor (CPU4, 0x05, 0x00000410, 0x06)
		{
		}
		Processor (CPU5, 0x06, 0x00000410, 0x06)
		{
		}
		Processor (CPU6, 0x07, 0x00000410, 0x06)
		{
		}
		Processor (CPU7, 0x08, 0x00000410, 0x06)
		{
		}
	}
	Scope (_TZ)
	{
		PowerResource (FN00, 0x00, 0x0000)
		{
			Method (_STA, 0, Serialized)
			{
				Return (One)
			}
			Method (_ON, 0, Serialized)
			{
			}
			Method (_OFF, 0, Serialized)
			{
			}
		}
		Device (FAN)
		{
			Name (_HID, EisaId ("PNP0C0B"))
			Name (_UID, Zero)
			Name (_PR0, Package (0x01)
			{
				FN00
			})
		}
		ThermalZone (THRM)
		{
			Method (_TMP, 0, Serialized)
			{
				Store (\_SB.PCI0.LPCB.EC9C, Local0)
				If (LGreater (Local0, 0x72))
				{
					Return (0x0EB2)
				}
				Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
			}
			Method (_AC0, 0, Serialized)
			{
				Return (0x0D68)
			}
			Method (_PSV, 0, Serialized)
			{
				If (\_SB.CPTO)
				{
					Return (0x0EF8)
				}
				Else
				{
					Return (0x0FA2)
				}
			}
			Method (_CRT, 0, Serialized)
			{
				If (\_SB.CPTO)
				{
					Return (0x0EF8)
				}
				Else
				{
					Return (0x0FA2)
				}
			}
			Method (_SCP, 1, Serialized)
			{
				Store (Arg0, CTYP)
			}
			Name (_AL0, Package (0x01)
			{
				FAN
			})
			Method (_PSL, 0, Serialized)
			{
				If (LEqual (TCNT, 0x08))
				{
					Return (Package (0x08)
					{
						\_PR.CPU0, 
						\_PR.CPU1, 
						\_PR.CPU2, 
						\_PR.CPU3, 
						\_PR.CPU4, 
						\_PR.CPU5, 
						\_PR.CPU6, 
						\_PR.CPU7
					})
				}
				If (LEqual (TCNT, 0x04))
				{
					Return (Package (0x04)
					{
						\_PR.CPU0, 
						\_PR.CPU1, 
						\_PR.CPU2, 
						\_PR.CPU3
					})
				}
				If (LEqual (TCNT, 0x02))
				{
					Return (Package (0x02)
					{
						\_PR.CPU0, 
						\_PR.CPU1
					})
				}
				Return (Package (0x01)
				{
					\_PR.CPU0
				})
			}
			Name (_TC1, 0x02)
			Name (_TC2, 0x05)
			Name (_TSP, 0x012C)
		}
	}
	Scope (_SB.PCI0)
	{
		Device (PDRC)
		{
			Name (_HID, EisaId ("PNP0C02"))
			Name (_UID, One)
			Name (BUF0, ResourceTemplate ()
			{
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00004000,		 // Address Length
					_Y11)
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00008000,		 // Address Length
					_Y13)
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00001000,		 // Address Length
					_Y14)
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00001000,		 // Address Length
					_Y15)
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00000000,		 // Address Length
					_Y16)
				Memory32Fixed (ReadWrite,
					0xFED20000,		 // Address Base
					0x00020000,		 // Address Length
					)
				Memory32Fixed (ReadOnly,
					0xFED90000,		 // Address Base
					0x00004000,		 // Address Length
					)
				Memory32Fixed (ReadOnly,
					0xFF000000,		 // Address Base
					0x01000000,		 // Address Length
					)
				Memory32Fixed (ReadOnly,
					0xFEE00000,		 // Address Base
					0x00100000,		 // Address Length
					)
				Memory32Fixed (ReadWrite,
					0x00000000,		 // Address Base
					0x00001000,		 // Address Length
					_Y12)
				Memory32Fixed (ReadWrite,
					0xFF700000,		 // Address Base
					0x00000200,		 // Address Length
					)
			})
			Method (_CRS, 0, Serialized)
			{
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, RBR0)
				ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, TBR0)
				Store (TBAB, TBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._LEN, TBLN)
				If (LEqual (TBAB, Zero))
				{
					Store (Zero, TBLN)
				}
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0)
				ShiftLeft (MHBR, 0x0F, MBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0)
				ShiftLeft (DIBR, 0x0C, DBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0)
				ShiftLeft (EPBR, 0x0C, EBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0)
				ShiftLeft (PXBR, 0x1A, XBR0)
				CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0)
				ShiftRight (0x10000000, PXSZ, XSZ0)
				Return (BUF0)
			}
		}
	}
	Method (BRTN, 1, Serialized)
	{
		If (LEqual (And (DID1, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD01, Arg0)
		}
		If (LEqual (And (DID2, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD02, Arg0)
		}
		If (LEqual (And (DID3, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD03, Arg0)
		}
		If (LEqual (And (DID4, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD04, Arg0)
		}
		If (LEqual (And (DID5, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD05, Arg0)
		}
		If (LEqual (And (DID6, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD06, Arg0)
		}
		If (LEqual (And (DID7, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD07, Arg0)
		}
		If (LEqual (And (DID8, 0x0F00), 0x0400))
		{
			Notify (\_SB.PCI0.GFX0.DD08, Arg0)
		}
	}
	Scope (_GPE)
	{
		Method (_L0B, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.P0P1, 0x02)
		}
		Method (_L09, 0, NotSerialized)
		{
			If (LEqual (RP1D, Zero))
			{
				\_SB.PCI0.RP01.HPME ()
				Notify (\_SB.PCI0.RP01, 0x02)
			}
			If (LEqual (RP2D, Zero))
			{
				\_SB.PCI0.RP02.HPME ()
				Notify (\_SB.PCI0.RP02, 0x02)
			}
			If (LEqual (RP3D, Zero))
			{
				\_SB.PCI0.RP03.HPME ()
				Notify (\_SB.PCI0.RP03, 0x02)
			}
			If (LEqual (RP4D, Zero))
			{
				\_SB.PCI0.RP04.HPME ()
				Notify (\_SB.PCI0.RP04, 0x02)
			}
			If (LEqual (RP5D, Zero))
			{
				\_SB.PCI0.RP05.HPME ()
				Notify (\_SB.PCI0.RP05, 0x02)
			}
			If (LEqual (RP6D, Zero))
			{
				\_SB.PCI0.RP06.HPME ()
				Notify (\_SB.PCI0.RP06, 0x02)
			}
			If (LEqual (RP7D, Zero))
			{
				\_SB.PCI0.RP07.HPME ()
				Notify (\_SB.PCI0.RP07, 0x02)
			}
			If (LEqual (RP8D, Zero))
			{
				\_SB.PCI0.RP08.HPME ()
				Notify (\_SB.PCI0.RP08, 0x02)
			}
			Notify (\_SB.PCI0.PEG0, 0x02)
			Notify (\_SB.PCI0.PEG0.PEGP, 0x02)
			Notify (\_SB.PCI0.PEG1, 0x02)
			Notify (\_SB.PCI0.PEG2, 0x02)
			Notify (\_SB.PCI0.PEG3, 0x02)
		}
		Method (_L0D, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.EHC1, 0x02)
			Notify (\_SB.PCI0.EHC2, 0x02)
			Notify (\_SB.PCI0.HDEF, 0x02)
			Notify (\_SB.PCI0.GLAN, 0x02)
			Notify (\_SB.PCI0.XHC, 0x02)
			If (LAnd (\_SB.PCI0.XHC.PMES, \_SB.PCI0.XHC.PMES))
			{
				Store (One, \_SB.PCI0.XHC.PMES)
			}
		}
		Method (_L01, 0, NotSerialized)
		{
			Add (L01C, One, L01C)
			If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
			{
				P8XH (One, One, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP01.PDCX)
				{
					Store (One, \_SB.PCI0.RP01.PDCX)
					Store (One, \_SB.PCI0.RP01.HPSX)
					If (LNot (\_SB.PCI0.RP01.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP01.L0SE)
					}
					Notify (\_SB.PCI0.RP01, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP01.HPSX)
				}
			}
			If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
			{
				P8XH (One, 0x02, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP02.PDCX)
				{
					Store (One, \_SB.PCI0.RP02.PDCX)
					Store (One, \_SB.PCI0.RP02.HPSX)
					If (LNot (\_SB.PCI0.RP02.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP02.L0SE)
					}
					Notify (\_SB.PCI0.RP02, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP02.HPSX)
				}
			}
			If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
			{
				P8XH (One, 0x03, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP03.PDCX)
				{
					Store (One, \_SB.PCI0.RP03.PDCX)
					Store (One, \_SB.PCI0.RP03.HPSX)
					If (LNot (\_SB.PCI0.RP03.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP03.L0SE)
					}
					Notify (\_SB.PCI0.RP03, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP03.HPSX)
				}
			}
			If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
			{
				P8XH (One, 0x04, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP04.PDCX)
				{
					Store (One, \_SB.PCI0.RP04.PDCX)
					Store (One, \_SB.PCI0.RP04.HPSX)
					If (LNot (\_SB.PCI0.RP04.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP04.L0SE)
					}
					Notify (\_SB.PCI0.RP04, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP04.HPSX)
				}
			}
			If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
			{
				P8XH (One, 0x05, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP05.PDCX)
				{
					Store (One, \_SB.PCI0.RP05.PDCX)
					Store (One, \_SB.PCI0.RP05.HPSX)
					If (LNot (\_SB.PCI0.RP05.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP05.L0SE)
					}
					Notify (\_SB.PCI0.RP05, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP05.HPSX)
				}
			}
			If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX))
			{
				Sleep (0x64)
				If (\_SB.PCI0.RP06.PDCX)
				{
					Store (One, \_SB.PCI0.RP06.PDCX)
					Store (One, \_SB.PCI0.RP06.HPSX)
					If (LNot (\_SB.PCI0.RP06.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP06.L0SE)
					}
					Notify (\_SB.PCI0.RP06, Zero)
				}
				Else
				{
					Store (One, \_SB.PCI0.RP06.HPSX)
				}
			}
			If (LAnd (LEqual (RP7D, Zero), \_SB.PCI0.RP07.HPSX))
			{
				P8XH (One, 0x07, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP07.PDCX)
				{
					Store (One, \_SB.PCI0.RP07.PDCX)
					Store (One, \_SB.PCI0.RP07.HPSX)
					If (LNot (\_SB.PCI0.RP07.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP07.L0SE)
					}
				}
				Else
				{
					Store (One, \_SB.PCI0.RP07.HPSX)
				}
			}
			If (LAnd (LEqual (RP8D, Zero), \_SB.PCI0.RP08.HPSX))
			{
				P8XH (One, 0x08, One)
				P8XH (Zero, L01C, One)
				Sleep (0x64)
				If (\_SB.PCI0.RP08.PDCX)
				{
					Store (One, \_SB.PCI0.RP08.PDCX)
					Store (One, \_SB.PCI0.RP08.HPSX)
					If (LNot (\_SB.PCI0.RP08.PDSX))
					{
						Store (Zero, \_SB.PCI0.RP08.L0SE)
					}
				}
				Else
				{
					Store (One, \_SB.PCI0.RP08.HPSX)
				}
			}
		}
		Method (_L02, 0, NotSerialized)
		{
			Store (Zero, GPEC)
			If (CondRefOf (\_SB.PCI0.IEIT.EITV))
			{
				\_SB.PCI0.IEIT.EITV ()
			}
			If (CondRefOf (\TNOW))
			{
				TNOT ()
			}
		}
		Method (_L06, 0, NotSerialized)
		{
			If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI)))
			{
				\_SB.PCI0.GFX0.GSCI ()
			}
		}
		Method (_L07, 0, NotSerialized)
		{
			Store (0x20, \_SB.PCI0.SBUS.HSTS)
		}
	}
	Scope (\)
	{
		OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
		Field (IO_T, ByteAcc, NoLock, Preserve)
		{
			TRPI,   16, 
			Offset (0x04), 
			Offset (0x06), 
			Offset (0x08), 
			TRP0,   8, 
			Offset (0x0A), 
			Offset (0x0B), 
			Offset (0x0C), 
			Offset (0x0D), 
			Offset (0x0E), 
			Offset (0x0F), 
			Offset (0x10)
		}
		OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
		Field (IO_D, ByteAcc, NoLock, Preserve)
		{
			TRPD,   8
		}
		OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
		Field (IO_H, ByteAcc, NoLock, Preserve)
		{
			TRPH,   8
		}
		OperationRegion (PMIO, SystemIO, PMBS, 0x80)
		Field (PMIO, ByteAcc, NoLock, Preserve)
		{
				,   14, 
			PEWS,   1, 
			Offset (0x28), 
			Offset (0x2A), 
				,   3, 
			GPE3,   1, 
			Offset (0x3C), 
			PMEN,   1, 
			UPRW,   1, 
			Offset (0x42), 
				,   1, 
			GPEC,   1
		}
		Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
		{
			Offset (0x20), 
			Offset (0x22), 
				,   3, 
			GPS3,   1, 
			Offset (0x64), 
				,   9, 
			SCIS,   1, 
			Offset (0x66)
		}
		OperationRegion (GPIO, SystemIO, GPBS, 0x64)
		Field (GPIO, ByteAcc, NoLock, Preserve)
		{
			GU00,   8, 
			GU01,   8, 
			GU02,   8, 
			GU03,   8, 
			GIO0,   8, 
			GIO1,   8, 
			GIO2,   8, 
			GIO3,   8, 
			Offset (0x0C), 
			GL00,   8, 
			GL01,   8, 
			GL02,   8, 
			GP24,   1, 
				,   2, 
			GP27,   1, 
			GP28,   1, 
			Offset (0x10), 
			Offset (0x18), 
			GB00,   8, 
			GB01,   8, 
			GB02,   8, 
			GB03,   8, 
			Offset (0x2C), 
			GIV0,   8, 
			GIV1,   8, 
			GIV2,   8, 
			GIV3,   8, 
			GU04,   8, 
			GU05,   8, 
			GU06,   8, 
			GU07,   8, 
			GIO4,   8, 
			GIO5,   8, 
			GIO6,   8, 
			GIO7,   8, 
			GL04,   8, 
			GL05,   8, 
			GL06,   8, 
				,   1, 
			BTIO,   1, 
			Offset (0x3C), 
			Offset (0x40), 
			GU08,   8, 
			GU09,   8, 
			GU0A,   8, 
			GU0B,   8, 
			GIO8,   8, 
			GIO9,   8, 
			GIOA,   8, 
			GIOB,   8, 
			GL08,   8, 
			GL09,   8, 
			GL0A,   8, 
			GL0B,   8
		}
		OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
		Field (RCRB, DWordAcc, Lock, Preserve)
		{
			Offset (0x1000), 
			Offset (0x3000), 
			Offset (0x3404), 
			HPAS,   2, 
				,   5, 
			HPAE,   1, 
			Offset (0x3418), 
				,   1, 
				,   1, 
			SATD,   1, 
			SMBD,   1, 
			HDAD,   1, 
			Offset (0x341A), 
			RP1D,   1, 
			RP2D,   1, 
			RP3D,   1, 
			RP4D,   1, 
			RP5D,   1, 
			RP6D,   1, 
			RP7D,   1, 
			RP8D,   1, 
			Offset (0x359C), 
			UP0D,   1, 
			UP1D,   1, 
			UP2D,   1, 
			UP3D,   1, 
			UP4D,   1, 
			UP5D,   1, 
			UP6D,   1, 
			UP7D,   1, 
			UP8D,   1, 
			UP9D,   1, 
			UPAD,   1, 
			UPBD,   1, 
			UPCD,   1, 
			UPDD,   1, 
				,   1, 
			Offset (0x359E)
		}
		Method (GPI0, 4, NotSerialized)
		{
			If (LEqual (Or (Arg0, Arg1), Zero))
			{
				Return (Ones)
			}
			Else
			{
				If (And (LEqual (Arg0, Zero), LEqual (Arg1, One)))
				{
					Return (0x0384)
				}
			}
			Return (Multiply (0x1E, Subtract (0x09, Add (Arg2, Arg3))
				))
		}
		Method (GDMA, 2, NotSerialized)
		{
			If (LEqual (Arg0, One))
			{
				If (LEqual (Arg1, One))
				{
					Return (0x0F)
				}
			}
			Return (Ones)
		}
		Method (SFLG, 5, NotSerialized)
		{
			Store (Zero, Local0)
			Or (Arg1, Local0, Local0)
			Or (ShiftLeft (Arg0, One), Local0, Local0)
			Or (ShiftLeft (Arg2, 0x03), Local0, Local0)
			Or (ShiftLeft (Arg3, 0x02), Local0, Local0)
			Or (ShiftLeft (Arg4, 0x04), Local0, Local0)
			Return (Local0)
		}
		Method (SPIO, 3, NotSerialized)
		{
			Name (PBUF, Buffer (0x05)
			{
				 0x00, 0x00, 0x00, 0x00, 0x00
			})
			CreateByteField (PBUF, Zero, RCT)
			CreateByteField (PBUF, One, ISP)
			CreateByteField (PBUF, 0x02, FAST)
			CreateByteField (PBUF, 0x03, DMAE)
			CreateByteField (PBUF, 0x04, PIOT)
			If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, Ones)))
			{
				Return (PBUF)
			}
			If (LGreater (Arg0, 0xF0))
			{
				Store (One, DMAE)
				Store (Zero, PIOT)
			}
			Else
			{
				Store (One, FAST)
				If (And (Arg1, 0x02))
				{
					If (And (LEqual (Arg0, 0x78), And (Arg2, 0x02)))
					{
						Store (0x03, RCT)
						Store (0x02, ISP)
						Store (0x04, PIOT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0xB4), And (Arg2, One)
						))
					{
						Store (One, RCT)
						Store (0x02, ISP)
						Store (0x03, PIOT)
						Return (PBUF)
					}
					Else
					{
						Store (Zero, RCT)
						Store (One, ISP)
						Store (0x02, PIOT)
					}
				}
			}
			Return (PBUF)
		}
		Method (SDMA, 3, NotSerialized)
		{
			Name (PBUF, Buffer (0x05)
			{
				 0x00, 0x00, 0x00, 0x00
			})
			CreateByteField (PBUF, Zero, PCT)
			CreateByteField (PBUF, One, PCB)
			CreateByteField (PBUF, 0x02, UDMT)
			CreateByteField (PBUF, 0x03, UDME)
			CreateByteField (PBUF, 0x04, DMAT)
			If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, Ones)))
			{
				Return (PBUF)
			}
			If (LLessEqual (Arg0, 0x78))
			{
				If (And (Arg1, 0x04))
				{
					Store (One, UDME)
					If (And (LLessEqual (Arg0, 0x0F), And (Arg2, 0x40)
						))
					{
						Store (One, UDMT)
						Store (One, PCB)
						Store (One, PCT)
						Store (0x06, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x14), And (Arg2, 0x20)
						))
					{
						Store (One, UDMT)
						Store (One, PCB)
						Store (One, PCT)
						Store (0x05, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x1E), And (Arg2, 0x10)
						))
					{
						Store (One, PCB)
						Store (0x02, PCT)
						Store (0x04, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x2D), And (Arg2, 0x08)
						))
					{
						Store (One, PCB)
						Store (One, PCT)
						Store (0x03, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x3C), And (Arg2, 0x04)
						))
					{
						Store (0x02, PCT)
						Store (0x02, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x5A), And (Arg2, 0x02)
						))
					{
						Store (One, PCT)
						Store (One, DMAT)
						Return (PBUF)
					}
					If (And (LLessEqual (Arg0, 0x78), And (Arg2, One)
						))
					{
						Store (Zero, DMAT)
					}
				}
			}
			Return (PBUF)
		}
		Method (SETT, 3, Serialized)
		{
			If (And (Arg1, 0x02))
			{
				If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
				{
					Return (0x0B)
				}
				If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
				{
					Return (0x09)
				}
			}
			Return (0x04)
		}
	}
	Scope (_SB.PCI0)
	{
		Device (GLAN)
		{
			Name (_ADR, 0x00190000)
			Method (_PRW, 0, NotSerialized)
			{
				If (WOLE)
				{
					Return (Package (0x02)
					{
						0x0D, 
						0x04
					})
				}
				Else
				{
					Return (Package (0x02)
					{
						0x0D, 
						Zero
					})
				}
			}
		}
		Device (SMC)
		{
			Device (ALS0)
			{
				Name (_HID, "ACPI000")
				Name (_CID, "smcals")
				Method (_ALI, 0, NotSerialized)
				{
					Return (0x012C)
				}
				Name (_ALR, Package (0x03)
				{
					Package (0x02)
					{
						0x46, 
						Zero
					}, 
					Package (0x02)
					{
						0x64, 
						0x012C
					}, 
					Package (0x02)
					{
						0x96, 
						0x03E8
					}
				})
			}
		}
		Device (SMS0)
		{
			Name (_HID, EisaId ("APP0003"))
			Name (_CID, "smcsms")
			Method (_ALI, 0, NotSerialized)
			{
				Return (0x012C)
			}
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x03)
					{
						"disk-sense-level", 
						One, 
						Buffer (One)
						{
							 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}
		Device (EHC1)
		{
			Name (_ADR, 0x001D0000)
			OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
			Field (PWKE, DWordAcc, NoLock, Preserve)
			{
					,   1, 
				PWUC,   8
			}
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x09)
					{
						"AAPL,current-available", 
						0x0834, 
						"AAPL,current-extra", 
						0x0898, 
						"AAPL,current-extra-in-sleep", 
						0x0640, 
						"AAPL,max-port-current-in-sleep", 
						0x0834, 
						Buffer (One)
						{
							 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (Ones, PWUC)
				}
				Else
				{
					Store (Zero, PWUC)
				}
				Store (KUPP, Local0)
				And (Local0, 0x0F, Local0)
				If (LEqual (Local0, Zero))
				{
					And (KUPP, 0xF0, KUPP)
					Or (KUPP, 0x03, KUPP)
				}
				Else
				{
					And (KUPP, 0xF0, KUPP)
					Or (KUPP, One, KUPP)
				}
			}
			Method (_S3D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Method (_S4D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Device (HUBN)
			{
				Name (_ADR, Zero)
				Device (PR01)
				{
					Name (_ADR, One)
					Name (_UPC, Package (0x04)
					{
						Zero, 
						0xFF, 
						Zero, 
						Zero
					})
					Device (PR11)
					{
						Name (_ADR, One)
						Name (_UPC, Package (0x04)
						{
							0xFF, 
							Zero, 
							Zero, 
							Zero
						})
						Name (_PLD, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x91, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
							}
						})
					}
					Device (PR12)
					{
						Name (_ADR, 0x02)
						Name (_UPC, Package (0x04)
						{
							0xFF, 
							Zero, 
							Zero, 
							Zero
						})
						Name (_PLD, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x59, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
							}
						})
					}
					Device (PR13)
					{
						Name (_ADR, 0x03)
						Name (_UPC, Package (0x04)
						{
							0xFF, 
							Zero, 
							Zero, 
							Zero
						})
						Name (_PLD, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x59, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
							}
						})
					}
					Device (PR14)
					{
						Name (_ADR, 0x04)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR15)
					{
						Name (_ADR, 0x05)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR16)
					{
						Name (_ADR, 0x06)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR17)
					{
						Name (_ADR, 0x07)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR18)
					{
						Name (_ADR, 0x08)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
				}
			}
			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x03
			})
		}
		Device (EHC2)
		{
			Name (_ADR, 0x001A0000)
			OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
			Field (PWKE, DWordAcc, NoLock, Preserve)
			{
					,   1, 
				PWUC,   6
			}
			Method (_PSW, 1, NotSerialized)
			{
				If (Arg0)
				{
					Store (Ones, PWUC)
				}
				Else
				{
					Store (Zero, PWUC)
				}
				Store (KUPP, Local0)
				And (Local0, 0x0F, Local0)
				If (LEqual (Local0, Zero))
				{
					And (KUPP, 0xF0, KUPP)
					Or (KUPP, 0x03, KUPP)
				}
				Else
				{
					And (KUPP, 0xF0, KUPP)
					Or (KUPP, One, KUPP)
				}
			}
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0F)
					{
						"device-id", 
						Buffer (0x04)
						{
							 0x3A, 0x3A, 0x00, 0x00
						}, 
						"AAPL,clock-id", 
						Buffer (One)
						{
							 0x0A
						}, 
						"built-in", 
						Buffer (One)
						{
							 0x00
						}, 
						"device_type", 
						Buffer (0x05)
						{
							"EHCI"
						}, 
						"AAPL,current-available", 
						0x04B0, 
						"AAPL,current-extra", 
						0x02BC, 
						"AAPL,current-in-sleep", 
						0x03E8, 
						Buffer (One)
						{
							 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
			Method (_S3D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Method (_S4D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Device (HUBN)
			{
				Name (_ADR, Zero)
				Device (PR01)
				{
					Name (_ADR, One)
					Name (_UPC, Package (0x04)
					{
						Zero, 
						0xFF, 
						Zero, 
						Zero
					})
					Device (PR11)
					{
						Name (_ADR, One)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR12)
					{
						Name (_ADR, 0x02)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR13)
					{
						Name (_ADR, 0x03)
						Name (_UPC, Package (0x04)
						{
							0xFF, 
							Zero, 
							Zero, 
							Zero
						})
						Name (_PLD, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
							}
						})
						Device (CAM0)
						{
							Name (_ADR, Zero)
							Name (_UPC, Package (0x04)
							{
								0xFF, 
								Zero, 
								Zero, 
								Zero
							})
							Name (_PLD, Package (0x01)
							{
								Buffer (0x14)
								{
									/* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
									/* 0008 */   0x25, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
									/* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
								}
							})
						}
						Device (CAM1)
						{
							Name (_ADR, 0x03)
							Name (_UPC, Package (0x04)
							{
								0xFF, 
								Zero, 
								Zero, 
								Zero
							})
							Name (_PLD, Package (0x01)
							{
								Buffer (0x14)
								{
									/* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
									/* 0008 */   0x25, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
									/* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
								}
							})
						}
					}
					Device (PR14)
					{
						Name (_ADR, 0x04)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR15)
					{
						Name (_ADR, 0x05)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
					Device (PR16)
					{
						Name (_ADR, 0x06)
						Name (_UPC, Package (0x04)
						{
							Zero, 
							0xFF, 
							Zero, 
							Zero
						})
					}
				}
			}
		}
		Device (XHC)
		{
			Name (_ADR, 0x00140000)
			OperationRegion (XPRT, PCI_Config, 0x74, 0x6C)
			Field (XPRT, DWordAcc, NoLock, Preserve)
			{
				Offset (0x01), 
				PMEE,   1, 
					,   6, 
				PMES,   1, 
				Offset (0x5C), 
				PR2,	32, 
				PR2M,   32, 
				PR3,	32, 
				PR3M,   32
			}
			Name (XRST, Zero)
			Method (CUID, 1, Serialized)
			{
				If (LEqual (Arg0, Buffer (0x10)
						{
							/* 0000 */   0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C,
							/* 0008 */   0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71
						}))
				{
					Return (One)
				}
				Return (Zero)
			}
			Method (POSC, 3, Serialized)
			{
				CreateDWordField (Arg2, Zero, CDW1)
				CreateDWordField (Arg2, 0x08, CDW3)
				If (LNotEqual (Arg1, One))
				{
					Or (CDW1, 0x08, CDW1)
				}
				If (LEqual (XHCI, Zero))
				{
					Or (CDW1, 0x02, CDW1)
				}
				If (LNot (And (CDW1, One)))
				{
					If (And (CDW3, One))
					{
						ESEL ()
					}
					Else
					{
						XSEL ()
					}
				}
				Return (Arg2)
			}
			Method (XSEL, 0, Serialized)
			{
				If (LNotEqual (XHCI, Zero))
				{
					Store (One, XUSB)
					Store (One, XRST)
					Store (Zero, Local0)
					And (PR3, 0xFFFFFFF0, Local0)
					Or (Local0, XHPM, Local0)
					And (Local0, PR3M, PR3)
					Store (Zero, Local0)
					And (PR2, 0xFFFFFFF0, Local0)
					Or (Local0, XHPM, Local0)
					And (Local0, PR2M, PR2)
				}
			}
			Method (ESEL, 0, Serialized)
			{
				If (LNotEqual (XHCI, Zero))
				{
					And (PR3, 0xFFFFFFF0, PR3)
					And (PR2, 0xFFFFFFF0, PR2)
					Store (Zero, XUSB)
					Store (Zero, XRST)
				}
			}
			Method (XWAK, 0, Serialized)
			{
				If (LOr (LEqual (XUSB, One), LEqual (XRST, One)))
				{
					XSEL ()
				}
			}
			Method (_S3D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Method (_S4D, 0, NotSerialized)
			{
				Return (0x02)
			}
			Method (_PSW, 1, NotSerialized)
			{
				Store (KUPP, Local0)
				And (Local0, 0xF0, Local0)
				If (LEqual (Local0, Zero))
				{
					And (KUPP, 0x0F, KUPP)
					Or (KUPP, 0x30, KUPP)
				}
				Else
				{
					And (KUPP, 0x0F, KUPP)
					Or (KUPP, 0x10, KUPP)
				}
			}
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0F)
					{
						"device-id", 
						Buffer (0x04)
						{
							 0x3C, 0x3A, 0x00, 0x00
						}, 
						"AAPL,clock-id", 
						Buffer (One)
						{
							 0x0A
						}, 
						"built-in", 
						Buffer (One)
						{
							 0x00
						}, 
						"device_type", 
						Buffer (0x05)
						{
							"XHCI"
						}, 
						"AAPL,current-available", 
						0x04B0, 
						"AAPL,current-extra", 
						0x02BC, 
						"AAPL,current-in-sleep", 
						0x03E8, 
						Buffer (One)
						{
							 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
			Device (RHUB)
			{
				Name (_ADR, Zero)
				Device (HSP1)
				{
					Name (_ADR, One)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR2, One)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR2, One)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (HSP2)
				{
					Name (_ADR, 0x02)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR2, 0x02)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR2, 0x02)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (HSP3)
				{
					Name (_ADR, 0x03)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR2, 0x04)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR2, 0x04)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (HSP4)
				{
					Name (_ADR, 0x04)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR2, 0x08)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR2, 0x08)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (SSP1)
				{
					Name (_ADR, 0x05)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR3, One)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR3, One)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (SSP2)
				{
					Name (_ADR, 0x06)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR3, 0x02)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR3, 0x02)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (SSP3)
				{
					Name (_ADR, 0x07)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR3, 0x04)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR3, 0x04)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
				Device (SSP4)
				{
					Name (_ADR, 0x08)
					Method (_UPC, 0, Serialized)
					{
						Name (UPCP, Package (0x04)
						{
							0xFF, 
							0x03, 
							Zero, 
							Zero
						})
						If (LNot (And (PR3, 0x08)))
						{
							Store (Zero, Index (UPCP, Zero))
						}
						Return (UPCP)
					}
					Method (_PLD, 0, Serialized)
					{
						Name (PLDP, Package (0x01)
						{
							Buffer (0x10)
							{
								/* 0000 */   0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
								/* 0008 */   0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
							}
						})
						CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
						If (LNot (And (PR3, 0x08)))
						{
							And (VIS, Zero, VIS)
						}
						Return (PLDP)
					}
				}
			}
			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x04
			})
		}
		Device (HDEF)
		{
			Name (_ADR, 0x001B0000)
			OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
			Field (HDAR, WordAcc, NoLock, Preserve)
			{
				DCKA,   1, 
				Offset (0x01), 
				DCKM,   1, 
					,   6, 
				DCKS,   1, 
				Offset (0x08), 
					,   15, 
				PMES,   1
			}
			Method (_PRW, 0, NotSerialized)
			{
				If (WKMD)
				{
					Return (Package (0x02)
					{
						0x0D, 
						0x03
					})
				}
				Else
				{
					Return (Package (0x02)
					{
						0x0D, 
						Zero
					})
				}
			}
		}
		Device (DOCK)
		{
			Name (_HID, "ABCD000")
			Name (_CID, EisaId ("PNP0C15"))
			Name (_UID, "SADDLESTRING")
			Method (_EJ0, 1, NotSerialized)
			{
				P8XH (Zero, 0xED, Zero)
				If (LEqual (ECON, One)) {}
				Return (One)
			}
			Method (_STA, 0, NotSerialized)
			{
				If (LEqual (ECON, Zero))
				{
					Return (Zero)
				}
				If (DSTS)
				{
					Return (0x0F)
				}
				Else
				{
					Return (Zero)
				}
			}
			Method (_DCK, 1, NotSerialized)
			{
				P8XH (Zero, 0xD3, Zero)
				If (Arg0)
				{
					Return (One)
				}
				Else
				{
					Store (Zero, DSTS)
					If (LEqual (ECON, One)) {}
					Return (One)
				}
			}
			Name (_EDL, Package (0x05)
			{
				^RP07.PXSX, 
				^RP08.PXSX, 
				EHC1, 
				SAT0, 
				HDEF
			})
		}
		Device (RP01)
		{
			Name (_ADR, 0x001C0000)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR05, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKD, 
					Zero
				}
			})
			Name (AR05, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x13
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR05)
				}
				Return (PR05)
			}
		}
		Device (RP02)
		{
			Name (_ADR, 0x001C0001)
			Device (ARPT)
			{
				Name (_ADR, Zero)
				Name (_SUN, One)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x04)
						{
							"model", 
							Buffer (0x13)
							{
								"Dell Wireless 1510"
							}, 
							"built-in", 
							Buffer (One)
							{
								 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (_PRW, Package (0x02)
			{
				0x09, 
				Zero
			})
			Name (PR06, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKA, 
					Zero
				}
			})
			Name (AR06, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x10
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR06)
				}
				Return (PR06)
			}
		}
		Device (RP03)
		{
			Name (_ADR, 0x001C0002)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR07, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKB, 
					Zero
				}
			})
			Name (AR07, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x11
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR07)
				}
				Return (PR07)
			}
		}
		Device (RP04)
		{
			Name (_ADR, 0x001C0003)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (PR08, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKC, 
					Zero
				}
			})
			Name (AR08, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x12
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR08)
				}
				Return (PR08)
			}
		}
		Device (RP05)
		{
			Name (_ADR, 0x001C0004)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (PR09, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKD, 
					Zero
				}
			})
			Name (AR09, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x13
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR09)
				}
				Return (PR09)
			}
		}
		Device (RP06)
		{
			Name (_ADR, 0x001C0005)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (PR0C, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKA, 
					Zero
				}
			})
			Name (AR0C, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x10
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR0C)
				}
				Return (PR0C)
			}
		}
		Device (RP07)
		{
			Name (_ADR, 0x001C0006)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (PR0D, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKE, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKF, 
					Zero
				}
			})
			Name (AR0D, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x14
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x15
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR0D)
				}
				Return (PR0D)
			}
		}
		Device (RP08)
		{
			Name (_ADR, 0x001C0007)
			OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
			Field (PXCS, AnyAcc, NoLock, Preserve)
			{
				Offset (0x10), 
				L0SE,   1, 
				Offset (0x11), 
				Offset (0x12), 
					,   13, 
				LASX,   1, 
				Offset (0x1A), 
				ABPX,   1, 
					,   2, 
				PDCX,   1, 
					,   2, 
				PDSX,   1, 
				Offset (0x1B), 
				Offset (0x20), 
				Offset (0x22), 
				PSPX,   1, 
				Offset (0x98), 
					,   30, 
				HPEX,   1, 
				PMEX,   1
			}
			Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
			{
				Offset (0x9C), 
					,   30, 
				HPSX,   1, 
				PMSX,   1
			}
			Device (PXSX)
			{
				Name (_ADR, Zero)
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
				Method (_PSW, 1, NotSerialized)
				{
					Store (Arg0, LPSW)
				}
			}
			Method (HPME, 0, Serialized)
			{
				If (PMSX)
				{
					Store (0xC8, Local0)
					While (Local0)
					{
						Store (One, PMSX)
						If (PMSX)
						{
							Decrement (Local0)
						}
						Else
						{
							Store (Zero, Local0)
						}
					}
					Notify (PXSX, 0x02)
				}
			}
			Name (PR0E, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKC, 
					Zero
				}
			})
			Name (AR0E, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x12
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR0E)
				}
				Return (PR0E)
			}
		}
		Device (SAT0)
		{
			Name (_ADR, 0x001F0002)
		}
		Device (SAT1)
		{
			Name (_ADR, 0x001F0005)
		}
		Device (SBUS)
		{
			Name (_ADR, 0x001F0003)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x04)
					{
						"name", 
						"pci8086,3a30", 
						"device-id", 
						Buffer (0x04)
						{
							 0x30, 0x3A, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
			OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
			Field (SMBP, DWordAcc, NoLock, Preserve)
			{
					,   2, 
				I2CE,   1
			}
			OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
			Field (SMPB, DWordAcc, NoLock, Preserve)
			{
					,   5, 
				SBAR,   11
			}
			OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
			Field (SMBI, ByteAcc, NoLock, Preserve)
			{
				HSTS,   8, 
				Offset (0x02), 
				HCON,   8, 
				HCOM,   8, 
				TXSA,   8, 
				DAT0,   8, 
				DAT1,   8, 
				HBDR,   8, 
				PECR,   8, 
				RXSA,   8, 
				SDAT,   16
			}
			Method (SSXB, 2, Serialized)
			{
				If (STRT ())
				{
					Return (Zero)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Arg0, TXSA)
				Store (Arg1, HCOM)
				Store (0x48, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (One)
				}
				Return (Zero)
			}
			Method (SRXB, 1, Serialized)
			{
				If (STRT ())
				{
					Return (0xFFFF)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Or (Arg0, One), TXSA)
				Store (0x44, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (DAT0)
				}
				Return (0xFFFF)
			}
			Method (SWRB, 3, Serialized)
			{
				If (STRT ())
				{
					Return (Zero)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Arg0, TXSA)
				Store (Arg1, HCOM)
				Store (Arg2, DAT0)
				Store (0x48, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (One)
				}
				Return (Zero)
			}
			Method (SRDB, 2, Serialized)
			{
				If (STRT ())
				{
					Return (0xFFFF)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Or (Arg0, One), TXSA)
				Store (Arg1, HCOM)
				Store (0x48, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (DAT0)
				}
				Return (0xFFFF)
			}
			Method (SWRW, 3, Serialized)
			{
				If (STRT ())
				{
					Return (Zero)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Arg0, TXSA)
				Store (Arg1, HCOM)
				And (Arg2, 0xFF, DAT1)
				And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
				Store (0x4C, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (One)
				}
				Return (Zero)
			}
			Method (SRDW, 2, Serialized)
			{
				If (STRT ())
				{
					Return (0xFFFF)
				}
				Store (Zero, I2CE)
				Store (0xBF, HSTS)
				Store (Or (Arg0, One), TXSA)
				Store (Arg1, HCOM)
				Store (0x4C, HCON)
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
				}
				Return (Ones)
			}
			Method (SBLW, 4, Serialized)
			{
				If (STRT ())
				{
					Return (Zero)
				}
				Store (Arg3, I2CE)
				Store (0xBF, HSTS)
				Store (Arg0, TXSA)
				Store (Arg1, HCOM)
				Store (SizeOf (Arg2), DAT0)
				Store (Zero, Local1)
				Store (DerefOf (Index (Arg2, Zero)), HBDR)
				Store (0x54, HCON)
				While (LGreater (SizeOf (Arg2), Local1))
				{
					Store (0x0FA0, Local0)
					While (LAnd (LNot (And (HSTS, 0x80)), Local0))
					{
						Decrement (Local0)
						Stall (0x32)
					}
					If (LNot (Local0))
					{
						KILL ()
						Return (Zero)
					}
					Store (0x80, HSTS)
					Increment (Local1)
					If (LGreater (SizeOf (Arg2), Local1))
					{
						Store (DerefOf (Index (Arg2, Local1)), HBDR)
					}
				}
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (One)
				}
				Return (Zero)
			}
			Method (SBLR, 3, Serialized)
			{
				Name (TBUF, Buffer (0x0100) {})
				If (STRT ())
				{
					Return (Zero)
				}
				Store (Arg2, I2CE)
				Store (0xBF, HSTS)
				Store (Or (Arg0, One), TXSA)
				Store (Arg1, HCOM)
				Store (0x54, HCON)
				Store (0x0FA0, Local0)
				While (LAnd (LNot (And (HSTS, 0x80)), Local0))
				{
					Decrement (Local0)
					Stall (0x32)
				}
				If (LNot (Local0))
				{
					KILL ()
					Return (Zero)
				}
				Store (DAT0, Index (TBUF, Zero))
				Store (0x80, HSTS)
				Store (One, Local1)
				While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
				{
					Store (0x0FA0, Local0)
					While (LAnd (LNot (And (HSTS, 0x80)), Local0))
					{
						Decrement (Local0)
						Stall (0x32)
					}
					If (LNot (Local0))
					{
						KILL ()
						Return (Zero)
					}
					Store (HBDR, Index (TBUF, Local1))
					Store (0x80, HSTS)
					Increment (Local1)
				}
				If (COMP ())
				{
					Or (HSTS, 0xFF, HSTS)
					Return (TBUF)
				}
				Return (Zero)
			}
			Method (STRT, 0, Serialized)
			{
				Store (0xC8, Local0)
				While (Local0)
				{
					If (And (HSTS, 0x40))
					{
						Decrement (Local0)
						Sleep (One)
						If (LEqual (Local0, Zero))
						{
							Return (One)
						}
					}
					Else
					{
						Store (Zero, Local0)
					}
				}
				Store (0x0FA0, Local0)
				While (Local0)
				{
					If (And (HSTS, One))
					{
						Decrement (Local0)
						Stall (0x32)
						If (LEqual (Local0, Zero))
						{
							KILL ()
						}
					}
					Else
					{
						Return (Zero)
					}
				}
				Return (One)
			}
			Method (COMP, 0, Serialized)
			{
				Store (0x0FA0, Local0)
				While (Local0)
				{
					If (And (HSTS, 0x02))
					{
						Return (One)
					}
					Else
					{
						Decrement (Local0)
						Stall (0x32)
						If (LEqual (Local0, Zero))
						{
							KILL ()
						}
					}
				}
				Return (Zero)
			}
			Method (KILL, 0, Serialized)
			{
				Or (HCON, 0x02, HCON)
				Or (HSTS, 0xFF, HSTS)
			}
		}
	}
	Name (BUFN, Zero)
	Name (MBUF, Buffer (0x1000) {})
	OperationRegion (MDBG, SystemMemory, 0xBAFB9018, 0x1004)
	Field (MDBG, AnyAcc, Lock, Preserve)
	{
		MDG0,   32768
	}
	Method (DB2H, 1, Serialized)
	{
		SHOW (Arg0)
		MDGC (0x20)
	}
	Method (DW2H, 1, Serialized)
	{
		Store (Arg0, Local0)
		ShiftRight (Arg0, 0x08, Local1)
		And (Local0, 0xFF, Local0)
		And (Local1, 0xFF, Local1)
		DB2H (Local1)
		Decrement (BUFN)
		DB2H (Local0)
	}
	Method (DD2H, 1, Serialized)
	{
		Store (Arg0, Local0)
		ShiftRight (Arg0, 0x10, Local1)
		And (Local0, 0xFFFF, Local0)
		And (Local1, 0xFFFF, Local1)
		DW2H (Local1)
		Decrement (BUFN)
		DW2H (Local0)
	}
	Method (MBGS, 1, Serialized)
	{
		Store (SizeOf (Arg0), Local0)
		Name (BUFS, Buffer (Local0) {})
		Store (Arg0, BUFS)
		MDGC (0x20)
		While (Local0)
		{
			MDGC (DerefOf (Index (BUFS, Subtract (SizeOf (Arg0), Local0))))
			Decrement (Local0)
		}
	}
	Method (SHOW, 1, Serialized)
	{
		MDGC (NTOC (ShiftRight (Arg0, 0x04)))
		MDGC (NTOC (Arg0))
	}
	Method (LINE, 0, Serialized)
	{
		Store (BUFN, Local0)
		And (Local0, 0x0F, Local0)
		While (Local0)
		{
			MDGC (Zero)
			Increment (Local0)
			And (Local0, 0x0F, Local0)
		}
	}
	Method (MDGC, 1, Serialized)
	{
		Store (Arg0, Index (MBUF, BUFN))
		Add (BUFN, One, BUFN)
		If (LGreater (BUFN, 0x0FFF))
		{
			And (BUFN, 0x0FFF, BUFN)
			UP_L (One)
		}
	}
	Method (UP_L, 1, Serialized)
	{
		Store (Arg0, Local2)
		ShiftLeft (Local2, 0x04, Local2)
		MOVE (Local2)
		Subtract (0x1000, Local2, Local3)
		While (Local2)
		{
			Store (Zero, Index (MBUF, Local3))
			Increment (Local3)
			Decrement (Local2)
		}
	}
	Method (MOVE, 1, Serialized)
	{
		Store (Arg0, Local4)
		Store (Zero, BUFN)
		Subtract (0x1000, Local4, Local5)
		While (Local5)
		{
			Decrement (Local5)
			Store (DerefOf (Index (MBUF, Local4)), Index (MBUF, BUFN))
			Increment (BUFN)
			Increment (Local4)
		}
	}
	Method (NTOC, 1, Serialized)
	{
		And (Arg0, 0x0F, Local0)
		If (LLess (Local0, 0x0A))
		{
			Add (Local0, 0x30, Local0)
		}
		Else
		{
			Add (Local0, 0x37, Local0)
		}
		Return (Local0)
	}
	Scope (_SB.PCI0.SAT0)
	{
		Device (PRT5)
		{
			Name (_ADR, 0x0005FFFF)
			Method (_DSM, 4, Serialized)
			{
				Name (T_1, Zero)
				Name (T_0, Zero)
				If (LEqual (Arg0, Buffer (0x10)
						{
							/* 0000 */   0x30, 0xEF, 0xFA, 0xBD, 0xBB, 0xAE, 0xDE, 0x11,
							/* 0008 */   0x8A, 0x39, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66
						}))
				{
					While (One)
					{
						Store (Arg2, T_0)
						If (LEqual (T_0, Zero))
						{
							While (One)
							{
								Store (Arg1, T_1)
								If (LEqual (T_1, One))
								{
									Return (Buffer (One)
									{
										 0x00
									})
								}
								Else
								{
									Return (Buffer (One)
									{
										 0x00
									})
								}
								Break
							}
						}
						Else
						{
							If (LEqual (T_0, One))
							{
								Return (One)
							}
							Else
							{
								If (LEqual (T_0, 0x02))
								{
									Store (Zero, GPE3)
									If (LEqual (And (GL00, 0x08), 0x08))
									{
										Or (GIV0, 0x08, GIV0)
									}
									Else
									{
										And (GIV0, 0xF7, GIV0)
									}
									And (GL08, 0xEF, GL08)
									Sleep (0xC8)
									Store (One, GPS3)
									Store (One, GPE3)
									Return (One)
								}
								Else
								{
									If (LEqual (T_0, 0x03))
									{
										Store (Zero, GPE3)
										Store (One, GPS3)
										Or (GL08, 0x10, GL08)
										Return (One)
									}
									Else
									{
										Return (Zero)
									}
								}
							}
						}
						Break
					}
				}
				Else
				{
					Return (Zero)
				}
			}
		}
	}
	Scope (_GPE)
	{
		Method (_L13, 0, NotSerialized)
		{
			If (LEqual (PFLV, FDTP))
			{
				Return (Zero)
			}
			Store (Zero, GPE3)
			Or (GL08, 0x10, GL08)
			Notify (\_SB.PCI0.SAT0, 0x85)
			Return (Zero)
		}
	}
	Scope (_SB.PCI0)
	{
		Device (PEG0)
		{
			Name (_ADR, 0x00010000)
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR0A, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKD, 
					Zero
				}
			})
			Name (AR0A, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x13
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR0A)
				}
				Return (PR0A)
			}
			Device (PEGP)
			{
				Name (_ADR, 0xFFFF)
				OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
				Field (DGFX, DWordAcc, Lock, Preserve)
				{
					Offset (0x0B), 
					LNKV,   8
				}
				Name (_PRW, Package (0x02)
				{
					0x09, 
					0x04
				})
			}
			Device (VGA)
			{
				Name (_ADR, Zero)
				Name (CSTT, Zero)
				Name (BCML, 0x64)
				Name (LCD0, One)
				Name (CNT, Zero)
				Name (TMP1, Zero)
				Name (TMP2, Zero)
				OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
				Field (GPPB, ByteAcc, NoLock, Preserve)
				{
					PBCI,   8, 
					PBNP,   8, 
					PBLS,   8, 
					PBCC,   8, 
					PBCR,   32, 
					PBDI,   32, 
					PBDO,   32, 
					PBMR,   32
				}
				Method (_STA, 0, NotSerialized)
				{
					If (LOr (LEqual (VGAM, One), LEqual (VGAM, 0x02)))
					{
						Return (0x0F)
					}
					Return (Zero)
				}
				Method (_INI, 0, NotSerialized)
				{
					UDCS ()
					UDGS ()
				}
				Method (_DOS, 1, NotSerialized)
				{
					Store (Arg0, DSEN)
				}
				Method (_DOD, 0, NotSerialized)
				{
					If (LEqual (VGAM, One))
					{
						Return (Package (0x04)
						{
							0x0100, 
							0x0110, 
							0x0210, 
							0x0220
						})
					}
					Else
					{
						Return (Package (0x04)
						{
							0x0110, 
							0x00010100, 
							0x80007330, 
							0x8001A440
						})
					}
				}
				Method (_DSM, 4, NotSerialized)
				{
					If (LEqual (Arg0, Buffer (0x10)
							{
								/* 0000 */   0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46,
								/* 0008 */   0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
							}))
					{
						If (LNotEqual (Arg1, 0x0102))
						{
							Return (Buffer (0x04)
							{
								 0x02, 0x00, 0x00, 0x80
							})
						}
						If (LEqual (Arg2, Zero))
						{
							Return (Buffer (0x04)
							{
								 0x01, 0x00, 0x10, 0x00
							})
						}
						If (LEqual (Arg2, 0x14))
						{
							Return (Package (0x09)
							{
								0x0110, 
								0x0100, 
								Zero, 
								Zero, 
								One, 
								One, 
								0xD2, 
								Zero, 
								0x03E8
							})
						}
					}
				}
				Device (CRT)
				{
					Name (_ADR, 0x0100)
					Name (_DCS, 0x1F)
					Name (_DGS, Zero)
					Method (_DSS, 1, NotSerialized)
					{
						And (_DCS, 0xFFFFFFFD, _DCS)
						And (Arg0, One, Local0)
						ShiftLeft (Local0, One, Local0)
						Or (_DCS, Local0, _DCS)
					}
				}
				Device (LCD)
				{
					Name (_ADR, 0x0110)
					Name (_DCS, 0x1F)
					Name (_DGS, Zero)
					Method (_DSS, 1, NotSerialized)
					{
						And (_DCS, 0xFFFFFFFD, _DCS)
						And (Arg0, One, Local0)
						ShiftLeft (Local0, One, Local0)
						Or (_DCS, Local0, _DCS)
					}
					Method (_BCL, 0, NotSerialized)
					{
						If (LEqual (PWM7, Zero))
						{
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x02)), 
								PWM0)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x03)), 
								PWM1)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x04)), 
								PWM2)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x05)), 
								PWM3)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x06)), 
								PWM4)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x07)), 
								PWM5)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x08)), 
								PWM6)
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), 0x09)), 
								PWM7)
						}
						If (LLess (OSYS, 0x07DC))
						{
							Return (BRLV)
						}
						Else
						{
							Return (BROH)
						}
					}
					Method (_BCM, 1, Serialized)
					{
						Store (Zero, BCMF)
						Store (Arg0, BRTL)
						If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
						{
							If (LLess (OSYS, 0x07DC))
							{
								Store (SizeOf (BRLV), Local0)
								While (Local0)
								{
									Decrement (Local0)
									Store (DerefOf (Index (BRLV, Local0)), Local1)
									If (LEqual (Arg0, Local1))
									{
										Break
									}
								}
								Store (DerefOf (Index (DerefOf (Index (PANL, ^^^^LPCB.PNID)), Local0)), 
									Local2)
								Subtract (Local0, 0x02, ^^^^LPCB.ECA3)
							}
							Else
							{
								Store (BRTL, ^^^^LPCB.ECA3)
								Store (BRIN, BRTL)
							}
							If (LEqual (VGAM, One))
							{
								F2B7 (Store (Divide (Multiply (Local2, 0xFF), 0x64, ), 
									Local0))
							}
						}
						If (LEqual (VGAM, 0x02))
						{
							Store (Local2, Arg0)
							If (LEqual (PBCC, One))
							{
								If (LEqual (PBMR, Zero))
								{
									Store (0x02, PBMR)
									If (LEqual (PBMR, 0x02))
									{
										While (LAnd (LAnd (PBCC, 0xFF), LLess (CNT, 0x0A)))
										{
											Increment (CNT)
											Sleep (One)
										}
										If (LEqual (And (PBCR, 0x02), Zero))
										{
											Multiply (Arg0, 0x0A, TMP1)
											ShiftLeft (TMP1, 0x08, TMP2)
											Or (TMP2, LCD0, TMP1)
											Store (TMP1, PBDI)
											Store (0x86100000, PBCR)
										}
										Store (Zero, PBMR)
										Return (One)
									}
								}
							}
							Return (Zero)
						}
					}
					Method (_BQC, 0, Serialized)
					{
						Return (BRTL)
					}
				}
				Device (PNLF)
				{
					Name (_HID, EisaId ("APP0002"))
					Name (_CID, "backlight")
					Name (_UID, 0x0A)
					Name (_STA, 0x0B)
				}
				Device (DFP1)
				{
					Method (_ADR, 0, NotSerialized)
					{
						If (LEqual (VGAM, One))
						{
							Return (0x0210)
						}
						Else
						{
							Return (0x80007330)
						}
					}
					Name (_DCS, 0x1F)
					Name (_DGS, Zero)
					Method (_DSS, 1, NotSerialized)
					{
						And (_DCS, 0xFFFFFFFD, _DCS)
						And (Arg0, One, Local0)
						ShiftLeft (Local0, One, Local0)
						Or (_DCS, Local0, _DCS)
					}
				}
				Device (DFP2)
				{
					Method (_ADR, 0, NotSerialized)
					{
						If (LEqual (VGAM, One))
						{
							Return (0x0220)
						}
						Else
						{
							Return (0x80006342)
						}
					}
					Name (_DCS, 0x1F)
					Name (_DGS, Zero)
					Method (_DSS, 1, NotSerialized)
					{
						And (_DCS, 0xFFFFFFFD, _DCS)
						And (Arg0, One, Local0)
						ShiftLeft (Local0, One, Local0)
						Or (_DCS, Local0, _DCS)
					}
				}
				Method (UDCS, 0, NotSerialized)
				{
					And (^LCD._DCS, 0xFFFFFFFD, ^LCD._DCS)
					And (^CRT._DCS, 0xFFFFFFFD, ^CRT._DCS)
					And (^DFP1._DCS, 0xFFFFFFFD, ^DFP1._DCS)
					And (^DFP2._DCS, 0xFFFFFFFD, ^DFP2._DCS)
					OSMI (0xA8)
					Store (CSTE, CSTT)
					If (LEqual (CSTT, One))
					{
						Or (^LCD._DCS, 0x02, ^LCD._DCS)
					}
					If (LEqual (CSTT, 0x02))
					{
						Or (^CRT._DCS, 0x02, ^CRT._DCS)
					}
					If (LEqual (CSTT, 0x04))
					{
						Or (^DFP1._DCS, 0x02, ^DFP1._DCS)
					}
					If (LEqual (CSTT, 0x08))
					{
						Or (^DFP2._DCS, 0x02, ^DFP2._DCS)
					}
				}
				Method (UDGS, 0, NotSerialized)
				{
					And (^LCD._DGS, 0xFFFFFFFE, ^LCD._DGS)
					And (^CRT._DGS, 0xFFFFFFFE, ^CRT._DGS)
					And (^DFP1._DGS, 0xFFFFFFFE, ^DFP1._DGS)
					And (^DFP2._DGS, 0xFFFFFFFE, ^DFP2._DGS)
					And (^LCD._DCS, 0x02, Local1)
					And (^CRT._DCS, 0x02, Local2)
					And (^DFP1._DCS, 0x02, Local3)
					And (^DFP2._DCS, 0x02, Local4)
					ShiftRight (Local1, One, Local1)
					ShiftLeft (Local3, One, Local3)
					ShiftLeft (Local4, 0x02, Local4)
					Or (Local1, Local2, Local1)
					Or (Local1, Local3, Local1)
					Or (Local1, Local4, Local1)
					OSMI (0xFF)
					ShiftRight (CSTT, One, CSTT)
					While (LNot (And (PADL, CSTT)))
					{
						ShiftRight (CSTT, One, CSTT)
						If (LEqual (CSTT, Zero))
						{
							Store (0x08, CSTT)
						}
					}
					If (LEqual (CSTT, One))
					{
						Or (^LCD._DGS, One, ^LCD._DGS)
					}
					If (LEqual (CSTT, 0x02))
					{
						Or (^CRT._DGS, One, ^CRT._DGS)
					}
					If (LEqual (CSTT, 0x04))
					{
						Or (^DFP1._DGS, One, ^DFP1._DGS)
					}
					If (LEqual (CSTT, 0x08))
					{
						Or (^DFP2._DGS, One, ^DFP2._DGS)
					}
					Store (CSTT, NSTE)
				}
				Name (ATIB, Buffer (0x0100) {})
				Name (PSBR, Zero)
				Method (ATIF, 2, NotSerialized)
				{
					If (LEqual (Arg0, Zero))
					{
						Return (AF00 ())
					}
					If (LEqual (Arg0, One))
					{
						Return (AF01 ())
					}
					If (LEqual (Arg0, 0x02))
					{
						Return (AF02 ())
					}
					If (LEqual (Arg0, 0x05))
					{
						Return (AF05 ())
					}
					If (LEqual (Arg0, 0x06))
					{
						AF06 (Arg1)
						Return (ATIB)
					}
					Else
					{
						CreateWordField (ATIB, Zero, SSZE)
						CreateWordField (ATIB, 0x02, VERN)
						CreateDWordField (ATIB, 0x04, NMSK)
						CreateDWordField (ATIB, 0x08, SFUN)
						Store (Zero, SSZE)
						Store (Zero, VERN)
						Store (Zero, NMSK)
						Store (Zero, SFUN)
						Return (ATIB)
					}
				}
				Method (AF00, 0, NotSerialized)
				{
					CreateWordField (ATIB, Zero, SSZE)
					CreateWordField (ATIB, 0x02, VERN)
					CreateDWordField (ATIB, 0x04, NMSK)
					CreateDWordField (ATIB, 0x08, SFUN)
					Store (0x0C, SSZE)
					Store (One, VERN)
					Store (0x80, NMSK)
					Store (0x03, SFUN)
					Return (ATIB)
				}
				Method (AF01, 0, NotSerialized)
				{
					CreateWordField (ATIB, Zero, SSZE)
					CreateDWordField (ATIB, 0x02, VMSK)
					CreateDWordField (ATIB, 0x06, FLGS)
					Store (0x0A, SSZE)
					Store (0x03, VMSK)
					Store (One, FLGS)
					Return (ATIB)
				}
				Method (AF02, 0, NotSerialized)
				{
					CreateWordField (ATIB, Zero, SSZE)
					CreateDWordField (ATIB, 0x02, PSBI)
					CreateByteField (ATIB, 0x06, EXPM)
					CreateByteField (ATIB, 0x07, THRM)
					CreateByteField (ATIB, 0x08, THID)
					CreateByteField (ATIB, 0x09, FPWR)
					CreateByteField (ATIB, 0x0A, FPID)
					CreateByteField (ATIB, 0x0B, SPWR)
					CreateByteField (ATIB, 0x0C, BRIL)
					Store (0x0D, SSZE)
					Store (PSBR, PSBI)
					Store (Zero, PSBR)
					Return (ATIB)
				}
				Method (F2B7, 1, Serialized)
				{
					Or (PSBR, 0x80, PSBR)
					CreateByteField (ATIB, 0x0C, BRIL)
					Store (Arg0, BRIL)
					Notify (VGA, 0x81)
				}
				Method (AF05, 0, NotSerialized)
				{
					CreateWordField (ATIB, Zero, SSZE)
					CreateByteField (ATIB, 0x02, TSEF)
					CreateByteField (ATIB, 0x03, TVIF)
					Store (0x04, SSZE)
					Store (Zero, TSEF)
					OSMI (0x56)
					Store (PRM1, TVIF)
					Return (ATIB)
				}
				Method (AF06, 1, NotSerialized)
				{
					CreateWordField (ATIB, Zero, SSZE)
					CreateByteField (ATIB, 0x02, TSEF)
					CreateByteField (ATIB, 0x03, TVIF)
					Store (0x04, SSZE)
					Store (Zero, TSEF)
					Store (Arg0, TVIF)
					Store (TVIF, PRM0)
					OSMI (0x57)
				}
			}
		}
		Device (PEG1)
		{
			Name (_ADR, 0x00010001)
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR02, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKA, 
					Zero
				}
			})
			Name (AR02, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x10
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR02)
				}
				Return (PR02)
			}
		}
		Device (PEG2)
		{
			Name (_ADR, 0x00010002)
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR03, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKC, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKB, 
					Zero
				}
			})
			Name (AR03, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x12
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x11
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR03)
				}
				Return (PR03)
			}
		}
		Device (PEG3)
		{
			Name (_ADR, 0x00060000)
			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x04
			})
			Name (PR0B, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKD, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					LNKA, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					LNKB, 
					Zero
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					LNKC, 
					Zero
				}
			})
			Name (AR0B, Package (0x04)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x13
				}, 
				Package (0x04)
				{
					0xFFFF, 
					One, 
					Zero, 
					0x10
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x02, 
					Zero, 
					0x11
				}, 
				Package (0x04)
				{
					0xFFFF, 
					0x03, 
					Zero, 
					0x12
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR0B)
				}
				Return (PR0B)
			}
		}
		Device (B0D4)
		{
			Name (_ADR, 0x00040000)
		}
		Device (GFX0)
		{
			Name (_ADR, 0x00020000)
			OperationRegion (IGDT, SystemMemory, ASLB, 0x0400)
			Field (IGDT, AnyAcc, NoLock, Preserve)
			{
				Offset (0x318), 
				CBRL,   8, 
				Offset (0x31C), 
				DUT0,   8, 
				LVE0,   8, 
				DUT1,   8, 
				LVE1,   8, 
				DUT2,   8, 
				LVE2,   8, 
				DUT3,   8, 
				LVE3,   8, 
				DUT4,   8, 
				LVE4,   8, 
				DUT5,   8, 
				LVE5,   8, 
				DUT6,   8, 
				LVE6,   8, 
				DUT7,   8, 
				LVE7,   8, 
				DUT8,   8, 
				LVE8,   8, 
				DUT9,   8, 
				LVE9,   8, 
				DUTA,   8, 
				LVEA,   8, 
				DUTB,   8, 
				LVEB,   8, 
				DUTC,   8, 
				LVEC,   8, 
				DUTD,   8, 
				LVED,   8, 
				DUTE,   8, 
				LVEE,   8, 
				DUTF,   8, 
				LVEF,   8, 
				DUTG,   8, 
				LVEG,   8, 
				DUTH,   8, 
				LVEH,   8, 
				DUTI,   8, 
				LVEI,   8, 
				DUTJ,   8, 
				LVEJ,   8
			}
			Method (_DOS, 1, NotSerialized)
			{
				Store (And (Arg0, 0x07), DSEN)
				If (LEqual (And (Arg0, 0x03), Zero))
				{
					If (CondRefOf (HDOS))
					{
						HDOS ()
					}
				}
			}
			Method (_DOD, 0, NotSerialized)
			{
				If (CondRefOf (IDAB))
				{
					IDAB ()
				}
				Else
				{
					Store (Zero, NDID)
					If (LNotEqual (DIDL, Zero))
					{
						Store (SDDL (DIDL), DID1)
					}
					If (LNotEqual (DDL2, Zero))
					{
						Store (SDDL (DDL2), DID2)
					}
					If (LNotEqual (DDL3, Zero))
					{
						Store (SDDL (DDL3), DID3)
					}
					If (LNotEqual (DDL4, Zero))
					{
						Store (SDDL (DDL4), DID4)
					}
					If (LNotEqual (DDL5, Zero))
					{
						Store (SDDL (DDL5), DID5)
					}
					If (LNotEqual (DDL6, Zero))
					{
						Store (SDDL (DDL6), DID6)
					}
					If (LNotEqual (DDL7, Zero))
					{
						Store (SDDL (DDL7), DID7)
					}
					If (LNotEqual (DDL8, Zero))
					{
						Store (SDDL (DDL8), DID8)
					}
				}
				If (LEqual (NDID, One))
				{
					Name (TMP1, Package (0x01)
					{
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP1, Zero))
					Return (TMP1)
				}
				If (LEqual (NDID, 0x02))
				{
					Name (TMP2, Package (0x02)
					{
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP2, Zero))
					Store (Or (0x00010000, DID2), Index (TMP2, One))
					Return (TMP2)
				}
				If (LEqual (NDID, 0x03))
				{
					Name (TMP3, Package (0x03)
					{
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP3, Zero))
					Store (Or (0x00010000, DID2), Index (TMP3, One))
					Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
					Return (TMP3)
				}
				If (LEqual (NDID, 0x04))
				{
					Name (TMP4, Package (0x04)
					{
						Ones, 
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP4, Zero))
					Store (Or (0x00010000, DID2), Index (TMP4, One))
					Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
					Return (TMP4)
				}
				If (LEqual (NDID, 0x05))
				{
					Name (TMP5, Package (0x05)
					{
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP5, Zero))
					Store (Or (0x00010000, DID2), Index (TMP5, One))
					Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
					Return (TMP5)
				}
				If (LEqual (NDID, 0x06))
				{
					Name (TMP6, Package (0x06)
					{
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP6, Zero))
					Store (Or (0x00010000, DID2), Index (TMP6, One))
					Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
					Return (TMP6)
				}
				If (LEqual (NDID, 0x07))
				{
					Name (TMP7, Package (0x07)
					{
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP7, Zero))
					Store (Or (0x00010000, DID2), Index (TMP7, One))
					Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
					Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
					Return (TMP7)
				}
				If (LEqual (NDID, 0x08))
				{
					Name (TMP8, Package (0x08)
					{
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones, 
						Ones
					})
					Store (Or (0x00010000, DID1), Index (TMP8, Zero))
					Store (Or (0x00010000, DID2), Index (TMP8, One))
					Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
					Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
					Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
					Return (TMP8)
				}
				If (LEqual (NDID, 0x09))
				{
					If (CondRefOf (HWID))
					{
						Return (HWID)
					}
				}
				Return (Package (0x01)
				{
					0x0400
				})
			}
			Device (DD01)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID1, Zero))
					{
						Return (One)
					}
					Else
					{
						Return (And (0xFFFF, DID1))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					Return (CDDS (DID1))
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD1)
					}
					Return (NDDS (DID1))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD02)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID2, Zero))
					{
						Return (0x02)
					}
					Else
					{
						Return (And (0xFFFF, DID2))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (LIDS, Zero))
					{
						Return (Zero)
					}
					Return (CDDS (DID2))
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD2)
					}
					Return (NDDS (DID2))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
				Method (_BCL, 0, NotSerialized)
				{
					If (LEqual (PWM7, Zero))
					{
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x02)), 
							PWM0)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x03)), 
							PWM1)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x04)), 
							PWM2)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x05)), 
							PWM3)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x06)), 
							PWM4)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x07)), 
							PWM5)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x08)), 
							PWM6)
						Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), 0x09)), 
							PWM7)
					}
					Store (Zero, BCLM)
					If (LLess (OSYS, 0x07DC))
					{
						Store (0x8A, LVE0)
						Store (0x99, LVE1)
						Store (0xA3, LVE2)
						Store (0xB2, LVE3)
						Store (0xBC, LVE4)
						Store (0xCB, LVE5)
						Store (0xDA, LVE6)
						Store (0xE4, LVE7)
						Store (Divide (Multiply (PWM0, 0xFF), 0x64, ), DUT0)
						Store (Divide (Multiply (PWM1, 0xFF), 0x64, ), DUT1)
						Store (Divide (Multiply (PWM2, 0xFF), 0x64, ), DUT2)
						Store (Divide (Multiply (PWM3, 0xFF), 0x64, ), DUT3)
						Store (Divide (Multiply (PWM4, 0xFF), 0x64, ), DUT4)
						Store (Divide (Multiply (PWM5, 0xFF), 0x64, ), DUT5)
						Store (Divide (Multiply (PWM6, 0xFF), 0x64, ), DUT6)
						Store (Divide (Multiply (PWM7, 0xFF), 0x64, ), DUT7)
					}
					Else
					{
						Store (0x8A, LVE0)
						Store (0x99, LVE1)
						Store (0xA3, LVE2)
						Store (0xB2, LVE3)
						Store (0xBC, LVE4)
						Store (0xCB, LVE5)
						Store (0xDA, LVE6)
						Store (0xE4, LVE7)
						Store (Divide (Multiply (PWM0, 0xFF), 0x64, ), DUT0)
						Store (Divide (Multiply (PWM1, 0xFF), 0x64, ), DUT1)
						Store (Divide (Multiply (PWM2, 0xFF), 0x64, ), DUT2)
						Store (Divide (Multiply (PWM3, 0xFF), 0x64, ), DUT3)
						Store (Divide (Multiply (PWM4, 0xFF), 0x64, ), DUT4)
						Store (Divide (Multiply (PWM5, 0xFF), 0x64, ), DUT5)
						Store (Divide (Multiply (PWM6, 0xFF), 0x64, ), DUT6)
						Store (Divide (Multiply (PWM7, 0xFF), 0x64, ), DUT7)
					}
					If (LLess (OSYS, 0x07DC))
					{
						Return (BRLV)
					}
					Else
					{
						Return (BROH)
					}
				}
				Method (_BCM, 1, NotSerialized)
				{
					Store (Zero, BCMF)
					If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
					{
						Store (Arg0, BRTL)
						If (LLess (OSYS, 0x07DC))
						{
							Store (SizeOf (BRLV), Local0)
							While (Local0)
							{
								Decrement (Local0)
								Store (DerefOf (Index (BRLV, Local0)), Local1)
								If (LEqual (Arg0, Local1))
								{
									Break
								}
							}
							Store (DerefOf (Index (DerefOf (Index (PANL, ^^^LPCB.PNID)), Local0)), 
								Local2)
							Subtract (Local0, 0x02, ^^^LPCB.ECA3)
						}
						Else
						{
							Store (BRTL, ^^^LPCB.ECA3)
							Store (BRTL, Local2)
						}
						Store (Divide (Multiply (Local2, 0xFF), 0x64, ), BCLP)
						Or (BCLP, 0x80000000, BCLP)
						AINT (One, Local2)
					}
				}
				Method (_BQC, 0, NotSerialized)
				{
					Return (BRTL)
				}
			}
			Device (DD03)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID3, Zero))
					{
						Return (0x03)
					}
					Else
					{
						Return (And (0xFFFF, DID3))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID3, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID3))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD3)
					}
					Return (NDDS (DID3))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD04)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID4, Zero))
					{
						Return (0x04)
					}
					Else
					{
						Return (And (0xFFFF, DID4))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID4, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID4))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD4)
					}
					Return (NDDS (DID4))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD05)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID5, Zero))
					{
						Return (0x05)
					}
					Else
					{
						Return (And (0xFFFF, DID5))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID5, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID5))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD5)
					}
					Return (NDDS (DID5))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD06)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID6, Zero))
					{
						Return (0x06)
					}
					Else
					{
						Return (And (0xFFFF, DID6))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID6, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID6))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD6)
					}
					Return (NDDS (DID6))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD07)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID7, Zero))
					{
						Return (0x07)
					}
					Else
					{
						Return (And (0xFFFF, DID7))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID7, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID7))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD7)
					}
					Return (NDDS (DID7))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Device (DD08)
			{
				Method (_ADR, 0, Serialized)
				{
					If (LEqual (DID8, Zero))
					{
						Return (0x08)
					}
					Else
					{
						Return (And (0xFFFF, DID8))
					}
				}
				Method (_DCS, 0, NotSerialized)
				{
					If (LEqual (DID8, Zero))
					{
						Return (0x0B)
					}
					Else
					{
						Return (CDDS (DID8))
					}
				}
				Method (_DGS, 0, NotSerialized)
				{
					If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
						)))
					{
						Return (NXD8)
					}
					Return (NDDS (DID8))
				}
				Method (_DSS, 1, NotSerialized)
				{
					If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
					{
						Store (NSTE, CSTE)
					}
				}
			}
			Method (SDDL, 1, NotSerialized)
			{
				Increment (NDID)
				Store (And (Arg0, 0x0F0F), Local0)
				Or (0x80000000, Local0, Local1)
				If (LEqual (DIDL, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL2, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL3, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL4, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL5, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL6, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL7, Local0))
				{
					Return (Local1)
				}
				If (LEqual (DDL8, Local0))
				{
					Return (Local1)
				}
				Return (Zero)
			}
			Method (CDDS, 1, NotSerialized)
			{
				Store (And (Arg0, 0x0F0F), Local0)
				If (LEqual (Zero, Local0))
				{
					Return (0x1D)
				}
				If (LEqual (CADL, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL2, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL3, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL4, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL5, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL6, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL7, Local0))
				{
					Return (0x1F)
				}
				If (LEqual (CAL8, Local0))
				{
					Return (0x1F)
				}
				Return (0x1D)
			}
			Method (NDDS, 1, NotSerialized)
			{
				Store (And (Arg0, 0x0F0F), Local0)
				If (LEqual (Zero, Local0))
				{
					Return (Zero)
				}
				If (LEqual (NADL, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL2, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL3, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL4, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL5, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL6, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL7, Local0))
				{
					Return (One)
				}
				If (LEqual (NDL8, Local0))
				{
					Return (One)
				}
				Return (Zero)
			}
			Method (STBL, 1, NotSerialized)
			{
				If (LEqual (Arg0, Zero))
				{
					Store (0x0400, NADL)
					Store (Zero, NDL2)
				}
				Else
				{
					OSMI (0xA8)
					Store (CSTE, Local0)
					OSMI (0xFF)
					ShiftRight (Local0, One, Local0)
					While (LNot (And (PADL, Local0)))
					{
						ShiftRight (Local0, One, Local0)
						If (LEqual (Local0, Zero))
						{
							Store (0x08, Local0)
						}
					}
					If (LEqual (Local0, One))
					{
						Store (0x0400, NADL)
					}
					If (LEqual (Local0, 0x02))
					{
						Store (0x0100, NADL)
					}
					If (LEqual (Local0, 0x04))
					{
						Store (0x0300, NADL)
					}
					If (LEqual (Local0, 0x08))
					{
						Store (0x0500, NADL)
					}
					Store (Zero, NDL2)
				}
			}
			Scope (^^PCI0)
			{
				OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
				Field (MCHP, AnyAcc, NoLock, Preserve)
				{
					Offset (0x60), 
					TASM,   10, 
					Offset (0x62)
				}
			}
			OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
			Field (IGDP, AnyAcc, NoLock, Preserve)
			{
				Offset (0x12), 
					,   1, 
				GIVD,   1, 
					,   2, 
				GUMA,   3, 
				Offset (0x14), 
					,   4, 
				GMFN,   1, 
				Offset (0x18), 
				Offset (0xA4), 
				ASLE,   8, 
				Offset (0xA8), 
				GSSE,   1, 
				GSSB,   14, 
				GSES,   1, 
				Offset (0xB0), 
					,   12, 
				CDVL,   1, 
				Offset (0xB2), 
				Offset (0xB5), 
				LBPC,   8, 
				Offset (0xBC), 
				ASLS,   32
			}
			OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
			Field (IGDM, AnyAcc, NoLock, Preserve)
			{
				SIGN,   128, 
				SIZE,   32, 
				OVER,   32, 
				SVER,   256, 
				VVER,   128, 
				GVER,   128, 
				MBOX,   32, 
				DMOD,   32, 
				Offset (0x100), 
				DRDY,   32, 
				CSTS,   32, 
				CEVT,   32, 
				Offset (0x120), 
				DIDL,   32, 
				DDL2,   32, 
				DDL3,   32, 
				DDL4,   32, 
				DDL5,   32, 
				DDL6,   32, 
				DDL7,   32, 
				DDL8,   32, 
				CPDL,   32, 
				CPL2,   32, 
				CPL3,   32, 
				CPL4,   32, 
				CPL5,   32, 
				CPL6,   32, 
				CPL7,   32, 
				CPL8,   32, 
				CADL,   32, 
				CAL2,   32, 
				CAL3,   32, 
				CAL4,   32, 
				CAL5,   32, 
				CAL6,   32, 
				CAL7,   32, 
				CAL8,   32, 
				NADL,   32, 
				NDL2,   32, 
				NDL3,   32, 
				NDL4,   32, 
				NDL5,   32, 
				NDL6,   32, 
				NDL7,   32, 
				NDL8,   32, 
				ASLP,   32, 
				TIDX,   32, 
				CHPD,   32, 
				CLID,   32, 
				CDCK,   32, 
				SXSW,   32, 
				EVTS,   32, 
				CNOT,   32, 
				NRDY,   32, 
				Offset (0x200), 
				SCIE,   1, 
				GEFC,   4, 
				GXFC,   3, 
				GESF,   8, 
				Offset (0x204), 
				PARM,   32, 
				DSLP,   32, 
				Offset (0x300), 
				ARDY,   32, 
				ASLC,   32, 
				TCHE,   32, 
				ALSI,   32, 
				BCLP,   32, 
				PFIT,   32, 
				CBLV,   32, 
				BCLM,   320, 
				CPFM,   32, 
				EPFM,   32, 
				PLUT,   592, 
				PFMB,   32, 
				CCDV,   32, 
				PCFT,   32, 
				Offset (0x400), 
				GVD1,   49152, 
				PHED,   32, 
				BDDC,   2048
			}
			Name (DBTB, Package (0x15)
			{
				Zero, 
				0x07, 
				0x38, 
				0x01C0, 
				0x0E00, 
				0x3F, 
				0x01C7, 
				0x0E07, 
				0x01F8, 
				0x0E38, 
				0x0FC0, 
				Zero, 
				Zero, 
				Zero, 
				Zero, 
				Zero, 
				0x7000, 
				0x7007, 
				0x7038, 
				0x71C0, 
				0x7E00
			})
			Name (CDCT, Package (0x05)
			{
				Package (0x02)
				{
					0xE4, 
					0x0140
				}, 
				Package (0x02)
				{
					0xDE, 
					0x014D
				}, 
				Package (0x02)
				{
					0xDE, 
					0x014D
				}, 
				Package (0x02)
				{
					Zero, 
					Zero
				}, 
				Package (0x02)
				{
					0xDE, 
					0x014D
				}
			})
			Name (SUCC, One)
			Name (NVLD, 0x02)
			Name (CRIT, 0x04)
			Name (NCRT, 0x06)
			Method (GSCI, 0, Serialized)
			{
				Method (GBDA, 0, Serialized)
				{
					If (LEqual (GESF, Zero))
					{
						Store (0x0679, PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, One))
					{
						Store (0x0240, PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x04))
					{
						And (PARM, 0xEFFF0000, PARM)
						And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), 
							PARM)
						Or (IBTT, PARM, PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x05))
					{
						Store (IPSC, PARM)
						Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
						Add (PARM, 0x0100, PARM)
						Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
						Add (PARM, 0x00010000, PARM)
						Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x06))
					{
						Store (ITVF, PARM)
						Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x07))
					{
						Store (GIVD, PARM)
						XOr (PARM, One, PARM)
						Or (PARM, ShiftLeft (GMFN, One), PARM)
						Or (PARM, 0x1800, PARM)
						Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
						Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
							)), 0x15), PARM, PARM)
						Store (One, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x0A))
					{
						Store (Zero, PARM)
						If (ISSC)
						{
							Or (PARM, 0x03, PARM)
						}
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x0B))
					{
						Store (KSV0, PARM)
						Store (KSV1, GESF)
						Return (SUCC)
					}
					Store (Zero, GESF)
					Return (CRIT)
				}
				Method (SBCB, 0, Serialized)
				{
					If (LEqual (GESF, Zero))
					{
						Store (Zero, PARM)
						Store (0x000F87FD, PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, One))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x03))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x04))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x05))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x06))
					{
						Store (And (PARM, 0x0F), ITVF)
						Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x07))
					{
						If (LEqual (PARM, Zero))
						{
							Store (CLID, Local0)
							If (And (0x80000000, Local0))
							{
								And (CLID, 0x0F, CLID)
								GLID (CLID)
							}
						}
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x08))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x09))
					{
						And (PARM, 0xFF, IBTT)
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x0A))
					{
						And (PARM, 0xFF, IPSC)
						If (And (ShiftRight (PARM, 0x08), 0xFF))
						{
							And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
							Decrement (IPAT)
						}
						And (ShiftRight (PARM, 0x14), 0x07, IBIA)
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x0B))
					{
						And (ShiftRight (PARM, One), One, IF1E)
						If (And (PARM, 0x0001E000))
						{
							And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
						}
						Else
						{
							And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
						}
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x10))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x11))
					{
						Store (ShiftLeft (LIDS, 0x08), PARM)
						Add (PARM, 0x0100, PARM)
						Store (Zero, GESF)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x12))
					{
						If (And (PARM, One))
						{
							If (LEqual (ShiftRight (PARM, One), One))
							{
								Store (One, ISSC)
							}
							Else
							{
								Store (Zero, GESF)
								Return (CRIT)
							}
						}
						Else
						{
							Store (Zero, ISSC)
						}
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x13))
					{
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					If (LEqual (GESF, 0x14))
					{
						And (PARM, 0x0F, PAVP)
						Store (Zero, GESF)
						Store (Zero, PARM)
						Return (SUCC)
					}
					Store (Zero, GESF)
					Return (SUCC)
				}
				If (LEqual (GEFC, 0x04))
				{
					Store (GBDA (), GXFC)
				}
				If (LEqual (GEFC, 0x06))
				{
					Store (SBCB (), GXFC)
				}
				Store (Zero, GEFC)
				Store (One, SCIS)
				Store (Zero, GSSE)
				Store (Zero, SCIE)
				Return (Zero)
			}
			Method (PDRD, 0, NotSerialized)
			{
				If (LNot (DRDY))
				{
					Sleep (ASLP)
				}
				Return (LNot (DRDY))
			}
			Method (PSTS, 0, NotSerialized)
			{
				If (LGreater (CSTS, 0x02))
				{
					Sleep (ASLP)
				}
				Return (LEqual (CSTS, 0x03))
			}
			Method (GNOT, 2, NotSerialized)
			{
				If (PDRD ())
				{
					Return (One)
				}
				Store (Arg0, CEVT)
				Store (0x03, CSTS)
				If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
				{
					If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
					{
						Notify (PCI0, Arg1)
					}
					Else
					{
						Notify (GFX0, Arg1)
					}
				}
				If (CondRefOf (HNOT))
				{
					HNOT (Arg0)
				}
				Else
				{
					Notify (GFX0, 0x80)
				}
				Return (Zero)
			}
			Method (GHDS, 1, NotSerialized)
			{
				Store (Arg0, TIDX)
				Return (GNOT (One, Zero))
			}
			Method (GLID, 1, NotSerialized)
			{
				If (LEqual (Arg0, One))
				{
					Store (0x03, CLID)
				}
				Else
				{
					Store (Arg0, CLID)
				}
				Return (GNOT (0x02, Zero))
			}
			Method (GDCK, 1, NotSerialized)
			{
				Store (Arg0, CDCK)
				Return (GNOT (0x04, Zero))
			}
			Method (PARD, 0, NotSerialized)
			{
				If (LNot (ARDY))
				{
					Sleep (ASLP)
				}
				Return (LNot (ARDY))
			}
			Method (AINT, 2, Serialized)
			{
				If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
				{
					Return (One)
				}
				If (PARD ())
				{
					Return (One)
				}
				If (LEqual (Arg0, 0x02))
				{
					If (CPFM)
					{
						And (CPFM, 0x0F, Local0)
						And (EPFM, 0x0F, Local1)
						If (LEqual (Local0, One))
						{
							If (And (Local1, 0x06))
							{
								Store (0x06, PFIT)
							}
							Else
							{
								If (And (Local1, 0x08))
								{
									Store (0x08, PFIT)
								}
								Else
								{
									Store (One, PFIT)
								}
							}
						}
						If (LEqual (Local0, 0x06))
						{
							If (And (Local1, 0x08))
							{
								Store (0x08, PFIT)
							}
							Else
							{
								If (And (Local1, One))
								{
									Store (One, PFIT)
								}
								Else
								{
									Store (0x06, PFIT)
								}
							}
						}
						If (LEqual (Local0, 0x08))
						{
							If (And (Local1, One))
							{
								Store (One, PFIT)
							}
							Else
							{
								If (And (Local1, 0x06))
								{
									Store (0x06, PFIT)
								}
								Else
								{
									Store (0x08, PFIT)
								}
							}
						}
					}
					Else
					{
						XOr (PFIT, 0x07, PFIT)
					}
					Or (PFIT, 0x80000000, PFIT)
					Store (0x04, ASLC)
				}
				Else
				{
					If (LEqual (Arg0, One))
					{
						Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
						Or (BCLP, 0x80000000, BCLP)
						Store (0x02, ASLC)
					}
					Else
					{
						If (LEqual (Arg0, Zero))
						{
							Store (Arg1, ALSI)
							Store (One, ASLC)
						}
						Else
						{
							Return (One)
						}
					}
				}
				Store (One, ASLE)
				Return (Zero)
			}
			Method (SCIP, 0, NotSerialized)
			{
				If (LNotEqual (OVER, Zero))
				{
					Return (LNot (GSMI))
				}
				Return (Zero)
			}
			Device (^^MEM2)
			{
				Name (_HID, EisaId ("PNP0C01"))
				Name (_UID, 0x02)
				Name (CRS1, ResourceTemplate ()
				{
					Memory32Fixed (ReadWrite,
						0x20000000,		 // Address Base
						0x00200000,		 // Address Length
						)
					Memory32Fixed (ReadWrite,
						0x40000000,		 // Address Base
						0x00200000,		 // Address Length
						)
				})
				Name (CRS2, ResourceTemplate ()
				{
					Memory32Fixed (ReadWrite,
						0x20000000,		 // Address Base
						0x00200000,		 // Address Length
						)
					Memory32Fixed (ReadWrite,
						0x40004000,		 // Address Base
						0x00001000,		 // Address Length
						)
				})
				Method (_STA, 0, NotSerialized)
				{
					If (IGDS)
					{
						Return (0x0F)
					}
					Return (Zero)
				}
				Method (_CRS, 0, NotSerialized)
				{
					If (LOr (LEqual (And (PNHM, 0x0FFF0FF0), 0x000206A0), LEqual (And (
						PNHM, 0x0FFF0FFF), 0x000306A0)))
					{
						Return (CRS1)
					}
					Return (CRS2)
				}
			}
			Method (_DSM, 4, Serialized)
			{
				Name (DRET, Buffer (0x04)
				{
					 0x00
				})
				If (LEqual (Arg0, Buffer (0x10)
						{
							/* 0000 */   0xE1, 0x75, 0x39, 0x6F, 0x82, 0x7A, 0x67, 0x4F,
							/* 0008 */   0x8B, 0x97, 0x15, 0xBE, 0xE0, 0x60, 0xBE, 0xDF
						}))
				{
					If (LEqual (Arg2, Zero))
					{
						CreateWordField (DRET, Zero, F0SS)
						Store (0x02, F0SS)
						Return (DRET)
					}
					If (LEqual (Arg2, One))
					{
						If (LEqual (^^PEG0.PEGP.LNKV, 0x03))
						{
							Return (Zero)
						}
						Return (One)
					}
				}
				Return (DRET)
			}
		}
	}
	Name (_S0, Package (0x04)
	{
		Zero, 
		Zero, 
		Zero, 
		Zero
	})
	If (SS1)
	{
		Name (_S1, Package (0x04)
		{
			One, 
			Zero, 
			Zero, 
			Zero
		})
	}
	If (SS3)
	{
		Name (_S3, Package (0x04)
		{
			0x05, 
			Zero, 
			Zero, 
			Zero
		})
	}
	If (SS4)
	{
		Name (_S4, Package (0x04)
		{
			0x06, 
			Zero, 
			Zero, 
			Zero
		})
	}
	Name (_S5, Package (0x04)
	{
		0x07, 
		Zero, 
		Zero, 
		Zero
	})
}


In Topic: 10.8.3 iS OuT ..

19 March 2013 - 01:37 PM

The Trim enabler app works for the updated version that is in 10.8.3

© 2013 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy