Jump to content

Final solution (FIX) for GMA950 Desktop edition - NEW 28 DEC 08


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

Ok, so could this work with the GMA 900 too?

I have the 0x2592 device.

I can use binpatched gma 950 kexts so I assume this can somehow work.

I tried it once, but all I got was an odd resolution and a messed up mouse cursor.

I think I put things in the wrong places (I did not have the Scope (_SI) in my dsl).

Will this work with 10.5.5 vanilla kexts or must you use the ones from 10.5.6 (I have not done up date yet...)

Link to comment
Share on other sites

o man! i tried installing the V4 version on my sytem by installing the kexts and replacing my DtSd file at root and now when i restart alls i get is the grey apple screen and no pinwheel! please help as i rly dont want to lose the stuff i have on my system..i had the chameleon bootloader thing my mobaord is intel Intel D945GCLF and im on kalyway 10.5.5 if that matters thank u! also when i go to turn it off from the apple grey screen i dont have to hold the power button to long i just push it and it turns off...

Link to comment
Share on other sites

Hi ryudo,

 

don't worry, you have not lost your data, what you need to do is boot into single user mode, then mount your root partition and delete the DSDT.aml file.

Then it should boot fine....

I'm however, going to take this opportunity to reiterate like a nagging mother.... "Backup before you start fiddling with OS essentials", OK, done it now!

Have a look on the forms for details if you're not sure how to get to single user mode etc.. or PM me.

Link to comment
Share on other sites

Hi ryudo,

 

don't worry, you have not lost your data, what you need to do is boot into single user mode, then mount your root partition and delete the DSDT.aml file.

Then it should boot fine....

I'm however, going to take this opportunity to reiterate like a nagging mother.... "Backup before you start fiddling with OS essentials", OK, done it now!

Have a look on the forms for details if you're not sure how to get to single user mode etc.. or PM me.

 

 

hey thanks i found i can go into Single user mode by pressing -s at the prompt as for mounting and deleting the file with code im not sure but im gona look and try this tonight if i find out how lol

Link to comment
Share on other sites

Hi ryudo,

 

don't worry, you have not lost your data, what you need to do is boot into single user mode, then mount your root partition and delete the DSDT.aml file.

Then it should boot fine....

I'm however, going to take this opportunity to reiterate like a nagging mother.... "Backup before you start fiddling with OS essentials", OK, done it now!

Have a look on the forms for details if you're not sure how to get to single user mode etc.. or PM me.

 

can some one please asisst me with this.......i booted with -s and all i get is some code "failed to load extension com.apple.driver.appleintelcpupowermanagement" in yellow and it wont let me type anything it stops after that help please ty

 

 

 

EDIT i got into single user mode using the disk lol now i just need help mounting and the code to erase the file at root!

EDIT: i got it to work by using the repair disk utility on my kalyway disk..after this i was able to boot off the disc and delete the file

Link to comment
Share on other sites

Hello people!

I've got one of them:

 

http://global.aopen.com/products_detail.as...2380&mdstl=

 

Basically, it's a mac mini clone.

The strange thing is that my graphic ID is 27a2, rev. 03, not quite common.

How should I proceed to get full resolution?

I am on XP now, there is something useful to do or should I re-install osx?

I have a vanilla cd, and an ideneb (latest) one.

Link to comment
Share on other sites

nice work guys! :)

 

i only wanted to post that this method has been working for me since 5.5 on my dell laptop gma950 and was thinking you might be able to say it works for all gma950's :D unfortunately this fix is limited to leo for now as it does not work on snow leopard. i tried a few things to get it the same with snow but it just doesn't work, i needed to go back to old tiger FB for snow... which does bring back the artifact problem but luckily it's not too bad for me. we do have some time before snow and many more people using 950s these days so maybe there is hope, to be honest, i think leo should be the end of 950 in osx and dropped like older models were in leo :P

Link to comment
Share on other sites

Hello people!

I've got one of them:

 

http://global.aopen.com/products_detail.as...2380&mdstl=

 

Basically, it's a mac mini clone.

The strange thing is that my graphic ID is 27a2, rev. 03, not quite common.

How should I proceed to get full resolution?

I am on XP now, there is something useful to do or should I re-install osx?

I have a vanilla cd, and an ideneb (latest) one.

 

Hi Gatsu!

 

Been stuck on the full resolution issue for weeks... I've tried almost everything around also the fix depicted in this thread with no result. I'm using an Aopen i945GMt-FSA most probably the board used in your MP945-VD. I have the same graphic device ID 27a2.

 

I'll give it another shot, but for now my hopes aren't that high...

 

If you find a solution, plse fill us (me) in!!

 

Thanx and good luck

Link to comment
Share on other sites

i went to the nearest pc store and bought gainward gf9400gt 1gb 128bit for about 60dollars and all my resolutions,artifacts problems are gone. instead of that i got new one. my pc stays ON after going through shutdown sequence. it powers off the disk, usb all devices but i have to manually press the button. i don't have any panics in system.log. i recently did a bios defaults after unsuccessfull overclocking but theres nothing strange in settings...

Link to comment
Share on other sites

Hi Gatsu!

 

Been stuck on the full resolution issue for weeks... I've tried almost everything around also the fix depicted in this thread with no result. I'm using an Aopen i945GMt-FSA most probably the board used in your MP945-VD. I have the same graphic device ID 27a2.

 

I'll give it another shot, but for now my hopes aren't that high...

 

If you find a solution, plse fill us (me) in!!

 

Thanx and good luck

 

Hi,

I think that your motherboard is more or less the same as mine, mine is different in design (no IDE, usb, led, switch or sata onboard, since it was designed as a barebone and not as a stand-alone motherboard), but it's pretty much the same thing.

And the f****ing 27a2 chip is the same, pal.

I have reformatted my external 250 GB SATA drive for putting it again inside my box, so I will try some new type of installation in the next few days (boot-132, pc-efi).

I hope that I will sort it, someway :wacko:

Link to comment
Share on other sites

And the f****ing 27a2 chip is the same, pal.

 

spacer.gif

Yupp!

 

What I can recomend is iPC OSx86 10.5.6 Universal FINAL. It won't fix the resolution issue but it will give you a solid system with no other major issues...

 

I'm testing on a work around by adding a pcie 1x card. Having tough luck though as it seems, now I'm having full resolution support with the new card but no QE!!!

 

Do I deserve this?

 

Will not give up! on both graphics...

 

Next step is a PCIE 1x 8400GS.... This experiment is far beyond the financial point of no return :-))

Link to comment
Share on other sites

Hello I have a notebook vaio VGN-n21e

 

This is my DSDT.aml

 

Can someone please please please patch this for me??

 

I cannot find tre "Scope (_SI)"

 

I am also on a notebook (dell mini 9) and i have artifacts whenever my cursor changes (text cursor, window drag cursor etc etc)

 

anyways i have the problem you are encountering... i cannot find that in my DSDT.dsl but i have found references to my gfx and internal display.

 

i have attached the contents of my DSDT.dsl in the hope somebody can point me in the right direction.

 

CODE
/*

* Intel ACPI Component Architecture

* AML Disassembler version 20080926

*

* Disassembly of /Patch/dsdt.aml, Thu Feb 5 20:10:49 2009

*

*

* Original Table Header:

* Signature "DSDT"

* Length 0x00004B4F (19279)

* Revision 0x01 **** ACPI 1.0, no 64-bit math support

* Checksum 0xC2

* OEM ID "INTEL "

* OEM Table ID "CALISTGA"

* OEM Revision 0x06040000 (100925440)

* Compiler ID "INTL"

* Compiler Version 0x20080926 (537397542)

*/

DefinitionBlock ("/Patch/dsdt.aml", "DSDT", 1, "INTEL ", "CALISTGA", 0x06040000)

{

External (PDC1)

External (PDC0)

External (CFGD)

External (\_PR_.CPU0._PPC)

 

Name (Z000, One)

Name (Z001, 0x02)

Name (Z002, 0x04)

Name (Z003, 0x08)

Name (Z004, Zero)

Name (Z005, 0x0F)

Name (Z006, 0x0D)

Name (Z007, 0x0B)

Name (Z008, 0x09)

Name (ECDY, 0x05)

Name (SLID, Zero)

OperationRegion (PRT0, SystemIO, 0x80, 0x04)

Field (PRT0, DWordAcc, Lock, Preserve)

{

P80H, 32

}

 

OperationRegion (IO_T, SystemIO, 0x0800, 0x10)

Field (IO_T, ByteAcc, NoLock, Preserve)

{

Offset (0x08),

TRP0, 8

}

 

OperationRegion (PMIO, SystemIO, 0x1000, 0x80)

Field (PMIO, ByteAcc, NoLock, Preserve)

{

PMS0, 8,

PMS1, 8,

PME0, 8,

PME1, 8,

Offset (0x2A),

, 10,

ACPW, 1,

Offset (0x42),

, 1,

GPEC, 1

}

 

OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)

Field (GPIO, ByteAcc, NoLock, Preserve)

{

GU00, 8,

GU01, 8,

GU02, 8,

GU03, 8,

GIO0, 8,

GIO1, 8,

GIO2, 8,

GIO3, 8,

Offset (0x0C),

GL00, 8,

, 4,

GP12, 1,

Offset (0x0E),

GL02, 8,

GL03, 8,

Offset (0x18),

GB00, 8,

GB01, 8,

GB02, 8,

GB03, 8,

Offset (0x2C),

GIV0, 8,

, 5,

LPOL, 1,

Offset (0x2E),

GIV2, 8,

GIV3, 8,

GU04, 8,

GU05, 8,

GU06, 8,

GU07, 8,

GIO4, 8,

GIO5, 8,

GIO6, 8,

GIO7, 8,

, 7,

GP39, 1,

GL05, 8,

GL06, 8,

GL07, 8

}

 

OperationRegion (GNVS, SystemMemory, 0x3F6E2DBC, 0x0100)

Field (GNVS, AnyAcc, Lock, Preserve)

