OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: Packard Bell EasyNote XS stuck at acpitimer0: on current

From: Andrew Smith (asmithtranquility.fsbusiness.co.uk)
Date: Sun Feb 10 2008 - 07:23:21 CST


OK, I now have a plain -current install with 3 kernels.

One has acpi disabled entirely, one is generic and one is compiled
with ACPIVERBOSE

The additional info from ACPIVERBOSE is..

.....
acpitimer0 at acpi: 3579545 Hz, 24 bits
acpi device at acpi0 from table DSDT not configured
acpi device at acpi0 from table FACP not configured
acpi device at acpi0 from table SSDT not configured
acpi device at acpi0 from table APIC not configured
acpi device at acpi0 from table MCFG not configured

It is at this point that the machine hangs.

Additional noteworthy points..

boot -c seems to kill the keyboard so you can't enable/disable devices
at boot time on this machine.

I think the video BIOS actually enters boot in some horrible MGA mode
since the machine boots with yellow text and no blue background
attribute. All text remains yellow on black until you start the X
server and exit (presumably exits to CGA mode).

Anyway, pointers on the acpi issue?

BTW: This machine is pretty cool apart from that, it seems to run
OpenBSD well apart from the acpi issue.

It is a small form factor (8" screen), proper keyboard with trackpad
built in. The wired network works with a stock install, the card
reader works with a stock install. It has a 1.2Ghz processor, 1Gb RAM,
30Gb HDD and comes in at #350. A very cheap and fast device that sits
midway between the Zaurus and a... well its almost as good as a larger
laptop (screen resolution is the limitation I guess).

Regards,

-Andy

On 9 Feb 2008, at 20:40, Andrew Smith wrote:

> Hi,
>
> I decided to buy a Packard Bell EasyNote XS which will be available
> in the US from Walmart as the Everex Cloudbook sometime soon.
>
> The device comes preloaded with Windows XP, so needless to say I
> want to get that off ASAP and something more useful onto it.
>
> Basically the device is an implementation of the reference design of
> the VIA Nanobook without the touch screen.
>
> Using OpenBSD 4.2 release the box works absolutely fine, however,
> the acpi code fails to understand some of the structures and gives up.
>
> Under OpenBSD -current, however, the device does seem to recognise
> some of the acpi entires correctly and tries to initialise some of
> the devices. Unfortunately it sticks just after printing the message
> about acpitimer0.
>
> Here's the last few lines...
>
> mainbus0 at root
> bios0 at mainbus0: AT/286+ BIOS, date 11/02/07, BIOS32 rev. 0
> 0xfdd64 SMBIOS rev. 2.4 0xdc010 (47 entries)
> bios0: vendor Phoenix Technologies LTD version "6.00" date 11/02/2007
> bios0: PACKARD BELL BV Pegasus
> acpi0 at bios0: rev 0
> acpi0: tables DSDT FACP SSDT APIC MCFG
> acpi: wakeup devices PCIO(S5) SP2P(S5) LAN_(S3) LID_(S3)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
>
> Once it sticks at that location you have to hold power (>3 seconds)
> to get the thing to power off and whilst checking this out I have
> had current and release kernels on the root of the fs. The
> interesting thing is that once you boot this kernel and it sticks
> like this the release kernel fails to boot and sticks at the message
> about the kernel entry point once the boot loader has loaded it. For
> some quirky reason if you attach a USB CD and boot from the install
> CD then restart this seems to fix this issue. Very strange indeed.
>
> I attach the acpidump output produced from a 4.2 release install and
> was wondering if there is anything else that may help identify the
> problem..?
>
> Regards,
>
> -Andy
>
> /*
> RSD PTR: Checksum=87, OEMID=PTLTD, RsdtAddress=0x3bee5663
> */
> /*
> RSDT: Length=52, Revision=1, Checksum=193,
> OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000,
> Creator ID= LTP, Creator Revision=0x0
> */
> /*
> Entries={ 0x3bee9a46, 0x3bee9aba, 0x3bee9f74, 0x3bee9fc4 }
> */
> /*
> DSDT=0x3bee5697
> INT_MODEL=PIC
> SCI_INT=10
> SMI_CMD=0x402f, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
> PM1a_EVT_BLK=0x4000-0x4003
> PM1a_CNT_BLK=0x4004-0x4005
> PM2_CNT_BLK=0x22-0x22
> PM2_TMR_BLK=0x4008-0x400b
> PM2_GPE0_BLK=0x4020-0x4023
> P_LVL2_LAT=80ms, P_LVL3_LAT=800ms
> FLUSH_SIZE=0, FLUSH_STRIDE=0
> DUTY_OFFSET=0, DUTY_WIDTH=4
> DAY_ALRM=125, MON_ALRM=126, CENTURY=50
> Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
> */
> /*
> DSDT: Length=17327, Revision=1, Checksum=55,
> OEMID=VIA, OEM Table ID=PTL_ACPI, OEM Revision=0x6040000,
> Creator ID=MSFT, Creator Revision=0x100000e
> */
> DefinitionBlock (
> "acpi_dsdt.aml", //Output filename
> "DSDT", //Signature
> 0x1, //DSDT Revision
> "VIA", //OEMID
> "PTL_ACPI", //TABLE ID
> 0x6040000 //OEM Revision
> )
>
> {
> Scope(\_PR_) {
> Processor(CPU0, 0, 0x4010, 0x6) {
> }
> }
> Scope(\) {
> Name(PICF, 0x0)
> Method(_PIC, 1) {
> Store(Arg0, PICF)
> }
> }
> Name(_S0_, Package(0x2) {
> 0x0,
> 0x0,
> })
> Name(_S3_, Package(0x2) {
> 0x1,
> 0x1,
> })
> Name(_S4_, Package(0x2) {
> 0x2,
> 0x2,
> })
> Name(_S5_, Package(0x2) {
> 0x2,
> 0x2,
> })
> Scope(\_SB_) {
> Name(OSTB, Ones)
> OperationRegion(OSTY, SystemMemory, 0x3beeaf4c, 0x00000001)
> Field(OSTY, AnyAcc, NoLock, Preserve) {
> TPOS, 8
> }
> Method(OSTP) {
> If(LEqual(^OSTB, Ones)) {
> If(CondRefOf(\_OSI, Local0)) {
> If(\_OSI) {
> "Windows 2001"
> Store(0x8, ^OSTB)
> Store(0x8, ^TPOS)
> }
> Else {
> Store(0x0, ^OSTB)
> Store(0x0, ^TPOS)
> }
> }
> Else {
> If(CondRefOf(\_OS_, Local0)) {
> If(^SEQL(\_OS_, "Microsoft Windows")) {
> Store(0x1, ^OSTB)
> Store(0x1, ^TPOS)
> }
> Else {
> If(^SEQL(\_OS_, "Microsoft WindowsME:
> Millennium Edition")) {
> Store(0x2, ^OSTB)
> Store(0x2, ^TPOS)
> }
> Else {
> If(^SEQL(\_OS_, "Microsoft Windows NT")) {
> Store(0x4, ^OSTB)
> Store(0x4, ^TPOS)
> }
> Else {
> Store(0x0, ^OSTB)
> Store(0x0, ^TPOS)
> }
> }
> }
> }
> Else {
> Store(0x0, ^OSTB)
> Store(0x0, ^TPOS)
> }
> }
> }
> Return(^OSTB)
> }
> Method(SEQL, 2, Serialized) {
> Store(SizeOf(Arg0), Local0)
> Store(SizeOf(Arg1), Local1)
> If(LNot(LEqual(Local0, Local1))) {
> Return(Zero)
> }
> Name(BUF0, Buffer(Local0) { })
> Store(Arg0, BUF0)
> Name(BUF1, Buffer(Local0) { })
> Store(Arg1, BUF1)
> Store(Zero, Local2)
> While(LLess(Local2, Local0)) {
> Store(DerefOf(Index(BUF0, Local2, )), Local3)
> Store(DerefOf(Index(BUF1, Local2, )), Local4)
> If(LNot(LEqual(Local3, Local4))) {
> Return(Zero)
> }
> Increment(Local2)
> }
> Return(One)
> }
> }
> Method(\_PTS, 1) {
> Store(Arg0, \_SB_.PCI0.PIB_.Z000)
> \_SB_.PCI0.PIB_.PMWT(0xec, 0x1)
> And(\_SB_.PCI0.PIB_.PMRD(0xb5), 0xf7, Local1)
> \_SB_.PCI0.PIB_.PMWT(0xb5, Local1)
> If(LEqual(Arg0, 0x3)) {
> \_SB_.Z001(0xa0)
> And(\_SB_.PCI0.PIB_.PMRD(0xf0), 0x1, Local3)
> If(Local3) {
> }
> Else {
> And(\_SB_.PCI0.PIB_.PMRD(0xb8), 0xfe, Local1)
> \_SB_.PCI0.PIB_.PMWT(0xb8, Local1)
> }
> Or(\_SB_.PCI0.PIB_.PMRD(0xe0), 0x1, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xe0, Local3)
> Store(\_SB_.PCI0.PIB_.PMRD(0xdf), Local3)
> \_SB_.PCI0.PIB_.PMWT(0xff, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xdf, Zero)
> }
> If(LEqual(Arg0, 0x4)) {
> \_SB_.Z001(0xa8)
> }
> If(LEqual(Arg0, 0x5)) {
> \_SB_.Z001(0xa8)
> }
> Or(Arg0, 0x50, Local0)
> Store(Local0, \_SB_.PCI0.PIB_.Z000)
> }
> Method(\_WAK, 1) {
> Store(Arg0, \_SB_.PCI0.PIB_.Z000)
> \_SB_.PCI0.PIB_.PMWT(0xe6, 0xc)
> \_SB_.PCI0.PIB_.PMWT(0xec, 0x0)
> Or(\_SB_.PCI0.PIB_.PMRD(0xb5), 0x8, Local1)
> \_SB_.PCI0.PIB_.PMWT(0xb5, Local1)
> If(LEqual(Arg0, 0x3)) {
> And(\_SB_.PCI0.PIB_.PMRD(0xa8), 0xfe, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xa8, Local3)
> And(\_SB_.PCI0.PIB_.PMRD(0xac), 0xef, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xac, Local3)
> \_SB_.Z001(0xa9)
> \_SB_.Z001(0xa1)
> Store(\_SB_.PCI0.PIB_.PMRD(0xff), Local3)
> \_SB_.PCI0.PIB_.PMWT(0xdf, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xff, Zero)
> And(\_SB_.PCI0.PIB_.PMRD(0xe0), 0xfe, Local3)
> \_SB_.PCI0.PIB_.PMWT(0xe0, Local3)
> And(\_SB_.PCI0.PIB_.PMRD(0xf0), 0x1, Local3)
> If(Local3) {
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> }
> Else {
> Or(\_SB_.PCI0.PIB_.PMRD(0xb8), 0x1, Local1)
> \_SB_.PCI0.PIB_.PMWT(0xb8, Local1)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> }
> }
> If(LEqual(Arg0, 0x4)) {
> Notify(\_SB_.PWRB, 0x2)
> }
> Or(Arg0, 0xa0, Local0)
> Store(Local0, \_SB_.PCI0.PIB_.Z000)
> }
> Scope(\_GPE) {
> Mutex(GLCK, 0)
> Method(_L04) {
> \_SB_.PCI0.PIB_.PMWT(0xf2, 0xac)
> Acquire(\_GPE.GLCK, 0xffff)
> \_SB_.Z001(0xa6)
> Release(\_GPE.GLCK)
> Store(\_SB_.PCI0.PIB_.PMRD(0xf2), Local2)
> If(LEqual(Local2, 0xca)) {
> And(\_SB_.PCI0.PIB_.PMRD(0xf3), 0x23, Local2)
> If(Local2) {
> And(Local2, 0x1, Local1)
> Store(Local1, \_SB_.PCI0.PPB_.VGA_.CRTA)
> And(Local2, 0x2, Local1)
> ShiftRight(Local1, 0x1, Local1)
> Store(Local1, \_SB_.PCI0.PPB_.VGA_.LCDA)
> And(Local2, 0x20, Local1)
> ShiftRight(Local1, 0x5, Local1)
> Store(Local1, \_SB_.PCI0.PPB_.VGA_.DVIA)
> Notify(\_SB_.PCI0.PPB_.VGA_, 0x80)
> }
> And(\_SB_.PCI0.PIB_.PMRD(0xf3), 0xdc, Local2)
> \_SB_.PCI0.PIB_.PMWT(0xf3, Local2)
> }
> \_SB_.PCI0.PIB_.PMWT(0xf2, Zero)
> While(LEqual(\_SB_.PCI0.PIB_.GPI5, 0x0)) {
> Acquire(\_GPE.GLCK, 0xffff)
> \_SB_.Z001(0xa6)
> Release(\_GPE.GLCK)
> }
> }
> Method(_L05) {
> Notify(\_SB_.PCI0, 0x2)
> }
> Method(_L08) {
> Acquire(\_GPE.GLCK, 0xffff)
> Store(\_SB_.PCI0.PIB_.PMRD(0xa8), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0xa9), Local1)
> Store(\_SB_.PCI0.PIB_.PMRD(0xaa), Local2)
> If(And(Local0, 0x1, Local3)) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xb8), Local4)
> And(Local4, 0xfe, Local4)
> \_SB_.PCI0.PIB_.PMWT(0xb8, Local4)
> If(And(\_SB_.PCI0.PIB_.PMRD(0xb5), 0x1, )) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xb7), Local7)
> And(Local7, 0xfe, Local7)
> \_SB_.PCI0.PIB_.PMWT(0xb7, Local7)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x1)
> Store(0x1, \_SB_.LID_.LIDF)
> }
> Else {
> Store(\_SB_.PCI0.PIB_.PMRD(0xb7), Local7)
> Or(Local7, 0x1, Local7)
> \_SB_.PCI0.PIB_.PMWT(0xb7, Local7)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x1)
> Store(0x0, \_SB_.LID_.LIDF)
> }
> Store(\_SB_.PCI0.PIB_.PMRD(0xa8), Local6)
> And(Local6, 0xfe, Local6)
> \_SB_.PCI0.PIB_.PMWT(0xa8, Local6)
> Or(Local4, 0x1, Local4)
> \_SB_.PCI0.PIB_.PMWT(0xb8, Local4)
> Notify(\_SB_.LID_, 0x80)
> }
> And(\_SB_.PCI0.PIB_.PMRD(0xac), 0xef, Local7)
> \_SB_.PCI0.PIB_.PMWT(0xac, Local7)
> Release(\_GPE.GLCK)
> }
> Method(_L01) {
> Acquire(\_GPE.GLCK, 0xffff)
> Store(\_SB_.PCI0.PIB_.PMRD(0xab), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0xad), Local4)
> Store(\_SB_.PCI0.PIB_.PMRD(0xaf), Local7)
> And(Local7, 0x4, Local7)
> If(LNot(LEqual(Local7, Zero))) {
> \_SB_.PCI0.PIB_.PMMW(0x01e8, 0x0)
> Store(One, \_TZ_.THRM.TERR)
> Notify(\_TZ_.THRM, 0x80)
> }
> If(And(Local4, 0x1, Local3)) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xe7), Local4)
> Store(0x1, Local2)
> Store(0x0, Local7)
> While(Local2) {
> Store(DerefOf(Index(\_TZ_.THRM.HITP, Local7, )),
> Local6)
> If(LGreater(Local6, Local4)) {
> If(LEqual(Local7, 0x1)) {
> Store(0x37, \_TZ_.THRM.PSVV)
> Notify(\_TZ_.THRM, 0x81)
> }
> Else {
> Store(0x46, \_TZ_.THRM.PSVV)
> Notify(\_TZ_.THRM, 0x81)
> }
> \_SB_.PCI0.PIB_.PMWT(0xe5,
> DerefOf(Index(\_TZ_.THRM.LOTP, Local7, )))
> \_SB_.PCI0.PIB_.PMWT(0xe4,
> DerefOf(Index(\_TZ_.THRM.HITP, Local7, )))
> Store(0x0, Local2)
> }
> Notify(\_TZ_.THRM, 0x80)
> If(LGreater(Increment(Local7), 0x1)) {
> Break
> }
> }
> And(\_SB_.PCI0.PIB_.PMRD(0xad), 0xfe, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xad, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> And(\_SB_.PCI0.PIB_.PMRD(0xae), 0xfe, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xae, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> And(\_SB_.PCI0.PIB_.PMRD(0xaf), 0xf8, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xaf, Local5)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> }
> If(And(Local0, 0x1, Local3)) {
> And(\_SB_.PCI0.PIB_.PMRD(0xab), 0xfe, Local2)
> \_SB_.PCI0.PIB_.PMWT(0xab, Local2)
> \_SB_.Z001(0xa7)
> Notify(\_SB_.ACAD, 0x80)
> Notify(\_PR_.CPU0, 0x81)
> }
> If(And(Local0, 0x2, Local3)) {
> Notify(\_SB_.ACAD, 0x80)
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local1)
> Store(\_SB_.PCI0.PIB_.PMRD(0xf1), Local4)
> If(LNot(LEqual(And(Local1, 0x1, Local3), And(Local4, 0x1,
> Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x81)
> }
> If(LNot(LEqual(And(Local1, 0x2, Local3), And(Local4, 0x2,
> Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x4, Local3), And(Local4, 0x4,
> Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x8, Local3), And(Local4, 0x8,
> Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x10, Local3), And(Local4,
> 0x10, Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x20, Local3), And(Local4,
> 0x20, Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x40, Local3), And(Local4,
> 0x40, Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> If(LNot(LEqual(And(Local1, 0x80, Local3), And(Local4,
> 0x80, Local5)))) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local6)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local6)
> Notify(\_SB_.BAT0, 0x80)
> }
> And(\_SB_.PCI0.PIB_.PMRD(0xab), 0xfd, Local2)
> \_SB_.PCI0.PIB_.PMWT(0xab, Local2)
> \_SB_.PCI0.PIB_.PMWT(0xf0, 0x0)
> }
> Release(\_GPE.GLCK)
> }
> }
> OperationRegion(VGAM, SystemMemory, 0x000c0002, 0x1)
> Field(VGAM, ByteAcc, NoLock, Preserve) {
> VGA1, 8
> }
> Scope(\_SB_) {
> OperationRegion(PSIB, SystemIO, 0x0000fe00, 0x00000002)
> Field(PSIB, AnyAcc, NoLock, Preserve) {
> SMIC, 8
> }
> OperationRegion(PSCB, SystemMemory, 0x3beeaebc, 0x00000090)
> Field(PSCB, AnyAcc, NoLock, Preserve) {
> BCMD, 8,
> DID_, 32,
> INF_, 1024
> }
> }
> Name(FWSO, "FWSO")
> Name(_PSC, 0x0)
> Method(_PS0) {
> Store(_PSC, Local0)
> Store(0x0, _PSC)
> If(LEqual(Local0, 0x3)) {
> Store(0x1, \_SB_.INF_)
> While(\_SB_.INF_) {
> Store(0x20, \_SB_.BCMD)
> Store(Zero, \_SB_.SMIC)
> If(LAnd(LEqual(\_SB_.INF_, 0x1), LNot(LLess(\_SB_.OSTB,
> 0x4)))) {
> Sleep(0x01f4)
> }
> }
> }
> }
> Method(_PS3) {
> Store(0x3, _PSC)
> }
> Scope(\_SB_) {
> Device(PWRB) {
> Name(_HID, 0x0c0cd041)
> }
> Device(PCI0) {
> Name(_HID, 0x030ad041)
> Name(_ADR, 0x0)
> Name(_PRW, Package(0x2) {
> 0x5,
> 0x5,
> })
> Name(_BBN, 0x0)
> Method(_INI) {
> \_SB_.OSTP()
> }
> Method(_S3D) {
> Return(0x2)
> }
> Device(NBF3) {
> Name(_ADR, 0x3)
> OperationRegion(NBF3, PCI_Config, 0x0, 0x0100)
> Field(NBF3, ByteAcc, NoLock, Preserve) {
> Offset(0x82),
> SH82, 8,
> SH83, 8,
> Offset(0x88),
> EADD, 8
> }
> }
> Device(NBF5) {
> Name(_ADR, 0x5)
> Method(_STA) {
> Return(0xb)
> }
> }
> Device(NBF7) {
> Name(_ADR, 0x7)
> OperationRegion(NBF7, PCI_Config, 0x0, 0x0100)
> Field(NBF7, ByteAcc, NoLock, Preserve) {
> Offset(0x47),
> , 2,
> VLNK, 1
> }
> }
> Method(_STA) {
> Return(0xf)
> }
> Name(CRES, Buffer(0xf5) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0,
> 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc,
> 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0,
> 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3,
> 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x18,
> 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff,
> 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87,
> 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0,
> 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0,
> 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc,
> 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0,
> 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80,
> 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0,
> 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
> 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
> 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0,
> 0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xff, 0xdf, 0x0, 0x0, 0x0, 0x0,
> 0x0, 0x0, 0xf0, 0xdf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0,
> 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0,
> 0x0, 0xff, 0xff, 0xbf, 0xe, 0x79, 0x0 })
> Method(_CRS) {
> CreateDWordField(CRES, 0xc9, TCMM)
> CreateDWordField(CRES, 0xd5, TOMM)
> Multiply(\_SB_.PCI0.NBF3.EADD, 0x01000000, Local0)
> Store(Local0, TCMM)
> Subtract(0xffe80000, Local0, TOMM)
> Return(CRES)
> }
> Name(APIC, Package(0x10) {
> Package(0x4) {
> 0x0001ffff,
> 0x0,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x1,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x2,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x3,
> 0x0,
> 0x13,
> },
> Package(0x4) {
> 0x000fffff,
> 0x0,
> 0x0,
> 0x14,
> },
> Package(0x4) {
> 0x000fffff,
> 0x1,
> 0x0,
> 0x15,
> },
> Package(0x4) {
> 0x000fffff,
> 0x2,
> 0x0,
> 0x16,
> },
> Package(0x4) {
> 0x000fffff,
> 0x3,
> 0x0,
> 0x17,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x0,
> 0x0,
> 0x14,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x1,
> 0x0,
> 0x16,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x2,
> 0x0,
> 0x15,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x3,
> 0x0,
> 0x17,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x0,
> \_SB_.PCI0.PIB_.ALKA,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x1,
> \_SB_.PCI0.PIB_.ALKB,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x2,
> 0x0,
> 0x16,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x3,
> 0x0,
> 0x17,
> },
> })
> Name(PICM, Package(0x14) {
> Package(0x4) {
> 0x0001ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x000fffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x000fffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x000fffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x000fffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0010ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0011ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> })
> Method(_PRT) {
> If(PICF) {
> Return(APIC)
> }
> Else {
> Return(PICM)
> }
> }
> Device(PIB_) {
> Name(_ADR, 0x00110000)
> OperationRegion(IRQR, PCI_Config, 0x0, 0x0100)
> Field(IRQR, ByteAcc, NoLock, Preserve) {
> Offset(0x44),
> PIRE, 4,
> PIRF, 4,
> PIRG, 4,
> PIRH, 4,
> Offset(0x50),
> ESB4, 1,
> ESB5, 1,
> ESB3, 1,
> Z002, 1,
> ESB1, 1,
> ESB2, 1,
> AC97, 1,
> MC97, 1,
> , 2,
> PS2E, 1,
> ERTC, 1,
> ELAN, 1,
> ELAK, 1,
> Offset(0x55),
> , 4,
> PIRA, 4,
> PIRB, 4,
> PIRC, 4,
> , 4,
> PIRD, 4,
> Offset(0x5b),
> , 1,
> EINT, 1,
> Offset(0x68),
> , 7,
> HPTE, 1,
> , 4,
> MMTB, 4,
> Offset(0x88),
> PMBS, 16,
> Offset(0x94),
> , 4,
> GPSU, 1,
> SUSC, 1,
> STRP, 1,
> Offset(0x95),
> USBW, 1,
> Offset(0xd0),
> SMBS, 16,
> SMBC, 1
> }
> OperationRegion(PMIO, SystemIO, 0x4000, 0x50)
> Field(PMIO, ByteAcc, NoLock, Preserve) {
> Offset(0x22),
> , 5,
> Z003, 1,
> Offset(0x24),
> , 5,
> Z004, 1,
> Offset(0x2a),
> PACT, 1,
> Offset(0x2f),
> Z005, 8,
> , 5,
> CMAS, 1,
> CMBS, 1,
> Offset(0x31),
> Offset(0x34),
> , 5,
> CMAE, 1,
> CMBE, 1,
> Offset(0x48),
> , 5,
> GPI5, 1
> }
> OperationRegion(Z006, SystemIO, 0x80, 0x1)
> Field(Z006, ByteAcc, NoLock, Preserve) {
> Z000, 8
> }
> Device(ALKA) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x5)
> Name(_PRS, Buffer(0x27) {0x89, 0x22, 0x0, 0xd, 0x8,
> 0x10, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x13,
> 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x15, 0x0, 0x0, 0x0, 0x16, 0x0,
> 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0x79, 0x0 })
> Method(_STA) {
> And(PIRA, 0xf0, Local0)
> If(LEqual(Local0, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_DIS) {
> And(PIRA, 0xf, PIRA)
> }
> Method(_CRS) {
> Name(BUFA, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
> CreateWordField(BUFA, 0x5, IRAI)
> Store(\_SB_.PCI0.PIB_.PIRA, IRAI)
> Return(BUFA)
> }
> Method(_SRS, 1) {
> }
> }
> Device(ALKB) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x6)
> Name(_PRS, Buffer(0x27) {0x89, 0x22, 0x0, 0xd, 0x8,
> 0x10, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x13,
> 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x15, 0x0, 0x0, 0x0, 0x16, 0x0,
> 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0x79, 0x0 })
> Method(_STA) {
> And(PIRB, 0xf0, Local0)
> If(LEqual(Local0, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_DIS) {
> And(PIRB, 0xf, PIRB)
> }
> Method(_CRS) {
> Name(BUFB, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
> CreateWordField(BUFB, 0x5, IRBI)
> Store(\_SB_.PCI0.PIB_.PIRB, IRBI)
> Return(BUFB)
> }
> Method(_SRS, 1) {
> }
> }
> Device(ALKC) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x7)
> Name(_PRS, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x16, 0x0, 0x0, 0x0, 0x79, 0x0 })
> Method(_STA) {
> And(PIRC, 0xf0, Local0)
> If(LEqual(Local0, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_DIS) {
> And(PIRC, 0xf, PIRC)
> }
> Method(_CRS) {
> Name(BUFC, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
> CreateWordField(BUFC, 0x5, IRCI)
> Store(\_SB_.PCI0.PIB_.PIRC, IRCI)
> Return(BUFC)
> }
> Method(_SRS, 1) {
> }
> }
> Device(ALKD) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x8)
> Name(_PRS, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x15, 0x0, 0x0, 0x0, 0x79, 0x0 })
> Method(_STA) {
> And(PIRD, 0xf0, Local0)
> If(LEqual(Local0, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_DIS) {
> And(PIRD, 0xf, PIRD)
> }
> Method(_CRS) {
> Name(BUFD, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
> CreateWordField(BUFD, 0x5, IRDI)
> Store(\_SB_.PCI0.PIB_.PIRD, IRDI)
> Return(BUFD)
> }
> Method(_SRS, 1) {
> }
> }
> Device(LNKA) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x1)
> Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x1e, 0x18, 0x79,
> 0x0 })
> Method(_DIS) {
> Store(Zero, \_SB_.PCI0.PIB_.PIRA)
> }
> Method(_STA) {
> If(LEqual(\_SB_.PCI0.PIB_.PIRA, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_CRS) {
> Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18,
> 0x79, 0x0 })
> CreateByteField(BUFA, 0x1, IRA1)
> CreateByteField(BUFA, 0x2, IRA2)
> Store(\_SB_.PCI0.PIB_.PIRA, Local0)
> If(LGreater(Local0, 0x0)) {
> If(LGreater(Local0, 0x7)) {
> Subtract(Local0, 0x8, Local0)
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRA2)
> }
> Else {
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRA1)
> }
> }
> Return(BUFA)
> }
> Method(_SRS, 1) {
> CreateByteField(Arg0, 0x1, IRA1)
> CreateByteField(Arg0, 0x2, IRA2)
> If(LGreater(IRA2, Zero)) {
> FindSetLeftBit(IRA2, Local0)
> Decrement(Local0)
> Add(Local0, 0x8, Local0)
> }
> Else {
> FindSetLeftBit(IRA1, Local0)
> Decrement(Local0)
> }
> Store(Local0, \_SB_.PCI0.PIB_.PIRA)
> }
> }
> Device(LNKB) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x2)
> Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x1e, 0x18, 0x79,
> 0x0 })
> Method(_DIS) {
> Store(Zero, \_SB_.PCI0.PIB_.PIRB)
> }
> Method(_STA) {
> If(LEqual(\_SB_.PCI0.PIB_.PIRB, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_CRS) {
> Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18,
> 0x79, 0x0 })
> CreateByteField(BUFB, 0x1, IRB1)
> CreateByteField(BUFB, 0x2, IRB2)
> Store(\_SB_.PCI0.PIB_.PIRB, Local0)
> If(LGreater(Local0, 0x0)) {
> If(LGreater(Local0, 0x7)) {
> Subtract(Local0, 0x8, Local0)
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRB2)
> }
> Else {
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRB1)
> }
> }
> Return(BUFB)
> }
> Method(_SRS, 1) {
> CreateByteField(Arg0, 0x1, IRB1)
> CreateByteField(Arg0, 0x2, IRB2)
> If(LGreater(IRB2, Zero)) {
> FindSetLeftBit(IRB2, Local0)
> Decrement(Local0)
> Add(Local0, 0x8, Local0)
> }
> Else {
> FindSetLeftBit(IRB1, Local0)
> Decrement(Local0)
> }
> Store(Local0, \_SB_.PCI0.PIB_.PIRB)
> }
> }
> Device(LNKC) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x3)
> Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x1e, 0x18, 0x79,
> 0x0 })
> Method(_DIS) {
> Store(Zero, \_SB_.PCI0.PIB_.PIRC)
> }
> Method(_STA) {
> If(LEqual(\_SB_.PCI0.PIB_.PIRC, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_CRS) {
> Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18,
> 0x79, 0x0 })
> CreateByteField(BUFC, 0x1, IRC1)
> CreateByteField(BUFC, 0x2, IRC2)
> Store(\_SB_.PCI0.PIB_.PIRC, Local0)
> If(LGreater(Local0, 0x0)) {
> If(LGreater(Local0, 0x7)) {
> Subtract(Local0, 0x8, Local0)
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRC2)
> }
> Else {
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, IRC1)
> }
> }
> Return(BUFC)
> }
> Method(_SRS, 1) {
> CreateByteField(Arg0, 0x1, IRC1)
> CreateByteField(Arg0, 0x2, IRC2)
> If(LGreater(IRC2, Zero)) {
> FindSetLeftBit(IRC2, Local0)
> Decrement(Local0)
> Add(Local0, 0x8, Local0)
> }
> Else {
> FindSetLeftBit(IRC1, Local0)
> Decrement(Local0)
> }
> Store(Local0, \_SB_.PCI0.PIB_.PIRC)
> }
> }
> Device(LNKD) {
> Name(_HID, 0x0f0cd041)
> Name(_UID, 0x4)
> Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x1e, 0x18, 0x79,
> 0x0 })
> Method(_DIS) {
> Store(Zero, \_SB_.PCI0.PIB_.PIRD)
> }
> Method(_STA) {
> If(LEqual(\_SB_.PCI0.PIB_.PIRD, 0x0)) {
> Return(0x9)
> }
> Else {
> Return(0xb)
> }
> }
> Method(_CRS) {
> Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18,
> 0x79, 0x0 })
> CreateByteField(BUFD, 0x1, IRD1)
> CreateByteField(BUFD, 0x2, IRD2)
> Store(\_SB_.PCI0.PIB_.PIRD, Local0)
> If(LGreater(Local0, 0x0)) {
> If(LGreater(Local0, 0x7)) {
> Subtract(Local0, 0x8, Local2)
> Store(0x1, Local1)
> ShiftLeft(Local1, Local2, Local3)
> Store(Local3, IRD2)
> }
> Else {
> Store(0x1, Local1)
> ShiftLeft(Local1, Local0, Local2)
> Store(Local2, IRD1)
> }
> }
> Return(BUFD)
> }
> Method(_SRS, 1) {
> CreateByteField(Arg0, 0x1, IRD1)
> CreateByteField(Arg0, 0x2, IRD2)
> If(LGreater(IRD2, Zero)) {
> FindSetLeftBit(IRD2, Local0)
> Decrement(Local0)
> Add(Local0, 0x8, Local0)
> }
> Else {
> FindSetLeftBit(IRD1, Local0)
> Decrement(Local0)
> }
> Store(Local0, \_SB_.PCI0.PIB_.PIRD)
> }
> }
> Device(DMA1) {
> Name(_HID, 0x0002d041)
> Name(_CRS, Buffer(0x1d) {0x2a, 0x10, 0x4, 0x47, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1,
> 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x79, 0x0 })
> Method(_STA) {
> Return(0xf)
> }
> }
> Device(PIC_) {
> Name(_HID, 0xd041)
> Method(_STA) {
> Return(0xf)
> }
> Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20,
> 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4,
> 0x0, 0x79, 0x0 })
> }
> Device(COPR) {
> Name(_HID, 0x040cd041)
> Method(_STA) {
> Return(0xf)
> }
> Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0,
> 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
> }
> Device(TIME) {
> Name(_HID, 0x0001d041)
> Name(BUF0, Buffer(0xa) {0x47, 0x1, 0x40, 0x0, 0x40,
> 0x0, 0x1, 0x4, 0x79, 0x0 })
> Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40,
> 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
> Method(_CRS, 0, Serialized) {
> If(And(HPTE, 0x1, )) {
> Return(BUF0)
> }
> Return(BUF1)
> }
> }
> Device(RTC_) {
> Name(_HID, 0x000bd041)
> Name(BUF0, Buffer(0xa) {0x47, 0x1, 0x70, 0x0, 0x70,
> 0x0, 0x1, 0x6, 0x79, 0x0 })
> Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70,
> 0x0, 0x1, 0x6, 0x22, 0x0, 0x1, 0x79, 0x0 })
> Method(_CRS, 0, Serialized) {
> If(And(HPTE, 0x1, )) {
> Return(BUF0)
> }
> Return(BUF1)
> }
> }
> Device(SPKR) {
> Method(_STA) {
> Return(0xf)
> }
> Name(_HID, 0x0008d041)
> Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61,
> 0x0, 0x1, 0x1, 0x79, 0x0 })
> }
> Device(MEM_) {
> Name(_HID, 0x010cd041)
> Method(_STA) {
> Return(0xf)
> }
> Method(_CRS) {
> Name(SMEM, Buffer(0x56) {0x86, 0x9, 0x0, 0x1,
> 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0,
> 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0,
> 0xf0, 0xff, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0,
> 0xee, 0xff, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc0,
> 0xfe, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xfe,
> 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0x20, 0xe0, 0x0,
> 0x10, 0x0, 0x0, 0x79, 0x0 })
> Return(SMEM)
> }
> }
> Device(SYSR) {
> Name(_HID, 0x020cd041)
> Method(_STA) {
> Return(0xf)
> }
> Method(_CRS) {
> If(\_SB_.PCI0.PIB_.SMBC) {
> Name(RSR2, Buffer(0x6a) {0x47, 0x1, 0x80,
> 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1,
> 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x1, 0x47, 0x1, 0xa9, 0x0,
> 0xa9, 0x0, 0x1, 0x1, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1,
> 0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x1, 0x47, 0x1, 0x2f, 0x0,
> 0x2f, 0x0, 0x1, 0x1, 0x47, 0x1, 0x68, 0x0, 0x68, 0x0, 0x1, 0x8,
> 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x10, 0xfe,
> 0x10, 0xfe, 0x1, 0x2, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 0x1,
> 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x80, 0x47, 0x1, 0x0, 0x81,
> 0x0, 0x81, 0x1, 0x20, 0x79, 0x0 })
> CreateWordField(RSR2, 0x5a, PMMI)
> CreateWordField(RSR2, 0x5c, PMMA)
> CreateWordField(RSR2, 0x62, SMMI)
> CreateWordField(RSR2, 0x64, SMMA)
> And(\_SB_.PCI0.PIB_.PMBS, 0xfffe, PMMI)
> Store(PMMI, PMMA)
> And(\_SB_.PCI0.PIB_.SMBS, 0xfff0, SMMI)
> Store(SMMI, SMMA)
> Return(RSR2)
> }
> Else {
> Name(RSR1, Buffer(0x52) {0x47, 0x1, 0x80,
> 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1,
> 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x1, 0x47, 0x1, 0xa9, 0x0,
> 0xa9, 0x0, 0x1, 0x1, 0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x1,
> 0x47, 0x1, 0x2f, 0x0, 0x2f, 0x0, 0x1, 0x1, 0x47, 0x1, 0xd0, 0x4,
> 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x10, 0xfe, 0x10, 0xfe, 0x1, 0x2,
> 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 0x1, 0x47, 0x1, 0x0, 0x80,
> 0x0, 0x80, 0x1, 0x80, 0x79, 0x0 })
> CreateWordField(RSR1, 0x4a, IOMI)
> CreateWordField(RSR1, 0x4c, IOMA)
> And(\_SB_.PCI0.PIB_.PMBS, 0xfffe, IOMI)
> Store(IOMI, IOMA)
> Return(RSR1)
> }
> }
> }
> Device(HPET) {
> Name(_HID, 0x0301d041)
> Method(_CRS, 0, Serialized) {
> If(LNot(LGreater(MMTB, 0x4))) {
> If(LEqual(MMTB, 0x4)) {
> Return(BUF4)
> }
> If(LEqual(MMTB, 0x2)) {
> Return(BUF2)
> }
> If(LEqual(MMTB, 0x1)) {
> Return(BUF1)
> }
> Return(BUF0)
> }
> }
> Name(BUF4, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0,
> 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x40, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0,
> 0x79, 0x0 })
> Name(BUF2, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0,
> 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x20, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0,
> 0x79, 0x0 })
> Name(BUF1, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0,
> 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x10, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0,
> 0x79, 0x0 })
> Name(BUF0, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0,
> 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0,
> 0x79, 0x0 })
> Method(_STA) {
> If(And(HPTE, 0x1, )) {
> If(LNot(LLess(\_SB_.OSTP(), 0x8))) {
> Return(0xf)
> }
> Else {
> Return(0x0)
> }
> }
> Return(0x0)
> }
> }
> Device(PS2M) {
> Name(_HID, 0x050d2e4f)
> Name(_CID, Package(0x3) {
> 0x000d2e4f,
> 0x02002e4f,
> 0x130fd041,
> })
> Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
> Method(_STA) {
> If(LEqual(And(\_SB_.PCI0.PIB_.PMRD(0xfb), 0x80,
> Local0), 0x80)) {
> Return(0xf)
> }
> Return(0x0)
> }
> }
> Device(PS2K) {
> Method(_HID) {
> And(\_SB_.PCI0.PIB_.PMRD(0xfb), 0x8, Local0)
> If(Local0) {
> Return(0x2003d041)
> }
> Else {
> Return(0x0303d041)
> }
> }
> Method(_CID) {
> And(\_SB_.PCI0.PIB_.PMRD(0xfb), 0x8, Local0)
> If(Local0) {
> Return(0x0303d041)
> }
> Else {
> Return(0x2003d041)
> }
> }
> Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60,
> 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2,
> 0x0, 0x79, 0x0 })
> Method(_STA) {
> Return(0xf)
> }
> }
> OperationRegion(PMIF, SystemIO, 0x68, 0x8)
> Field(PMIF, ByteAcc, NoLock, Preserve) {
> PMUD, 8,
> Offset(0x4),
> PMUC, 8,
> Offset(0x8)
> }
> Mutex(ELCK, 0)
> Method(WIBF) {
> Store(0x0009ffff, Local6)
> Noop
> Noop
> Store(PMUC, Local2)
> And(Local2, 0x22, Local2)
> If(And(Local2, 0x20, Local3)) {
> Return(0x1)
> }
> And(Local2, 0x2, Local2)
> While(LAnd(LNot(LEqual(Local2, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Noop
> Noop
> Store(PMUC, Local2)
> Decrement(Local6)
> If(And(Local2, 0x20, Local3)) {
> Return(0x1)
> }
> And(Local2, 0x2, Local2)
> }
> Return(0x0)
> }
> Method(WOBF) {
> Store(0x009fffff, Local6)
> Noop
> Noop
> Store(PMUC, Local3)
> And(Local3, 0x21, Local3)
> If(And(Local3, 0x20, Local2)) {
> Return(0x1)
> }
> While(LAnd(LEqual(Local3, 0x0), LNot(LEqual(Local6,
> 0x0)))) {
> Noop
> Noop
> Store(PMUC, Local3)
> And(Local3, 0x21, Local3)
> If(And(Local3, 0x20, Local2)) {
> Return(0x1)
> }
> Decrement(Local6)
> }
> Return(0x0)
> }
> Method(RCMD, 2) {
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> Store(Local0, PMUC)
> If(WIBF()) {
> Return(0x1)
> }
> Store(Local1, PMUD)
> If(WOBF()) {
> Return(0x1)
> }
> Return(0x0)
> }
> Method(WCMD, 2) {
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> Store(Local0, PMUC)
> If(WIBF()) {
> Return(0x1)
> }
> Store(Local1, PMUD)
> If(WIBF()) {
> Return(0x1)
> }
> Return(0x0)
> }
> Method(PMRD, 1) {
> Acquire(ELCK, 0xffff)
> Store(Zero, EDFG)
> Store(0x14, RECT)
> While(LAnd(LEqual(EDFG, 0x0), LNot(LEqual(RECT,
> 0x0)))) {
> Store(Arg0, Local0)
> Store(0x03e8, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Sleep(0x1)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> If(And(Local1, 0x1, Local2)) {
> Store(PMUD, Local3)
> }
> Decrement(Local6)
> }
> While(RCMD(0x80, Local0)) {
> Noop
> Noop
> Store(PMUC, Local5)
> If(And(Local5, 0x1, Local2)) {
> Store(PMUD, Local5)
> }
> }
> Store(0x07d0, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x10, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Noop
> Noop
> Store(PMUC, Local1)
> And(Local1, 0x10, Local1)
> Decrement(Local6)
> }
> Store(PMUC, Local1)
> And(Local1, 0x20, Local1)
> If(LEqual(Local1, 0x0)) {
> Store(One, EDFG)
> }
> Decrement(RECT)
> }
> Store(PMUD, Local4)
> Release(ELCK)
> Return(Local4)
> }
> Method(PMWT, 2) {
> Acquire(ELCK, 0xffff)
> Store(Zero, EDFG)
> Store(0x14, RECT)
> While(LAnd(LEqual(EDFG, 0x0), LNot(LEqual(RECT,
> 0x0)))) {
> Store(Arg0, Local0)
> Store(0x03e8, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Sleep(0x1)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> Decrement(Local6)
> }
> While(WCMD(0x81, Local0)) {
> Noop
> Noop
> Store(PMUC, Local5)
> If(And(Local5, 0x1, Local2)) {
> Store(PMUD, Local5)
> }
> }
> Store(Arg1, PMUD)
> Store(0x07d0, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x12, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Store(0x0, ED__)
> Noop
> Noop
> Store(0x0, ED__)
> Store(PMUC, Local1)
> And(Local1, 0x12, Local1)
> Decrement(Local6)
> }
> Store(PMUC, Local1)
> And(Local1, 0x20, Local1)
> If(LEqual(Local1, 0x0)) {
> Store(One, EDFG)
> }
> Decrement(RECT)
> }
> Release(ELCK)
> }
> Method(PMMW, 2) {
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> And(Local0, 0xff, Local2)
> And(Local0, 0xff00, Local3)
> ShiftRight(Local3, 0x8, Local3)
> Add(Local2, Local3, Local4)
> Add(Local4, 0xc1, Local4)
> Add(Local4, Local1, Local7)
> And(Local7, 0xff, Local7)
> PMWR(0x043f, Local7)
> PMWR(Local0, Local1)
> }
> Method(PMWR, 2) {
> Acquire(ELCK, 0xffff)
> Store(Zero, EDFG)
> Store(0x14, RECT)
> While(LAnd(LEqual(EDFG, 0x0), LNot(LEqual(RECT,
> 0x0)))) {
> Store(0x03e8, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Sleep(0x1)
> Store(PMUC, Local1)
> And(Local1, 0x13, Local1)
> Decrement(Local6)
> }
> Store(Arg0, Local0)
> While(WCM2(0xc1, Local0)) {
> Store(0x0, ED__)
> Noop
> Noop
> Store(0x0, ED__)
> Store(PMUC, Local5)
> If(And(Local5, 0x1, Local2)) {
> Store(PMUD, Local5)
> }
> }
> Store(Arg1, PMUD)
> Store(0x07d0, Local6)
> Store(PMUC, Local1)
> And(Local1, 0x12, Local1)
> While(LAnd(LNot(LEqual(Local1, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Store(0x0, ED__)
> Noop
> Noop
> Store(0x0, ED__)
> Store(PMUC, Local1)
> And(Local1, 0x12, Local1)
> Decrement(Local6)
> }
> Store(PMUC, Local1)
> And(Local1, 0x20, Local1)
> If(LEqual(Local1, 0x0)) {
> Store(One, EDFG)
> }
> Decrement(RECT)
> }
> Release(ELCK)
> }
> Method(WCM2, 2) {
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> Store(Arg1, Local2)
> And(Local1, 0xff, Local1)
> And(Local2, 0xff00, Local2)
> ShiftRight(Local2, 0x8, Local2)
> Store(Local0, PMUC)
> If(WIBF()) {
> Return(0x1)
> }
> Store(Local2, PMUD)
> If(WIBF()) {
> Return(0x1)
> }
> Store(Local1, PMUD)
> If(WIBF()) {
> Return(0x1)
> }
> Return(0x0)
> }
> Name(EDFG, 0x0)
> Name(RECT, 0x0)
> OperationRegion(DELY, SystemIO, 0xed, 0x1)
> Field(DELY, ByteAcc, NoLock, Preserve) {
> ED__, 8
> }
> Method(SMST) {
> Store(0x10, Local6)
> Store(PMRD(0x70), Local0)
> While(LAnd(LNot(LEqual(Local0, 0x0)),
> LNot(LEqual(Local6, 0x0)))) {
> Store(PMRD(0x70), Local0)
> Decrement(Local6)
> }
> Store(0x10, Local6)
> Store(PMRD(0x71), Local1)
> While(LAnd(LNot(LEqual(Local1, 0x80)),
> LNot(LEqual(Local6, 0x0)))) {
> Store(PMRD(0x71), Local1)
> Decrement(Local6)
> }
> }
> Method(SMWT, 3) {
> Acquire(ELCK, 0xffff)
> Store(0x6, Local6)
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> Store(Arg2, Local2)
> While(LNot(LEqual(Local6, 0x0))) {
> PMWT(0x71, 0x0)
> PMWT(0x72, Local0)
> PMWT(0x73, Local1)
> PMWT(0x74, Local2)
> PMWT(0x70, 0x6)
> SMST()
> Decrement(Local6)
> }
> Release(ELCK)
> }
> Method(SMWD, 4) {
> Acquire(ELCK, 0xffff)
> Store(0x6, Local6)
> Store(Arg0, Local0)
> Store(Arg1, Local1)
> Store(Arg2, Local2)
> Store(Arg3, Local3)
> While(LNot(LEqual(Local6, 0x0))) {
> PMWT(0x71, 0x0)
> PMWT(0x72, Local0)
> PMWT(0x73, Local1)
> PMWT(0x74, Local2)
> PMWT(0x75, Local3)
> PMWT(0x70, 0x8)
> SMST()
> Decrement(Local6)
> }
> Release(ELCK)
> }
> }
> Name(REGT, Package(0x15) {
> 0x10,
> 0x20,
> 0x21,
> 0x22,
> 0x23,
> 0x33,
> 0x34,
> 0x35,
> 0x36,
> 0x37,
> 0x47,
> 0x48,
> 0x49,
> 0x4a,
> 0x4b,
> 0x4c,
> 0x5c,
> 0x5d,
> 0x5e,
> 0x5f,
> 0x6f,
> })
> Name(DMTT, Package(0x7) {
> 0xf,
> 0x14,
> 0x1e,
> 0x2d,
> 0x3c,
> 0x4b,
> 0x78,
> })
> Name(PIOT, Package(0x7) {
> 0x0258,
> 0x017f,
> 0xf0,
> 0xb4,
> 0x78,
> 0x5a,
> 0x0,
> })
> Device(IDE_) {
> Method(_ADR) {
> Return(0x000f0000)
> }
> OperationRegion(PCI_, PCI_Config, 0x48, 0x60)
> Field(PCI_, DWordAcc, NoLock, Preserve) {
> SDR1, 8,
> SDR0, 8,
> PDR1, 8,
> PDR0, 8,
> SDST, 4,
> PDST, 4,
> Offset(0x8),
> UDMS, 16,
> UDMP, 16
> }
> OperationRegion(Z007, SystemIO, 0x80, 0x9)
> Field(Z007, ByteAcc, NoLock, Preserve) {
> Z000, 8,
> Offset(0x4),
> Z008, 8,
> Offset(0x8),
> Z009, 8
> }
> Name(Z00A, 0x0)
> Name(Z00B, 0x0)
> Method(_PS3) {
> And(^UDMP, 0x10, ^Z00A)
> And(^UDMS, 0x10, ^Z00B)
> }
> Method(_PS0) {
> If(^Z00A) {
> Or(^UDMP, ^Z00A, Local0)
> Or(Local0, ShiftLeft(^Z00A, 0x8, ), ^UDMP)
> }
> If(^Z00B) {
> Or(^UDMS, ^Z00B, Local0)
> Or(Local0, ShiftLeft(^Z00B, 0x8, ), ^UDMS)
> }
> }
> Method(GIDX, 1) {
> If(LEqual(Arg0, 0x0)) {
> Store(0x0, Local1)
> }
> Else {
> If(LEqual(Arg0, 0xe)) {
> Store(0x6, Local1)
> }
> Else {
> Add(ShiftRight(Arg0, 0x1, ), 0x1, Local1)
> }
> }
> Return(Local1)
> }
> Method(RIDX, 1) {
> Store(0x0, Local0)
> While(NAnd(LLess(Local0, 0x7),
> LEqual(DerefOf(Index(^^DMTT, Local0, )), Arg0), )) {
> Increment(Local0)
> }
> If(Local0) {
> If(LGreater(Local0, 0x6)) {
> Store(0xe, Local0)
> }
> Else {
> Subtract(ShiftLeft(Local0, 0x1, ), 0x1, Local0)
> If(LNot(LEqual(Local0, 0x1))) {
> Decrement(Local0)
> }
> }
> }
> Return(Local0)
> }
> Method(GTM_, 3) {
> Store(Buffer(0x14) { }, Local0)
> CreateDWordField(Local0, 0x0, PIO0)
> CreateDWordField(Local0, 0x4, DMA0)
> CreateDWordField(Local0, 0x8, PIO1)
> CreateDWordField(Local0, 0xc, DMA1)
> CreateDWordField(Local0, 0x10, FLAG)
> Store(Zero, FLAG)
> Or(FLAG, 0x10, FLAG)
> Add(And(Arg1, 0xf, ), ShiftRight(Arg1, 0x4, ), Local1)
> Add(Local1, 0x2, Local1)
> Multiply(Local1, 0x1e, PIO0)
> Or(FLAG, 0x2, FLAG)
> Add(And(Arg2, 0xf, ), ShiftRight(Arg2, 0x4, ), Local1)
> Add(Local1, 0x2, Local1)
> Multiply(Local1, 0x1e, PIO1)
> Or(FLAG, 0x8, FLAG)
> And(Arg0, 0xf, Local1)
> If(And(Arg0, 0xe0, )) {
> Or(FLAG, 0x4, FLAG)
> Store(^GIDX(Local1), Local1)
> }
> Else {
> Store(0x6, Local1)
> }
> Store(DerefOf(Index(^^DMTT, Local1, )), DMA1)
> ShiftRight(And(Arg0, 0x0f00, ), 0x8, Local1)
> If(And(Arg0, 0xe000, )) {
> Or(FLAG, 0x1, FLAG)
> Store(^GIDX(Local1), Local1)
> }
> Else {
> Store(0x6, Local1)
> }
> Store(DerefOf(Index(^^DMTT, Local1, )), DMA0)
> Return(Local0)
> }
> Method(STM_, 3) {
> Store(Buffer(0x5) { }, Local7)
> CreateWordField(Local7, 0x0, UDMT)
> CreateWordField(Local7, 0x2, PIOT)
> CreateByteField(Local7, 0x4, R4CT)
> CreateDWordField(Arg0, 0x0, PIO0)
> CreateDWordField(Arg0, 0x4, DMA0)
> CreateDWordField(Arg0, 0x8, PIO1)
> CreateDWordField(Arg0, 0xc, DMA1)
> CreateDWordField(Arg0, 0x10, FLAG)
> Store(FLAG, Local4)
> Store(0x0e0e, Local1)
> If(And(Local4, 0x1, )) {
> And(Local1, 0xf, Local1)
> Store(^RIDX(DMA0), Local3)
> Or(Local3, 0xe0, Local3)
> Or(ShiftLeft(Local3, 0x8, ), Local1, Local1)
> }
> If(And(Local4, 0x4, )) {
> And(Local1, 0xff00, Local1)
> Store(^RIDX(DMA1), Local3)
> Or(Local3, 0xe0, Local3)
> Or(Local3, Local1, Local1)
> }
> Store(Local1, UDMT)
> Store(0xa, Local2)
> If(And(Local4, 0x2, )) {
> Divide(PIO0, 0x1e, , Local3)
> Subtract(Local3, 0x3, Local3)
> If(LLess(Local3, 0xc)) {
> And(Local2, 0x3, Local2)
> Or(Local2, 0x4, Local2)
> }
> Store(ShiftLeft(DerefOf(Index(^^REGT, Local3, )),
> 0x8, ), Local6)
> }
> Else {
> Store(0x0, Local6)
> }
> If(And(Local4, 0x8, )) {
> Divide(PIO1, 0x1e, , Local3)
> Subtract(Local3, 0x3, Local3)
> If(LLess(Local3, 0xc)) {
> And(Local2, 0xc, Local2)
> Or(Local2, 0x1, Local2)
> }
> Store(DerefOf(Index(^^REGT, Local3, )), Local6)
> }
> Else {
> Store(And(Local6, 0xff00, ), Local6)
> }
> Store(Local2, R4CT)
> Store(Local6, PIOT)
> Return(Local7)
> }
> Method(GTF_, 3) {
> If(Arg2) {
> Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0,
> 0xef }, Local7)
> }
> Else {
> Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0,
> 0xef }, Local7)
> }
> CreateByteField(Local7, 0x1, MODE)
> Add(And(Arg0, 0xf, ), ShiftRight(Arg0, 0x4, ), Local1)
> Add(Local1, 0x2, Local1)
> Multiply(Local1, 0x1e, Local0)
> Store(Match(^^PIOT, MLT, Local0, MTR, 0x0, 0x0),
> Local1)
> If(Local1) {
> Decrement(Local1)
> }
> If(And(Arg1, 0xe0, )) {
> Store(^GIDX(And(Arg1, 0xf, )), Local0)
> If(LGreater(Local0, 0x6)) {
> Store(0x0, Local0)
> }
> Else {
> Subtract(0x6, Local0, Local0)
> }
> Or(Local0, 0x40, MODE)
> }
> Else {
> Or(Local1, 0x8, MODE)
> }
> Concatenate(Local7, Local7, Local6)
> Or(Local1, 0x8, MODE)
> Concatenate(Local6, Local7, Local5)
> Return(Local5)
> }
> Device(PRIM) {
> Name(_ADR, 0x0)
> Method(_GTM) {
> Store("GTM - Primary Controller", Debug)
> Store(^^GTM_(0xe0e0, 0x20, 0x20), Local0)
> Return(Local0)
> }
> Method(_STM, 3) {
> Store("STM - Primary Controller", Debug)
> }
> Device(MAST) {
> Name(_ADR, 0x0)
> Method(_GTF) {
> Store("GTF - Primary Master", Debug)
> ShiftRight(0xe0e0, 0x8, Local0)
> Store(^^^GTF_(0x20, Local0, 0x1), Local0)
> Return(Local0)
> }
> }
> Device(SLAV) {
> Name(_ADR, 0x1)
> Method(_GTF) {
> Store("GTF - Primary Slave", Debug)
> Store(^^^GTF_(0x20, 0xe0, 0x0), Local0)
> Return(Local0)
> }
> }
> }
> Device(SECN) {
> Name(_ADR, 0x1)
> Method(_GTM) {
> Store("GTM - Secondary Controller", Debug)
> Store(^^GTM_(^^UDMS, ^^SDR0, ^^SDR1), Local0)
> Return(Local0)
> }
> Method(_STM, 3) {
> Store("STM - Secondary Controller", Debug)
> Store(^^STM_(Arg0, Arg1, Arg2), Local0)
> CreateWordField(Local0, 0x0, DMAS)
> CreateWordField(Local0, 0x2, PIOS)
> CreateByteField(Local0, 0x4, ADSS)
> Store(Or(DMAS, And(^^UDMS, 0x1010, ), ), ^^UDMS)
> And(PIOS, 0xff, Local1)
> If(Local1) {
> Store(Local1, ^^SDR1)
> }
> ShiftRight(PIOS, 0x8, Local1)
> If(Local1) {
> Store(Local1, ^^SDR0)
> }
> Store(ADSS, ^^SDST)
> }
> Device(MAST) {
> Name(_ADR, 0x0)
> Method(_GTF) {
> Store("GTF - Secondary Master", Debug)
> ShiftRight(^^^UDMS, 0x8, Local0)
> Store(^^^GTF_(^^^SDR0, Local0, 0x1), Local0)
> Return(Local0)
> }
> }
> Device(SLAV) {
> Name(_ADR, 0x1)
> Method(_GTF) {
> Store("GTF - Secondary Slave", Debug)
> Store(^^^GTF_(^^^SDR1, ^^^UDMS, 0x0), Local0)
> Return(Local0)
> }
> }
> }
> }
> Device(USB1) {
> Name(_ADR, 0x00100000)
> Method(_STA) {
> If(\_SB_.PCI0.PIB_.ESB1) {
> Return(0x0)
> }
> Else {
> Return(0xf)
> }
> }
> }
> Device(USB2) {
> Name(_ADR, 0x00100001)
> Method(_STA) {
> If(\_SB_.PCI0.PIB_.ESB2) {
> Return(0x0)
> }
> Else {
> Return(0xf)
> }
> }
> }
> Device(USB3) {
> Name(_ADR, 0x00100002)
> Method(_STA) {
> If(\_SB_.PCI0.PIB_.ESB3) {
> Return(0x0)
> }
> Else {
> Return(0xf)
> }
> }
> }
> Device(USB5) {
> Name(_ADR, 0x00100004)
> Method(_STA) {
> If(\_SB_.PCI0.PIB_.ESB5) {
> Return(0x0)
> }
> Else {
> Return(0xf)
> }
> }
> }
> Device(Z00C) {
> Name(_ADR, 0x00110007)
> OperationRegion(PBVL, PCI_Config, 0xfc, 0x1)
> Field(PBVL, ByteAcc, NoLock, Preserve) {
> , 2,
> Z00D, 1,
> Offset(0x1)
> }
> }
> Device(SP2P) {
> Name(_ADR, 0x00130001)
> Name(_PRW, Package(0x2) {
> 0x5,
> 0x5,
> })
> OperationRegion(PPB2, PCI_Config, 0x19, 0x1)
> Field(PPB2, ByteAcc, NoLock, Preserve) {
> CBUS, 8
> }
> Method(_BBN) {
> Return(CBUS)
> }
> Name(APIC, Package(0x11) {
> Package(0x4) {
> 0x0003ffff,
> 0x0,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x1,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x2,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x3,
> 0x0,
> 0x13,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x0,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x1,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x2,
> 0x0,
> 0x13,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x3,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0005ffff,
> 0x0,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0006ffff,
> 0x0,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0006ffff,
> 0x1,
> 0x0,
> 0x13,
> },
> Package(0x4) {
> 0x0007ffff,
> 0x0,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0007ffff,
> 0x1,
> 0x0,
> 0x12,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x0,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x1,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x2,
> 0x0,
> 0x10,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x3,
> 0x0,
> 0x10,
> },
> })
> Name(PICM, Package(0x11) {
> Package(0x4) {
> 0x0003ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0003ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0004ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0005ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0006ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0006ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> Package(0x4) {
> 0x0007ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0007ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKA,
> 0x0,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKC,
> 0x0,
> },
> Package(0x4) {
> 0x0009ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKD,
> 0x0,
> },
> })
> Method(_PRT) {
> If(PICF) {
> Return(APIC)
> }
> Else {
> Return(PICM)
> }
> }
> }
> Device(P2PE) {
> Name(_ADR, 0x00130000)
> Method(_STA) {
> If(LEqual(\_SB_.PCI0.Z00C.Z00D, 0x0)) {
> Return(0xf)
> }
> Else {
> Return(0x0)
> }
> }
> Name(APIC, Package(0x4) {
> Package(0x4) {
> 0x0001ffff,
> 0x0,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x1,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x2,
> 0x0,
> 0x11,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x3,
> 0x0,
> 0x11,
> },
> })
> Name(PICM, Package(0x4) {
> Package(0x4) {
> 0x0001ffff,
> 0x0,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x1,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x2,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> Package(0x4) {
> 0x0001ffff,
> 0x3,
> \_SB_.PCI0.PIB_.LNKB,
> 0x0,
> },
> })
> Method(_PRT) {
> If(PICF) {
> Return(APIC)
> }
> Else {
> Return(PICM)
> }
> }
> Device(HDAC) {
> Name(_ADR, 0x00010000)
> OperationRegion(AZAR, PCI_Config, 0x0, 0x0100)
> Field(AZAR, ByteAcc, NoLock, Preserve) {
> VID_, 16,
> Offset(0x4),
> CMDR, 3
> }
> Method(_STA) {
> If(LNot(LEqual(\_SB_.PCI0.P2PE.HDAC.VID_,
> 0x1106))) {
> Return(0x0)
> }
> Else {
> If(LEqual(\_SB_.PCI0.P2PE.HDAC.CMDR, 0x0)) {
> Return(0xd)
> }
> Else {
> Return(0xf)
> }
> }
> }
> }
> }
> Device(PPB_) {
> Name(_ADR, 0x00010000)
> Device(VGA_) {
> Name(_ADR, 0x0)
> Name(DSEN, 0x1)
> Name(LCDA, 0x1)
> Name(DVIA, 0x1)
> Name(CRTA, 0x1)
> Method(_DOS, 1) {
> Store(And(Arg0, 0x3, ), DSEN)
> }
> Method(_DOD) {
> Return(Package(0x3) {
> 0x00010100,
> 0x00010110,
> 0x00010120,
> })
> }
> Device(CRT_) {
> Name(_ADR, 0x0100)
> Method(_DCS) {
> If(CRTA) {
> Return(0x1f)
> }
> Else {
> Return(0x1d)
> }
> }
> Method(_DGS) {
> If(CRTA) {
> Return(0x1)
> }
> Else {
> Return(0x0)
> }
> }
> Method(_DSS, 1) {
> If(CRTA) {
> Return(0x80000001)
> }
> Else {
> Return(0x0)
> }
> }
> }
> Device(LCD_) {
> Name(_ADR, 0x0110)
> Method(_DCS) {
> If(LCDA) {
> Return(0x1f)
> }
> Else {
> Return(0x1d)
> }
> }
> Method(_DGS) {
> If(LCDA) {
> Return(0x1)
> }
> Else {
> Return(0x0)
> }
> }
> Method(_DSS, 1) {
> If(LCDA) {
> Return(0x80000001)
> }
> Else {
> Return(0x0)
> }
> }
> }
> Device(DVI_) {
> Name(_ADR, 0x0120)
> Method(_DCS) {
> If(DVIA) {
> Return(0x1f)
> }
> Else {
> Return(0x1d)
> }
> }
> Method(_DGS) {
> If(DVIA) {
> Return(0x1)
> }
> Else {
> Return(0x0)
> }
> }
> Method(_DSS, 1) {
> If(DVIA) {
> Return(0x80000001)
> }
> Else {
> Return(0x0)
> }
> }
> }
> }
> }
> Device(LAN_) {
> Name(_ADR, 0x00090000)
> Name(_PRW, Package(0x2) {
> 0x5,
> 0x3,
> })
> }
> }
> Mutex(VSMX, 0)
> Method(Z001, 1, Serialized) {
> Acquire(VSMX, 0xffff)
> Store(Arg0, \_SB_.PCI0.PIB_.Z005)
> Release(VSMX)
> }
> Device(LID_) {
> Name(_HID, 0x0d0cd041)
> Name(LIDF, 0x1)
> Method(_LID) {
> Return(LIDF)
> }
> Name(_PRW, Package(0x2) {
> 0x8,
> 0x3,
> })
> }
> Mutex(PSMX, 0)
> Device(ACAD) {
> Name(_HID, "ACPI0003")
> Name(_PCL, Package(0x1) {
> \_SB_,
> })
> Name(INIT, 0x1)
> Name(ACFG, 0x0)
> Method(_PSR) {
> Acquire(PSMX, 0xffff)
> And(0x1, \_SB_.PCI0.PIB_.PMRD(0xa0), Local0)
> Store(Local0, ACFG)
> Store(Local0, INIT)
> Release(PSMX)
> Return(ACFG)
> }
> Method(_STA) {
> Return(0xf)
> }
> }
> Device(BAT0) {
> Name(_HID, 0x0a0cd041)
> Name(_UID, 0x1)
> Method(_STA) {
> Acquire(PSMX, 0xffff)
> And(\_SB_.PCI0.PIB_.PMRD(0xa1), 0x1, Local0)
> Store(Local0, FSTA)
> Release(PSMX)
> If(LEqual(Local0, 0x0)) {
> Return(0xf)
> }
> Else {
> Return(0x1f)
> }
> }
> Method(_BIF) {
> And(\_SB_.PCI0.PIB_.PMRD(0xa1), 0x1, Local0)
> If(Local0) {
> UPBI()
> }
> Else {
> IVBI()
> IVBS()
> }
> Store(Zero, FBIF)
> Return(PBIF)
> }
> Method(_BST) {
> UPBS()
> And(\_SB_.PCI0.PIB_.PMRD(0xa0), 0x1, Local0)
> If(Local0) {
> And(\_SB_.PCI0.PIB_.PMRD(0xe0), 0xfe, Local0)
> \_SB_.PCI0.PIB_.PMWT(0xe0, Local0)
> }
> Else {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local0)
> And(Local0, 0x10, Local1)
> If(Local1) {
> Or(\_SB_.PCI0.PIB_.PMRD(0xe0), 0x1, Local0)
> \_SB_.PCI0.PIB_.PMWT(0xe0, Local0)
> }
> Else {
> And(\_SB_.PCI0.PIB_.PMRD(0xe0), 0xfe, Local0)
> \_SB_.PCI0.PIB_.PMWT(0xe0, Local0)
> }
> }
> Return(PBST)
> }
> Method(IVBI) {
> Store(0xffffffff, Index(PBIF, 0x1, ))
> Store(0xffffffff, Index(PBIF, 0x2, ))
> Store(0xffffffff, Index(PBIF, 0x4, ))
> Store("Bad", Index(PBIF, 0x9, ))
> Store("Bad", Index(PBIF, 0xa, ))
> Store("Bad", Index(PBIF, 0xb, ))
> Store("Bad", Index(PBIF, 0xc, ))
> Store(One, FBIF)
> }
> Method(IVBS) {
> Store(Zero, Index(PBST, 0x0, ))
> Store(0xffffffff, Index(PBST, 0x1, ))
> Store(0xffffffff, Index(PBST, 0x2, ))
> Store(0xffffffff, Index(PBST, 0x3, ))
> Store(One, \_SB_.BAT0.FSTA)
> }
> Method(UPBI) {
> Acquire(PSMX, 0xffff)
> Store(\_SB_.PCI0.PIB_.PMRD(0x0), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x1), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local0, Local2, Local3)
> Store(Local3, Index(PBIF, 0x0, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x2), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x3), Local1)
> Store(\_SB_.PCI0.PIB_.PMRD(0x49), Local2)
> Multiply(Local1, 0x0100, Local3)
> Multiply(Local2, 0x00010000, Local4)
> Or(Local3, Local0, Local5)
> Or(Local4, Local5, Local6)
> Store(Local6, Index(PBIF, 0x1, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x4), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x5), Local1)
> Store(\_SB_.PCI0.PIB_.PMRD(0x4a), Local2)
> Multiply(Local1, 0x0100, Local3)
> Multiply(Local2, 0x00010000, Local4)
> Or(Local3, Local0, Local5)
> Or(Local4, Local5, Local6)
> Store(Local6, Index(PBIF, 0x2, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x6), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x7), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x3, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x8), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x9), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x4, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0xa), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0xb), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x5, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0xc), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0xd), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x6, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0xe), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0xf), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x7, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x10), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x11), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBIF, 0x8, ))
> Store("46EA0/ECZJG", Index(PBIF, 0x9, ))
> Store("", Index(PBIF, 0xa, ))
> Store("Lion", Index(PBIF, 0xb, ))
> Store("FIC ", Index(PBIF, 0xc, ))
> Release(PSMX)
> Return(PBIF)
> }
> Method(UPBS) {
> Acquire(PSMX, 0xffff)
> Store(\_SB_.PCI0.PIB_.PMRD(0x1a), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x1b), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBST, 0x0, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x1c), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x1d), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBST, 0x1, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x1e), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x1f), Local1)
> Store(\_SB_.PCI0.PIB_.PMRD(0x4b), Local2)
> Multiply(Local1, 0x0100, Local3)
> Multiply(Local2, 0x00010000, Local4)
> Or(Local3, Local0, Local5)
> Or(Local4, Local5, Local6)
> Store(Local6, Index(PBST, 0x2, ))
> Store(\_SB_.PCI0.PIB_.PMRD(0x20), Local0)
> Store(\_SB_.PCI0.PIB_.PMRD(0x21), Local1)
> Multiply(Local1, 0x0100, Local2)
> Or(Local2, Local0, Local3)
> Store(Local3, Index(PBST, 0x3, ))
> Release(PSMX)
> Return(PBST)
> }
> Method(_BTP, 1) {
> Acquire(PSMX, 0xffff)
> Store(\_SB_.PCI0.PIB_.PMRD(0xb2), Local0)
> And(Local0, 0x7f, Local0)
> \_SB_.PCI0.PIB_.PMWT(0xb2, Local0)
> Store(Arg0, Local0)
> Store(Local0, Local6)
> And(Local0, 0xff, Local1)
> \_SB_.PCI0.PIB_.PMWT(0x22, Local1)
> Store(Local6, Local0)
> And(Local0, 0xff00, Local1)
> ShiftRight(Local1, 0x8, Local2)
> \_SB_.PCI0.PIB_.PMWT(0x23, Local2)
> Store(Local6, Local0)
> And(Local0, 0x00ff0000, Local1)
> ShiftRight(Local1, 0x10, Local2)
> \_SB_.PCI0.PIB_.PMWT(0x4c, Local2)
> Store(\_SB_.PCI0.PIB_.PMRD(0xf1), Local3)
> If(And(Local3, 0x80, Local3)) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xa1), Local4)
> \_SB_.PCI0.PIB_.PMWT(0xf1, Local4)
> }
> Store(\_SB_.PCI0.PIB_.PMRD(0xb2), Local0)
> Or(Local0, 0x80, Local0)
> \_SB_.PCI0.PIB_.PMWT(0xb2, Local0)
> Release(PSMX)
> }
> Name(_PCL, Package(0x1) {
> \_SB_,
> })
> Name(FBIF, 0x1)
> Name(FSTA, 0x1)
> Name(GGFG, 0x0)
> Name(PBIF, Package(0xd) {
> 0x1,
> 0x78,
> 0x64,
> 0x1,
> 0x2580,
> 0x5,
> 0x5,
> 0x1,
> 0x1,
> "???",
> "???",
> "???",
> "???",
> })
> Name(PBST, Package(0x4) {
> 0x1,
> 0x78,
> 0x64,
> 0x2580,
> })
> Name(PSTA, 0x1f)
> }
> Scope(_TZ_) {
> Name(FL1_, 0x0)
> Name(FL2_, 0x0)
> PowerResource(PFN0, 0, 0) {
> Method(_ON_) {
> Store(Zero, FL2_)
> Store(One, FL1_)
> }
> Method(_OFF) {
> Store(Zero, FL1_)
> Store(One, FL2_)
> }
> Method(_STA) {
> Or(FL1_, FL2_, Local7)
> Return(Local7)
> }
> }
> PowerResource(PFN1, 0, 0) {
> Method(_ON_) {
> If(LEqual(FL1_, 0x0)) {
> Store(Zero, FL1_)
> Store(One, FL2_)
> }
> }
> Method(_OFF) {
> Store(Zero, \_TZ_.FL1_)
> Store(Zero, \_TZ_.FL2_)
> }
> Method(_STA) {
> Or(FL1_, FL2_, Local7)
> Return(Local7)
> }
> }
> Device(FAN0) {
> Name(_HID, 0x0b0cd041)
> Name(_UID, 0x1)
> Name(_PSC, 0x0)
> Name(_PR0, Package(0x1) {
> PFN0,
> })
> }
> Device(FAN1) {
> Name(_HID, 0x0b0cd041)
> Name(_UID, 0x2)
> Name(_PSC, 0x0)
> Method(_INI) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xaf), Local0)
> And(Local0, 0x4, Local0)
> If(LNot(LEqual(Local0, Zero))) {
> \_SB_.PCI0.PIB_.PMMW(0x01e8, 0x0)
> Store(One, \_TZ_.THRM.TERR)
> }
> }
> Name(_PR0, Package(0x1) {
> PFN1,
> })
> }
> ThermalZone(THRM) {
> Name(PSVV, 0x4f)
> Name(CRTV, 0x5f)
> Name(HITP, Package(0x2) {
> 0x46,
> 0x5f,
> })
> Name(LOTP, Package(0x2) {
> 0x0,
> 0x3e,
> })
> Name(AC0H, 0x5f)
> Name(AC1H, 0x46)
> Name(TERR, 0x0)
> Method(_AC0, 0, Serialized) {
> Add(AC0H, 0x0111, Local0)
> Multiply(Local0, 0xa, Local0)
> Return(Local0)
> }
> Method(_AC1, 0, Serialized) {
> Add(AC1H, 0x0111, Local0)
> Multiply(Local0, 0xa, Local0)
> Return(Local0)
> }
> Name(_AL0, Package(0x1) {
> FAN0,
> })
> Name(_AL1, Package(0x1) {
> FAN1,
> })
> Method(_PSV) {
> Add(PSVV, 0x0111, Local0)
> Multiply(Local0, 0xa, Local0)
> Return(Local0)
> }
> Name(_PSL, Package(0x1) {
> \_PR_.CPU0,
> })
> Method(_CRT) {
> Add(CRTV, 0x0111, Local0)
> Multiply(Local0, 0xa, Local0)
> Return(Local0)
> }
> Method(_SCP, 1) {
> }
> Method(_TMP) {
> Store(\_SB_.PCI0.PIB_.PMRD(0xe7), Local0)
> Multiply(Local0, 0xa, Local0)
> Add(Local0, 0x0aaa, Local0)
> Return(Local0)
> }
> Name(_TC1, 0x3)
> Name(_TC2, 0x1)
> Name(_TSP, 0x96)
> }
> }
> }
>
> }
> /*
> SSDT: Length=1210, Revision=1, Checksum=121,
> OEMID=PPmmRe, OEM Table ID=PPm, OEM Revision=0x6040000,
> Creator ID=INTL, Creator Revision=0x20030224
> */
> /*
> APIC: Length=80, Revision=1, Checksum=91,
> OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000,
> Creator ID= LTP, Creator Revision=0x0
> */
> /*
> MCFG: Length=60, Revision=1, Checksum=97,
> OEMID=PTLTD, OEM Table ID= MCFG, OEM Revision=0x6040000,
> Creator ID= LTP, Creator Revision=0x0
> */