kern/104625: ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show
thermal zones or fan speed
O. Hartmann
ohartman at mail.zedat.fu-berlin.de
Mon Oct 23 16:57:00 UTC 2006
John Baldwin wrote:
> The following reply was made to PR kern/104625; it has been noted by GNATS.
>
> From: John Baldwin <john at baldwin.cx>
> To: bug-followup at freebsd.org, ohartman at zedat.fu-berlin.de
> Cc:
> Subject: Re: kern/104625: ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show thermal zones or fan speed
> Date: Mon, 23 Oct 2006 11:25:09 -0400
>
> You need to provide an acpidump. ACPI thermal zones work fine on computers
> that list them in their BIOS. Many older machines only provide access to the
> thermals via non-ACPI methods such as over SMBus, etc.
>
> --
> John Baldwin
> _______________________________________________
> freebsd-acpi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe at freebsd.org"
>
Attached to this mail you'll find the acpidump of both boxes.
Please note: ASUS A8N32-SLI IS DEFINITELLY NOT OLD as it has been
introduces last year and since then the problem persists. And, even
worse, OpenBSD seems to show up thermal zones.
As I wrote the 'older' ASUS A8N-SLI Deluxe already showed up thermal
zones, but had a AWARD BIOS while the boxes in question use AMI BIOS. On
all boxes I have access to with AMI BIOS, I can not access thermal zones
in FreeBSD 6.X ...
Regards,
Oliver
-------------- next part --------------
A non-text attachment was scrubbed...
Name: acpi_a8n32sli.bin
Type: application/octet-stream
Size: 27145 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20061023/d02915d8/acpi_a8n32sli-0001.bin
-------------- next part --------------
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.tpdPdM, Mon Oct 23 18:49:52 2006
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0371", "A0371001", 1)
{
Name (DP80, 0x1080)
Name (DP90, 0x90)
Name (SPIO, 0x2E)
Name (IOPB, 0x0C00)
Name (IOPL, 0x10)
Name (IOEB, 0x0D00)
Name (IOEL, 0x10)
Name (IOGB, 0x0A20)
Name (IOGL, 0x10)
Name (IODB, 0x0A30)
Name (IODL, 0x10)
Name (IO1B, 0x0A20)
Name (IO1L, 0x08)
Name (IO3B, 0x0D00)
Name (IO3L, 0x80)
Name (PMBS, 0x0500)
Name (PMLN, 0x0100)
Name (SCBS, 0x0800)
Name (SCLN, 0x0100)
Name (ACBS, 0x0900)
Name (ACLN, 0x0100)
Name (SCIO, 0x0800)
Name (SCTL, 0x0590)
Name (EXTS, 0x00)
Name (APIC, 0x01)
Name (ABWV, 0xAB)
Name (PCIB, 0xE0000000)
Name (PCIL, 0x10000000)
Name (SMBS, 0x0700)
OperationRegion (BIOS, SystemMemory, 0x7FFBE064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{
SS1, 1,
SS2, 1,
SS3, 1,
SS4, 1,
Offset (0x01),
IOST, 16,
TOPM, 32,
ROMS, 32,
MG1B, 32,
MG1L, 32,
MG2B, 32,
MG2L, 32,
Offset (0x1C),
CPB0, 32,
CPB1, 32,
CPB2, 32,
CPB3, 32,
ASSB, 8,
AOTB, 8,
AAXB, 32
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, 0x00)
Method (_PIC, 1, NotSerialized)
{
If (Arg0)
{
Store (0xAA, DBG8)
}
Else
{
Store (0xAC, DBG8)
}
Store (Arg0, PICM)
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If (LNot (LEqual (OSVR, Ones)))
{
Return (OSVR)
}
If (LEqual (PICM, 0x00))
{
Store (0xAC, DBG8)
}
Store (0x01, OSVR)
If (CondRefOf (\_OSI, Local1))
{
If (\_OSI ("Windows 2001"))
{
Store (0x00, OSVR)
}
}
Else
{
If (MCTH (\_OS, "Microsoft Windows NT"))
{
Store (0x04, OSVR)
}
Else
{
If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, OSVR)
}
If (MCTH (\_OS, "Linux"))
{
Store (0x03, OSVR)
}
}
}
Return (OSVR)
}
Method (MCTH, 2, NotSerialized)
{
If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (Zero)
}
Add (SizeOf (Arg0), 0x01, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
{
Return (Zero)
}
}
Return (One)
}
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
Store (Arg0, Index (PRWP, 0x00))
Store (ShiftLeft (SS1, 0x01), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (0x01, Arg1), Local0))
{
Store (Arg1, Index (PRWP, 0x01))
}
Else
{
ShiftRight (Local0, 0x01, Local0)
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, 0x01))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, 0x01))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEB0, SystemIO, DP80, 0x01)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, DP90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (\_SB)
{
Name (PR00, Package (0x20)
{
Package (0x04)
{
0x000AFFFF,
0x00,
LSMB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
LUB0,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
LUB2,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
LMAC,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
LSA0,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
LSA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
LACI,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
LMC9,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNKC,
0x00
}
})
Name (AR00, Package (0x20)
{
Package (0x04)
{
0x000AFFFF,
0x00,
LSMB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
LUB0,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
LUB2,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
LMAC,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
LSA0,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
LSA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
LACI,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
LMC9,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNKC,
0x00
}
})
Name (PR01, Package (0x0D)
{
Package (0x04)
{
0x000BFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
LNKB,
0x00
}
})
Name (AR01, Package (0x0D)
{
Package (0x04)
{
0x000BFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
LNKB,
0x00
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5,7,10,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, RSMB)
Alias (PRSA, RSB2)
Name (RSA1, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {11}
})
Alias (RSA1, RSA0)
Alias (PRSA, RSB0)
Alias (PRSA, RSAC)
Alias (PRSA, RSCI)
Alias (PRSA, RSC9)
Alias (PRSA, RSTA)
Name (RSIR, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000010,
0x00000011,
0x00000012,
0x00000013,
}
})
Name (RSII, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000014,
0x00000015,
0x00000016,
0x00000017,
}
})
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00180000)
Method (^BN00, 0, NotSerialized)
{
Return (0x00)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, 0x00)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Device (NB2N)
{
Name (_ADR, 0x00)
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
}
Device (PCLK)
{
Name (_ADR, 0x02)
}
Device (SBRG)
{
Name (_ADR, 0x000A0000)
Method (SPTS, 1, NotSerialized)
{
Store (Arg0, \_SB.PCI0.IDE0.PTS0)
Store (\_SB.PCI0.IDE0.ID20, \_SB.PCI0.IDE0.SID0)
Store (\_SB.PCI0.IDE0.IDTS, \_SB.PCI0.IDE0.SID1)
Store (\_SB.PCI0.IDE0.IDTP, \_SB.PCI0.IDE0.SID2)
Store (\_SB.PCI0.IDE0.ID22, \_SB.PCI0.IDE0.SID3)
Store (\_SB.PCI0.IDE0.UMSS, \_SB.PCI0.IDE0.SID4)
Store (\_SB.PCI0.IDE0.UMSP, \_SB.PCI0.IDE0.SID5)
Store (One, PS1S)
Store (One, PS1E)
Store (One, \_SB.SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, \_SB.SLPS)
Store (Zero, PS1E)
Store (0x02, S1CT)
Store (0x02, S3CT)
Store (0x02, S4CT)
Store (0x02, S5CT)
}
OperationRegion (SMIE, SystemIO, SCIO, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 15,
PS1S, 1,
, 31,
PS1E, 1,
Offset (0x08)
}
OperationRegion (SXCT, SystemIO, SCTL, 0x10)
Field (SXCT, ByteAcc, NoLock, Preserve)
{
S1CT, 2,
Offset (0x04),
S3CT, 2,
Offset (0x08),
S4CT, 2,
Offset (0x0C),
S5CT, 2,
Offset (0x10)
}
Scope (\_SB)
{
Name (SLPS, 0x00)
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
If (EXTS)
{
Return (0x0F)
}
Return (0x00)
}
Method (SBEV, 0, NotSerialized)
{
If (SLPS)
{
Notify (SLPB, 0x02)
}
Else
{
Notify (SLPB, 0x80)
}
}
Method (\_GPE._L01, 0, NotSerialized)
{
\_SB.SLPB.SBEV ()
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x01,
0x04
})
}
}
Scope (PCI0)
{
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL (), 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_S1D, 0x01)
Name (NATA, Package (0x01)
{
0x00100000
})
Device (NVRB)
{
Name (_HID, "NVRAIDBUS")
Method (_STA, 0, NotSerialized)
{
If (And (CPB0, 0x01))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x04D2, 0x04D2, 0x01, 0x01)
})
}
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x00, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
IRQNoFlags () {2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8) {4}
IO (Decode16, 0x0000, 0x0000, 0x00, 0x10)
IO (Decode16, 0x0081, 0x0081, 0x00, 0x03)
IO (Decode16, 0x0087, 0x0087, 0x00, 0x01)
IO (Decode16, 0x0089, 0x0089, 0x00, 0x03)
IO (Decode16, 0x008F, 0x008F, 0x00, 0x01)
IO (Decode16, 0x00C0, 0x00C0, 0x00, 0x20)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x00, 0x04)
IRQNoFlags () {0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x00, 0x02)
IRQNoFlags () {8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x00, 0x01)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
IRQNoFlags () {13}
})
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_FDE, 0, NotSerialized)
{
Name (FDEP, Package (0x05)
{
0x00,
0x00,
0x02,
0x02,
0x02
})
If (_STA ())
{
Store (0x01, Index (FDEP, 0x00))
}
Return (FDEP)
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03, 0x01)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (0x01, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
CreateWordField (Arg0, 0x11, IRQE)
CreateByteField (Arg0, 0x14, DMAE)
ENFG (CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0370, 0x0370, 0x01, 0x06)
IO (Decode16, 0x0377, 0x0377, 0x01, 0x01)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Device (LPTE)
{
Method (_HID, 0, NotSerialized)
{
If (LPTM (0x02))
{
Return (0x0104D041)
}
Else
{
Return (0x0004D041)
}
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x02))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x02, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x02, 0x01)
If (LPTM (0x02))
{
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (LEN1, LEN2)
Add (IO21, 0x0400, IO31)
Store (IO31, IO32)
Store (LEN2, LEN3)
Return (CRS2)
}
Else
{
Return (CRS1)
}
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x02)
}
Method (_PRS, 0, NotSerialized)
{
If (LPTM (0x02))
{
Return (EPPR)
}
Else
{
Return (LPPR)
}
}
Name (LPPR, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn ()
})
Name (EPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Device (GAME)
{
Name (_HID, EisaId ("PNPB02F"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x08))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x08, 0x00)
}
Name (GMCR, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (GMCR, 0x02, IOGL)
CreateWordField (GMCR, 0x04, IOGH)
ENFG (CGLD (0x08))
ShiftLeft (IOAH, 0x08, IOGL)
Or (IOAL, IOGL, IOGL)
Store (IOGL, IOGH)
CreateByteField (GMCR, 0x06, IOAL)
Store (0x01, IOAL)
EXFG ()
Return (GMCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (0x08))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
DCNT (0x08, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0201, 0x0201, 0x01, 0x08)
}
EndDependentFn ()
})
}
Device (MIDI)
{
Name (_HID, EisaId ("PNPB006"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x05))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x05, 0x00)
}
Name (MDCR, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x02)
IRQNoFlags () {5}
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (MDCR, 0x02, IOML)
CreateWordField (MDCR, 0x04, IOMH)
CreateWordField (MDCR, 0x09, IRQM)
ENFG (CGLD (0x05))
ShiftLeft (IOAH, 0x08, IOML)
Or (IOAL, IOML, IOML)
Store (IOML, IOMH)
If (INTR)
{
ShiftLeft (0x01, INTR, IRQM)
}
Else
{
Store (0x00, IRQM)
}
EXFG ()
Return (MDCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, IO11)
CreateWordField (Arg0, 0x09, IRQM)
ENFG (CGLD (0x05))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
DCNT (0x05, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
}
EndDependentFn ()
IRQNoFlags () {5,7,9,10,11}
})
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E)
IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E)
IO (Decode16, 0x0080, 0x0080, 0x00, 0x01)
IO (Decode16, 0x0084, 0x0084, 0x00, 0x03)
IO (Decode16, 0x0088, 0x0088, 0x00, 0x01)
IO (Decode16, 0x008C, 0x008C, 0x00, 0x03)
IO (Decode16, 0x0090, 0x0090, 0x00, 0x10)
IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
IO (Decode16, 0x0800, 0x0800, 0x00, 0x10)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
Memory32Fixed (ReadOnly, 0xFEE01000, 0x000FF000)
Memory32Fixed (ReadOnly, 0xFEFFF000, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFB00000, 0x004F0000)
Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (CRS, 0x7A, GP00)
CreateWordField (CRS, 0x7C, GP01)
CreateByteField (CRS, 0x7F, GP0L)
CreateWordField (CRS, 0x82, GP10)
CreateWordField (CRS, 0x84, GP11)
CreateByteField (CRS, 0x87, GP1L)
Store (PMBS, GP00)
Store (PMBS, GP01)
If (LNot (LLess (PMLN, 0x0100)))
{
ShiftRight (PMLN, 0x01, GP0L)
Add (GP00, GP0L, GP10)
Add (GP01, GP0L, GP11)
Subtract (PMLN, GP0L, GP1L)
}
Else
{
Store (PMLN, GP0L)
}
If (SCBS)
{
CreateWordField (CRS, 0x8A, SC00)
CreateWordField (CRS, 0x8C, SC01)
CreateByteField (CRS, 0x8F, SC0L)
CreateWordField (CRS, 0x92, SC10)
CreateWordField (CRS, 0x94, SC11)
CreateByteField (CRS, 0x97, SC1L)
Store (SCBS, SC00)
Store (SCBS, SC01)
If (LNot (LLess (SCLN, 0x0100)))
{
ShiftRight (SCLN, 0x01, SC0L)
Add (SC00, SC0L, SC10)
Add (SC01, SC0L, SC11)
Subtract (SCLN, SC0L, SC1L)
}
Else
{
Store (SCLN, SC0L)
}
}
If (ACBS)
{
CreateWordField (CRS, 0x9A, AC00)
CreateWordField (CRS, 0x9C, AC01)
CreateByteField (CRS, 0x9F, AC0L)
CreateWordField (CRS, 0xA2, AC10)
CreateWordField (CRS, 0xA4, AC11)
CreateByteField (CRS, 0xA7, AC1L)
Store (ACBS, AC00)
Store (ACBS, AC01)
If (LNot (LLess (ACLN, 0x0100)))
{
ShiftRight (ACLN, 0x01, AC0L)
Add (AC00, AC0L, AC10)
Add (AC01, AC0L, AC11)
Subtract (ACLN, AC0L, AC1L)
}
Else
{
Store (ACLN, AC0L)
}
}
Return (CRS)
}
}
Scope (\_SB.PCI0.SBRG)
{
Device (ASOC)
{
Name (_HID, "ATK0110")
Name (_UID, 0x01010110)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
}
OperationRegion (\_SB.PCI0.SBRG.LPDC, PCI_Config, 0xA0, 0x06)
Field (\_SB.PCI0.SBRG.LPDC, ByteAcc, NoLock, Preserve)
{
S3F8, 1,
S2F8, 1,
, 3,
S2E8, 1,
, 1,
S3E8, 1,
, 4,
M300, 1,
, 2,
M330, 1,
, 4,
FDC0, 1,
Offset (0x03),
P378, 1,
P278, 1,
P3BC, 1,
Offset (0x04),
G200, 8,
G208, 8
}
Method (RRIO, 4, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x00), LEqual (Arg0, 0x01)))
{
If (LEqual (Arg2, 0x03F8))
{
Store (Arg1, S3F8)
}
If (LEqual (Arg2, 0x02F8))
{
Store (Arg1, S2F8)
}
If (LEqual (Arg2, 0x03E8))
{
Store (Arg1, S3E8)
}
If (LEqual (Arg2, 0x02E8))
{
Store (Arg1, S2E8)
}
}
If (LEqual (Arg0, 0x02))
{
If (LEqual (Arg2, 0x0378))
{
Store (Arg1, P378)
}
If (LEqual (Arg2, 0x0278))
{
Store (Arg1, P278)
}
If (LEqual (Arg2, 0x03BC))
{
Store (Arg1, P3BC)
}
}
If (LEqual (Arg0, 0x03))
{
Store (Arg1, FDC0)
}
If (LEqual (Arg0, 0x05))
{
If (LEqual (Arg2, 0x0330))
{
Store (Arg1, M330)
}
If (LEqual (Arg2, 0x0300))
{
Store (Arg1, M300)
}
}
If (LEqual (Arg0, 0x08))
{
Store (Zero, Local0)
If (Arg1)
{
Store (0xFF, Local0)
}
If (LEqual (Arg2, 0x0200))
{
Store (Local0, G200)
}
If (LEqual (Arg2, 0x0208))
{
Store (Local0, G208)
}
}
}
Method (RDMA, 3, NotSerialized)
{
}
Scope (\)
{
OperationRegion (\RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
PAR0, 32,
PAR1, 32
}
OperationRegion (IOB2, SystemIO, 0x082E, 0x02)
Field (IOB2, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMIS, 8
}
Method (ISMI, 1, Serialized)
{
Store (Arg0, SMIC)
}
Method (GNVS, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x70)
Return (PAR1)
}
Method (SNVS, 2, Serialized)
{
Store (Arg0, PAR0)
Store (Arg1, PAR1)
ISMI (0x71)
}
}
Scope (\)
{
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
ADSP, 32,
FSBF, 16,
FVCM, 8,
AITU, 8,
FIDV, 8,
VIDV, 8,
OCPI, 8,
NOST, 8,
NOS1, 8,
DDRV, 8,
CPUS, 1,
CQFS, 3,
CQFT, 4,
AIDI, 8,
OVID, 8,
CCAQ, 8,
MAXF, 8,
MAXV, 8,
CURF, 8,
CURV, 8,
PCEF, 8
}
}
OperationRegion (\_SB.PCI0.PCLK.MNCK, PCI_Config, 0x44, 0x04)
Field (\_SB.PCI0.PCLK.MNCK, ByteAcc, NoLock, Preserve)
{
MMNN, 16,
, 14,
MNEN, 1,
Offset (0x04)
}
OperationRegion (\_SB.PCI0.PCLK.SPRD, PCI_Config, 0x54, 0x04)
Field (\_SB.PCI0.PCLK.SPRD, ByteAcc, NoLock, Preserve)
{
SPRE, 1,
Offset (0x04)
}
OperationRegion (QDRV, SystemIO, IOGB, 0x03)
Field (QDRV, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
, 1,
QDDR, 4,
Offset (0x03)
}
OperationRegion (DEB0, SystemIO, 0x1080, 0x02)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DB16, 16
}
Name (DDRT, Package (0x0A)
{
0x0D,
0x0F,
0x0E,
0x0D,
0x0B,
0x07,
0x09,
0x08,
0x03,
0x02
})
Scope (\_SB.PCI0.SBRG.ASOC)
{
Name (MBIF, Package (0x08)
{
0x01,
"A8N32-SLI",
0x01,
0x01,
0x02,
0x00,
0x00,
0x00
})
Method (ASIF, 0, NotSerialized)
{
Return (MBIF)
}
Name (OC01, Package (0x06)
{
0x01010000,
"CPU FSB",
0x4E20,
0x9C40,
0xC9,
0x00010003
})
Name (OC02, Package (0x06)
{
0x01060001,
"CPU Multiplier",
0x04,
0x19,
0x16,
0x00010000
})
Name (OC03, Package (0x06)
{
0x01060002,
"FID VID Mode",
0x00,
0x01,
0x01,
0x00010000
})
Name (OC04, Package (0x06)
{
0x07010003,
"PCI Express",
0x2710,
0x332C,
0x65,
0x00
})
Name (OC05, Package (0x06)
{
0x05050004,
"OC Profile",
0x00,
0x04,
0x05,
0x00010001
})
Name (OC06, Package (0x06)
{
0x08050005,
"Turbo NOS",
0x00,
0x04,
0x05,
0x00010000
})
Name (OC07, Package (0x06)
{
0x08060006,
"NOS MODE",
0x00,
0x03,
0x04,
0x00
})
Name (OC08, Package (0x06)
{
0x04060003,
"CPU Q-Fan Control",
0x00,
0x01,
0x01,
0x00010003
})
Name (OC09, Package (0x06)
{
0x01020008,
"CPU VID",
0x1F40,
0x3D09,
0x3D,
0x00010000
})
Name (OC0A, Package (0x06)
{
0x02020009,
"DRAM Voltage",
0x0A28,
0x0BB8,
0x09,
0x00010003
})
Name (OC0B, Package (0x06)
{
0x0906000C,
"AI Overclock Tuner",
0x00,
0x04,
0x05,
0x00010003
})
Name (OC0C, Package (0x06)
{
0x0106000B,
"Cool&Quiet Support",
0x00,
0x01,
0x02,
0x00010003
})
Name (OBUF, Package (0x0C)
{
OC01,
OC02,
OC03,
OC04,
OC05,
OC06,
OC07,
OC08,
OC09,
OC0A,
OC0B,
OC0C
})
Name (OCVO, 0x00)
Method (OCIF, 0, NotSerialized)
{
Store (ShiftLeft (MAXV, 0x01), Local1)
Subtract (0x3D09, Multiply (Local1, 0x7D), Index (OC09, 0x03))
Subtract (0x3D, Local1, Index (OC09, 0x04))
Return (OBUF)
}
Name (TEM1, Package (0x11)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (TEMP, 1, NotSerialized)
{
Store (FSBF, Index (TEM1, 0x00))
Store (FVCM, Index (TEM1, 0x01))
Store (AITU, Index (TEM1, 0x02))
Store (FIDV, Index (TEM1, 0x03))
Store (VIDV, Index (TEM1, 0x04))
Store (OCPI, Index (TEM1, 0x05))
Store (NOST, Index (TEM1, 0x06))
Store (NOS1, Index (TEM1, 0x07))
Store (DDRV, Index (TEM1, 0x08))
Store (CPUS, Index (TEM1, 0x09))
Store (CQFS, Index (TEM1, 0x0A))
Store (CQFT, Index (TEM1, 0x0B))
Store (AIDI, Index (TEM1, 0x0C))
Store (OVID, Index (TEM1, 0x0D))
Store (CCAQ, Index (TEM1, 0x0E))
Store (MAXF, Index (TEM1, 0x0F))
Store (MAXV, Index (TEM1, 0x10))
Return (TEM1)
}
Method (OCOP, 1, NotSerialized)
{
Store (DerefOf (Index (OC01, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (FSBF, Local0)
Multiply (Local0, 0x64, Local1)
Store (Local1, Index (CPUO, 0x01))
Subtract (Local0, 0xC8, Local2)
Store (Local2, Index (CPUO, 0x02))
Return (CPUO)
}
Store (DerefOf (Index (OC02, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x01))
Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x02))
If (LEqual (FVCM, 0x01))
{
Store (0x00010000, Index (OC02, 0x05))
Store (0x00, Index (CPUM, 0x03))
}
Else
{
Store (0x00010000, Index (OC02, 0x05))
Store (0x00, Index (CPUM, 0x03))
}
Store (Add (ShiftRight (MAXF, 0x01), 0x04), Index (OC02, 0x03))
Add (0x01, DerefOf (Index (OC02, 0x03)), Local0)
Store (DerefOf (Index (OC02, 0x02)), Local1)
Subtract (Local0, Local1, Index (OC02, 0x04))
Return (CPUM)
}
Store (DerefOf (Index (OC03, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (FVCM, Index (CPFV, 0x02))
If (LEqual (CCAQ, 0x00))
{
Store (0x00010000, Index (OC03, 0x05))
Store (0x00, Index (CPFV, 0x03))
}
Else
{
Store (0x00010003, Index (OC03, 0x05))
Store (0x01, Index (CPFV, 0x03))
}
Return (CPFV)
}
Store (DerefOf (Index (OC04, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Return (PCIV)
}
Store (DerefOf (Index (OC05, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (OCPI, Index (OCPR, 0x02))
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x00010003, Index (OC05, 0x05))
Store (0x01, Index (OCPR, 0x03))
}
Else
{
Store (0x00010003, Index (OC05, 0x05))
Store (0x01, Index (OCPR, 0x03))
}
Return (OCPR)
}
Store (DerefOf (Index (OC06, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (AITU, 0x04))
{
Store (NOS1, Index (NOSP, 0x02))
}
Else
{
Store (0x00, Index (NOSP, 0x02))
}
Return (NOSP)
}
Store (DerefOf (Index (OC07, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (NOST, Index (NOSM, 0x02))
Return (NOSM)
}
Store (DerefOf (Index (OC08, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (CPUS, Index (FANB, 0x02))
Return (FANB)
}
Store (DerefOf (Index (OC09, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Subtract (CURV, MAXV), Local2)
ShiftLeft (Local2, 0x01, Local2)
And (OVID, 0x01, Local3)
Or (Local2, Local3, Local2)
Store (Local2, Index (CPUV, 0x02))
Store (ShiftLeft (MAXV, 0x01), Local2)
Subtract (0x3D09, Multiply (Local2, 0x7D), Index (OC09, 0x03))
Subtract (0x3D, Local2, Index (OC09, 0x04))
Return (CPUV)
}
Store (DerefOf (Index (OC0A, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (DDRV, Index (DDVO, 0x02))
Return (DDVO)
}
Store (DerefOf (Index (OC0B, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (AITU, Index (AIOT, 0x02))
Return (AIOT)
}
Store (DerefOf (Index (OC0C, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (CCAQ, Index (ACAQ, 0x02))
Return (ACAQ)
}
}
Name (CPUO, Package (0x04)
{
0x01010000,
0x4E20,
0x00,
0x01
})
Name (CPUM, Package (0x04)
{
0x01060001,
0x00,
0x00,
0x00
})
Name (CPFV, Package (0x06)
{
0x01060002,
0x00,
0x00,
0x00,
"Auto",
"Manual"
})
Name (PCIV, Package (0x04)
{
0x07010003,
0x2710,
0x64,
0x00
})
Name (OCPR, Package (0x09)
{
0x05050004,
0x00,
0x00,
0x00,
"Overclock 1%",
"Overclock 3%",
"Overclock 5%",
"Overclock 8%",
"Overclock 10%"
})
Name (NOSP, Package (0x09)
{
0x08050005,
0x00,
0x00,
0x01,
"Overclock 1%",
"Overclock 3%",
"Overclock 5%",
"Overclock 8%",
"Overclock 10%"
})
Name (NOSM, Package (0x08)
{
0x08060006,
0x00,
0x00,
0x00,
"Auto",
"Standard%",
"Sensitive",
"Heavy Load"
})
Name (FANB, Package (0x06)
{
0x04040007,
0x00,
0x00,
0x01,
"Disabled",
"Enabled"
})
Name (CPUV, Package (0x04)
{
0x01020008,
0x00,
0x00,
0x01
})
Name (DDVO, Package (0x0E)
{
0x02020009,
0x00,
0x00,
0x01,
"Auto",
"2.60V",
"2.65V",
"2.70V",
"2.75V",
"2.80V",
"2.85V",
"2.90V",
"2.95V",
"3.00V"
})
Name (AIOT, Package (0x09)
{
0x0906000C,
0x00,
0x00,
0x01,
"Manual",
"Auto",
"Standard",
"OverClock Profile",
"AI NOS"
})
Name (ACAQ, Package (0x06)
{
0x0106000B,
0x00,
0x00,
0x00,
"Enabled",
"Disabled"
})
Name (OCST, Package (0x0C)
{
Package (0x02)
{
0x01010000,
0x01
},
Package (0x02)
{
0x01060001,
0x01
},
Package (0x02)
{
0x01060002,
0x01
},
Package (0x02)
{
0x07010003,
0x01
},
Package (0x02)
{
0x05050004,
0x01
},
Package (0x02)
{
0x08050005,
0x01
},
Package (0x02)
{
0x08060006,
0x01
},
Package (0x02)
{
0x04060003,
0x01
},
Package (0x02)
{
0x01020008,
0x01
},
Package (0x02)
{
0x02020009,
0x01
},
Package (0x02)
{
0x0906000C,
0x01
},
Package (0x02)
{
0x0106000B,
0x01
}
})
Method (PROC, 3, NotSerialized)
{
Store (DerefOf (Index (OC01, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Arg1, Local2)
Add (Local2, 0xC8, Local2)
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
If (LNot (LLess (FSBF, Local2)))
{
Subtract (FSBF, Local2, Local0)
}
Else
{
Subtract (Local2, FSBF, Local0)
}
If (LGreater (Local0, 0x0A))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x01)
}
Else
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
}
If (LNot (LLess (FSBF, Local2)))
{
Subtract (FSBF, Local2, Local0)
}
Else
{
Subtract (Local2, FSBF, Local0)
}
Store (Local2, FSBF)
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x00, SMIS)
Store (0xAB, SMIC)
Store (0x00, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
If (LGreater (Local0, 0x0A))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (0xAA, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x01)
}
Store (0x00, SMIS)
Store (0xAB, SMIC)
Store (0x00, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC02, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
If (LEqual (CCQA, 0x00))
{
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
If (LEqual (FVCM, 0x00))
{
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC03, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
If (LEqual (CCAQ, 0x00))
{
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (Arg1, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
Store (Arg1, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC04, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x03)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC05, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x01)
}
Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x03)
}
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x03, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, OCPI)
Store (0x05, SMIS)
Store (0xAB, SMIC)
If (LEqual (Arg1, 0x00))
{
Store (0xCA, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x01))
{
Store (0xCE, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x02))
{
Store (0xD2, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x03))
{
Store (0xD8, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x04))
{
Store (0xDC, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
Store (0xAA, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x01)
}
Store (0x03, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, OCPI)
Store (0x05, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC06, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x01)
}
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x04, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, 0x00))
{
Store (0x01, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC07, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x06)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC08, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
Return (0x01)
}
Store (Arg1, CPUS)
Store (0x09, SMIS)
Store (0xAB, SMIC)
Store (0xBB, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC09, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
Return (0x03)
}
Store (CURF, FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (Add (Arg1, ShiftLeft (MAXV, 0x01)), OVID)
Store (0x0B, SMIS)
Store (0xAB, SMIC)
Store (ShiftRight (Add (Arg1, ShiftLeft (MAXV, 0x01)), 0x01), VIDV)
Store (0x04, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC0A, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
If (LEqual (Arg1, DDRV))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
Store (Arg1, DDRV)
Store (0x08, SMIS)
Store (0xAB, SMIC)
Store (DerefOf (Index (DDRT, Arg1)), QDDR)
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC0B, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LEqual (Arg1, AITU)))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x01)
}
If (LNot (LEqual (Arg1, AITU)))
{
Store (Arg1, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x03)
}
Store (Arg1, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC0C, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LEqual (Arg1, CCAQ))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x01)
}
Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, CCAQ))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x01)
}
Store (Arg1, CCAQ)
Store (0x09, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x03)
}
}
Method (GETM, 1, NotSerialized)
{
Multiply (Add (Arg0, 0x01), 0x03E8, Local0)
Store (0xFFFF, Local6)
Store (0x10, Local1)
While (LNot (LGreater (Local1, 0x80)))
{
Store (0x10, Local2)
While (LNot (LGreater (Local2, 0x80)))
{
Store (Divide (Multiply (Local2, 0x0005E9AC), Multiply (Local1, 0x04), ), Local3)
Multiply (Local3, 0x02, Local3)
If (LGreater (Local3, Local0))
{
Store (Subtract (Local3, Local0), Local3)
}
Else
{
Store (Subtract (Local0, Local3), Local3)
}
If (LLess (Local3, Local6))
{
Store (Local1, Local4)
Store (Local2, Local5)
Store (Local3, Local6)
}
Increment (Local2)
}
Increment (Local1)
}
ShiftLeft (Local5, 0x08, Local1)
Or (Local1, Local4, Local6)
And (Local6, 0xFFFF, Local6)
Return (Local6)
}
}
Device (\_SB.PCI0.PCIE)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x11)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0xE0000000, 0x10000000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, BAS1)
CreateDWordField (CRS, 0x08, LEN1)
Store (\PCIB, BAS1)
Store (\PCIL, LEN1)
Return (CRS)
}
}
Scope (\_PR)
{
Processor (CPU1, 0x01, 0x00005010, 0x06)
{
Name (APCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
Name (APSS, Package (0x0A)
{
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
}
})
Method (APPC, 0, NotSerialized)
{
Return (0x00)
}
}
Processor (CPU2, 0x02, 0x00000000, 0x00)
{
Name (APCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
Name (APSS, Package (0x0A)
{
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
}
})
Method (APPC, 0, NotSerialized)
{
Return (0x00)
}
}
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
If (APIC)
{
CreateDWordField (CRS, 0x08, ML01)
CreateDWordField (CRS, 0x04, MB01)
CreateDWordField (CRS, 0x14, ML02)
CreateDWordField (CRS, 0x10, MB02)
Store (0xFEC00000, MB01)
Store (0x1000, ML01)
Store (0xFEE00000, MB02)
Store (0x1000, ML02)
}
Return (CRS)
}
}
Device (\_SB.RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x10, BAS1)
CreateDWordField (CRS, 0x14, LEN1)
CreateDWordField (CRS, 0x1C, BAS2)
CreateDWordField (CRS, 0x20, LEN2)
CreateDWordField (CRS, 0x2C, LEN3)
CreateDWordField (CRS, 0x34, BAS4)
CreateDWordField (CRS, 0x38, LEN4)
If (OSFL ()) {}
Else
{
If (MG1B)
{
If (LGreater (MG1B, 0x000C0000))
{
Store (0x000C0000, BAS1)
Subtract (MG1B, BAS1, LEN1)
}
}
Else
{
Store (0x000C0000, BAS1)
Store (0x00020000, LEN1)
}
If (Add (MG1B, MG1L, Local0))
{
Store (Local0, BAS2)
Subtract (0x00100000, BAS2, LEN2)
}
}
Subtract (MG2B, 0x00100000, LEN3)
Add (MG2B, MG2L, BAS4)
Subtract (0x00, BAS4, LEN4)
Return (CRS)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x10, 0x04))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0C, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags () {12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {12}
})
Method (_CRS, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x10, 0x04))
}
Device (UAR1)
{
Name (_UID, 0x01)
Method (_HID, 0, NotSerialized)
{
Return (UHID (0x00))
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x00))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x00, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (0x00, 0x01))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
})
Method (_CRS, 0, NotSerialized)
{
If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0)))
{
CreateWordField (CRS, 0x02, GP10)
CreateWordField (CRS, 0x04, GP11)
CreateByteField (CRS, 0x07, GPL1)
Store (SPIO, GP10)
Store (SPIO, GP11)
Store (0x02, GPL1)
}
If (IOPB)
{
CreateWordField (CRS, 0x0A, GP20)
CreateWordField (CRS, 0x0C, GP21)
CreateByteField (CRS, 0x0F, GPL2)
Store (IOPB, GP20)
Store (IOPB, GP21)
Store (IOPL, GPL2)
}
If (IOEB)
{
CreateWordField (CRS, 0x12, GP30)
CreateWordField (CRS, 0x14, GP31)
CreateByteField (CRS, 0x17, GPL3)
Store (IOEB, GP30)
Store (IOEB, GP31)
Store (IOEL, GPL3)
}
If (IOGB)
{
CreateWordField (CRS, 0x1A, GP40)
CreateWordField (CRS, 0x1C, GP41)
CreateByteField (CRS, 0x1F, GPL4)
Store (IOGB, GP40)
Store (IOGB, GP41)
Store (IOGL, GPL4)
}
If (IODB)
{
CreateWordField (CRS, 0x22, GP50)
CreateWordField (CRS, 0x24, GP51)
CreateByteField (CRS, 0x27, GPL5)
Store (IODB, GP50)
Store (IODB, GP51)
Store (IODL, GPL5)
}
Return (CRS)
}
}
Name (DCAT, Package (0x16)
{
0x01,
0x02,
0x03,
0x00,
0xFF,
0x08,
0xFF,
0xFF,
0x09,
0xFF,
0x05,
0x04,
0xFF,
0xFF,
0xFF,
0xFF,
0x0A,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
})
Name (IKEY, Package (0x02)
{
Package (0x04)
{
0x87,
0x01,
0x55,
0x55
},
Package (0x04)
{
0x87,
0x01,
0x55,
0xAA
}
})
Name (KBFG, 0x01)
Name (MSFG, 0x01)
Name (UR1F, 0x01)
Method (ENFG, 1, NotSerialized)
{
Store (0x00, Local1)
If (LEqual (SPIO, 0x2E))
{
Store (0x00, Local1)
}
If (LEqual (SPIO, 0x4E))
{
Store (0x01, Local1)
}
Store (0x00, Local0)
While (LNot (LEqual (Local0, 0x04)))
{
Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), Local0)), INDX)
Increment (Local0)
}
Store (Arg0, LDN)
}
Method (ENTR, 0, NotSerialized)
{
Store (0x87, INDX)
Store (0x01, INDX)
Store (0x55, INDX)
If (LEqual (SPIO, 0x2E))
{
Store (0x55, INDX)
}
Else
{
Store (0xAA, INDX)
}
}
Method (EXFG, 0, NotSerialized)
{
Store (0x02, INDX)
Store (0x02, DATA)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x70, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
Return (0x0105D041)
}
Method (ORF0, 1, NotSerialized)
{
ENTR ()
Or (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ORF1, 1, NotSerialized)
{
ENTR ()
Or (OPT1, Arg0, OPT1)
EXFG ()
}
Method (ORF2, 1, NotSerialized)
{
ENTR ()
Or (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF0, 1, NotSerialized)
{
ENTR ()
And (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ANF2, 1, NotSerialized)
{
ENTR ()
And (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF4, 1, NotSerialized)
{
ENTR ()
And (OPT4, Arg0, OPT4)
EXFG ()
}
Method (STF0, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT0)
EXFG ()
}
Method (STF1, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT1)
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
Store (0x00, GP10)
If (LLess (Arg0, 0x05))
{
ENFG (0x04)
Store (0x01, ACTR)
EXFG ()
ANF4 (0xFC)
ORF1 (0x18)
If (KBFG)
{
ORF0 (0x08)
}
Else
{
ANF0 (0xF7)
}
If (MSFG)
{
ORF0 (0x10)
}
Else
{
ANF0 (0xEF)
ENFG (0x06)
Store (0x00, ACTR)
EXFG ()
}
ENFG (0x04)
ANF2 (0xF0)
ENFG (0x07)
And (OPF9, 0xFE, OPF9)
And (OPC0, 0xFE, OPC0)
And (OPC3, 0xFE, OPC3)
And (OP29, 0xEF, OP29)
EXFG ()
}
Else
{
ENFG (0x07)
And (OPC0, 0x00, OPC0)
Or (OPC0, 0x01, OPC0)
And (OPC3, 0x00, OPC3)
Or (OPC3, 0x01, OPC3)
Or (OPF9, 0x01, OPF9)
And (OP29, 0xEF, OP29)
EXFG ()
}
}
Method (SIOW, 1, NotSerialized)
{
Store (0x01, GP10)
Store (0x01, GP40)
Store ("SIOW", Debug)
ENFG (0x04)
Store (0x00, ACTR)
EXFG ()
STF0 (0x00)
STF1 (0xFF)
ENFG (0x07)
Or (OP29, 0x10, OP29)
Or (OPC0, 0x01, OPC0)
Or (OPC3, 0x01, OPC3)
EXFG ()
ENFG (0x05)
Or (ACTR, 0x01, ACTR)
EXFG ()
ENFG (0x06)
Or (ACTR, 0x01, ACTR)
EXFG ()
ENFG (0x04)
Store (0x01, ACTR)
EXFG ()
}
Method (SIOH, 0, NotSerialized)
{
Store ("SIOH", Debug)
}
OperationRegion (IOID, SystemIO, SPIO, 0x02)
Field (IOID, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x29),
OP29, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xC0),
OPC0, 8,
OPC1, 8,
OPC2, 8,
OPC3, 8,
Offset (0xF0),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
Offset (0xF8),
OPF8, 8,
OPF9, 8,
OPFA, 8,
OPFB, 8
}
Method (PS2K._PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, KBFG)
}
Else
{
Store (0x00, KBFG)
}
}
Method (PS2M._PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, MSFG)
}
Else
{
Store (0x00, MSFG)
}
}
Method (CGLD, 1, NotSerialized)
{
Return (DerefOf (Index (DCAT, Arg0)))
}
Method (DSTA, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
Store (ACTR, Local0)
EXFG ()
If (LEqual (Local0, 0xFF))
{
Return (0x00)
}
And (Local0, 0x01, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (0x01, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (0x00)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), 0x00))))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, ACTR)
EXFG ()
}
Name (CRS1, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
CreateWordField (CRS1, 0x09, IRQM)
CreateByteField (CRS1, 0x0C, DMAM)
CreateWordField (CRS1, 0x02, IO11)
CreateWordField (CRS1, 0x04, IO12)
CreateByteField (CRS1, 0x07, LEN1)
Name (CRS2, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
CreateWordField (CRS2, 0x11, IRQE)
CreateByteField (CRS2, 0x14, DMAE)
CreateWordField (CRS2, 0x02, IO21)
CreateWordField (CRS2, 0x04, IO22)
CreateByteField (CRS2, 0x07, LEN2)
CreateWordField (CRS2, 0x0A, IO31)
CreateWordField (CRS2, 0x0C, IO32)
CreateByteField (CRS2, 0x0F, LEN3)
Method (DCRS, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), 0x01, Local0)
ShiftLeft (0x01, Local0, LEN1)
If (INTR)
{
ShiftLeft (0x01, INTR, IRQM)
}
Else
{
Store (0x00, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, 0x00)))
{
Store (0x00, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (0x01, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, 0x09, IRQM)
CreateByteField (Arg0, 0x0C, DMAM)
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (Arg1))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
DCNT (Arg1, 0x01)
}
OperationRegion (GPIO, SystemIO, IO1B, 0x04)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GP10, 1,
GP11, 1,
GP12, 1,
GP13, 1,
GO14, 1,
GO15, 1,
GO16, 1,
GO17, 1,
GP20, 1,
GP21, 1,
GP22, 1,
GP23, 1,
GO24, 1,
GO25, 1,
GO26, 1,
GO27, 1,
GP30, 1,
GP31, 1,
GP32, 1,
GP33, 1,
GO34, 1,
GO35, 1,
GO36, 1,
GO37, 1,
GP40, 1,
GP41, 1,
GP42, 1,
GP43, 1,
GO44, 1,
GO45, 1,
GO46, 1,
GO47, 1
}
}
Device (NSMB)
{
Name (_ADR, 0x000A0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
}
Device (USB0)
{
Name (_ADR, 0x000B0000)
Name (_S1D, 0x01)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x000B0001)
Name (_S1D, 0x01)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (NMAC)
{
Name (_ADR, 0x00130000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.NMAC, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
}
Device (IDE0)
{
Name (_ADR, 0x000F0000)
Name (PTS0, 0x00)
Name (SID0, 0x00)
Name (SID1, 0x00)
Name (SID2, 0x00)
Name (SID3, 0x00)
Name (SID4, 0x00)
Name (SID5, 0x00)
OperationRegion (IRQM, SystemIO, 0x21, 0x01)
Field (IRQM, ByteAcc, NoLock, Preserve)
{
IR0M, 1
}
Name (REGF, 0x01)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
OperationRegion (A090, PCI_Config, 0x50, 0x18)
Field (A090, DWordAcc, NoLock, Preserve)
{
ID20, 16,
Offset (0x08),
IDTS, 16,
IDTP, 16,
ID22, 32,
UMSS, 16,
UMSP, 16
}
Name (TIM0, Package (0x07)
{
Package (0x05)
{
0x3C,
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x05)
{
0x11,
0x20,
0x22,
0x47,
0xA8
},
Package (0x07)
{
0x78,
0x5A,
0x3C,
0x2D,
0x1E,
0x14,
0x0F
},
Package (0x05)
{
0x05,
0x04,
0x03,
0x02,
0x00
},
Package (0x04)
{
0x02,
0x01,
0x00,
0x00
},
Package (0x08)
{
0x02,
0x01,
0x00,
0x00,
0x03,
0x04,
0x05,
0x06
},
Package (0x07)
{
0x02,
0x01,
0x00,
0x04,
0x05,
0x06,
0x07
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, 0x00, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x58, 0x0C)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
SSPT, 8,
SMPT, 8,
PSPT, 8,
PMPT, 8,
SSAS, 2,
SMAS, 2,
PSAS, 2,
PMAS, 2,
Offset (0x06),
SDDR, 4,
SDDA, 4,
PDDR, 4,
PDDA, 4,
SSUT, 3,
, 3,
SSUE, 2,
SMUT, 3,
, 3,
SMUE, 2,
PSUT, 3,
, 3,
PSUE, 2,
PMUT, 3,
, 3,
PMUE, 2
}
Name (GMPT, 0x00)
Name (GMUE, 0x00)
Name (GMUT, 0x00)
Name (GSPT, 0x00)
Name (GSUE, 0x00)
Name (GSUT, 0x00)
Device (CHN0)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN0", Debug)
Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
}
Method (_STM, 3, NotSerialized)
{
Store ("STM_CHN0", Debug)
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (PMPT, GMPT)
Store (PMUE, GMUE)
Store (PMUT, GMUT)
Store (PSPT, GSPT)
Store (PSUE, GSUE)
Store (PSUT, GSUT)
STM ()
Store (GMPT, PMPT)
Store (GMUE, PMUE)
Store (GMUT, PMUT)
Store (GSPT, PSPT)
Store (GSUE, PSUE)
Store (GSUT, PSUT)
Store (GTF (0x00, Arg1), ATA0)
Store (GTF (0x01, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV0", Debug)
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV1", Debug)
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN1", Debug)
Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (SMPT, GMPT)
Store (SMUE, GMUE)
Store (SMUT, GMUT)
Store (SSPT, GSPT)
Store (SSUE, GSUE)
Store (SSUT, GSUT)
STM ()
Store (GMPT, SMPT)
Store (GMUE, SMUE)
Store (GMUT, SMUT)
Store (GSPT, SSPT)
Store (GSUE, SSUE)
Store (GSUT, SSUT)
Store (GTF (0x00, Arg1), ATA2)
Store (GTF (0x01, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV0", Debug)
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV1", Debug)
Return (RATA (ATA3))
}
}
}
Method (DRMP, 0, NotSerialized)
{
ShiftRight (CPB0, 0x04, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
Method (GTM, 6, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (LEqual (PTS0, 0x01))
{
If (OSFL ())
{
Store (0x01, IR0M)
}
}
Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (Arg1)
{
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA0)
Or (CHNF, 0x01, CHNF)
}
If (Arg4)
{
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)), Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF) {}
Else
{
Return (0x00)
}
If (PTS0)
{
Store (SID0, ID20)
Store (SID1, IDTS)
Store (SID2, IDTP)
Store (SID3, ID22)
Store (SID4, UMSS)
Store (SID5, UMSP)
}
Else
{
Store (ID20, SID0)
Store (IDTS, SID1)
Store (IDTP, SID2)
Store (ID22, SID3)
Store (UMSS, SID4)
Store (UMSP, SID5)
}
Store (0x00, PTS0)
Store (0x00, GMUE)
Store (0x00, GMUT)
Store (0x00, GSUE)
Store (0x00, GSUT)
If (And (CHNF, 0x01))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GMUT)
Or (GMUE, 0x03, GMUE)
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
{
Store (DMA0, PIO0)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GSUT)
Or (GSUE, 0x03, GSUE)
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
{
Store (DMA1, PIO1)
}
}
}
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
Store (Local1, GMPT)
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
Store (Local1, GSPT)
Return (0x00)
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, 0x00, CMDC)
Method (GTFB, 3, Serialized)
{
Multiply (CMDC, 0x38, Local0)
Add (Local0, 0x08, Local1)
CreateField (ATAB, Local1, 0x38, CMDX)
Multiply (CMDC, 0x07, Local0)
CreateByteField (ATAB, Add (Local0, 0x02), A001)
CreateByteField (ATAB, Add (Local0, 0x06), A005)
Store (Arg0, CMDX)
Store (Arg1, A001)
Store (Arg2, A005)
Increment (CMDC)
}
Method (GTF, 2, Serialized)
{
Store ("GTF_Entry", Debug)
Store (Arg1, Debug)
Store (0x00, CMDC)
Name (ID49, 0x0C00)
Name (ID59, 0x00)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, 0x01)
Name (PIOT, 0x00)
Name (DMAT, 0x00)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateWordField (Arg1, 0x62, IW49)
Store (IW49, ID49)
CreateWordField (Arg1, 0x6A, IW53)
Store (IW53, ID53)
CreateWordField (Arg1, 0x7E, IW63)
Store (IW63, ID63)
CreateWordField (Arg1, 0x76, IW59)
Store (IW59, ID59)
CreateWordField (Arg1, 0xB0, IW88)
Store (IW88, ID88)
}
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
And (CHNF, 0x08, IRDY)
If (And (CHNF, 0x10))
{
Store (PIO1, PIOT)
}
Else
{
Store (PIO0, PIOT)
}
If (And (CHNF, 0x04))
{
If (And (CHNF, 0x10))
{
Store (DMA1, DMAT)
}
Else
{
Store (DMA0, DMAT)
}
}
}
Else
{
And (CHNF, 0x02, IRDY)
Store (PIO0, PIOT)
If (And (CHNF, 0x01))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMAT, MTR, 0x00, 0x00), Local1)
If (LGreater (Local1, 0x06))
{
Store (0x06, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, 0x01, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store ("ATAB_GTF", Debug)
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, 0x00, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (ATA0)
{
Name (_ADR, 0x00100000)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x0C, Local0)
If (LEqual (_ADR, 0x00100000))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (ATA1)
{
Name (_ADR, 0x00110000)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x0C, Local0)
If (LEqual (_ADR, 0x00100000))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (PB2P)
{
Name (_ADR, 0x00120000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x00, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (MC97)
{
Name (_ADR, 0x000D0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x07, 0x04))
}
}
Device (PCE0)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (PCE1)
{
Name (_ADR, 0x00030000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR03)
}
Return (PR03)
}
}
Device (PCE2)
{
Name (_ADR, 0x00040000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
Device (PCE3)
{
Name (_ADR, 0x00170000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
Device (PCE4)
{
Name (_ADR, 0x00160000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06)
}
Return (PR06)
}
}
Device (PCE5)
{
Name (_ADR, 0x00150000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
}
Scope (\_GPE)
{
Method (_L10, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.NSMB, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L00, 0, NotSerialized)
{
Notify (\_SB.PCI0.PB2P, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L07, 0, NotSerialized)
{
Notify (\_SB.PCI0.MC97, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L11, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCE0, 0x02)
Notify (\_SB.PCI0.PCE1, 0x02)
Notify (\_SB.PCI0.PCE2, 0x02)
Notify (\_SB.PCI0.PCE3, 0x02)
Notify (\_SB.PCI0.PCE4, 0x02)
Notify (\_SB.PCI0.PCE5, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
}
OperationRegion (\_SB.PCI0.SBRG.PIMC, PCI_Config, 0x7C, 0x0C)
Field (\_SB.PCI0.SBRG.PIMC, ByteAcc, NoLock, Preserve)
{
PIRA, 4,
PIRB, 4,
PIRC, 4,
PIRD, 4,
, 4,
PIRF, 4,
PIRG, 4,
Offset (0x05),
PIRM, 4,
PIU2, 4,
Offset (0x07),
SIID, 4,
PIID, 4,
PIU0, 4,
Offset (0x09),
PILN, 4,
Offset (0x0A),
PAUI, 4,
PIMO, 4,
PR0E, 4,
PR0F, 4
}
Scope (\_SB)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {15}
})
CreateWordField (BUFA, 0x01, ICRS)
Method (LSTA, 1, NotSerialized)
{
If (Arg0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (LPRS, 2, NotSerialized)
{
If (PICM)
{
Return (Arg1)
}
Else
{
Return (Arg0)
}
}
Method (LCRS, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000011,
}
})
CreateByteField (BUFB, 0x05, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, 0x01))
{
Store (0x11, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x12, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x10, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x13, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (0x01, Arg0, ICRS)
Return (BUFA)
}
}
Method (LCRO, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000014,
}
})
CreateByteField (BUFB, 0x05, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, 0x01))
{
Store (0x17, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x16, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x14, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x15, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (0x01, Arg0, ICRS)
Return (BUFA)
}
}
Method (LSRS, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x10))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x11))
{
Store (0x01, Local0)
}
If (LEqual (Local0, 0x12))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x13))
{
Store (0x0D, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, 0x01, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Method (LSRO, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x14))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x15))
{
Store (0x0D, Local0)
}
If (LEqual (Local0, 0x16))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x17))
{
Store (0x01, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, 0x01, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRA))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSA, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRA))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRB))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSB, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRB))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRC))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSC, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRC))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRD))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSD, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRD))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRD)
}
}
Device (LUB0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIU0))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIU0)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIU0))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIU0)
}
}
Device (LUB2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIU2))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB2, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIU2)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIU2))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIU2)
}
}
Device (LMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PILN))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSAC, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PILN)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PILN))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PILN)
}
}
Device (LACI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PAUI))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSCI, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PAUI)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PAUI))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PAUI)
}
}
Device (LMC9)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0A)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIMO))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSC9, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIMO)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIMO))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIMO)
}
}
Device (LSMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0B)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRM))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSMB, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRM)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIRM))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIRM)
}
}
Device (LSA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIID)
Store (0x00, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, PIID)
Store (Local0, PIRG)
}
}
Device (LSA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0D)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (SIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA1, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SIID)
Store (0x00, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (SIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, SIID)
Store (Local0, PIRF)
}
}
Device (LATA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0E)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PR0E))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSTA, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PR0E)
Store (0x00, PR0F)
}
Method (_CRS, 0, NotSerialized)
{
If (OSFL ())
{
Return (0x00)
}
Else
{
Return (LCRO (PR0E))
}
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PR0E)
Store (LSRO (Arg0), PR0F)
}
}
}
Scope (\_SB)
{
Name (XCPD, 0x00)
Name (XNPT, 0x01)
Name (XCAP, 0x02)
Name (XDCP, 0x04)
Name (XDCT, 0x08)
Name (XDST, 0x0A)
Name (XLCP, 0x0C)
Name (XLCT, 0x10)
Name (XLST, 0x12)
Name (XSCP, 0x14)
Name (XSCT, 0x18)
Name (XSST, 0x1A)
Name (XRCT, 0x1C)
Mutex (MUTE, 0x00)
Method (RBPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x01)
Field (PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8
}
Release (MUTE)
Return (XCFG)
}
Method (RWPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFE, Arg0)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x02)
Field (PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16
}
Release (MUTE)
Return (XCFG)
}
Method (RDPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
Release (MUTE)
Return (XCFG)
}
Method (WBPE, 2, NotSerialized)
{
Acquire (MUTE, 0x0FFF)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x01)
Field (PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (WWPE, 2, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFE, Arg0)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x02)
Field (PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (WDPE, 2, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (RWDP, 3, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, \PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
And (XCFG, Arg2, Local1)
Or (Local1, Arg1, XCFG)
Release (MUTE)
}
Method (RPME, 1, NotSerialized)
{
Add (Arg0, 0x84, Local0)
Store (\_SB.RDPE (Local0), Local1)
If (LEqual (Local1, 0xFFFFFFFF))
{
Return (0x00)
}
Else
{
If (LAnd (Local1, 0x00010000))
{
\_SB.WDPE (Local0, And (Local1, 0x00010000))
Return (0x01)
}
Return (0x00)
}
}
}
Scope (\_SB.PCI0.SBRG.SIOR)
{
Device (IT87)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Method (HWV0, 0, NotSerialized)
{
Return (Multiply (VIV0, 0x10))
}
Method (HWV1, 0, NotSerialized)
{
Return (Multiply (VIV1, 0x10))
}
Method (HWV2, 0, NotSerialized)
{
Return (Multiply (VIV2, 0x10))
}
Method (HWV3, 0, NotSerialized)
{
Return (Multiply (VIV3, 0x10))
}
Method (HWV4, 0, NotSerialized)
{
Return (Multiply (VIV4, 0x10))
}
Method (HWV5, 0, NotSerialized)
{
Return (Multiply (VIV5, 0x10))
}
Method (HWV6, 0, NotSerialized)
{
Return (Multiply (VIV6, 0x10))
}
Method (HWV7, 0, NotSerialized)
{
Return (Multiply (VIV7, 0x10))
}
Method (HWT1, 0, NotSerialized)
{
Store (TPI1, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWT2, 0, NotSerialized)
{
Store (TPI2, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWT3, 0, NotSerialized)
{
Store (TPI3, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWF1, 0, NotSerialized)
{
And (ETDE, 0x01, Local0)
While (0x01)
{
ShiftLeft (0x01, FTD1, Local1)
If (LEqual (Local0, 0x01))
{
Add (Multiply (EFN1, 0x0100), FTC1, Local2)
}
Else
{
Store (FTC1, Local2)
}
If (LEqual (Local0, 0x01))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x32)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
Method (HWF2, 0, NotSerialized)
{
And (ETDE, 0x02, Local0)
While (0x01)
{
ShiftLeft (0x01, FTD2, Local1)
If (LEqual (Local0, 0x02))
{
Add (Multiply (EFN2, 0x0100), FTC2, Local2)
}
Else
{
Store (FTC2, Local2)
}
If (LEqual (Local0, 0x02))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x32)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
Method (HWF3, 0, NotSerialized)
{
And (ETDE, 0x04, Local0)
While (0x01)
{
If (LEqual (FTD3, 0x01))
{
Store (0x08, Local1)
}
Else
{
Store (0x02, Local1)
}
If (LEqual (Local0, 0x04))
{
Add (Multiply (EFN3, 0x0100), FTC3, Local2)
}
Else
{
Store (FTC3, Local2)
}
If (LEqual (Local0, 0x04))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x08)))
{
Add (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x00)))
{
Subtract (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x08)))
{
Add (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x10)))
{
If (LNot (LEqual (Local1, 0x00)))
{
Subtract (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
OperationRegion (ECRE, SystemIO, IOEB, 0x20)
Field (ECRE, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HIDX, 8,
HDAT, 8
}
IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x0B),
FTD1, 3,
FTD2, 3,
FTD3, 1,
Offset (0x0C),
ETDE, 8,
FTC1, 8,
FTC2, 8,
FTC3, 8,
Offset (0x18),
EFN1, 8,
EFN2, 8,
EFN3, 8,
Offset (0x20),
VIV0, 8,
VIV1, 8,
VIV2, 8,
VIV3, 8,
VIV4, 8,
VIV5, 8,
VIV6, 8,
VIV7, 8,
Offset (0x29),
TPI1, 8,
TPI2, 8,
TPI3, 8
}
}
}
Scope (\)
{
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
Offset (0x20),
CPUQ, 8,
CPVL, 16,
CPVH, 16,
CPVC, 1
}
}
Scope (\_SB.PCI0.SBRG.ASOC)
{
Name (CORV, Package (0x05)
{
0x06020000,
"Vcore Voltage",
0x0320,
0x0708,
0x01
})
Name (V3VV, Package (0x05)
{
0x06020001,
" +3.3 Voltage",
0x0B9A,
0x0E2E,
0x01
})
Name (V5VV, Package (0x05)
{
0x06020002,
" +5 Voltage",
0x1194,
0x157C,
0x01
})
Name (VV12, Package (0x05)
{
0x06020003,
" +12 Voltage",
0x27D8,
0x35E8,
0x01
})
Name (VPAR, Package (0x04)
{
Package (0x03)
{
0x00,
0x01,
0x00
},
Package (0x03)
{
0x00,
0x01,
0x00
},
Package (0x03)
{
0x22,
0x32,
0x00
},
Package (0x03)
{
0x0F,
0x05,
0x00
}
})
Name (VBUF, Package (0x05)
{
0x04,
CORV,
V3VV,
V5VV,
VV12
})
Method (VGET, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (^^SIOR.IT87.HWV0 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWV2 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.IT87.HWV3 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.IT87.HWV4 ())
}
}
Name (CPUT, Package (0x05)
{
0x06030000,
"CPU Temperature",
0x0258,
0x03B6,
0x00010001
})
Name (MBTP, Package (0x05)
{
0x06030001,
"MB Temperature",
0x01C2,
0x03B6,
0x00010001
})
Name (TBUF, Package (0x03)
{
0x02,
CPUT,
MBTP
})
Method (TGET, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (^^SIOR.IT87.HWT1 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWT2 ())
}
}
Name (CPUF, Package (0x05)
{
0x06040000,
"CPU FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHA1, Package (0x05)
{
0x06040001,
"CHASSIS FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (PWRF, Package (0x05)
{
0x06040002,
"POWER FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (FBUF, Package (0x04)
{
0x03,
CPUF,
CHA1,
PWRF
})
Method (FGET, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (^^SIOR.IT87.HWF1 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWF2 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.IT87.HWF3 ())
}
}
Name (QBUF, Package (0x01)
{
0x00
})
Method (VSIF, 0, NotSerialized)
{
Return (VBUF)
}
Method (RVLT, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (VGET (Local0), Local1)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x00)), Local2)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x01)), Local3)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), Local4)
Multiply (Local1, Add (Local2, Local3), Local5)
Divide (Local5, Local3, , Local5)
Add (Local5, Local4, Local5)
Return (Local5)
}
Method (SVLT, 1, NotSerialized)
{
And (DerefOf (Index (Arg0, 0x00)), 0xFFFF, Local0)
Store (DerefOf (Index (VBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (VBUF, Local0)), 0x01))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, Local0)), 0x04))
Return (0x01)
}
Method (TSIF, 0, NotSerialized)
{
Return (TBUF)
}
Method (RTMP, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (TGET (Local0), Local1)
Return (Local1)
}
Method (STMP, 1, NotSerialized)
{
Store (And (DerefOf (Index (Arg0, 0x00)), 0xFFFF), Local0)
Store (DerefOf (Index (TBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (TBUF, Local0)), 0x01))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, Local0)), 0x04))
Return (0x01)
}
Method (FSIF, 0, NotSerialized)
{
Return (FBUF)
}
Method (RFAN, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (FGET (Local0), Local1)
Return (Local1)
}
Method (SFAN, 1, NotSerialized)
{
And (DerefOf (Index (Arg0, 0x00)), 0xFFFF, Local0)
Store (DerefOf (Index (FBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (FBUF, Local0)), 0x01))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF, Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF, Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF, Local0)), 0x04))
Return (0x01)
}
Method (QFIF, 0, NotSerialized)
{
If (LEqual (CPUQ, 0x00))
{
And (DerefOf (Index (QCFN, 0x05)), 0xFFFDFFFF, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Else
{
Or (DerefOf (Index (QCFN, 0x05)), 0x00020000, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Return (QBUF)
}
Method (GCQV, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (CPVL)
}
If (LEqual (Arg0, 0x01))
{
Return (CPVH)
}
If (LEqual (Arg0, 0x02))
{
Return (CPVC)
}
Return (0x00)
}
Method (QFST, 1, NotSerialized)
{
If (LEqual (Arg0, DerefOf (Index (QCFN, 0x00))))
{
Return (CQST)
}
Return (0x00)
}
}
Scope (\_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C0000,
0x000DFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000)
})
CreateDWordField (CRS, 0x5C, MIN5)
CreateDWordField (CRS, 0x60, MAX5)
CreateDWordField (CRS, 0x68, LEN5)
CreateDWordField (CRS, 0x76, MIN6)
CreateDWordField (CRS, 0x7A, MAX6)
CreateDWordField (CRS, 0x82, LEN6)
Method (_CRS, 0, NotSerialized)
{
Store (MG1L, Local0)
If (Local0)
{
Store (MG1B, MIN5)
Store (MG1L, LEN5)
Add (MIN5, Decrement (Local0), MAX5)
}
Store (MG2B, MIN6)
Store (MG2L, LEN6)
Store (MG2L, Local0)
Add (MIN6, Decrement (Local0), MAX6)
Return (CRS)
}
}
}
Name (WOTB, 0x00)
Name (WSSB, 0x00)
Name (WAXB, 0x00)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (0x00, Index (WAKP, 0x00))
Store (0x00, Index (WAKP, 0x01))
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
Store (ASSB, WSSB)
Store (AOTB, WOTB)
Store (AAXB, WAXB)
Store (Arg0, ASSB)
Store (OSFL (), AOTB)
Store (Zero, AAXB)
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
WAK (Arg0)
If (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, 0x00)))
{
Store (0x00, Index (WAKP, 0x01))
}
Else
{
Store (Arg0, Index (WAKP, 0x01))
}
Return (WAKP)
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
If (SS1)
{
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
}
If (SS3)
{
Name (\_S3, Package (0x04)
{
0x05,
0x00,
0x00,
0x00
})
}
If (SS4)
{
Name (\_S4, Package (0x04)
{
0x06,
0x00,
0x00,
0x00
})
}
Name (\_S5, Package (0x04)
{
0x07,
0x00,
0x00,
0x00
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
\_SB.PCI0.NB2N.NPTS (Arg0)
\_SB.PCI0.SBRG.SPTS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
\_SB.PCI0.NB2N.NWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: acpi_p4p800.bin
Type: application/octet-stream
Size: 14381 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-acpi/attachments/20061023/d02915d8/acpi_p4p800-0001.bin
-------------- next part --------------
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.BjPuWc, Mon Oct 23 18:49:27 2006
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "P4P81", "P4P81106", 262)
{
OperationRegion (BIOS, SystemMemory, 0x7FF40064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{
SS1, 1,
SS2, 1,
SS3, 1,
SS4, 1,
Offset (0x01),
IOST, 16,
TOPM, 32,
ROMS, 32,
MG1B, 32,
MG1L, 32,
MG2B, 32,
MG2L, 32
}
Name (HWMB, 0x0290)
Name (IO1B, 0x0680)
Name (IO1L, 0x80)
Name (SPIO, 0x2E)
Name (PM30, 0x0830)
Name (ACPH, 0xDE)
Name (SUSW, 0xFF)
Name (PMBS, 0x0800)
Name (PMLN, 0x80)
Name (GPBS, 0x0480)
Name (GPLN, 0x40)
Name (SMBS, 0x00)
Name (SMBL, 0x20)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, 0x00)
Method (_PIC, 1, NotSerialized)
{
If (Arg0)
{
Store (0xAA, DBG8)
}
Else
{
Store (0xAC, DBG8)
}
Store (Arg0, PICM)
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If (LNot (LEqual (OSVR, Ones)))
{
Return (OSVR)
}
If (LEqual (PICM, 0x00))
{
Store (0xAC, DBG8)
}
Store (0x01, OSVR)
If (MCTH (\_OS, "Microsoft Windows NT"))
{
Store (0x00, OSVR)
}
Else
{
If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, OSVR)
}
}
Return (OSVR)
}
Method (MCTH, 2, NotSerialized)
{
If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (Zero)
}
Add (SizeOf (Arg0), 0x01, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
{
Return (Zero)
}
}
Return (One)
}
Method (GPRW, 2, NotSerialized)
{
Name (PRWP, Package (0x02)
{
0x00,
0x00
})
Store (Arg0, Index (PRWP, 0x00))
Store (Arg1, Index (PRWP, 0x01))
Store (0x00, Local0)
Or (Local0, ShiftLeft (SS1, 0x01), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (0x01, Arg1), Local0)) {}
Else
{
ShiftRight (Local0, 0x01, Local0)
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, 0x01))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, 0x01))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
0x00,
0x00
})
OperationRegion (DEB0, SystemIO, 0x80, 0x01)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, 0x90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (\_PR)
{
Processor (CPU1, 0x01, 0x00000000, 0x00) {}
Processor (CPU2, 0x02, 0x00000000, 0x00) {}
}
Scope (\_SB)
{
Name (PR04, Package (0x18)
{
Package (0x04)
{
0x0008FFFF,
0x00,
LNKE,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
LNKF,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
LNKG,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x02,
LNKH,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x03,
LNKE,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
LNKG,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
LNKH,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x02,
LNKE,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x03,
LNKF,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
LNKH,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
LNKE,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x02,
LNKF,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x03,
LNKG,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x00,
LNKE,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x01,
LNKF,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x02,
LNKG,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x03,
LNKH,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
LNKF,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
LNKG,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x02,
LNKH,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x03,
LNKE,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x00,
LNKG,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKE,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
LNKH,
0x00
}
})
Name (AR04, Package (0x18)
{
Package (0x04)
{
0x0008FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x0009FFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0x0009FFFF,
0x01,
0x00,
0x16
},
Package (0x04)
{
0x0009FFFF,
0x02,
0x00,
0x17
},
Package (0x04)
{
0x0009FFFF,
0x03,
0x00,
0x14
},
Package (0x04)
{
0x000AFFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x000AFFFF,
0x01,
0x00,
0x17
},
Package (0x04)
{
0x000AFFFF,
0x02,
0x00,
0x14
},
Package (0x04)
{
0x000AFFFF,
0x03,
0x00,
0x15
},
Package (0x04)
{
0x000BFFFF,
0x00,
0x00,
0x17
},
Package (0x04)
{
0x000BFFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x000BFFFF,
0x02,
0x00,
0x15
},
Package (0x04)
{
0x000BFFFF,
0x03,
0x00,
0x16
},
Package (0x04)
{
0x000CFFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x000CFFFF,
0x01,
0x00,
0x15
},
Package (0x04)
{
0x000CFFFF,
0x02,
0x00,
0x16
},
Package (0x04)
{
0x000CFFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x000DFFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0x000DFFFF,
0x01,
0x00,
0x16
},
Package (0x04)
{
0x000DFFFF,
0x02,
0x00,
0x17
},
Package (0x04)
{
0x000DFFFF,
0x03,
0x00,
0x14
},
Package (0x04)
{
0x0005FFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x0004FFFF,
0x00,
0x00,
0x17
}
})
Name (PR00, Package (0x0C)
{
Package (0x04)
{
0x001FFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKH,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
}
})
Name (AR00, Package (0x0C)
{
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0003FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0003FFFF,
0x03,
0x00,
0x13
}
})
Name (PR02, Package (0x01)
{
Package (0x04)
{
0x0001FFFF,
0x00,
LNKC,
0x00
}
})
Name (AR02, Package (0x01)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x12
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_BBN, 0x00)
Name (_UID, 0x00)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Device (P0P4)
{
Name (_ADR, 0x001E0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
Device (IDE0)
{
Name (_ADR, 0x001F0001)
Name (REGF, 0x01)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
Name (TIM0, Package (0x08)
{
Package (0x04)
{
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x04)
{
0x23,
0x21,
0x10,
0x00
},
Package (0x04)
{
0x0B,
0x09,
0x04,
0x00
},
Package (0x06)
{
0x70,
0x49,
0x36,
0x27,
0x19,
0x0F
},
Package (0x06)
{
0x00,
0x01,
0x02,
0x01,
0x02,
0x01
},
Package (0x06)
{
0x00,
0x00,
0x00,
0x01,
0x01,
0x01
},
Package (0x04)
{
0x04,
0x03,
0x02,
0x00
},
Package (0x04)
{
0x02,
0x01,
0x00,
0x00
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, 0x00, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
PMPT, 4,
PSPT, 4,
PMRI, 6,
Offset (0x02),
SMPT, 4,
SSPT, 4,
SMRI, 6,
Offset (0x04),
PSRI, 4,
SSRI, 4,
Offset (0x08),
PM3E, 1,
PS3E, 1,
SM3E, 1,
SS3E, 1,
Offset (0x0A),
PMUT, 2,
, 2,
PSUT, 2,
Offset (0x0B),
SMUT, 2,
, 2,
SSUT, 2,
Offset (0x0C),
Offset (0x14),
PM6E, 1,
PS6E, 1,
SM6E, 1,
SS6E, 1,
PMCR, 1,
PSCR, 1,
SMCR, 1,
SSCR, 1,
, 4,
PMAE, 1,
PSAE, 1,
SMAE, 1,
SSAE, 1
}
Name (GMPT, 0x00)
Name (GMUE, 0x00)
Name (GMUT, 0x00)
Name (GMCR, 0x00)
Name (GSPT, 0x00)
Name (GSUE, 0x00)
Name (GSUT, 0x00)
Name (GSCR, 0x00)
Device (CHN0)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (PSCR, 0x01, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local2)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local1)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (PMRI, GMPT)
Store (Local0, GMUE)
Store (PMUT, GMUT)
Store (PMCR, GMCR)
Store (PSRI, GSPT)
Store (Local1, GSUE)
Store (PSUT, GSUT)
Store (PSCR, GSCR)
STM ()
Store (GMPT, PMRI)
Store (GMUE, Local0)
Store (GMUT, PMUT)
Store (GMCR, PMCR)
Store (GSUE, Local1)
Store (GSUT, PSUT)
Store (GSCR, PSCR)
If (And (Local0, 0x01))
{
Store (0x01, PM3E)
}
Else
{
Store (0x00, PM3E)
}
If (And (Local0, 0x02))
{
Store (0x01, PM6E)
}
Else
{
Store (0x00, PM6E)
}
If (And (Local0, 0x04))
{
Store (0x01, PMAE)
}
Else
{
Store (0x00, PMAE)
}
If (And (Local1, 0x01))
{
Store (0x01, PS3E)
}
Else
{
Store (0x00, PS3E)
}
If (And (Local1, 0x02))
{
Store (0x01, PS6E)
}
Else
{
Store (0x00, PS6E)
}
If (And (Local1, 0x04))
{
Store (0x01, PSAE)
}
Else
{
Store (0x00, PSAE)
}
Store (GTF (0x00, Arg1), ATA0)
Store (GTF (0x01, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (SSCR, 0x01, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local2)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, 0x01, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local1)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (SMRI, GMPT)
Store (Local0, GMUE)
Store (SMUT, GMUT)
Store (SMCR, GMCR)
Store (SSRI, GSPT)
Store (Local1, GSUE)
Store (SSUT, GSUT)
Store (SSCR, GSCR)
STM ()
Store (GMPT, SMRI)
Store (GMUE, Local0)
Store (GMUT, SMUT)
Store (GMCR, SMCR)
Store (GSUE, Local1)
Store (GSUT, SSUT)
Store (GSCR, SSCR)
If (And (Local0, 0x01))
{
Store (0x01, SM3E)
}
Else
{
Store (0x00, SM3E)
}
If (And (Local0, 0x02))
{
Store (0x01, SM6E)
}
Else
{
Store (0x00, SM6E)
}
If (And (Local0, 0x04))
{
Store (0x01, SMAE)
}
Else
{
Store (0x00, SMAE)
}
If (And (Local1, 0x01))
{
Store (0x01, SS3E)
}
Else
{
Store (0x00, SS3E)
}
If (And (Local1, 0x02))
{
Store (0x01, SS6E)
}
Else
{
Store (0x00, SS6E)
}
If (And (Local1, 0x04))
{
Store (0x01, SSAE)
}
Else
{
Store (0x00, SSAE)
}
Store (GTF (0x00, Arg1), ATA2)
Store (GTF (0x01, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA3))
}
}
}
Method (GTM, 7, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (And (Arg1, 0x20))
{
Or (CHNF, 0x02, CHNF)
}
Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
If (And (Arg4, 0x20))
{
Or (CHNF, 0x08, CHNF)
}
Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (And (Arg1, 0x07))
{
Store (Arg2, Local5)
If (And (Arg1, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg1, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0)
Or (CHNF, 0x01, CHNF)
}
If (And (Arg4, 0x07))
{
Store (Arg5, Local5)
If (And (Arg4, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg4, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF) {}
Else
{
Return (TMD0)
}
Store (0x00, GMUE)
Store (0x00, GMUT)
Store (0x00, GSUE)
Store (0x00, GSUT)
If (And (CHNF, 0x01))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
Or (GMUE, 0x01, GMUE)
If (LGreater (Local0, 0x02))
{
Or (GMUE, 0x02, GMUE)
}
If (LGreater (Local0, 0x04))
{
And (GMUE, 0xFD, GMUE)
Or (GMUE, 0x04, GMUE)
}
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
Or (GSUE, 0x01, GSUE)
If (LGreater (Local0, 0x02))
{
Or (GSUE, 0x02, GSUE)
}
If (LGreater (Local0, 0x04))
{
And (GSUE, 0xFD, GSUE)
Or (GSUE, 0x04, GSUE)
}
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
{
Store (DMA1, PIO1)
Or (GSUE, 0x80, GSUE)
}
}
}
If (And (CHNF, 0x02))
{
Or (GMUE, 0x20, GMUE)
}
If (And (CHNF, 0x08))
{
Or (GSUE, 0x20, GSUE)
}
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1)
Store (Local1, GSPT)
If (LLess (Local0, 0x03))
{
Or (GSUE, 0x50, GSUE)
}
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, 0x00, CMDC)
Method (GTFB, 3, Serialized)
{
Multiply (CMDC, 0x38, Local0)
Add (Local0, 0x08, Local1)
CreateField (ATAB, Local1, 0x38, CMDX)
Multiply (CMDC, 0x07, Local0)
CreateByteField (ATAB, Add (Local0, 0x02), A001)
CreateByteField (ATAB, Add (Local0, 0x06), A005)
Store (Arg0, CMDX)
Store (Arg1, A001)
Store (Arg2, A005)
Increment (CMDC)
}
Method (GTF, 2, Serialized)
{
Store (Arg1, Debug)
Store (0x00, CMDC)
Name (ID49, 0x0C00)
Name (ID59, 0x00)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, 0x01)
Name (PIOT, 0x00)
Name (DMAT, 0x00)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateWordField (Arg1, 0x62, IW49)
Store (IW49, ID49)
CreateWordField (Arg1, 0x6A, IW53)
Store (IW53, ID53)
CreateWordField (Arg1, 0x7E, IW63)
Store (IW63, ID63)
CreateWordField (Arg1, 0x76, IW59)
Store (IW59, ID59)
CreateWordField (Arg1, 0xB0, IW88)
Store (IW88, ID88)
}
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
And (CHNF, 0x08, IRDY)
If (And (CHNF, 0x10))
{
Store (PIO1, PIOT)
}
Else
{
Store (PIO0, PIOT)
}
If (And (CHNF, 0x04))
{
If (And (CHNF, 0x10))
{
Store (DMA1, DMAT)
}
Else
{
Store (DMA0, DMAT)
}
}
}
Else
{
And (CHNF, 0x02, IRDY)
Store (PIO0, PIOT)
If (And (CHNF, 0x01))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 0x00, 0x00), Local1)
If (LGreater (Local1, 0x05))
{
Store (0x05, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, 0x01, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, 0x00, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (IDE1)
{
Name (_ADR, 0x001F0002)
}
Device (MC97)
{
Name (_ADR, 0x001F0006)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (USB1)
{
Name (_ADR, 0x001D0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x001D0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x04, 0x04))
}
}
Device (USB3)
{
Name (_ADR, 0x001D0002)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0C, 0x04))
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (EUSB)
{
Name (_ADR, 0x001D0007)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (SBRG)
{
Name (_ADR, 0x001F0000)
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x00, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
IRQNoFlags () {2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8) {4}
IO (Decode16, 0x0000, 0x0000, 0x00, 0x10)
IO (Decode16, 0x0081, 0x0081, 0x00, 0x03)
IO (Decode16, 0x0087, 0x0087, 0x00, 0x01)
IO (Decode16, 0x0089, 0x0089, 0x00, 0x03)
IO (Decode16, 0x008F, 0x008F, 0x00, 0x01)
IO (Decode16, 0x00C0, 0x00C0, 0x00, 0x20)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x00, 0x04)
IRQNoFlags () {0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x00, 0x02)
IRQNoFlags () {8}
})
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0C, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags () {12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {12}
})
Method (_CRS, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x00, 0x01)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
IRQNoFlags () {13}
})
}
Device (UAR1)
{
Name (_UID, 0x01)
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x00))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x00, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (PCRS (0x00, 0x01, 0x08))
}
Method (_SRS, 1, NotSerialized)
{
PSRS (Arg0, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
IRQNoFlags () {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Name (PBUF, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
IRQNoFlags () {0}
})
Method (PCRS, 3, NotSerialized)
{
CreateByteField (PBUF, 0x02, IOLO)
CreateByteField (PBUF, 0x03, IOHI)
CreateWordField (PBUF, 0x02, IOHL)
CreateWordField (PBUF, 0x04, IORL)
CreateByteField (PBUF, 0x06, ALMN)
CreateByteField (PBUF, 0x07, LENG)
CreateByteField (PBUF, 0x09, IRQL)
ENFG (CGLD (Arg0))
Store (IOAH, IOHI)
Store (IOAL, IOLO)
Store (IOHL, IORL)
Store (Arg1, ALMN)
If (LEqual (IOLO, 0xBC))
{
Store (0x04, LENG)
}
Else
{
Store (Arg2, LENG)
}
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQL)
EXFG ()
Return (PBUF)
}
Method (PSRS, 2, NotSerialized)
{
CreateByteField (Arg0, 0x02, POLB)
CreateByteField (Arg0, 0x03, POHB)
CreateWordField (Arg0, 0x09, PIRQ)
ENFG (CGLD (Arg1))
Store (POLB, IOAL)
Store (POHB, IOAH)
FindSetRightBit (PIRQ, Local0)
Subtract (Local0, 0x01, INTR)
Store (One, ACTR)
EXFG ()
}
}
Device (UAR2)
{
Name (_UID, 0x02)
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x01))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x01, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (0x01))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x01)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
IRQNoFlags () {3,4,5,6,7,10,11,12}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
}
EndDependentFn ()
})
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Name (_FDE, Package (0x05)
{
0x01,
0x00,
0x02,
0x02,
0x02
})
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (0x01, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
IO (Decode16, 0x0370, 0x0370, 0x01, 0x06)
IO (Decode16, 0x0377, 0x0377, 0x01, 0x01)
}
EndDependentFn ()
})
}
Device (LPTE)
{
Name (_UID, 0x01)
Method (_HID, 0, NotSerialized)
{
If (LPTM (0x02))
{
Return (0x0104D041)
}
Else
{
Return (0x0004D041)
}
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x02))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x02, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (ECRS (0x02))
}
Method (_SRS, 1, NotSerialized)
{
ESRS (Arg0, 0x02)
}
Method (_PRS, 0, NotSerialized)
{
If (LPTM (0x02))
{
Return (EPPR)
}
Else
{
Return (LPPR)
}
}
Name (LPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Name (EPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
EndDependentFn ()
})
Name (EBUF, ResourceTemplate ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
CreateByteField (EBUF, 0x02, EPLO)
CreateByteField (EBUF, 0x03, EPHI)
CreateWordField (EBUF, 0x02, EPHL)
CreateWordField (EBUF, 0x04, EPRL)
CreateWordField (EBUF, 0x06, ALM1)
CreateWordField (EBUF, 0x0A, E4LO)
CreateWordField (EBUF, 0x0C, E4RL)
CreateWordField (EBUF, 0x0E, ELNG)
CreateWordField (EBUF, 0x11, EIRQ)
CreateByteField (EBUF, 0x14, EDMA)
Name (PBUF, ResourceTemplate ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {7}
})
CreateByteField (PBUF, 0x02, PPLO)
CreateByteField (PBUF, 0x03, PPHI)
CreateWordField (PBUF, 0x02, PPHL)
CreateWordField (PBUF, 0x04, PPRL)
CreateWordField (PBUF, 0x06, ALM0)
CreateWordField (PBUF, 0x09, PIRQ)
Method (ECRS, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
Store (IOAH, EPHI)
Store (IOAL, EPLO)
Store (IOAH, PPHI)
Store (IOAL, PPLO)
Store (EPHL, EPRL)
Store (PPHL, PPRL)
And (OPT0, 0x02, Local0)
If (Local0)
{
Add (EPHL, 0x0400, E4LO)
Store (E4LO, E4RL)
}
If (LEqual (EPHL, 0x03BC))
{
Store (0x0401, ALM1)
Store (0x0401, ALM0)
}
Else
{
Store (0x0801, ALM1)
Store (0x0801, ALM0)
}
Store (One, Local0)
Store (INTR, Local1)
ShiftLeft (Local0, Local1, EIRQ)
ShiftLeft (Local0, Local1, PIRQ)
Store (DMCH, Local1)
If (LGreater (Local1, 0x03))
{
Store (0x00, EDMA)
}
Else
{
Store (One, Local0)
ShiftLeft (Local0, Local1, EDMA)
}
And (OPT0, 0x02, Local0)
EXFG ()
If (Local0)
{
Return (EBUF)
}
Else
{
Return (PBUF)
}
}
Method (ESRS, 2, NotSerialized)
{
ENFG (CGLD (Arg1))
CreateByteField (Arg0, 0x02, LOEP)
CreateByteField (Arg0, 0x03, HIEP)
And (OPT0, 0x02, Local0)
If (Local0)
{
CreateWordField (Arg0, 0x11, IRQE)
CreateByteField (Arg0, 0x14, DMAE)
}
Else
{
CreateWordField (Arg0, 0x09, IRQP)
}
Store (LOEP, IOAL)
Store (HIEP, IOAH)
And (OPT0, 0x02, Local0)
If (Local0)
{
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
}
Else
{
If (IRQP)
{
FindSetRightBit (IRQP, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
}
And (OPT0, 0x02, Local0)
If (Local0)
{
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
}
Store (One, ACTR)
EXFG ()
}
}
Device (GAME)
{
Name (_HID, EisaId ("PNPB02F"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x08))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x08, 0x00)
}
Name (GMCR, ResourceTemplate ()
{
IO (Decode16, 0x0200, 0x0200, 0x01, 0x08)
})
Method (_CRS, 0, NotSerialized)
{
CreateByteField (GMCR, 0x02, IOLO)
CreateByteField (GMCR, 0x03, IOHI)
CreateWordField (GMCR, 0x02, IOHL)
CreateWordField (GMCR, 0x04, IORL)
ENFG (CGLD (0x08))
Store (IOAH, IOHI)
Store (IOAL, IOLO)
Store (IOHL, IORL)
EXFG ()
Return (GMCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, POLB)
CreateByteField (Arg0, 0x03, POHB)
ENFG (CGLD (0x08))
Store (POLB, IOAL)
Store (POHB, IOAH)
DCNT (0x08, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0200, 0x0200, 0x01, 0x08)
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0208, 0x0208, 0x01, 0x08)
}
EndDependentFn ()
})
}
Device (MIDI)
{
Name (_HID, EisaId ("PNPB006"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x05))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x05, 0x00)
}
Name (MDCR, ResourceTemplate ()
{
IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
IRQNoFlags () {5}
})
Method (_CRS, 0, NotSerialized)
{
CreateByteField (MDCR, 0x02, IOLO)
CreateByteField (MDCR, 0x03, IOHI)
CreateWordField (MDCR, 0x02, IOHL)
CreateWordField (MDCR, 0x04, IORL)
CreateWordField (MDCR, 0x09, MIRQ)
ENFG (CGLD (0x05))
Store (IOH2, IOHI)
Store (IOL2, IOLO)
Store (IOHL, IORL)
ShiftLeft (0x01, INTR, MIRQ)
EXFG ()
Return (MDCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, POLB)
CreateByteField (Arg0, 0x03, POHB)
CreateWordField (Arg0, 0x09, MIRQ)
ENFG (CGLD (0x05))
Store (POLB, IOL2)
Store (POHB, IOH2)
FindSetRightBit (MIRQ, Local0)
Subtract (Local0, 0x01, INTR)
DCNT (0x05, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
}
EndDependentFn ()
IRQNoFlags () {5,9,10,11}
})
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0290, 0x0290, 0x00, 0x08)
})
Method (_CRS, 0, NotSerialized)
{
If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0)))
{
CreateWordField (CRS, 0x02, GP10)
CreateWordField (CRS, 0x04, GP11)
CreateByteField (CRS, 0x07, GPL1)
Store (SPIO, GP10)
Store (SPIO, GP11)
Store (0x02, GPL1)
}
If (IO1B)
{
CreateWordField (CRS, 0x0A, GP20)
CreateWordField (CRS, 0x0C, GP21)
CreateByteField (CRS, 0x0F, GPL2)
Store (IO1B, GP20)
Store (IO1B, GP21)
Store (IO1L, GPL2)
}
Return (CRS)
}
}
Name (DCAT, Package (0x15)
{
0x02,
0x03,
0x01,
0x00,
0xFF,
0x07,
0xFF,
0xFF,
0x07,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0x06,
0x08,
0x09,
0xFF,
0xFF
})
Method (ENFG, 1, NotSerialized)
{
Store (0x87, INDX)
Store (0x87, INDX)
Store (Arg0, LDN)
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, INDX)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
ENFG (CGLD (Arg0))
And (OPT1, 0x38, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
}
Return (0x0105D041)
}
Method (SIOK, 1, NotSerialized)
{
ENFG (0x0A)
And (0xFF, OPT3, OPT3)
And (Arg0, 0x30, Local0)
And (OPT6, 0xCF, OPT6)
Or (OPT6, Local0, OPT6)
Store (Arg0, Local1)
And (Arg0, 0x05, Local0)
And (OPT9, 0xFA, OPT9)
Or (OPT9, Local0, OPT9)
If (LEqual (Arg0, Zero))
{
Store (0x00, ACTR)
Store (0x08, LDN)
And (OPT5, 0x3F, OPT5)
}
Else
{
Store (0x01, ACTR)
}
EXFG ()
}
Method (PS2K._PSW, 1, NotSerialized)
{
ENFG (0x0A)
And (OPT6, 0xEF, OPT6)
If (Arg0)
{
Or (OPT6, 0x10, OPT6)
}
EXFG ()
}
Method (PS2M._PSW, 1, NotSerialized)
{
ENFG (0x0A)
And (OPT6, 0xDF, OPT6)
If (Arg0)
{
Or (OPT6, 0x20, OPT6)
}
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
SIOK (Ones)
}
Method (SIOW, 1, NotSerialized)
{
Store ("SIOW", Debug)
SIOK (Zero)
}
Method (SIOH, 0, NotSerialized)
{
Store ("SIOH", Debug)
ENFG (0x0A)
If (And (OPT3, 0x10))
{
Notify (PS2K, 0x02)
}
If (And (OPT3, 0x20))
{
Notify (PS2M, 0x02)
}
SIOK (Zero)
}
OperationRegion (IOID, SystemIO, SPIO, 0x02)
Field (IOID, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x22),
FDCP, 1,
, 2,
LPTP, 1,
URAP, 1,
URBP, 1,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xE0),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
Offset (0xF0),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
Offset (0xF5),
OPT5, 8,
OPT6, 8,
Offset (0xF9),
OPT9, 8
}
Method (CGLD, 1, NotSerialized)
{
Return (DerefOf (Index (DCAT, Arg0)))
}
Method (DSTA, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
Store (ACTR, Local0)
EXFG ()
If (LEqual (Local0, 0xFF))
{
Return (0x00)
}
If (LEqual (Arg0, 0x05))
{
ShiftRight (Local0, 0x02, Local0)
}
If (LEqual (Arg0, 0x08))
{
ShiftRight (Local0, 0x01, Local0)
}
And (Local0, 0x01, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (0x01, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (0x00)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), 0x00))))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, Local1)
Store (0x01, Local2)
If (LEqual (Arg0, 0x05))
{
ShiftLeft (Arg1, 0x02, Local1)
ShiftLeft (Local2, 0x02, Local2)
}
If (LEqual (Arg0, 0x08))
{
ShiftLeft (Arg1, 0x01, Local1)
ShiftLeft (Local2, 0x01, Local2)
}
Store (ACTR, Local0)
Not (Local2, Local3)
And (Local0, Local3, Local0)
Or (Local0, Local1, Local0)
Store (Local0, ACTR)
EXFG ()
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
})
CreateWordField (CRS1, 0x01, IRQM)
CreateByteField (CRS1, 0x04, DMAM)
CreateWordField (CRS1, 0x08, IO11)
CreateWordField (CRS1, 0x0A, IO12)
CreateByteField (CRS1, 0x0D, LEN1)
Name (CRS2, ResourceTemplate ()
{
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
})
CreateWordField (CRS2, 0x01, IRQE)
CreateByteField (CRS2, 0x04, DMAE)
CreateWordField (CRS2, 0x08, IO21)
CreateWordField (CRS2, 0x0A, IO22)
CreateByteField (CRS2, 0x0D, LEN2)
CreateWordField (CRS2, 0x10, IO31)
CreateWordField (CRS2, 0x12, IO32)
CreateByteField (CRS2, 0x15, LEN3)
Method (DCRS, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), 0x01, Local0)
ShiftLeft (0x01, Local0, LEN1)
If (INTR)
{
ShiftLeft (0x01, INTR, IRQM)
}
Else
{
Store (0x00, IRQM)
}
If (Or (LGreater (DMCH, 0x03), LEqual (And (DMCH, 0x03, Local1), 0x00)))
{
Store (0x00, DMAM)
}
Else
{
ShiftLeft (0x01, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQM)
CreateByteField (Arg0, 0x04, DMAM)
CreateWordField (Arg0, 0x08, IO11)
ENFG (CGLD (Arg1))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
DCNT (Arg1, 0x01)
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E)
IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E)
IO (Decode16, 0x0080, 0x0080, 0x00, 0x01)
IO (Decode16, 0x0084, 0x0084, 0x00, 0x03)
IO (Decode16, 0x0088, 0x0088, 0x00, 0x01)
IO (Decode16, 0x008C, 0x008C, 0x00, 0x03)
IO (Decode16, 0x0090, 0x0090, 0x00, 0x10)
IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
Memory32Fixed (ReadWrite, 0xFED20000, 0x00070000)
Memory32Fixed (ReadWrite, 0xFFB00000, 0x00100000)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (CRS, 0x72, GP00)
CreateWordField (CRS, 0x74, GP01)
CreateByteField (CRS, 0x77, GP0L)
Store (PMBS, GP00)
Store (PMBS, GP01)
Store (PMLN, GP0L)
If (SMBS)
{
CreateWordField (CRS, 0x7A, GP10)
CreateWordField (CRS, 0x7C, GP11)
CreateByteField (CRS, 0x7F, GP1L)
Store (SMBS, GP10)
Store (SMBS, GP11)
Store (SMBL, GP1L)
}
If (GPBS)
{
CreateWordField (CRS, 0x82, GP20)
CreateWordField (CRS, 0x84, GP21)
CreateByteField (CRS, 0x87, GP2L)
Store (GPBS, GP20)
Store (GPBS, GP21)
Store (GPLN, GP2L)
}
Return (CRS)
}
}
Device (P3F6)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x03F6)
Method (_STA, 0, NotSerialized)
{
Store (0x0F, Local1)
Store (\_SB.PCI0.IDE0.PAMD, Local0)
If (LEqual (Local0, 0x8A))
{
Store (0x00, Local1)
}
Store (\_SB.PCI0.IDE1.SAMD, Local0)
If (LEqual (Local0, 0x8A))
{
Store (0x00, Local1)
}
Return (Local1)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x03F6, 0x03F6, 0x00, 0x01)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
If (APCB)
{
CreateDWordField (CRS, 0x08, ML01)
CreateDWordField (CRS, 0x04, MB01)
CreateDWordField (CRS, 0x14, ML02)
CreateDWordField (CRS, 0x10, MB02)
Store (APCB, MB01)
Store (APCL, ML01)
Store (0xFEE00000, MB02)
Store (0x1000, ML02)
}
Return (CRS)
}
}
Device (\_SB.RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x10, BAS1)
CreateDWordField (CRS, 0x14, LEN1)
CreateDWordField (CRS, 0x1C, BAS2)
CreateDWordField (CRS, 0x20, LEN2)
CreateDWordField (CRS, 0x2C, LEN3)
CreateDWordField (CRS, 0x34, BAS4)
CreateDWordField (CRS, 0x38, LEN4)
If (OSFL ()) {}
Else
{
If (MG1B)
{
If (LGreater (MG1B, 0x000C0000))
{
Store (0x000C0000, BAS1)
Subtract (MG1B, BAS1, LEN1)
}
}
Else
{
Store (0x000C0000, BAS1)
Store (0x00020000, LEN1)
}
If (Add (MG1B, MG1L, Local0))
{
Store (Local0, BAS2)
Subtract (0x00100000, BAS2, LEN2)
}
}
Subtract (MG2B, 0x00100000, LEN3)
Add (MG2B, MG2L, BAS4)
Subtract (0x00, BAS4, LEN4)
Return (CRS)
}
}
}
Device (P0P1)
{
Name (_ADR, 0x00010000)
}
Device (P0P2)
{
Name (_ADR, 0x00030000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
Device (ILAN)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x18, 0x04))
}
}
}
}
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.MC97, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.EUSB, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L1D, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L18, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P2.ILAN, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
}
}
OperationRegion (\_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C)
Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
Offset (0x08),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Scope (\_SB)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {15}
})
CreateWordField (BUFA, 0x01, IRA0)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
And (PIRB, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSB)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRB, 0x80, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRB, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
And (PIRC, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSC)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRC, 0x80, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRC, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
And (PIRD, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSD)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRD, 0x80, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRD, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
And (PIRE, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSE)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRE, 0x80, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRE, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
And (PIRF, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSF)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRF, 0x80, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRF, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
And (PIRG, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSG)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRG, 0x80, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRG, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRG)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
And (PIRH, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSH)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRH, 0x80, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRH, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
}
Scope (\_SB)
{
Scope (PCI0)
{
OperationRegion (IOB2, SystemIO, 0xB2, 0x02)
Field (IOB2, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMIS, 8
}
Method (_INI, 0, NotSerialized)
{
If (CondRefOf (_OSI, Local0))
{
Store (0x58, SMIC)
}
Else
{
Store (0x85, SMIC)
}
}
}
}
Scope (\_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000)
})
CreateDWordField (CRS, 0x5C, MIN5)
CreateDWordField (CRS, 0x60, MAX5)
CreateDWordField (CRS, 0x68, LEN5)
CreateDWordField (CRS, 0x76, MIN6)
CreateDWordField (CRS, 0x7A, MAX6)
CreateDWordField (CRS, 0x82, LEN6)
Method (_CRS, 0, NotSerialized)
{
Store (MG1B, MIN5)
Store (MG1L, LEN5)
Store (MG1L, Local0)
If (Local0)
{
Add (MIN5, Decrement (Local0), MAX5)
}
Store (MG2B, MIN6)
Add (MIN6, 0x00010000, MIN6)
Store (MG2L, LEN6)
Subtract (LEN6, 0x00010000, LEN6)
Store (LEN6, Local0)
Add (MIN6, Decrement (Local0), MAX6)
Return (CRS)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (USB1._S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (USB2._S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (USB3._S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (USB4._S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (NATA, Package (0x01)
{
0x001F0001
})
}
Name (SLPS, 0x00)
}
Name (WR00, 0x00)
Name (WR01, 0x00)
Name (WR02, 0x00)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (0x00, Index (WAKP, 0x00))
Store (0x00, Index (WAKP, 0x01))
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
Store (APWR, WR00)
Store (SPLV, WR01)
Store (OSFG, WR02)
Store (Arg0, SPLV)
Store (OSFL (), OSFG)
Store (One, PS1S)
Store (One, PS1E)
Store (One, \_SB.SLPS)
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
Store (Zero, PS1E)
If (IOWK) {}
Else
{
Notify (\_SB.PWRB, 0x02)
}
If (And (APWR, 0x02))
{
Notify (\_SB.PWRB, 0x02)
}
Store (One, PWBT)
Store (WR00, APWR)
Store (WR01, SPLV)
Store (WR02, OSFG)
Store (Zero, \_SB.SLPS)
WAK (Arg0)
If (DerefOf (Index (WAKP, 0x00)))
{
Store (0x00, Index (WAKP, 0x01))
}
Else
{
Store (Arg0, Index (WAKP, 0x01))
}
Return (WAKP)
}
OperationRegion (PMS0, SystemIO, PMBS, 0x04)
Field (PMS0, ByteAcc, NoLock, Preserve)
{
, 10,
RTCS, 1,
, 4,
WAKS, 1,
Offset (0x03),
PWBT, 1,
, 1,
RTCE, 1,
Offset (0x04)
}
OperationRegion (SMIE, SystemIO, PM30, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 4,
PS1E, 1,
, 31,
PS1S, 1,
Offset (0x08)
}
OperationRegion (\_SB.PCI0.SKPD, PCI_Config, ACPH, 0x02)
Field (\_SB.PCI0.SKPD, ByteAcc, NoLock, Preserve)
{
APWR, 8,
SPLV, 3,
OSFG, 2,
Offset (0x02)
}
OperationRegion (CMOS, SystemIO, 0x70, 0x02)
Field (CMOS, ByteAcc, NoLock, Preserve)
{
CIDX, 8,
CDAT, 8
}
IndexField (CIDX, CDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x6E),
WKTP, 8
}
OperationRegion (IORK, SystemIO, 0xB3, 0x01)
Field (IORK, ByteAcc, NoLock, Preserve)
{
IOWK, 8
}
Scope (\_SB.PCI0.IDE0)
{
OperationRegion (PAR9, PCI_Config, 0x09, 0x01)
Field (PAR9, ByteAcc, NoLock, Preserve)
{
PAMD, 8
}
}
Scope (\_SB.PCI0.IDE1)
{
OperationRegion (SAR9, PCI_Config, 0x09, 0x01)
Field (SAR9, ByteAcc, NoLock, Preserve)
{
SAMD, 8
}
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
If (SS1)
{
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
}
If (SS3)
{
Name (\_S3, Package (0x04)
{
0x05,
0x00,
0x00,
0x00
})
}
If (SS4)
{
Name (\_S4, Package (0x04)
{
0x06,
0x00,
0x00,
0x00
})
}
Name (\_S5, Package (0x04)
{
0x07,
0x00,
0x00,
0x00
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
}
}
More information about the freebsd-acpi
mailing list