{

OSYS, 16,

SMIF, 8,

PRM0, 8,

PRM1, 8,

SCIF, 8,

PRM2, 8,

PRM3, 8,

LCKF, 8,

PRM4, 8,

PRM5, 8,

P80D, 32,

LIDS, 8,

PWRS, 8,

DBGS, 8,

LINX, 8,

Offset (0x14),

ACTT, 8,

PSVT, 8,

TC1V, 8,

TC2V, 8,

TSPV, 8,

CRTT, 8,

DTSE, 8,

DTS1, 8,

DTS2, 8,

Offset (0x1E),

BNUM, 8,

B0SC, 8,

B1SC, 8,

B2SC, 8,

B0SS, 8,

B1SS, 8,

B2SS, 8,

Offset (0x28),

APIC, 8,

MPEN, 8,

PPCS, 8,

PPCM, 8,

PCP0, 8,

PCP1, 8,

Offset (0x32),

NATP, 8,

CMAP, 8,

CMBP, 8,

LPTP, 8,

FDCP, 8,

CMCP, 8,

CIRP, 8,

Offset (0x3C),

IGDS, 8,

TLST, 8,

CADL, 8,

PADL, 8,

CSTE, 16,

NSTE, 16,

SSTE, 16,

NDID, 8,

DID1, 32,

DID2, 32,

DID3, 32,

DID4, 32,

DID5, 32,

Offset (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,

Offset (0x78),

TPMP, 8,

TPME, 8,

Offset (0x82),

GTF0, 56,

GTF2, 56,

IDEM, 8,

Offset (0xC6),

MARK, 16,

BRAD, 8,

BTEN, 8,

VVEN, 8,

BGTL, 8,

TMEE, 1,

Offset (0xCD),

SCU0, 1,

SCU1, 1,

SCU2, 1,

SCU3, 1,

Offset (0xCE),

XKSP, 1,

XKIN, 1,

XKID, 1,

XKOK, 1,

Offset (0xCF),

BGU1, 8,

BST1, 8,

BFC1, 16,

WKLN, 8,

WAKF, 8,

DSMD, 8,

BAYS, 8,

HCPA, 1,

Offset (0xD8),

USBW, 8

}

 

OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)

Field (RCRB, DWordAcc, Lock, Preserve)

{

Offset (0x1000),

Offset (0x3000),

Offset (0x3404),

HPAS, 2,

, 5,

HPAE, 1,

Offset (0x3418),

, 1,

PATD, 1,

SATD, 1,

SMBD, 1,

HDAD, 1,

A97D, 1,

Offset (0x341A),

RP1D, 1,

RP2D, 1,

RP3D, 1,

RP4D, 1,

RP5D, 1,

RP6D, 1

}

 

Mutex (MUTX, 0x00)

Name (_S0, Package (0x03)

{

Zero,

Zero,

Zero

})

Name (_S3, Package (0x03)

{

0x05,

0x05,

Zero

})

Name (_S4, Package (0x03)

{

0x06,

0x06,

Zero

})

Name (_S5, Package (0x03)

{

0x07,

0x07,

Zero

})

Scope (_PR)

{

Processor (CPU0, 0x00, 0x00001010, 0x06) {}

Processor (CPU1, 0x01, 0x00001010, 0x06) {}

}

 

Name (DSEN, One)

Name (ECON, Zero)

Name (GPIC, Zero)

Name (CTYP, Zero)

Name (L01C, Zero)

Name (VFN0, Zero)

Method (_PIC, 1, NotSerialized)

{

Store (Arg0, GPIC)

}

 

Method (_PTS, 1, NotSerialized)

{

Store (Zero, P80D)

Store (Zero, GPEC)

Store (Zero, PME0)

Store (Zero, PME1)

Store (0xFF, PMS0)

Store (0xFF, PMS1)

If (LEqual (Arg0, 0x03))

{

P8XH (Zero, 0x53)

Store (SLID, \_SB.PCI0.LPCB.EC0.LIDW)

}

 

If (LEqual (Arg0, 0x04))

{

P8XH (Zero, 0x54)

\_SB.PCI0.LPCB.PHSS (0x0E)

}

 

If (LEqual (Arg0, 0x05)) {}

If (LEqual (DBGS, Zero))

{

Store (0x20, PME1)

Store (One, PME0)

Store (0x20, PMS1)

Store (One, PMS0)

}

}

 

Method (_WAK, 1, NotSerialized)

{

P8XH (Zero, 0xAB)

If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))

{

If (And (CFGD, 0x01000000))

{

If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))

{

TRAP (0x3D)

}

}

}

 

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 (Arg0, 0x03))

{

P8XH (Zero, 0xE3)

TRAP (0x46)

Notify (\_SB.PCI0.RP01, Zero)

}

 

If (LEqual (Arg0, 0x04))

{

Notify (\_SB.PWRB, 0x02)

P8XH (Zero, 0xE4)

\_SB.PCI0.LPCB.PHSS (0x0F)

If (DTSE)

{

TRAP (0x47)

}

 

Notify (\_TZ.TZ01, 0x80)

}

 

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 ()

}

}

}

 

P8XH (One, 0xCD)

Return (Package (0x02)

{

Zero,

Zero

})

}

 

Scope (_GPE)

{

Method (_L01, 0, NotSerialized)

{

Add (L01C, One, L01C)

P8XH (Zero, One)

P8XH (One, L01C)

Sleep (0x64)

If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPCS))

{

If (\_SB.PCI0.RP01.PDC1)

{

Store (One, \_SB.PCI0.RP01.PDC1)

Store (One, \_SB.PCI0.RP01.HPCS)

If (\_SB.PCI0.RP01.PDS1)

{

Store (0x0A, Local2)

While (LGreater (Local2, Zero))

{

Sleep (0x64)

And (\_SB.PCI0.RP01.J380.DVID, 0xFFF0FFFF, Local1)

If (LEqual (Local1, 0x2380197B))

{

Store (Zero, Local2)

\_SB.PCI0.LPCB.PHSS (0x8F)

}

Else

{

Decrement (Local2)

}

}

}

Else

{

Sleep (0x64)

}

 

Notify (\_SB.PCI0.RP01, Zero)

Notify (\_SB.PCI0.RP01, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP01.HPCS)

}

}

 

If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPCS))

{

If (\_SB.PCI0.RP02.PDC2)

{

Store (One, \_SB.PCI0.RP02.PDC2)

Store (One, \_SB.PCI0.RP02.HPCS)

Notify (\_SB.PCI0.RP02, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP02.HPCS)

}

}

 

If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPCS))

{

If (\_SB.PCI0.RP03.PDC3)

{

Store (One, \_SB.PCI0.RP03.PDC3)

Store (One, \_SB.PCI0.RP03.HPCS)

Notify (\_SB.PCI0.RP03, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP03.HPCS)

}

}

 

If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPCS))

{

If (\_SB.PCI0.RP04.PDC4)

{

Store (One, \_SB.PCI0.RP04.PDC4)

Store (One, \_SB.PCI0.RP04.HPCS)

Notify (\_SB.PCI0.RP04, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP04.HPCS)

}

}

 

If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPCS))

{

If (\_SB.PCI0.RP05.PDC5)

{

Store (One, \_SB.PCI0.RP05.PDC5)

Store (One, \_SB.PCI0.RP05.HPCS)

Notify (\_SB.PCI0.RP05, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP05.HPCS)

}

}

 

If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPCS))

{

If (\_SB.PCI0.RP06.PDC6)

{

Store (One, \_SB.PCI0.RP06.PDC6)

Store (One, \_SB.PCI0.RP06.HPCS)

Notify (\_SB.PCI0.RP06, Zero)

}

Else

{

Store (One, \_SB.PCI0.RP06.HPCS)

}

}

}

 

Method (_L02, 0, NotSerialized)

{

Store (Zero, GPEC)

Notify (\_TZ.TZ01, 0x80)

}

 

Method (_L03, 0, NotSerialized)

{

Notify (\_SB.PCI0.USB1, 0x02)

}

 

Method (_L04, 0, NotSerialized)

{

Notify (\_SB.PCI0.USB2, 0x02)

}

 

Method (_L05, 0, NotSerialized)

{

If (HDAD) {}

Else

{

Notify (\_SB.PCI0.HDEF, 0x02)

}

}

 

Method (_L07, 0, NotSerialized)

{

Store (0x20, \_SB.PCI0.SBUS.HSTS)

}

 

Method (_L09, 0, NotSerialized)

{

If (\_SB.PCI0.RP01.PSP1)

{

Store (One, \_SB.PCI0.RP01.PSP1)

Store (One, \_SB.PCI0.RP01.PMCS)

Notify (\_SB.PCI0.RP01, 0x02)

}

 

If (\_SB.PCI0.RP02.PSP2)

{

Store (One, \_SB.PCI0.RP02.PSP2)

Store (One, \_SB.PCI0.RP02.PMCS)

Notify (\_SB.PCI0.RP02, 0x02)

}

 

If (\_SB.PCI0.RP03.PSP3)

{

Store (One, \_SB.PCI0.RP03.PSP3)

Store (One, \_SB.PCI0.RP03.PMCS)

Notify (\_SB.PCI0.RP03, 0x02)

}

 

If (\_SB.PCI0.RP04.PSP4)

{

Store (One, \_SB.PCI0.RP04.PSP4)

Store (One, \_SB.PCI0.RP04.PMCS)

Notify (\_SB.PCI0.RP04, 0x02)

}

 

If (\_SB.PCI0.RP05.PSP5)

{

Store (One, \_SB.PCI0.RP05.PSP5)

Store (One, \_SB.PCI0.RP05.PMCS)

Notify (\_SB.PCI0.RP05, 0x02)

}

 

If (\_SB.PCI0.RP06.PSP6)

{

Store (One, \_SB.PCI0.RP06.PSP6)

Store (One, \_SB.PCI0.RP06.PMCS)

Notify (\_SB.PCI0.RP06, 0x02)

}

}

 

Method (_L0B, 0, NotSerialized)

{

Notify (\_SB.PCI0.PCIB, 0x02)

}

 

Method (_L0C, 0, NotSerialized)

{

Notify (\_SB.PCI0.USB3, 0x02)

}

 

Method (_L0D, 0, NotSerialized)

{

Notify (\_SB.PCI0.USB7, 0x02)

}

 

Method (_L0E, 0, NotSerialized)

{

Notify (\_SB.PCI0.USB4, 0x02)

}

 

Method (_L1D, 0, NotSerialized)

{

P8XH (Zero, 0xFA)

If (LEqual (LPOL, One)) {}

Not (LPOL, LPOL)

\_SB.PCI0.LPCB.PHSS (0x0C)

Store (CADL, Local0)

Store (CSTE, Local1)

If (LEqual (Local0, 0x09))

{

If (LEqual (\_SB.PCI0.LPCB.EC0.LIDS, One))

{

Store (One, NSTE)

\_SB.PCI0.GFX0.DSSM ()

}

Else

{

Store (0x08, NSTE)

\_SB.PCI0.GFX0.DSSM ()

}

}

 

Notify (\_SB.LID0, 0x80)

}

}

 

Method (BRTW, 1, Serialized)

{

Store (Arg0, Local1)

If (LEqual (ALSE, 0x02))

{

Store (Divide (Multiply (ALAF, Arg0), 0x64, ), Local1)

If (LGreater (Local1, 0x64))

{

Store (0x64, Local1)

}

}

 

Store (Divide (Multiply (0xFF, Local1), 0x64, ), Local0)

Store (Local0, PRM0)

If (LEqual (TRAP (0x12), Zero))

{

P8XH (0x02, Local0)

Store (Arg0, BRTL)

}

}

 

Method (GETB, 3, Serialized)

{

Multiply (Arg0, 0x08, Local0)

Multiply (Arg1, 0x08, Local1)

CreateField (Arg2, Local0, Local1, TBF3)

Return (TBF3)

}

 

Method (HKDS, 1, Serialized)

{

If (LEqual (Zero, DSEN))

{

If (LEqual (TRAP (Arg0), Zero))

{

If (LNotEqual (CADL, PADL))

{

Store (CADL, PADL)

If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))

{

Notify (\_SB.PCI0, Zero)

}

Else

{

Notify (\_SB.PCI0.GFX0, Zero)

}

 

Sleep (0x02EE)

}

 

Notify (\_SB.PCI0.GFX0, 0x80)

}

}

 

If (LEqual (One, DSEN))

{

If (LEqual (TRAP (Increment (Arg0)), Zero))

{

Notify (\_SB.PCI0.GFX0, 0x81)

}

}

}

 

Method (LSDS, 1, Serialized)

{

If (Arg0)

{

HKDS (0x0C)

}

Else

{

HKDS (0x0E)

}

 

If (LNotEqual (DSEN, One))

{

Sleep (0x32)

While (LEqual (DSEN, 0x02))

{

Sleep (0x32)

}

}

}

 

Method (P8XH, 2, 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)

}

 

Store (P80D, P80H)

}

 

Method (PNOT, 0, Serialized)

{

If (MPEN)

{

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)

}

}

}

Else

{

Notify (\_PR.CPU0, 0x80)

Sleep (0x64)

Notify (\_PR.CPU0, 0x81)

}

}

 

Method (TRAP, 1, Serialized)

{

Store (Arg0, SMIF)

Store (Zero, TRP0)

Return (SMIF)

}

 

Method (GETP, 1, Serialized)

{

If (LEqual (And (Arg0, 0x09), Zero))

{

Return (Ones)

}

 

If (LEqual (And (Arg0, 0x09), 0x08))

{

Return (0x0384)

}

 

ShiftRight (And (Arg0, 0x0300), 0x08, Local0)

ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)

Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))

))

}

 

Method (GDMA, 5, Serialized)

{

If (Arg0)

{

If (LAnd (Arg1, Arg4))

{

Return (0x14)

}

 

If (LAnd (Arg2, Arg4))

{

Return (Multiply (Subtract (0x04, Arg3), 0x0F))

}

 

Return (Multiply (Subtract (0x04, Arg3), 0x1E))

}

 

Return (Ones)

}

 

Method (GETT, 1, Serialized)

{

Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02

), 0x03), And (Arg0, 0x03)))))

}

 

Method (GETF, 3, Serialized)

{

Name (TMPF, Zero)

If (Arg0)

{

Or (TMPF, One, TMPF)

}

 

If (And (Arg2, 0x02))

{

Or (TMPF, 0x02, TMPF)

}

 

If (Arg1)

{

Or (TMPF, 0x04, TMPF)

}

 

If (And (Arg2, 0x20))

{

Or (TMPF, 0x08, TMPF)

}

 

If (And (Arg2, 0x4000))

{

Or (TMPF, 0x10, TMPF)

}

 

Return (TMPF)

}

 

Method (SETP, 3, Serialized)

{

If (LGreater (Arg0, 0xF0))

{

Return (0x08)

}

Else

{

If (And (Arg1, 0x02))

{

If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))

{

Return (0x2301)

}

 

If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))

{

Return (0x2101)

}

}

 

Return (0x1001)

}

}

 

Method (SDMA, 1, Serialized)

{

If (LLessEqual (Arg0, 0x14))

{

Return (One)

}

 

If (LLessEqual (Arg0, 0x1E))

{

Return (0x02)

}

 

If (LLessEqual (Arg0, 0x2D))

{

Return (One)

}

 

If (LLessEqual (Arg0, 0x3C))

{

Return (0x02)

}

 

If (LLessEqual (Arg0, 0x5A))

{

Return (One)

}

 

Return (Zero)

}

 

Method (SETT, 3, Serialized)

{

If (And (Arg1, 0x02))

{

If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))

{

Return (0x0B)

}

 

If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))

{

Return (0x09)

}

}

 

Return (0x04)

}

 

Scope (_TZ)

{

ThermalZone (TZ01)

{

Method (_CRT, 0, Serialized)

{

Multiply (0x66, 0x0A, Local0)

Add (Local0, 0x0AAC, Local0)

Return (Local0)

}

 

Method (_TMP, 0, Serialized)

{

If (\_SB.PCI0.LPCB.ECOK ())

{

Store (\_SB.PCI0.LPCB.EC0.CTMP, Local1)

Multiply (Local1, 0x0A, Local0)

Add (Local0, 0x0AAC, Local0)

Return (Local0)

}

Else

{

Store (0x0BB8, Local0)

Return (Local0)

}

}

 

Method (_SCP, 1, Serialized)

{

Store (Arg0, CTYP)

}

 

Method (_PSL, 0, Serialized)

{

If (MPEN)

{

Return (Package (0x02)

{

\_PR.CPU0,

\_PR.CPU1

})

}

 

Return (Package (0x01)

{

\_PR.CPU0

})

}

 

Method (_PSV, 0, Serialized)

{

Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))

}

 

Method (_TC1, 0, Serialized)

{

Return (TC1V)

}

 

Method (_TC2, 0, Serialized)

{

Return (TC2V)

}

 

Method (_TSP, 0, Serialized)

{

Return (TSPV)

}

}

}

 

Scope (_SB)

{

OperationRegion (SMI0, SystemIO, 0xFE00, 0x02)

Field (SMI0, AnyAcc, NoLock, Preserve)

{

SMIC, 8

}

 

OperationRegion (SMI1, SystemMemory, 0x3F6E2EBD, 0x90)

Field (SMI1, AnyAcc, NoLock, Preserve)

{

BCMD, 8,

DID, 32,

INFO, 1024

}

 

Field (SMI1, AnyAcc, NoLock, Preserve)

{

AccessAs (ByteAcc, 0x00),

Offset (0x05),

INF, 8

}

 

Method (_INI, 0, NotSerialized)

{

If (DTSE)

{

TRAP (0x47)

}

 

Store (0x07D0, OSYS)

If (CondRefOf (_OSI, Local0))

{

If (_OSI ("Linux"))

{

Store (One, LINX)

Store (0x03E8, OSYS)

}

 

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 2006"))

{

Store (0x07D6, OSYS)

}

}

 

If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))

{

TRAP (0x3D)

}

 

TRAP (0x32)

}

 

Device (LID0)

{

Name (_HID, EisaId ("PNP0C0D"))

Method (_LID, 0, NotSerialized)

{

Return (LPOL)

}

 

Name (_PRW, Package (0x02)

{

0x1D,

0x03

})

Method (_PSW, 1, NotSerialized)

{

Store (Arg0, SLID)

}

}

 

Device (PWRB)

{

Name (_HID, EisaId ("PNP0C0C"))

}

 

Device (SLPB)

{

Name (_HID, EisaId ("PNP0C0E"))

}

 

Device (EMSC)

{

Name (_HID, EisaId ("CPL0002"))

}

 

Device (PCI0)

{

Method (_S3D, 0, NotSerialized)

{

Return (0x02)

}

 

Method (_S4D, 0, NotSerialized)

{

Return (0x02)

}

 

Name (_HID, EisaId ("PNP0A08"))

Name (_CID, EisaId ("PNP0A03"))

Name (_ADR, Zero)

Name (_BBN, Zero)

OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)

Field (HBUS, DWordAcc, NoLock, Preserve)

{

Offset (0x50),

, 4,

PM0H, 2,

Offset (0x51),

PM1L, 2,

, 2,

PM1H, 2,

Offset (0x52),

PM2L, 2,

, 2,

PM2H, 2,

Offset (0x53),

PM3L, 2,

, 2,

PM3H, 2,

Offset (0x54),

PM4L, 2,

, 2,

PM4H, 2,

Offset (0x55),

PM5L, 2,

, 2,

PM5H, 2,

Offset (0x56),

PM6L, 2,

, 2,

PM6H, 2,

Offset (0x57),

, 7,

HENA, 1,

Offset (0x5C),

, 3,

TOUD, 5

}

 

Name (BUF0, ResourceTemplate ()

{

WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,

0x0000, // Granularity

0x0000, // Range Minimum

0x00FF, // Range Maximum

0x0000, // Translation Offset

0x0100, // Length

,, )

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

,, _Y00, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000C4000, // Range Minimum

0x000C7FFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y01, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000C8000, // Range Minimum

0x000CBFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y02, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000CC000, // Range Minimum

0x000CFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y03, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000D0000, // Range Minimum

0x000D3FFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y04, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000D4000, // Range Minimum

0x000D7FFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y05, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000D8000, // Range Minimum

0x000DBFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y06, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000DC000, // Range Minimum

0x000DFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y07, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000E0000, // Range Minimum

0x000E3FFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y08, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000E4000, // Range Minimum

0x000E7FFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y09, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000E8000, // Range Minimum

0x000EBFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y0A, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000EC000, // Range Minimum

0x000EFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00004000, // Length

,, _Y0B, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x000F0000, // Range Minimum

0x000FFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00010000, // Length

,, _Y0C, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00000000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0x00000000, // Length

,, _Y0E, AddressRangeMemory, TypeStatic)

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0xFED40000, // Range Minimum

0xFED44FFF, // Range Maximum

0x00000000, // Translation Offset

0x00000000, // Length

,, _Y0D, AddressRangeMemory, TypeStatic)

})

Method (_CRS, 0, Serialized)

{

If (PM1L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)

Store (Zero, C0LN)

}

 

If (LEqual (PM1L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)

Store (Zero, C0RW)

}

 

If (PM1H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)

Store (Zero, C4LN)

}

 

If (LEqual (PM1H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)

Store (Zero, C4RW)

}

 

If (PM2L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)

Store (Zero, C8LN)

}

 

If (LEqual (PM2L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)

Store (Zero, C8RW)

}

 

If (PM2H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)

Store (Zero, CCLN)

}

 

If (LEqual (PM2H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)

Store (Zero, CCRW)

}

 

If (PM3L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)

Store (Zero, D0LN)

}

 

If (LEqual (PM3L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)

Store (Zero, D0RW)

}

 

If (PM3H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)

Store (Zero, D4LN)

}

 

If (LEqual (PM3H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)

Store (Zero, D4RW)

}

 

If (PM4L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)

Store (Zero, D8LN)

}

 

If (LEqual (PM4L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)

Store (Zero, D8RW)

}

 

If (PM4H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)

Store (Zero, DCLN)

}

 

If (LEqual (PM4H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)

Store (Zero, DCRW)

}

 

If (PM5L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)

Store (Zero, E0LN)

}

 

If (LEqual (PM5L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)

Store (Zero, E0RW)

}

 

If (PM5H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)

Store (Zero, E4LN)

}

 

If (LEqual (PM5H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)

Store (Zero, E4RW)

}

 

If (PM6L)

{

CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)

Store (Zero, E8LN)

}

 

If (LEqual (PM6L, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)

Store (Zero, E8RW)

}

 

If (PM6H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)

Store (Zero, ECLN)

}

 

If (LEqual (PM6H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)

Store (Zero, ECRW)

}

 

If (PM0H)

{

CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)

Store (Zero, F0LN)

}

 

If (LEqual (PM0H, One))

{

CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)

Store (Zero, F0RW)

}

 

If (TPMP)

{

CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, TPML)

Store (0x5000, TPML)

}

 

CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)

CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)

CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)

ShiftLeft (TOUD, 0x1B, M1MN)

Add (Subtract (M1MX, M1MN), One, M1LN)

Return (BUF0)

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x11)

{

Package (0x04)

{

0x0001FFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x0002FFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0x0007FFFF,

Zero,

Zero,

0x10

},

 

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)

{

0x001EFFFF,

Zero,

Zero,

0x16

},

 

Package (0x04)

{

0x001EFFFF,

One,

Zero,

0x14

},

 

Package (0x04)

{

0x001FFFFF,

Zero,

Zero,

0x12

},

 

Package (0x04)

{

0x001FFFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0x001FFFFF,

0x03,

Zero,

0x10

}

})

}

Else

{

Return (Package (0x11)

{

Package (0x04)

{

0x0001FFFF,

Zero,

^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x0002FFFF,

Zero,

^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x0007FFFF,

Zero,

^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x001BFFFF,

Zero,

^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

Zero,

^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

One,

^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

0x02,

^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0x001CFFFF,

0x03,

^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

Zero,

^LPCB.LNKH,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

One,

^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

0x02,

^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0x001DFFFF,

0x03,

^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x001EFFFF,

Zero,

^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0x001EFFFF,

One,

^LPCB.LNKE,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

Zero,

^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

One,

^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0x001FFFFF,

0x03,

^LPCB.LNKA,

Zero

}

})

}

}

 

Device (PDRC)

{

Name (_HID, EisaId ("PNP0C02"))

Name (_UID, One)

Name (BUF0, ResourceTemplate ()

{

Memory32Fixed (ReadWrite,

0xE0000000, // Address Base

0x10000000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED14000, // Address Base

0x00004000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED18000, // Address Base

0x00001000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED19000, // Address Base

0x00001000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED1C000, // Address Base

0x00004000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED20000, // Address Base

0x00020000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED40000, // Address Base

0x00005000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED45000, // Address Base

0x0004B000, // Address Length

)

})

Name (BUF1, ResourceTemplate ()

{

Memory32Fixed (ReadWrite,

0xE0000000, // Address Base

0x10000000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED14000, // Address Base

0x00004000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED18000, // Address Base

0x00001000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED19000, // Address Base

0x00001000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED1C000, // Address Base

0x00004000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED20000, // Address Base

0x00020000, // Address Length

)

Memory32Fixed (ReadWrite,

0xFED45000, // Address Base

0x0004B000, // Address Length

)

})

Method (_CRS, 0, Serialized)

{

If (LNot (TPMP))

{

Return (BUF0)

}

 

Return (BUF1)

}

}

 

Device (GFX0)

{

Name (_ADR, 0x00020000)

Method (_DOS, 1, NotSerialized)

{

Store (And (Arg0, 0x03), DSEN)

}

 

Method (_DOD, 0, NotSerialized)

{

Return (Package (0x02)

{

0x00010100,

0x00010400

})

}

 

Device (LCD)

{

Method (_ADR, 0, NotSerialized)

{

Return (0x0400)

}

 

Method (_DCS, 0, NotSerialized)

{

^^^LPCB.PHSS (0x0C)

If (And (CSTE, 0x0808))

{

Return (0x1F)

}

Else

{

Return (0x1D)

}

}

 

Method (_DGS, 0, NotSerialized)

{

If (And (NSTE, 0x0808))

{

Return (One)

}

Else

{

Return (Zero)

}

}

 

Method (_DSS, 1, NotSerialized)

{

If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))

{

Store (NSTE, CSTE)

}

}

}

 

Device (CRT1)

{

Name (_ADR, 0x0100)

Method (_DCS, 0, NotSerialized)

{

^^^LPCB.PHSS (0x0C)

If (And (CSTE, 0x0101))

{

Return (0x1F)

}

Else

{

Return (0x1D)

}

}

 

Method (_DGS, 0, NotSerialized)

{

If (And (NSTE, 0x0101))

{

Return (One)

}

Else

{

Return (Zero)

}

}

 

Method (_DSS, 1, NotSerialized)

{

If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))

{

Store (NSTE, CSTE)

}

}

}

 

Method (DSSW, 0, NotSerialized)

{

^^LPCB.PHSS (0x0C)

DSSM ()

}

 

Method (DSSM, 0, NotSerialized)

{

If (LEqual (Zero, DSEN))

{

Store (CADL, PADL)

If (LGreaterEqual (OSYS, 0x07D1))

{

Notify (PCI0, Zero)

}

Else

{

Notify (GFX0, Zero)

}

 

Sleep (0x03E8)

Notify (GFX0, 0x80)

}

 

If (LEqual (One, DSEN))

{

^^LPCB.PHSS (One)

Notify (GFX0, 0x81)

}

}

 

Method (STBL, 1, NotSerialized)

{

If (LEqual (And (Arg0, 0x07), Zero))

{

Store (0x0800, NSTE)

}

Else

{

If (LEqual (Arg0, One))

{

Store (0x0800, NSTE)

}

 

If (LEqual (Arg0, 0x02))

{

Store (One, NSTE)

}

 

If (LEqual (Arg0, 0x03))

{

Store (0x0801, NSTE)

}

 

If (LEqual (Arg0, 0x04))

{

Store (0x02, NSTE)

}

 

If (LEqual (Arg0, 0x05))

{

Store (0x0802, NSTE)

}

 

If (LEqual (Arg0, 0x06))

{

Store (0x03, NSTE)

}

 

If (LEqual (Arg0, 0x07))

{

Store (0x0803, NSTE)

}

}

 

DSSM ()

}

}

 

Device (HDEF)

{

Name (_ADR, 0x001B0000)

Name (_PRW, Package (0x02)

{

0x05,

0x04

})

}

 

Device (RP01)

{

Name (_ADR, 0x001C0000)

OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)

Field (P1CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP1, 1,

, 2,

PDC1, 1,

, 2,

PDS1, 1,

Offset (0x20),

Offset (0x22),

PSP1, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS1)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x11

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x13

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKD,

Zero

}

})

}

}

 

Device (J380)

{

Name (_ADR, Zero)

OperationRegion (PCFG, PCI_Config, Zero, 0xFF)

Field (PCFG, ByteAcc, NoLock, Preserve)

{

DVID, 32,

Offset (0x2C),

SSID, 32,

Offset (0xAC),

D3EF, 8,

Offset (0xB2),

LAT0, 8,

Offset (0xCF),

ATRB, 8,

Offset (0xD3),

PMC0, 8

}

 

Method (_STA, 0, NotSerialized)

{

If (LNotEqual (DVID, Ones))

{

Return (0x0A)

}

Else

{

Return (Zero)

}

}

 

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

}

 

Device (J381)

{

Name (_ADR, One)

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

}

 

Device (J382)

{

Name (_ADR, 0x02)

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

}

 

Device (J383)

{

Name (_ADR, 0x03)

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

}

 

Device (J384)

{

Name (_ADR, 0x04)

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

}

}

 

Device (RP02)

{

Name (_ADR, 0x001C0001)

OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)

Field (P2CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP2, 1,

, 2,

PDC2, 1,

, 2,

PDS2, 1,

Offset (0x20),

Offset (0x22),

PSP2, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS2)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT7")

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x11

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x12

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x13

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x10

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKA,

Zero

}

})

}

}

}

 

Device (RP03)

{

Name (_ADR, 0x001C0002)

OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)

Field (P3CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP3, 1,

, 2,

PDC3, 1,

, 2,

PDS3, 1,

Offset (0x20),

Offset (0x22),

PSP3, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS3)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x03

})

Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT5")

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x12

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x10

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x11

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKB,

Zero

}

})

}

}

}

 

Device (RP04)

{

Name (_ADR, 0x001C0003)

OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)

Field (P4CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP4, 1,

, 2,

PDC4, 1,

, 2,

PDS4, 1,

Offset (0x20),

Offset (0x22),

PSP4, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS4)

{

Name (_ADR, Zero)

Method (_RMV, 0, NotSerialized)

{

Return (One)

}

 

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT3")

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x13

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x10

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x11

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x12

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKC,

Zero

}

})

}

}

}

 

Device (RP05)

{

Name (_ADR, 0x001C0004)

OperationRegion (P5CS, PCI_Config, 0x40, 0x0100)

Field (P5CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP5, 1,

, 2,

PDC5, 1,

, 2,

PDS5, 1,

Offset (0x20),

Offset (0x22),

PSP5, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS5)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x10

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x11

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x12

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x13

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKD,

Zero

}

})

}

}

}

 

Device (RP06)

{

Name (_ADR, 0x001C0005)

OperationRegion (P6CS, PCI_Config, 0x40, 0x0100)

Field (P6CS, AnyAcc, NoLock, WriteAsZeros)

{

Offset (0x1A),

ABP6, 1,

, 2,

PDC6, 1,

, 2,

PDS6, 1,

Offset (0x20),

Offset (0x22),

PSP6, 1,

Offset (0x9C),

, 30,

HPCS, 1,

PMCS, 1

}

 

Device (PXS6)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

Zero,

0x11

},

 

Package (0x04)

{

0xFFFF,

One,

Zero,

0x12

},

 

Package (0x04)

{

0xFFFF,

0x02,

Zero,

0x13

},

 

Package (0x04)

{

0xFFFF,

0x03,

Zero,

0x10

}

})

}

Else

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKA,

Zero

}

})

}

}

}

 

Device (USB1)

{

Name (_ADR, 0x001D0000)

OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)

Field (U1CS, DWordAcc, NoLock, Preserve)

{

U1EN, 2

}

 

Method (_PRW, 0, NotSerialized)

{

Store (USBW, Local0)

If (LEqual (Local0, 0x03))

{

Return (Package (0x02)

{

0x03,

Zero

})

}

Else

{

Return (Package (0x02)

{

0x03,

Zero

})

}

}

 

Method (_PSW, 1, NotSerialized)

{

Store (Zero, U1EN)

}

}

 

Device (USB2)

{

Name (_ADR, 0x001D0001)

OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)

Field (U2CS, DWordAcc, NoLock, Preserve)

{

U2EN, 2

}

 

Method (_PRW, 0, NotSerialized)

{

Store (USBW, Local0)

If (LEqual (Local0, 0x03))

{

Return (Package (0x02)

{

0x04,

0x03

})

}

Else

{

Return (Package (0x02)

{

0x04,

Zero

})

}

}

 

Method (_PSW, 1, NotSerialized)

{

If (Arg0)

{

Store (^^LPCB.EC0.SYS7, Local0)

If (Local0)

{

Store (One, U2EN)

Store (One, ^^LPCB.EC0.UWAK)

}

Else

{

Store (Zero, U2EN)

}

}

Else

{

Store (Zero, U2EN)

}

}

 

Method (_S3D, 0, NotSerialized)

{

Return (0x02)

}

 

Method (_S4D, 0, NotSerialized)

{

Return (0x02)

}

}

 

Device (USB3)

{

Name (_ADR, 0x001D0002)

OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)

Field (U2CS, DWordAcc, NoLock, Preserve)

{

U3EN, 2

}

 

Name (_PRW, Package (0x02)

{

0x0C,

Zero

})

Method (_PSW, 1, NotSerialized)

{

If (Arg0)

{

Store (Zero, U3EN)

}

Else

{

Store (Zero, U3EN)

}

}

}

 

Device (USB4)

{

Name (_ADR, 0x001D0003)

OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)

Field (U4CS, DWordAcc, NoLock, Preserve)

{

U4EN, 2

}

 

Method (_PRW, 0, NotSerialized)

{

Store (USBW, Local0)

If (LEqual (Local0, 0x03))

{

Return (Package (0x02)

{

0x0E,

0x03

})

}

Else

{

Return (Package (0x02)

{

0x0E,

Zero

})

}

}

 

Method (_PSW, 1, NotSerialized)

{

If (Arg0)

{

Store (^^LPCB.EC0.SYS7, Local0)

If (Local0)

{

Store (0x02, U4EN)

Store (One, ^^LPCB.EC0.UWAK)

}

Else

{

Store (Zero, U4EN)

}

}

Else

{

Store (Zero, U4EN)

}

}

 

Method (_S3D, 0, NotSerialized)

{

Return (0x03)

}

 

Method (_S4D, 0, NotSerialized)

{

Return (0x02)

}

 

Method (_PS0, 0, NotSerialized)

{

}

 

Method (_PS3, 0, NotSerialized)

{

Sleep (0x03E8)

}

}

 

Device (USB7)

{

Name (_ADR, 0x001D0007)

Device (HUB7)

{

Name (_ADR, Zero)

Device (PRT1)

{

Name (_ADR, One)

}

 

Device (PRT2)

{

Name (_ADR, 0x02)

}

 

Device (PRT3)

{

Name (_ADR, 0x03)

Name (_EJD, "\\_SB.PCI0.RP04.PXS4")

}

 

Device (PRT4)

{

Name (_ADR, 0x04)

}

 

Device (PRT5)

{

Name (_ADR, 0x05)

Name (_EJD, "\\_SB.PCI0.RP03.PXS3")

}

 

Device (PRT6)

{

Name (_ADR, 0x06)

}

 

Device (PRT7)

{

Name (_ADR, 0x07)

Name (_EJD, "\\_SB.PCI0.RP02.PXS2")

}

 

Device (PRT8)

{

Name (_ADR, 0x08)

}

}

 

Method (_PRW, 0, NotSerialized)

{

Store (USBW, Local0)

If (LEqual (Local0, 0x03))

{

Return (Package (0x02)

{

0x0D,

0x03

})

}

Else

{

Return (Package (0x02)

{

0x0D,

Zero

})

}

}

 

Method (_S3D, 0, NotSerialized)

{

Return (0x02)

}

 

Method (_S4D, 0, NotSerialized)

{

Return (0x02)

}

}

 

Device (PCIB)

{

Name (_ADR, 0x001E0000)

Device (SLT0)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x0B,

0x04

})

}

 

Device (SLT1)

{

Name (_ADR, 0x00010000)

Name (_PRW, Package (0x02)

{

0x0B,

0x04

})

}

 

Device (SLT2)

{

Name (_ADR, 0x00020000)

Name (_PRW, Package (0x02)

{

0x0B,

0x04

})

}

 

Device (SLT3)

{

Name (_ADR, 0x00030000)

Name (_PRW, Package (0x02)

{

0x0B,

0x04

})

}

 

Device (SLT6)

{

Name (_ADR, 0x00050000)

Name (_PRW, Package (0x02)

{

0x0B,

0x04

})

}

 

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x15)

{

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)

{

0x0002FFFF,

Zero,

Zero,

0x12

},

 

Package (0x04)

{

0x0002FFFF,

One,

Zero,

0x13

},

 

Package (0x04)

{

0x0002FFFF,

0x02,

Zero,

0x11

},

 

Package (0x04)

{

0x0002FFFF,

0x03,

Zero,

0x10

},

 

Package (0x04)

{

0x0003FFFF,

Zero,

Zero,

0x13

},

 

Package (0x04)

{

0x0003FFFF,

One,

Zero,

0x12

},

 

Package (0x04)

{

0x0003FFFF,

0x02,

Zero,

0x15

},

 

Package (0x04)

{

0x0003FFFF,

0x03,

Zero,

0x16

},

 

Package (0x04)

{

0x0005FFFF,

Zero,

Zero,

0x11

},

 

Package (0x04)

{

0x0005FFFF,

One,

Zero,

0x14

},

 

Package (0x04)

{

0x0005FFFF,

0x02,

Zero,

0x16

},

 

Package (0x04)

{

0x0005FFFF,

0x03,

Zero,

0x15

},

 

Package (0x04)

{

0x0008FFFF,

Zero,

Zero,

0x14

}

})

}

Else

{

Return (Package (0x15)

{

Package (0x04)

{

0xFFFF,

Zero,

^^LPCB.LNKF,

Zero

},

 

Package (0x04)

{

0xFFFF,

One,

^^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x02,

^^LPCB.LNKH,

Zero

},

 

Package (0x04)

{

0xFFFF,

0x03,

^^LPCB.LNKE,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

Zero,

^^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

One,

^^LPCB.LNKF,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

0x02,

^^LPCB.LNKE,

Zero

},

 

Package (0x04)

{

0x0001FFFF,

0x03,

^^LPCB.LNKH,

Zero

},

 

Package (0x04)

{

0x0002FFFF,

Zero,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0x0002FFFF,

One,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0x0002FFFF,

0x02,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0x0002FFFF,

0x03,

^^LPCB.LNKA,

Zero

},

 

Package (0x04)

{

0x0003FFFF,

Zero,

^^LPCB.LNKD,

Zero

},

 

Package (0x04)

{

0x0003FFFF,

One,

^^LPCB.LNKC,

Zero

},

 

Package (0x04)

{

0x0003FFFF,

0x02,

^^LPCB.LNKF,

Zero

},

 

Package (0x04)

{

0x0003FFFF,

0x03,

^^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0x0005FFFF,

Zero,

^^LPCB.LNKB,

Zero

},

 

Package (0x04)

{

0x0005FFFF,

One,

^^LPCB.LNKE,

Zero

},

 

Package (0x04)

{

0x0005FFFF,

0x02,

^^LPCB.LNKG,

Zero

},

 

Package (0x04)

{

0x0005FFFF,

0x03,

^^LPCB.LNKF,

Zero

},

 

Package (0x04)

{

0x0008FFFF,

Zero,

^^LPCB.LNKE,

Zero

}

})

}

}

}

 

Device (LPCB)

{

Name (_ADR, 0x001F0000)

OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)

Field (LPC0, AnyAcc, NoLock, Preserve)

{

Offset (0x20),

PARC, 8,

PBRC, 8,

PCRC, 8,

PDRC, 8,

Offset (0x28),

PERC, 8,

PFRC, 8,

PGRC, 8,

PHRC, 8,

Offset (0x40),

IOD0, 8,

IOD1, 8,

IOE0, 8,

IOE1, 8

}

 

Device (ACAD)

{

Name (_HID, "ACPI0003")

Name (_PCL, Package (0x01)

{

_SB

})

Method (_PSR, 0, NotSerialized)

{

If (ECOK ())

{

Return (^^EC0.ADPT)

}

Else

{

Return (One)

}

}

}

 

Device (LNKA)

{

Name (_HID, EisaId ("PNP0C0F"))

Name (_UID, One)

Method (_DIS, 0, Serialized)

{

Store (0x80, PARC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,10,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLA, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLA, 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)

{

Store (0x80, PBRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,11,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLB, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLB, 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)

{

Store (0x80, PCRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,10,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLC, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLC, 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)

{

Store (0x80, PDRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,11,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLD, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLD, 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)

{

Store (0x80, PERC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,10,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLE, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLE, 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)

{

Store (0x80, PFRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,11,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLF, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLF, 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)

{

Store (0x80, PGRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,10,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLG, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLG, 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)

{

Store (0x80, PHRC)

}

 

Name (_PRS, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{1,3,4,5,6,7,11,12,14,15}

})

Method (_CRS, 0, Serialized)

{

Name (RTLH, ResourceTemplate ()

{

IRQ (Level, ActiveLow, Shared, )

{}

})

CreateWordField (RTLH, 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)

}

}

}

 

Method (ECOK, 0, NotSerialized)

{

If (LEqual (^EC0.Z009, One))

{

Return (One)

}

Else

{

Return (Zero)

}

}

 

Device (EC0)

{

Name (_HID, EisaId ("PNP0C09"))

Name (_GPE, 0x19)

Name (Z009, Zero)

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0062, // Range Minimum

0x0062, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

0x0066, // Range Minimum

0x0066, // Range Maximum

0x01, // Alignment

0x01, // Length

)

})

Method (_REG, 2, NotSerialized)

{

If (LEqual (Arg0, 0x03))

{

Store (Arg1, Z009)

If (CondRefOf (_OSI, Local0))

{

Store (Zero, BTDS)

If (_OSI ("Windows 2006"))

{

Store (One, BTDS)

}

}

}

}

 

OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)

Field (ERAM, ByteAcc, Lock, Preserve)

{

Offset (0x60),

SMPR, 8,

SMST, 8,

SMAD, 8,

SMCM, 8,

SMD0, 256,

BCNT, 8,

SMAA, 24,

Offset (0x90),

CHGM, 16,

CHGS, 16,

ENID, 8,

ENIB, 8,

ENDD, 8,

CHGV, 8,

CHGA, 16,

BAL0, 1,

BAL1, 1,

BAL2, 1,

BAL3, 1,

BBC0, 1,

BBC1, 1,

BBC2, 1,

BBC3, 1,

Offset (0x9C),

PHDD, 1,

IFDD, 1,

IODD, 1,

SHDD, 1,

S120, 1,

EFDD, 1,

CRTD, 1,

SPWR, 1,

SBTN, 1,

VIDO, 1,

VOLD, 1,

VOLU, 1,

MUTE, 1,

CONT, 1,

BRGT, 1,

HBTN, 1,

S4ST, 1,

SKEY, 1,

BKEY, 1,

TOUP, 1,

FNBN, 1,

LIDF, 1,

DIGM, 1,

UWAK, 1,

, 1,

LIDS, 1,

Offset (0xA0),

DKSP, 1,

DKIN, 1,

DKID, 1,

DKOK, 1,

Offset (0xA1),

DKPW, 1,

Offset (0xA2),

BTNS, 8,

S1LD, 1,

S3LD, 1,

VGAQ, 1,

PCMQ, 1,

PCMR, 1,

ADPT, 1,

SLLS, 1,

SYS7, 1,

PWAK, 1,

MWAK, 1,

, 1,

SLPN, 1,

LWAK, 1,

Offset (0xAA),

TCNL, 8,

TMPI, 8,

TMSD, 8,

FASN, 4,

FASU, 4,

PCVL, 4,

, 2,

SWTO, 1,

HWTO, 1,

MODE, 1,

FANS, 2,

INIT, 1,

FAN1, 1,

FAN2, 1,

FANT, 1,

SKNM, 1,

CTMP, 8,

SKTA, 8,

SK90, 8,

SK92, 8,

Offset (0xB5),

DTMP, 8,

Offset (0xB7),

HCPL, 2,

HCPR, 1,

Offset (0xB8),

BTDT, 1,

BTPW, 1,

BTDS, 1,

BTPS, 1,

BTSW, 1,

BTWK, 1,

BTLD, 1,

Offset (0xB9),

BRTS, 8,

CNTS, 8,

WLAT, 1,

BTAT, 1,

WLEX, 1,

BTEX, 1,

KLSW, 1,

WLOK, 1,

Offset (0xBC),

PTID, 8,

CPUT, 8,

LIDW, 1,

Offset (0xC0),

, 4,

BMF0, 3,

BTY0, 1,

BST0, 8,

BRC0, 16,

BSN0, 16,

BPV0, 16,

BDV0, 16,

BDC0, 16,

BFC0, 16,

GAU0, 8,

CYC0, 8,

BPC0, 16,

BAC0, 16,

BAT0, 8,

BTW0, 16,

BDN0, 8,

Offset (0xE0),

, 4,

BMF1, 3,

BTY1, 1,

BST1, 8,

BRC1, 16,

BSN1, 16,

BPV1, 16,

BDV1, 16,

BDC1, 16,

BFC1, 16,

GAU1, 8,

CYC1, 8,

BPC1, 16,

BAC1, 16,

BAT1, 8,

BTW1, 16

}

 

Method (_Q1C, 0, NotSerialized)

{

Store ("=====QUERY_1C=====", Debug)

P8XH (Zero, 0xE2)

If (VIDO)

{

^^^GFX0.DSSW ()

Store (Zero, VIDO)

}

}

 

Method (_Q1D, 0, NotSerialized)

{

Store ("=====QUERY_1D=====", Debug)

P8XH (Zero, 0xE5)

PCLK ()

}

 

Method (_Q1E, 0, NotSerialized)

{

Store ("=====QUERY_1E=====", Debug)

P8XH (Zero, 0xE6)

PCLK ()

}

 

Method (_Q25, 0, NotSerialized)

{

Store ("=====QUERY_25=====", Debug)

P8XH (Zero, 0xE7)

Sleep (0x03E8)

Notify (^^BAT1, 0x81)

Sleep (0x03E8)

Notify (^^BAT1, 0x80)

}

 

Method (_Q34, 0, NotSerialized)

{

Store ("=====QUERY_34=====", Debug)

P8XH (Zero, 0xE8)

If (BKEY)

{

PHSS (0x71)

Store (Zero, BKEY)

}

}

 

Method (_Q37, 0, NotSerialized)

{

Store ("=====QUERY_37=====", Debug)

P8XH (Zero, 0xE9)

PHSS (0x0D)

Notify (ACAD, 0x80)

Sleep (0x03E8)

Notify (^^BAT1, 0x80)

}

 

Method (_Q38, 0, NotSerialized)

{

Store ("=====QUERY_38=====", Debug)

P8XH (Zero, 0xEA)

PHSS (0x0D)

Notify (ACAD, 0x80)

Sleep (0x03E8)

Notify (\_PR.CPU0, 0x81)

If (And (CFGD, 0x01000000))

{

Notify (\_PR.CPU1, 0x81)

}

 

Notify (^^BAT1, 0x80)

}

 

OperationRegion (CCLK, SystemIO, 0x1010, 0x04)

Field (CCLK, DWordAcc, NoLock, Preserve)

{

, 1,

DUTY, 3,

THEN, 1,

Offset (0x01),

FTT, 1,

, 8,

TSTS, 1

}

 

OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)

Field (ECRM, ByteAcc, Lock, Preserve)

{

Offset (0x94),

ERIB, 16,

ERBD, 8,

Offset (0xAC),

SDTM, 8,

FSSN, 4,

FANU, 4,

PTVL, 3,

, 4,

TTHR, 1,

Offset (0xBC),

PJID, 8,

Offset (0xBE),

Offset (0xF9),

RFRD, 16

}

 

Mutex (FAMX, 0x00)

Method (FANG, 1, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, ERIB)

Store (ERBD, Local0)

Release (FAMX)

Return (Local0)

}

 

Method (FANW, 2, NotSerialized)

{

Acquire (FAMX, 0xFFFF)

Store (Arg0, ERIB)

Store (Arg1, ERBD)

Release (FAMX)

Return (Arg1)

}

 

Method (TUVR, 1, NotSerialized)

{

Return (0x03)

}

 

Method (THRO, 1, NotSerialized)

{

If (LEqual (Arg0, Zero))

{

Return (THEN)

}

Else

{

If (LEqual (Arg0, One))

{

Return (DUTY)

}

Else

{

If (LEqual (Arg0, 0x02))

{

Return (TTHR)

}

Else

{

Return (0xFF)

}

}

}

}

 

Method (CLCK, 1, NotSerialized)

{

If (LEqual (Arg0, Zero))

{

Store (Zero, THEN)

Store (Zero, FTT)

}

Else

{

Store (Arg0, DUTY)

Store (One, THEN)

}

 

Return (THEN)

}

 

Method (PCLK, 0, NotSerialized)

{

Store (PTVL, Local0)

If (LEqual (Local0, Zero))

{

Store (Zero, THEN)

Store (Zero, FTT)

}

Else

{

Decrement (Local0)

Store (Not (Local0), Local1)

And (Local1, 0x07, Local1)

Store (Local1, DUTY)

Store (One, THEN)

}

}

}

 

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 (ATT3, ResourceTemplate ()

{

IRQNoFlags ()

{0}

IRQNoFlags ()

{8}

Memory32Fixed (ReadWrite,

0xFED00000, // Address Base

0x00000400, // Address Length

)

})

Name (ATT4, ResourceTemplate ()

{

})

Method (_STA, 0, NotSerialized)

{

Return (0x0F)

}

 

Method (_CRS, 0, NotSerialized)

{

Return (ATT3)

}

}

 

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

)

IRQNoFlags ()

{2}

})

}

 

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,

0x0061, // Range Minimum

0x0061, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

0x0063, // Range Minimum

0x0063, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

0x0065, // Range Minimum

0x0065, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

0x0067, // Range Minimum

0x0067, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

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,

0x0800, // Range Minimum

0x0800, // Range Maximum

0x01, // Alignment

0x10, // Length

)

IO (Decode16,

0x1000, // Range Minimum

0x1000, // Range Maximum

0x01, // Alignment

0x80, // Length

)

IO (Decode16,

0x1180, // Range Minimum

0x1180, // Range Maximum

0x01, // Alignment

0x40, // Length

)

IO (Decode16,

0x1640, // Range Minimum

0x1640, // Range Maximum

0x01, // Alignment

0x10, // Length

)

IO (Decode16,

0xFE00, // Range Minimum

0xFE00, // Range Maximum

0x01, // Alignment

0x80, // Length

)

IO (Decode16,

0xFF00, // Range Minimum

0xFF00, // Range Maximum

0x01, // Alignment

0x80, // Length

)

})

}

 

Device (CDRC)

{

Name (_HID, EisaId ("PNP0C02"))

Name (_UID, 0x03)

Name (BUF0, ResourceTemplate ()

{

IO (Decode16,

0x06B0, // Range Minimum

0x06B0, // Range Maximum

0x01, // Alignment

0x40, // Length

)

})

Name (BUF1, ResourceTemplate ()

{

IO (Decode16,

0x06B0, // Range Minimum

0x06B0, // Range Maximum

0x01, // Alignment

0x50, // Length

)

})

Name (BUF2, ResourceTemplate ()

{

IO (Decode16,

0x06A0, // Range Minimum

0x06A0, // Range Maximum

0x01, // Alignment

0x10, // Length

)

IO (Decode16,

0x06B0, // Range Minimum

0x06B0, // Range Maximum

0x01, // Alignment

0x40, // Length

)

})

Name (BUF3, ResourceTemplate ()

{

IO (Decode16,

0x06A0, // Range Minimum

0x06A0, // Range Maximum

0x01, // Alignment

0x10, // Length

)

IO (Decode16,

0x06B0, // Range Minimum

0x06B0, // Range Maximum

0x01, // Alignment

0x50, // Length

)

})

Method (_CRS, 0, Serialized)

{

If (EMAE)

{

If (CIRP)

{

Return (BUF0)

}

 

Return (BUF1)

}

Else

{

If (CIRP)

{

Return (BUF2)

}

 

Return (BUF3)

}

}

}

 

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

)

IRQNoFlags ()

{0}

})

}

 

OperationRegion (SMI0, SystemIO, 0xFE00, 0x02)

Field (SMI0, AnyAcc, NoLock, Preserve)

{

SMIC, 8

}

 

OperationRegion (SMI1, SystemMemory, 0x3F6E2EBD, 0x90)

Field (SMI1, AnyAcc, NoLock, Preserve)

{

BCMD, 8,

DID, 32,

INFO, 1024

}

 

Field (SMI1, AnyAcc, NoLock, Preserve)

{

AccessAs (ByteAcc, 0x00),

Offset (0x05),

INF, 8,

INF1, 32

}

 

Mutex (PSMX, 0x00)

Method (PHSS, 1, NotSerialized)

{

Acquire (PSMX, 0xFFFF)

Store (0x80, BCMD)

Store (Arg0, DID)

Store (Zero, SMIC)

Release (PSMX)

}

 

Device (BAT1)

{

Name (_HID, EisaId ("PNP0C0A"))

Name (_UID, One)

Name (_PCL, Package (0x01)

{

_SB

})

Method (_STA, 0, NotSerialized)

{

If (LAnd (ECOK (), LEqual (ECDY, Zero)))

{

If (^^EC0.BAL0)

{

Sleep (0x14)

Return (0x1F)

}

Else

{

Sleep (0x14)

Return (0x0F)

}

}

Else

{

Sleep (0x14)

Return (0x1F)

}

}

 

Method (_BIF, 0, NotSerialized)

{

Name (STAT, Package (0x0D)

{

One,

0x0FA0,

0x0FA0,

One,

0x2B5C,

0x01A4,

0x9C,

0x0108,

0x0EC4,

"",

"11",

"Lion",

"DELL"

})

If (ECOK ())

{

Store (^^EC0.BDN0, Local0)

If (LEqual (BRAD, One))

{

If (LEqual (Local0, 0x02))

{

Store ("PA3421U ", Index (STAT, 0x09))

}

 

If (LEqual (Local0, 0x08))

{

Store ("PA3395U ", Index (STAT, 0x09))

}

}

Else

{

If (LEqual (Local0, 0x02))

{

Store ("PA3421U ", Index (STAT, 0x09))

}

 

If (LEqual (Local0, 0x08))

{

Store ("PA3395U ", Index (STAT, 0x09))

}

}

 

Sleep (0x14)

Store (^^EC0.BDC0, BFC1)

Sleep (0x14)

}

Else

{

Store ("Li-Ion", Index (STAT, 0x0B))

}

 

If (BFC1)

{

Divide (BFC1, 0x64, Local0, Local1)

Multiply (Local1, 0x64, Local1)

Store (Local1, BFC1)

Store (Local1, Index (STAT, One))

Store (Local1, Index (STAT, 0x02))

}

 

Return (STAT)

}

 

Method (_BST, 0, NotSerialized)

{

Name (PBST, Package (0x04)

{

Zero,

Ones,

Ones,

0x2B5C

})

Store (0x2B5C, Local3)

If (ECOK ())

{

Sleep (0x14)

Store (^^EC0.BST0, BST1)

Sleep (0x14)

Store (^^EC0.GAU0, BGU1)

Sleep (0x14)

}

 

If (BFC1)

{

Multiply (BGU1, BFC1, Local2)

Divide (Local2, 0x64, Local4, Local2)

}

Else

{

Multiply (BGU1, 0x28, Local2)

}

 

Store (BST1, Index (PBST, Zero))

Store (Zero, Index (PBST, One))

Store (Local2, Index (PBST, 0x02))

Store (Local3, Index (PBST, 0x03))

If (LGreater (ECDY, Zero))

{

Decrement (ECDY)

If (LEqual (ECDY, Zero))

{

Notify (BAT1, 0x81)

}

}

 

Return (PBST)

}

}

 

Device (PS2K)

{

Name (_HID, EisaId ("PNP0303"))

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0060, // Range Minimum

0x0060, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IO (Decode16,

0x0064, // Range Minimum

0x0064, // Range Maximum

0x01, // Alignment

0x01, // Length

)

IRQ (Edge, ActiveHigh, Exclusive, )

{1}

})

}

 

Device (PS2M)

{

Name (_HID, EisaId ("SYN0601"))

Name (_CID, Package (0x03)

{

EisaId ("SYN0600"),

EisaId ("SYN0002"),

EisaId ("PNP0F13")

})

Name (_CRS, ResourceTemplate ()

{

IRQ (Edge, ActiveHigh, Exclusive, )

{12}

})

}

}

 

Device (PATA)

{

Name (_ADR, 0x001F0001)

OperationRegion (PACS, PCI_Config, 0x40, 0xC0)

Field (PACS, DWordAcc, NoLock, Preserve)

{

PRIT, 16,

Offset (0x04),

PSIT, 4,

Offset (0x08),

SYNC, 4,

Offset (0x0A),

SDT0, 2,

, 2,

SDT1, 2,

Offset (0x14),

ICR0, 4,

ICR1, 4,

ICR2, 4,

ICR3, 4,

ICR4, 4,

ICR5, 4

}

 

Device (PRID)

{

Name (_ADR, Zero)

Method (_GTM, 0, NotSerialized)

{

Name (PBUF, Buffer (0x14)

{

/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00

})

CreateDWordField (PBUF, Zero, PIO0)

CreateDWordField (PBUF, 0x04, DMA0)

CreateDWordField (PBUF, 0x08, PIO1)

CreateDWordField (PBUF, 0x0C, DMA1)

CreateDWordField (PBUF, 0x10, FLAG)

Store (GETP (PRIT), PIO0)

Store (GDMA (And (SYNC, One), And (ICR3, One),

And (ICR0, One), SDT0, And (ICR1, One)), DMA0)

If (LEqual (DMA0, Ones))

{

Store (PIO0, DMA0)

}

 

If (And (PRIT, 0x4000))

{

If (LEqual (And (PRIT, 0x90), 0x80))

{

Store (0x0384, PIO1)

}

Else

{

Store (GETT (PSIT), PIO1)

}

}

Else

{

Store (Ones, PIO1)

}

 

Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),

And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)

If (LEqual (DMA1, Ones))

{

Store (PIO1, DMA1)

}

 

Store (GETF (And (SYNC, One), And (SYNC, 0x02),

PRIT), FLAG)

If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones)))

{

Store (0x78, PIO0)

Store (0x14, DMA0)

Store (0x03, FLAG)

}

 

Return (PBUF)

}

 

Method (_STM, 3, NotSerialized)

{

CreateDWordField (Arg0, Zero, PIO0)

CreateDWordField (Arg0, 0x04, DMA0)

CreateDWordField (Arg0, 0x08, PIO1)

CreateDWordField (Arg0, 0x0C, DMA1)

CreateDWordField (Arg0, 0x10, FLAG)

If (LEqual (SizeOf (Arg1), 0x0200))

{

And (PRIT, 0xC0F0, PRIT)

And (SYNC, 0x02, SYNC)

Store (Zero, SDT0)

And (ICR0, 0x02, ICR0)

And (ICR1, 0x02, ICR1)

And (ICR3, 0x02, ICR3)

And (ICR5, 0x02, ICR5)

CreateWordField (Arg1, 0x62, W490)

CreateWordField (Arg1, 0x6A, W530)

CreateWordField (Arg1, 0x7E, W630)

CreateWordField (Arg1, 0x80, W640)

CreateWordField (Arg1, 0xB0, W880)

CreateWordField (Arg1, 0xBA, W930)

Or (PRIT, 0x8004, PRIT)

If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))

{

Or (PRIT, 0x02, PRIT)

}

 

Or (PRIT, SETP (PIO0, W530, W640), PRIT)

If (And (FLAG, One))

{

Or (SYNC, One, SYNC)

Store (SDMA (DMA0), SDT0)

If (LLess (DMA0, 0x1E))

{

Or (ICR3, One, ICR3)

}

 

If (LLess (DMA0, 0x3C))

{

Or (ICR0, One, ICR0)

}

 

If (And (W930, 0x2000))

{

Or (ICR1, One, ICR1)

}

}

}

 

If (LEqual (SizeOf (Arg2), 0x0200))

{

And (PRIT, 0xBF0F, PRIT)

Store (Zero, PSIT)

And (SYNC, One, SYNC)

Store (Zero, SDT1)

And (ICR0, One, ICR0)

And (ICR1, One, ICR1)

And (ICR3, One, ICR3)

And (ICR5, One, ICR5)

CreateWordField (Arg2, 0x62, W491)

CreateWordField (Arg2, 0x6A, W531)

CreateWordField (Arg2, 0x7E, W631)

CreateWordField (Arg2, 0x80, W641)

CreateWordField (Arg2, 0xB0, W881)

CreateWordField (Arg2, 0xBA, W931)

Or (PRIT, 0x8040, PRIT)

If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))

{

Or (PRIT, 0x20, PRIT)

}

 

If (And (FLAG, 0x10))

{

Or (PRIT, 0x4000, PRIT)

If (LGreater (PIO1, 0xF0))

{

Or (PRIT, 0x80, PRIT)

}

Else

{

Or (PRIT, 0x10, PRIT)

Store (SETT (PIO1, W531, W641), PSIT)

}

}

 

If (And (FLAG, 0x04))

{

Or (SYNC, 0x02, SYNC)

Store (SDMA (DMA1), SDT1)

If (LLess (DMA1, 0x1E))

{

Or (ICR3, 0x02, ICR3)

}

 

If (LLess (DMA1, 0x3C))

{

Or (ICR0, 0x02, ICR0)

}

 

If (And (W931, 0x2000))

{

Or (ICR1, 0x02, ICR1)

}

}

}

}

 

Device (P_D0)

{

Name (_ADR, Zero)

Method (_GTF, 0, NotSerialized)

{

Name (PIB0, Buffer (0x0E)

{

/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF

})

CreateByteField (PIB0, One, PMD0)

CreateByteField (PIB0, 0x08, DMD0)

If (And (PRIT, 0x02))

{

If (LEqual (And (PRIT, 0x09), 0x08))

{

Store (0x08, PMD0)

}

Else

{

Store (0x0A, PMD0)

ShiftRight (And (PRIT, 0x0300), 0x08, Local0)

ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)

Add (Local0, Local1, Local2)

If (LEqual (0x03, Local2))

{

Store (0x0B, PMD0)

}

 

If (LEqual (0x05, Local2))

{

Store (0x0C, PMD0)

}

}

}

Else

{

Store (One, PMD0)

}

 

If (And (SYNC, One))

{

Store (Or (SDT0, 0x40), DMD0)

If (And (ICR1, One))

{

If (And (ICR0, One))

{

Add (DMD0, 0x02, DMD0)

}

 

If (And (ICR3, One))

{

Store (0x45, DMD0)

}

}

}

Else

{

Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)

}

 

Return (PIB0)

}

}

 

Device (P_D1)

{

Name (_ADR, One)

Method (_GTF, 0, NotSerialized)

{

Name (PIB1, Buffer (0x0E)

{

/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF

})

CreateByteField (PIB1, One, PMD1)

CreateByteField (PIB1, 0x08, DMD1)

If (And (PRIT, 0x20))

{

If (LEqual (And (PRIT, 0x90), 0x80))

{

Store (0x08, PMD1)

}

Else

{

Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),

0x02), Local0)

If (LEqual (0x05, Local0))

{

Store (0x0C, PMD1)

}

Else

{

If (LEqual (0x03, Local0))

{

Store (0x0B, PMD1)

}

Else

{

Store (0x0A, PMD1)

}

}

}

}

Else

{

Store (One, PMD1)

}

 

If (And (SYNC, 0x02))

{

Store (Or (SDT1, 0x40), DMD1)

If (And (ICR1, 0x02))

{

If (And (ICR0, 0x02))

{

Add (DMD1, 0x02, DMD1)

}

 

If (And (ICR3, 0x02))

{

Store (0x45, DMD1)

}

}

}

Else

{

Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)

}

 

Return (PIB1)

}

}

}

}

 

Device (SATA)

{

Name (_ADR, 0x001F0002)

OperationRegion (SACS, PCI_Config, 0x40, 0xC0)

Field (SACS, DWordAcc, NoLock, Preserve)

{

PRIT, 16,

SECT, 16,

PSIT, 4,

SSIT, 4,

Offset (0x08),

SYNC, 4,

Offset (0x0A),

SDT0, 2,

, 2,

SDT1, 2,

Offset (0x0B),

SDT2, 2,

, 2,

SDT3, 2,

Offset (0x14),

ICR0, 4,

ICR1, 4,

ICR2, 4,

ICR3, 4,

ICR4, 4,

ICR5, 4,

Offset (0x50),

MAPV, 2

}

}

 

Device (SBUS)

{

Name (_ADR, 0x001F0003)

OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)

Field (SMBP, DWordAcc, NoLock, Preserve)

{

, 2,

I2CE, 1

}

 

OperationRegion (SMBI, SystemIO, 0x18A0, 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 (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)

}

}

}

}

}

 

Link to comment
Share on other sites

Hello, everybody!

 

I must be a noob since I can't get the thing to work. I have a Shuttle SG31G2 with C2D E8500, GEIL 4GB 800Mhz RAM, GMA950, ICH7, Alc888. System is Kalyway 10.5.2 with vanilla kernel.

 

Yes, I have created the DSDT.aml and moved it to root partition. But I have problems with the compiler. Here's what I've got in terminal:

 

Dmitry-Goloubs-Mac-Pro:~ dmitrygoloub$ /Patch/compiler -d /DSDT.aml

 

Intel ACPI Component Architecture

AML Disassembler version 20080926 [Oct 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

Loading Acpi table from file /DSDT.aml

Acpi table [DSDT] successfully installed and loaded

Could not open output file /DSDT.dsl

Dmitry-Goloubs-Mac-Pro:~ dmitrygoloub$

 

And after this I see no DSDT.dsl in root partition and everything stays the same after reboot. Please help me if you can, anyone.

 

Mushbird.

Link to comment
Share on other sites

after reading the whole thread and seeing a few people trying it on laptops, i thought id give mine (vaio sz120p - gma950 27a2 - currently with all res, no rotation, qe/ci enabled - with square artifacts in apps like word, renamingfiles, adobe reader) a try

 

got the first initial dsdt.aml and dsdt.dsl, rebooted and worked.

 

tried to add the new code, read from post #209 since i did not have Scope (_SI), added the 2nd part of code in as well...

 

tried to recompile it but resulted in large amount of errors and no dsdt.aml but a dsdt.asm

 

dsdt.aml_First_time_.zip - dsdt.aml

dsdt.dsl_added_code_.zip - dsdt.dsl with added code

logs.txt - errors when trying to compile -sa modified dsdt.dsl

dsdt.asm.zip - resulting asm

Link to comment
Share on other sites

I am also on a notebook (dell mini 9) and i have artifacts whenever my cursor changes (text cursor, window drag cursor etc etc)

 

anyways i have the problem you are encountering... i cannot find that in my DSDT.dsl but i have found references to my gfx and internal display.

 

i have attached the contents of my DSDT.dsl in the hope somebody can point me in the right direction.

 

I am trying to figure this one out too. I have tried so many things and none work. The thing is that we already have a GFX0 section in out DSDT... so I think this is where we have to apply the second part of the patch.

 

But because we are using a Laptop I think it need to be slightly different than what is used for desktop... and I have not figured out what it is yet.

 

If Dr. Hurt could have a quick look I am sure we could get this fixed once and for all.

Link to comment
Share on other sites

I am also on a notebook (dell mini 9) and i have artifacts whenever my cursor changes (text cursor, window drag cursor etc etc)

 

anyways i have the problem you are encountering... i cannot find that in my DSDT.dsl but i have found references to my gfx and internal display.

 

i have attached the contents of my DSDT.dsl in the hope somebody can point me in the right direction.

 

I am trying to figure this one out too. I have tried so many things and none work. The thing is that we already have a GFX0 section in out DSDT... so I think this is where we have to apply the second part of the patch.

 

But because we are using a Laptop I think it need to be slightly different than what is used for desktop... and I have not figured out what it is yet.

 

If Dr. Hurt could have a quick look I am sure we could get this fixed once and for all.

 

Why don't you use EFI strings instead. DSDT is really messy; the only reason we use it is because EFI strings don't work with desktop version. Use OSx86 tools to install EFI strings instead. If it doesn't work, pls attach your dsdt.dsl file so that I can have a look.

Link to comment
Share on other sites

Why don't you use EFI strings instead. DSDT is really messy; the only reason we use it is because EFI strings don't work with desktop version. Use OSx86 tools to install EFI strings instead. If it doesn't work, pls attach your dsdt.dsl file so that I can have a look.

EFI string don't appear to work...

 

I am attaching the "pure" dsdt.dsl file from the Mini9 and also the one I have modified so far... with no luck. With the modified one I can see the Chipset Model: GMA 950 in System Profiles but QI/QE does not work... and resolution is stuck at 800x600

 

Thank you for looking into this... The GMA950 is one of the last little glitch on the Dell Mini 9 to make it the perfect Apple Netbook...

 

You will note that I have shimmed in two places the code... No luck. I tried 1st to only put it in the bottom section that defines LCD and CRT under GFX0... Tht only allow the proper GMA 950 to show in sys pref. I then tried to put it int the PCI0 top section... with the same result.

 

Not sure what else to try...

 

P.S.: Dell Mini 9 Device ID is 0x27ae

dsdt.dsl.rawmini9.zip

dsdt.dsl.zip

Link to comment
Share on other sites

EFI string don't appear to work...

 

I am attaching the "pure" dsdt.dsl file from the Mini9 and also the one I have modified so far... with no luck. With the modified one I can see the Chipset Model: GMA 950 in System Profiles but QI/QE does not work... and resolution is stuck at 800x600

 

Thank you for looking into this... The GMA950 is one of the last little glitch on the Dell Mini 9 to make it the perfect Apple Netbook...

 

You will note that I have shimmed in two places the code... No luck. I tried 1st to only put it in the bottom section that defines LCD and CRT under GFX0... Tht only allow the proper GMA 950 to show in sys pref. I then tried to put it int the PCI0 top section... with the same result.

 

Not sure what else to try...

 

P.S.: Dell Mini 9 Device ID is 0x27ae

 

OK, I had a look at your DSDT, and boy was that a strange one!!

I've noticed a couple of mistakes.

Also, and more importantly you'll not be able to use stock GMA950 kexts because they do not have the device id for your model. I have fixed your DSDT, compiled it with no errors, and modified the kexts to include your dev id (27AE) - So you'll need to add your id every time you update your system, but that shouldn't be too hard .Pls try it and tell me how it goes. Good Luck.

DELL_MINI_9.zip

Link to comment
Share on other sites

OK, I had a look at your DSDT, and boy was that a strange one!!

I've noticed a couple of mistakes.

Also, and more importantly you'll not be able to use stock GMA950 kexts because they do not have the device id for your model. I have fixed your DSDT, compiled it with no errors, and modified the kexts to include your dev id (27AE) - So you'll need to add your id every time you update your system, but that shouldn't be too hard .Pls try it and tell me how it goes. Good Luck.

Thank you for taking the time! I guess the modified KEXT are the reason I was having issues. Can you tell me what is your method for modifying the kext? Are you simply hex editing the binary or are you using a disassembler? I guess you probably also modified the .plist. I am asking because I would rether learn how to catch fish then always have to ask to be given one ;-)

 

I am working on the DellEFI installer over at mydellmini.com and if I can do the mod myself then I will be able to fix things on my own when 10.5.7 come to life.

 

I will give your files a test in a couple of hours. I am currently on the road with my mini...

 

Cheers and thank you for your work.

 

UPDATE:

 

I tried the provided kext and DSDT.aml but with no luck... I think the issue might be with the kext and the dsdt. When I was running the original modified dsdt attached in my previous post I use to get the Graphics card listed as a GMA 950... now it does not show as such... so I will try my old moded dsdt and see if it work better with your kext.

 

Why do I say the kext might not be right? I tried replacing my current GMA950 kext moded by DENSE from MSIWind forum and the Graphics would not load right... so I suspect that something be missing from the gma950 kext and/or framebuffer kext. I will try poking at things.

 

Cheers

Link to comment
Share on other sites

Some update. I have been able to use the dsdt.aml I provided above to change the reported Device ID of my GMA 950. This definatly made a difference... but alas changing it to 0x27a2 (the one of a MacBook) did not allowed to load the unmodified GMA kext and framebuffer. I am wondering what to try next...

 

EFI strings have a similar effect. I am able to modify the Device ID of the GMA by providing a custom one via an EFI string... but again, no luck in getting default KEXT to load.

 

Any idea? Is it that the EFI string only hide the Device ID and when drivers attempt to load they see the real one and fail?

 

Just in case you are interested I am attaching my test EFI string in XML and HEX format.

GMA950_Dell_Mini_9.zip

Link to comment
Share on other sites

Ok i have tried to compile the file a few times by myself with no success. I have a toshiba M400 laptop and i can boot with an external monitor fine with full graphics support, but no LCD. with out external monitor I get stuck at blue screen on the LCD. If anyone can help me get this to work on my laptop that would be great. here are my files.jv7226.zip

 

By the way the file compiles just fine with no errors reported it just has no effect on the graphics in any way.

Link to comment
Share on other sites

So apparently this doesn't work very well with Laptops!!

Yeah,

 

I gave up on the dsdt.dsl patch and focussed my effort on an EFI string specific to the Mini 9. I can report the I am able to run hex edited 10.5.6 GMA950/FB kext along with the EFI string. The only thing broken is the support for mirroring that give garbled output on both monitor when used.

 

Thank you for taking the time to help, much appreciated. I actually learned a lot while trying all those various combinations.

Link to comment
Share on other sites

 Share

×
×
  • Create New...