Asus P5B-V
Dag-Erling Smørgrav
des at des.no
Thu Jan 18 11:05:24 UTC 2007
I have some ACPI issues with an Asus P5B-V (Intel G965-based)
motherboard running amd64 -CURRENT:
- no thermal information:
root at dma ~# sysctl hw.acpi
hw.acpi.supported_sleep_state: S1 S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 0
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.cpu.cx_lowest: C1
- all on-board devices seem to share the same interrupt:
root at dma ~# vmstat -i
interrupt total rate
irq1: atkbd0 8 0
irq19: skc0 uhci3* 5161490 52
irq21: ral0 1209462 12
cpu0: timer 194998438 1999
cpu1: timer 194998251 1999
Total 396367649 4064
(ral0 is the only PCI card in the system, everything else is
integrated on the motherboard)
- on the bright side, SpeedStep works fine:
root at dma ~# sysctl dev.cpu
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU1
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 598
dev.cpu.0.freq_levels: 2394/22464 2094/19656 1795/16848 1596/376 1396/329 1197/282 997/235 798/188 598/141 399/94 199/47
dev.cpu.0.cx_supported: C1/0
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00%
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU2
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.1.cx_supported: C1/0
dev.cpu.1.cx_lowest: C1
dev.cpu.1.cx_usage: 100.00%
(no frequency control on CPU1 since they're both on the same die)
Attached are the output from acpidump -d and -t with and without ACPI
2.0 support (selectable in BIOS setup)
DES
--
Dag-Erling Smørgrav - des at des.no
-------------- next part --------------
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20051021
*
* Disassembly of /tmp/acpidump.e8Rf7q, Wed Jan 17 13:11:06 2007
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0579", "A0579000", 0x00000000)
{
Scope (_PR)
{
Processor (CPU1, 0x01, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0x3EE99C90, 0x02E3)
Name (NCPU, 0x02)
Name (CFGD, 0x09)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
OperationRegion (PMRG, SystemIO, PMBS, 0x50)
Field (PMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x41),
DEV4, 1,
DEV5, 1,
DEV6, 1,
DEV7, 1,
STS4, 1,
STS5, 1,
STS6, 1,
STS7, 1
}
Store (One, STS7)
Store (One, DEV7)
If (LEqual (TBLD, Zero))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
Scope (_PR)
{
Processor (CPU2, 0x02, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0x3EE99F80, 0x02DA)
Name (NCPU, 0x02)
Name (CFGD, 0x09)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
If (LEqual (TBLD, Zero))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
Scope (_PR)
{
Processor (CPU3, 0x03, 0x00000000, 0x00)
{
OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
Name (NCPU, 0x80)
Name (CFGD, 0x80)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
If (LEqual (TBLD, Zero))
{
If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08))))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
}
Scope (_PR)
{
Processor (CPU4, 0x04, 0x00000000, 0x00)
{
OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
Name (NCPU, 0x80)
Name (CFGD, 0x80)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
OperationRegion (PMRG, SystemIO, PMBS, 0x50)
Field (PMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x41),
DEV4, 1,
DEV5, 1,
DEV6, 1,
DEV7, 1,
STS4, 1,
STS5, 1,
STS6, 1,
STS7, 1
}
If (LEqual (TBLD, Zero))
{
If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08))))
{
Store (One, STS6)
Store (One, DEV6)
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
}
Name (DP80, 0x80)
Name (DP90, 0x90)
Name (SPIO, 0x2E)
Name (IOHW, 0x0290)
Name (APIC, One)
Name (SMIP, 0xB2)
Name (PMBS, 0x0800)
Name (PMLN, 0x80)
Name (GPBS, 0x0480)
Name (GPLN, 0x40)
Name (SMBL, Zero)
Name (PM30, 0x0830)
Name (SUSW, 0xFF)
Name (HTBA, 0xFED1F404)
Name (EAQF, One)
Name (CFTE, Zero)
Name (TOBS, 0x0860)
Name (SUCC, One)
Name (NVLD, 0x02)
Name (CRIT, 0x04)
Name (NCRT, 0x06)
Name (LIDS, One)
Name (PCIB, 0xE0000000)
Name (PCIL, 0x10000000)
Name (SMBS, 0x0400)
Name (CPUC, 0x04)
OperationRegion (BIOS, SystemMemory, 0x3EE9E064, 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,
MSC1, 32,
MSC2, 32,
MSC3, 32,
MSC4, 32,
MSC5, 32,
MSC6, 32,
MSC7, 32,
MSC8, 32,
DMAX, 8,
HPTA, 32
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, Zero)
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, Zero))
{
Store (0xAC, DBG8)
}
Store (One, OSVR)
If (CondRefOf (_OSI, Local1))
{
If (_OSI ("Windows 2001"))
{
Store (Zero, 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), One, 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, Zero))
Store (ShiftLeft (SS1, One), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (One, Arg1), Local0))
{
Store (Arg1, Index (PRWP, One))
}
Else
{
ShiftRight (Local0, One, Local0)
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, One))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, One))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEBX, SystemIO, 0x80, 0x02)
Field (DEBX, WordAcc, NoLock, Preserve)
{
DBGX, 16
}
OperationRegion (DEB0, SystemIO, DP80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, DP90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (_SB)
{
Name (PR00, Package (0x18)
{
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001FFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001BFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x001DFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
}
})
Name (AR00, Package (0x18)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x001AFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001BFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x001DFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR01, Package (0x0E)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKG,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKD,
Zero
}
})
Name (AR01, Package (0x0E)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x15
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x14
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x15
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x16
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x0004FFFF,
Zero,
Zero,
0x13
}
})
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 ("PNP0A08"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, Zero)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_CID, 0x030AD041)
Device (MCH)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x0A)
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED14000, // Address Base
0x00006000, // Address Length
)
})
}
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
Device (P0P2)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (P0P1)
{
Name (_ADR, 0x001E0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (SBRG)
{
Name (_ADR, 0x001F0000)
Device (IELK)
{
Name (_HID, "AWY0001")
OperationRegion (RXA0, PCI_Config, 0xA0, 0x20)
Field (RXA0, ByteAcc, NoLock, Preserve)
{
, 9,
PBLV, 1,
Offset (0x10),
, 1,
PBMS, 1,
, 1,
PMCS, 1,
ECNS, 1,
Offset (0x11),
ECT1, 16,
ELEN, 1,
Offset (0x14)
}
Method (\_GPE._L0A, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.IELK, 0x81)
Store (One, \_SB.PCI0.SBRG.IELK.PMCS)
}
Method (_STA, 0, NotSerialized)
{
If (ELEN)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (SMOD, 1, NotSerialized)
{
}
Method (GPBS, 0, NotSerialized)
{
Return (XOr (PBLV, One))
}
}
Method (SPTS, 1, NotSerialized)
{
Store (One, PS1S)
Store (One, PS1E)
Store (One, SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, SLPS)
Store (Zero, PS1E)
If (LAnd (LEqual (Arg0, One), RTCS))
{
Notify (PWRB, 0x02)
}
Else
{
If (LAnd (LEqual (Arg0, 0x03), BRTC)) {}
Else
{
Notify (PWRB, 0x02)
}
}
}
OperationRegion (APMP, SystemIO, SMIP, 0x02)
Field (APMP, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMS, 8
}
Field (APMP, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
, 1,
BRTC, 1
}
OperationRegion (PMS0, SystemIO, PMBS, 0x04)
Field (PMS0, ByteAcc, NoLock, Preserve)
{
, 10,
RTCS, 1,
, 4,
WAKS, 1,
Offset (0x03),
PWBT, 1,
Offset (0x04)
}
OperationRegion (SMIE, SystemIO, PM30, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 4,
PS1E, 1,
, 31,
PS1S, 1,
Offset (0x08)
}
Scope (\_SB)
{
Name (SLPS, Zero)
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Address Range Minimum
0x0020, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x00A0, // Address Range Minimum
0x00A0, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IRQNoFlags ()
{2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8)
{4}
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x0081, // Address Range Minimum
0x0081, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0087, // Address Range Minimum
0x0087, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0089, // Address Range Minimum
0x0089, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x008F, // Address Range Minimum
0x008F, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x00C0, // Address Range Minimum
0x00C0, // Address Range Maximum
0x00, // Address Alignment
0x20, // Address Length
)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Address Range Minimum
0x0040, // Address Range Maximum
0x00, // Address Alignment
0x04, // Address Length
)
IRQNoFlags ()
{0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Address Range Minimum
0x0070, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IRQNoFlags ()
{8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Address Range Minimum
0x0061, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Address Range Minimum
0x00F0, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IRQNoFlags ()
{13}
})
}
Device (UAR1)
{
Name (_UID, One)
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (Zero))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (Zero, Zero)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (Zero, Zero))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, Zero)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F8, // Address Range Minimum
0x03F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Address Range Minimum
0x03F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Address Range Minimum
0x02F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Address Range Minimum
0x03E8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Address Range Minimum
0x02E8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x08, 0x04))
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_FDE, 0, NotSerialized)
{
Name (FDEP, Package (0x05)
{
Zero,
Zero,
0x02,
0x02,
0x02
})
If (_STA ())
{
Store (One, Index (FDEP, Zero))
}
Return (FDEP)
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, Zero)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03, One)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (One, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
CreateWordField (Arg0, One, IRQE)
CreateByteField (Arg0, 0x04, DMAE)
ENFG (CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F0, // Address Range Minimum
0x03F0, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x03F7, // Address Range Minimum
0x03F7, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8)
{2}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Address Range Minimum
0x03F0, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x03F7, // Address Range Minimum
0x03F7, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0370, // Address Range Minimum
0x0370, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x0377, // Address Range Minimum
0x0377, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,2,3}
}
EndDependentFn ()
})
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0290, // Address Range Minimum
0x0290, // Address Range Maximum
0x00, // Address Alignment
0x08, // Address Length
)
})
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)
}
Return (CRS)
}
}
Name (DCAT, Package (0x15)
{
0x02,
0x03,
One,
Zero,
0xFF,
0x07,
0xFF,
0xFF,
0x07,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0x07,
0x08,
0x09,
0xFF,
0xFF
})
Mutex (IOCF, 0x00)
Method (ENFG, 1, NotSerialized)
{
Acquire (IOCF, 0xFFFF)
Store (0x87, INDX)
Store (0x87, INDX)
Store (Arg0, LDN)
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, INDX)
Release (IOCF)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
If (LEqual (Arg0, One))
{
ENFG (CGLD (Arg0))
And (OPT1, 0x38, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
}
Return (0x0105D041)
}
Method (SIOK, 1, NotSerialized)
{
ENFG (0x0A)
If (LGreater (Arg0, One))
{
Or (CRE4, 0x10, CRE4)
}
Store (CRE3, Local0)
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
SIOK (Arg0)
}
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)
}
EXFG ()
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, 4,
Offset (0x74),
DMCH, 3,
Offset (0xE0),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
CRE5, 8,
CRE6, 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 (Zero)
}
If (LEqual (Arg0, 0x05))
{
ShiftRight (Local0, 0x02, Local0)
}
If (LEqual (Arg0, 0x08))
{
ShiftRight (Local0, One, Local0)
}
And (Local0, One, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (One, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (Zero)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
If (LEqual (Arg0, 0x05))
{
ShiftLeft (IOH2, 0x08, Local1)
Or (IOL2, Local1, Local1)
}
Else
{
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
}
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), Zero))))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, Local1)
Store (One, Local2)
If (LEqual (Arg0, 0x05))
{
ShiftLeft (Arg1, 0x02, Local1)
ShiftLeft (Local2, 0x02, Local2)
}
If (LEqual (Arg0, 0x08))
{
ShiftLeft (Arg1, One, Local1)
ShiftLeft (Local2, One, 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, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
})
CreateWordField (CRS1, One, 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, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
})
CreateWordField (CRS2, One, 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, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), One, Local0)
ShiftLeft (One, Local0, LEN1)
If (INTR)
{
ShiftLeft (One, INTR, IRQM)
}
Else
{
Store (Zero, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
{
Store (Zero, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (One, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, One, 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, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x07, DMCH)
}
EXFG ()
DCNT (Arg1, One)
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Address Range Minimum
0x0010, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x0022, // Address Range Minimum
0x0022, // Address Range Maximum
0x00, // Address Alignment
0x1E, // Address Length
)
IO (Decode16,
0x0044, // Address Range Minimum
0x0044, // Address Range Maximum
0x00, // Address Alignment
0x1C, // Address Length
)
IO (Decode16,
0x0062, // Address Range Minimum
0x0062, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x0065, // Address Range Minimum
0x0065, // Address Range Maximum
0x00, // Address Alignment
0x0B, // Address Length
)
IO (Decode16,
0x0072, // Address Range Minimum
0x0072, // Address Range Maximum
0x00, // Address Alignment
0x0E, // Address Length
)
IO (Decode16,
0x0080, // Address Range Minimum
0x0080, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0084, // Address Range Minimum
0x0084, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0088, // Address Range Minimum
0x0088, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x008C, // Address Range Minimum
0x008C, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0090, // Address Range Minimum
0x0090, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x00A2, // Address Range Minimum
0x00A2, // Address Range Maximum
0x00, // Address Alignment
0x1E, // Address Length
)
IO (Decode16,
0x00E0, // Address Range Minimum
0x00E0, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x04D0, // Address Range Minimum
0x04D0, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00070000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFF9FA000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFF00000, // Address Base
0x000FFFFF, // Address Length
)
})
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)
}
}
Scope (\_SB.PCI0.SBRG)
{
Device (ASOC)
{
Name (_HID, "ATK0110")
Name (_UID, 0x01010110)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_INI, 0, NotSerialized)
{
Name (_T_0, Zero)
Store (GNVS (0x3774), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0xA6, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, One))
{
Store (0x21, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (0x42, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (0x64, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (0xE9, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (Zero, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x06))
{
Store (0x012C, Index (G3T0, 0x03))
}
}
}
}
}
}
}
Store (Subtract (GNVS (0x66B9), 0x06), Index (G3T2, 0x03))
}
Name (MBIF, Package (0x08)
{
0x03,
"P5B-V",
0x01010101,
0x01010101,
0xE0000001,
Zero,
Zero,
Zero
})
Name (ASBF, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateDWordField (ASBF, Zero, ASB0)
CreateDWordField (ASBF, 0x04, ASB1)
Method (GGRP, 1, Serialized)
{
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, Zero))
{
Return (GRP0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Return (GRP3)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (GNVS (0x1787), Local0)
If (LEqual (Local0, One))
{
Return (GR41)
}
Else
{
Return (GR42)
}
}
Else
{
If (LEqual (_T_0, 0x05))
{
Return (GRP5)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (GRP6)
}
Else
{
If (LEqual (_T_0, 0x08))
{
Return (GRP8)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Return (GRP9)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
Return (GRPA)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Return (GRPB)
}
Else
{
Return (Zero)
}
}
}
}
}
}
}
}
}
}
Method (GITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
GIT0 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
GIT3 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x04))
{
GIT4 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x05))
{
GIT5 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x06))
{
GIT6 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x08))
{
GIT8 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x09))
{
GIT9 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
GITA (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
GITB (PRM0)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASBF)
}
Method (SITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateDWordField (Arg0, 0x04, PRM1)
CreateDWordField (Arg0, 0x08, PRM2)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
SIT0 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x03))
{
SIT3 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x04))
{
SIT4 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x05))
{
SIT5 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
SIT6 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x08))
{
SIT8 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x09))
{
SIT9 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
SITA (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
SITB (PRM0, PRM1, PRM2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASBF)
}
Method (OP2V, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Multiply (Arg0, Local1, Local1)
Add (Local0, Local1, Local0)
Return (Local0)
}
Method (V2OP, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Subtract (Arg0, Local0, Local0)
Divide (Local0, Local1, Local1, Local0)
Return (Local0)
}
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
OperationRegion (HPTC, SystemMemory, HTBA, 0x04)
Field (HPTC, ByteAcc, NoLock, Preserve)
{
HPTS, 2,
, 5,
HPTE, 1,
Offset (0x04)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (OSFL (), Zero))
{
If (HPTE)
{
Return (0x0F)
}
}
Else
{
If (HPTE)
{
Return (0x0B)
}
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, HPT)
Multiply (HPTS, 0x1000, Local0)
Add (Local0, 0xFED00000, HPT)
Return (CRS)
}
}
OperationRegion (RX80, PCI_Config, Zero, 0xFF)
Field (RX80, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
LPCD, 16,
LPCE, 16
}
Name (DBPT, Package (0x04)
{
Package (0x08)
{
0x03F8,
0x02F8,
0x0220,
0x0228,
0x0238,
0x02E8,
0x0338,
0x03E8
},
Package (0x08)
{
0x03F8,
0x02F8,
0x0220,
0x0228,
0x0238,
0x02E8,
0x0338,
0x03E8
},
Package (0x03)
{
0x0378,
0x0278,
0x03BC
},
Package (0x02)
{
0x03F0,
0x0370
}
})
Name (DDLT, Package (0x04)
{
Package (0x02)
{
Zero,
0xFFF8
},
Package (0x02)
{
0x04,
0xFF8F
},
Package (0x02)
{
0x08,
0xFCFF
},
Package (0x02)
{
0x0C,
0xEFFF
}
})
Method (RRIO, 4, NotSerialized)
{
If (LAnd (LNot (LGreater (Arg0, 0x03)), LNot (LLess (Arg0, Zero))))
{
Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, Zero, Zero), Local0)
If (LNot (LEqual (Local0, Ones)))
{
Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), Local1)
Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), Local2)
ShiftLeft (Local0, Local1, Local0)
And (LPCD, Local2, LPCD)
Or (LPCD, Local0, LPCD)
WX82 (Arg0, Arg1)
}
}
If (LEqual (Arg0, 0x08))
{
If (LEqual (Arg2, 0x0200))
{
WX82 (0x08, Arg0)
}
Else
{
If (LEqual (Arg2, 0x0208))
{
WX82 (0x09, Arg0)
}
}
}
If (LAnd (LNot (LGreater (Arg0, 0x0D)), LNot (LLess (Arg0, 0x0A))))
{
WX82 (Arg0, Arg1)
}
}
Method (WX82, 2, NotSerialized)
{
ShiftLeft (One, Arg0, Local0)
If (Arg1)
{
Or (LPCE, Local0, LPCE)
}
Else
{
Not (Local0, Local0)
And (LPCE, Local0, LPCE)
}
}
Method (RDMA, 3, NotSerialized)
{
}
Scope (\)
{
OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
Field (RAMW, ByteAcc, NoLock, Preserve)
{
PAR0, 32,
PAR1, 32
}
OperationRegion (IOB2, SystemIO, 0xB2, 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 (ASOC)
{
Name (ALAE, Package (0x04)
{
0x0A070001,
"Music Alarm",
Zero,
Zero
})
Name (ALSU, Package (0x04)
{
0x0A070002,
"Sunday",
Zero,
One
})
Name (ALMO, Package (0x04)
{
0x0A070003,
"Monday",
Zero,
One
})
Name (ALTU, Package (0x04)
{
0x0A070004,
"Tuesday",
Zero,
One
})
Name (ALWE, Package (0x04)
{
0x0A070005,
"Wednesday",
Zero,
One
})
Name (ALTH, Package (0x04)
{
0x0A070006,
"Thursday",
Zero,
One
})
Name (ALFR, Package (0x04)
{
0x0A070007,
"Friday",
Zero,
One
})
Name (ALSA, Package (0x04)
{
0x0A070008,
"Saturday",
Zero,
One
})
Name (ALAH, Package (0x07)
{
0x0A060009,
"Alarm Hour",
Zero,
0x0C,
Zero,
One,
0x18
})
Name (ALAM, Package (0x07)
{
0x0A06000A,
"Alarm Mins",
Zero,
Zero,
Zero,
One,
0x3C
})
Name (ALAC, Package (0x0A)
{
0x0A08000B,
"Music Alarm Drive",
Zero,
0x03,
0x05,
"Primary IDE Master",
"Primary IDE Slave",
"Secondary IDE Master",
"Secondary IDE Slave",
"JMicron JMB363 IDE"
})
Name (ALAT, Package (0x07)
{
0x0A06000C,
"Starting Track",
Zero,
0x10,
Zero,
One,
0x20
})
Name (ALAR, Package (0x08)
{
0x0A08000D,
"Repeat",
Zero,
Zero,
0x03,
"none",
"Single",
"All"
})
Name (ALAL, Package (0x09)
{
0x0A08000E,
"Length",
Zero,
Zero,
0x04,
"10 mins",
"20 mins",
"30 mins",
"1 hour"
})
Name (ALAV, Package (0x07)
{
0x0A06000F,
"Volume",
Zero,
0x0F,
Zero,
One,
0x20
})
Name (GRPA, Package (0x0F)
{
ALAE,
ALSU,
ALMO,
ALTU,
ALWE,
ALTH,
ALFR,
ALSA,
ALAH,
ALAM,
ALAC,
ALAT,
ALAR,
ALAL,
ALAV
})
Method (GITA, 1, NotSerialized)
{
Store (And (Arg0, 0xFF), Local0)
Name (_T_0, Zero)
Store (Local0, _T_0)
If (LEqual (_T_0, One))
{
Store (GNVS (0x16EE), ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (GNVS (0x16EF), ASB1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (GNVS (0x16F0), ASB1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (GNVS (0x16F1), ASB1)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (GNVS (0x16F2), ASB1)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Store (GNVS (0x16F3), ASB1)
}
Else
{
If (LEqual (_T_0, 0x07))
{
Store (GNVS (0x16F4), ASB1)
}
Else
{
If (LEqual (_T_0, 0x08))
{
Store (GNVS (0x16F5), ASB1)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Store (GNVS (0x5368), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
Store (GNVS (0x6338), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Store (GNVS (0x3445), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0C))
{
Store (GNVS (0x5360), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0D))
{
Store (GNVS (0x256A), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
Store (GNVS (0x256C), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0F))
{
Store (GNVS (0x5378), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Method (SITA, 3, NotSerialized)
{
Store (And (Arg0, 0xFF), Local0)
Name (_T_0, Zero)
Store (Local0, _T_0)
If (LEqual (_T_0, One))
{
SNVS (0x16EE, Arg1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
SNVS (0x16EF, Arg1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
SNVS (0x16F0, Arg1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
SNVS (0x16F1, Arg1)
}
Else
{
If (LEqual (_T_0, 0x05))
{
SNVS (0x16F2, Arg1)
}
Else
{
If (LEqual (_T_0, 0x06))
{
SNVS (0x16F3, Arg1)
}
Else
{
If (LEqual (_T_0, 0x07))
{
SNVS (0x16F4, Arg1)
}
Else
{
If (LEqual (_T_0, 0x08))
{
SNVS (0x16F5, Arg1)
}
Else
{
If (LEqual (_T_0, 0x09))
{
SNVS (0x5368, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
SNVS (0x6338, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
SNVS (0x3445, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0C))
{
SNVS (0x5360, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0D))
{
SNVS (0x256A, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
SNVS (0x256C, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0F))
{
SNVS (0x5378, Arg1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Device (^PCIE)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x11)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xE0000000, // Address Base
0x10000000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, BAS1)
CreateDWordField (CRS, 0x08, LEN1)
Store (PCIB, BAS1)
Store (PCIL, LEN1)
Return (CRS)
}
}
Scope (\_GPE)
{
Method (_L1C, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.ASOC, One)
Sleep (0x03E8)
}
}
Scope (ASOC)
{
Name (VESL, Zero)
Method (SPLV, 1, Serialized)
{
And (Arg0, 0xFFFF, VESL)
Store (VESL, PAR0)
ISMI (0x88)
Store (And (PAR0, 0xFFFF), Local0)
Return (Local0)
}
Method (GPLV, 0, Serialized)
{
Return (VESL)
}
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, Zero)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
})
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 (^^RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, One)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x000E0000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
})
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 (Zero, BAS4, LEN4)
Return (CRS)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (One, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (Zero)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Address Range Minimum
0x0060, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0064, // Address Range Minimum
0x0064, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x1F, 0x04))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (One, 0x0C, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (Zero)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Address Range Minimum
0x0060, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0064, // Address Range Minimum
0x0064, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{12}
})
Method (_CRS, 0, NotSerialized)
{
ShiftLeft (One, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
Name (^NATA, Package (0x01)
{
0x001F0002
})
Name (REGF, One)
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,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, 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, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
FZHD ()
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
FZHD ()
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
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, One)), MEQ, Arg0, MTR, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, One, 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)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
Or (GMUE, One, 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, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
Or (GSUE, One, 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, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
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, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 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, Zero, 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 (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
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, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), 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, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, 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, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (SAT1)
{
Name (_ADR, 0x001F0005)
Name (REGF, One)
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,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, 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, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
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, One)), MEQ, Arg0, MTR, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, One, 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)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
Or (GMUE, One, 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, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
Or (GSUE, One, 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, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
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, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 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, Zero, 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 (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
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, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), 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, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, 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, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (EUSB)
{
Name (_ADR, 0x001D0007)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (USBE)
{
Name (_ADR, 0x001A0007)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (P0P5)
{
Name (_ADR, 0x001C0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
Device (P0P6)
{
Name (_ADR, 0x001C0002)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06)
}
Return (PR06)
}
}
Device (P0P7)
{
Name (_ADR, 0x001C0003)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
Device (P0P8)
{
Name (_ADR, 0x001C0004)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR08)
}
Return (PR08)
}
Device (JMF0)
{
Name (_ADR, Zero)
Name (PIOT, Package (0x05)
{
0x0258,
0x0186,
0x014A,
0xB4,
0x78
})
Name (UDMA, Package (0x07)
{
0x78,
0x50,
0x3C,
0x28,
0x1E,
0x14,
0x0F
})
Name (MDMA, Package (0x03)
{
0x01E0,
0x96,
0x78
})
OperationRegion (CF40, PCI_Config, 0x40, 0x04)
Field (CF40, ByteAcc, NoLock, Preserve)
{
, 3,
CAB0, 1,
, 18,
SWAP, 1,
CHN0, 1,
Offset (0x04)
}
OperationRegion (CF80, PCI_Config, 0x80, 0x04)
Field (CF80, ByteAcc, NoLock, Preserve)
{
, 19,
CAB1, 1,
Offset (0x03),
CHN1, 1,
Offset (0x04)
}
Name (IDEB, Buffer (0x14) {})
CreateDWordField (IDEB, Zero, GTM0)
CreateDWordField (IDEB, 0x04, GTM1)
CreateDWordField (IDEB, 0x08, GTM2)
CreateDWordField (IDEB, 0x0C, GTM3)
CreateDWordField (IDEB, 0x10, GTM4)
Name (PMIO, 0x04)
Name (PMDM, 0x06)
Name (PSIO, 0x04)
Name (PSDM, 0x06)
Name (SMIO, 0x04)
Name (SMDM, 0x06)
Name (SSIO, 0x04)
Name (SSDM, 0x06)
Name (MODP, 0x05)
Name (MODS, 0x05)
Device (SDE0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, PMIO)), Local0)
Store (DerefOf (Index (PIOT, PSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODP, One))
{
Store (DerefOf (Index (UDMA, PMDM)), Local1)
If (LGreater (PMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PMDM)), Local1)
}
If (LAnd (MODP, 0x04))
{
Store (DerefOf (Index (UDMA, PSDM)), Local3)
If (LGreater (PSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
}
Store (Local4, MODP)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PMDM, DMAM)
If (LAnd (MODP, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PSDM, DMAM)
If (LAnd (MODP, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
Device (SDE1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, SMIO)), Local0)
Store (DerefOf (Index (PIOT, SSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODS, One))
{
Store (DerefOf (Index (UDMA, SMDM)), Local1)
If (LGreater (SMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SMDM)), Local1)
}
If (LAnd (MODS, 0x04))
{
Store (DerefOf (Index (UDMA, SSDM)), Local3)
If (LGreater (SSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
}
Store (Local4, MODS)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SMDM, DMAM)
If (LAnd (MODS, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SSDM, DMAM)
If (LAnd (MODS, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
}
Device (JMF1)
{
Name (_ADR, One)
Name (PIOT, Package (0x05)
{
0x0258,
0x0186,
0x014A,
0xB4,
0x78
})
Name (UDMA, Package (0x07)
{
0x78,
0x50,
0x3C,
0x28,
0x1E,
0x14,
0x0F
})
Name (MDMA, Package (0x03)
{
0x01E0,
0x96,
0x78
})
OperationRegion (CF40, PCI_Config, 0x40, 0x04)
Field (CF40, ByteAcc, NoLock, Preserve)
{
, 3,
CAB0, 1,
, 18,
SWAP, 1,
CHN0, 1,
Offset (0x04)
}
OperationRegion (CF80, PCI_Config, 0x80, 0x04)
Field (CF80, ByteAcc, NoLock, Preserve)
{
, 19,
CAB1, 1,
Offset (0x03),
CHN1, 1,
Offset (0x04)
}
Name (IDEB, Buffer (0x14) {})
CreateDWordField (IDEB, Zero, GTM0)
CreateDWordField (IDEB, 0x04, GTM1)
CreateDWordField (IDEB, 0x08, GTM2)
CreateDWordField (IDEB, 0x0C, GTM3)
CreateDWordField (IDEB, 0x10, GTM4)
Name (PMIO, 0x04)
Name (PMDM, 0x06)
Name (PSIO, 0x04)
Name (PSDM, 0x06)
Name (SMIO, 0x04)
Name (SMDM, 0x06)
Name (SSIO, 0x04)
Name (SSDM, 0x06)
Name (MODP, 0x05)
Name (MODS, 0x05)
Device (SDE0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, PMIO)), Local0)
Store (DerefOf (Index (PIOT, PSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODP, One))
{
Store (DerefOf (Index (UDMA, PMDM)), Local1)
If (LGreater (PMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PMDM)), Local1)
}
If (LAnd (MODP, 0x04))
{
Store (DerefOf (Index (UDMA, PSDM)), Local3)
If (LGreater (PSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
}
Store (Local4, MODP)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PMDM, DMAM)
If (LAnd (MODP, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PSDM, DMAM)
If (LAnd (MODP, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
Device (SDE1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, SMIO)), Local0)
Store (DerefOf (Index (PIOT, SSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODS, One))
{
Store (DerefOf (Index (UDMA, SMDM)), Local1)
If (LGreater (SMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SMDM)), Local1)
}
If (LAnd (MODS, 0x04))
{
Store (DerefOf (Index (UDMA, SSDM)), Local3)
If (LGreater (SSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
}
Store (Local4, MODS)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SMDM, DMAM)
If (LAnd (MODS, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SSDM, DMAM)
If (LAnd (MODS, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
}
}
Device (P0P9)
{
Name (_ADR, 0x001C0005)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR09)
}
Return (PR09)
}
}
Device (USB0)
{
Name (_ADR, 0x001D0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
Device (USB1)
{
Name (_ADR, 0x001D0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x04, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x001D0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0C, 0x04))
}
}
Device (USB3)
{
Name (_ADR, 0x001D0003)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB4)
{
Name (_ADR, 0x001A0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB5)
{
Name (_ADR, 0x001A0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (P0P4)
{
Name (_ADR, 0x001C0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
}
Scope (\_GPE)
{
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P2, 0x02)
Notify (\_SB.PCI0.P0P5, 0x02)
Notify (\_SB.PCI0.P0P6, 0x02)
Notify (\_SB.PCI0.P0P7, 0x02)
Notify (\_SB.PCI0.P0P8, 0x02)
Notify (\_SB.PCI0.P0P9, 0x02)
Notify (\_SB.PCI0.P0P4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L08, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L1F, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L1D, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.EUSB, 0x02)
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
Notify (\_SB.PCI0.USB4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB5, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G0T0, Package (0x07)
{
0x00060000,
"AP version",
0x40000000,
Zero,
Zero,
One,
0x02
})
Name (G0T1, Package (0x07)
{
0x00060001,
"Feature flag",
0x40000000,
Zero,
Zero,
One,
0x04
})
Name (GRP0, Package (0x02)
{
G0T0,
G0T1
})
Method (GIT0, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (Zero, ASB1)
}
Else
{
If (LEqual (_T_0, One))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT0, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x0300, DBG8)
}
Else
{
If (LEqual (_T_0, One))
{
Store (0x0301, DBG8)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G3T0, Package (0x07)
{
0x03010011,
"CPU frequency",
Zero,
Zero,
0x2710,
0x64,
0x012D
})
Name (G3T2, Package (0x07)
{
0x03060013,
"CPU ratio",
Zero,
Zero,
0x06,
One,
0x14
})
Name (G321, Package (0x09)
{
0x03820032,
"DRAM voltage",
Zero,
Zero,
0x0708,
0x32,
0x0D,
One,
"Auto"
})
Name (G322, Package (0x0C)
{
0x03080031,
"DRAM frequency",
Zero,
Zero,
0x07,
"Auto",
Zero,
"533 MHz",
"667 MHz",
"800 MHz",
"889 MHz",
"1067 MHz"
})
Name (G340, Package (0x09)
{
0x03810051,
"PCI Express frequency",
Zero,
Zero,
0x2328,
0x64,
0x3D,
One,
"Auto"
})
Name (GRP3, Package (0x05)
{
G3T0,
G3T2,
G321,
G322,
G340
})
Method (GIT3, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Subtract (GNVS (0x02C0), 0x64, ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Subtract (GNVS (0x8298), 0x06, ASB1)
}
Else
{
If (LEqual (_T_0, 0x32))
{
Store (GNVS (0x4438), ASB1)
}
Else
{
If (LEqual (_T_0, 0x31))
{
Store (GNVS (0x3480), ASB1)
}
Else
{
If (LEqual (_T_0, 0x51))
{
Store (GNVS (0x62D0), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Method (SIT3, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Add (Arg1, 0x64, Local2)
If (LNot (LEqual (GNVS (0x02C0), Local2)))
{
CreateByteField (CLKR, 0x04, CB04)
CreateWordField (CLKR, 0x0E, CBMN)
Store (RBLK (0xD2, Zero, 0x13), CLKR)
Multiply (Arg1, 0x03, Local0)
CreateByteField (MNBF, Local0, MN04)
CreateWordField (MNBF, Increment (Local0), MNVL)
If (LEqual (CB04, MN04))
{
If (And (Arg2, One))
{
Store (MNVL, CBMN)
WBLK (0xD2, Zero, 0x13, CLKR)
}
}
Else
{
Or (ASB0, 0x02, ASB0)
}
If (And (Arg2, One))
{
SNVS (0x02C0, Local2)
}
}
}
Else
{
If (LEqual (_T_0, 0x13))
{
If (LNot (LEqual (GNVS (0x8298), Add (Arg1, 0x06, Arg1))))
{
If (And (Arg2, One))
{
SNVS (0x8298, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x32))
{
If (LNot (LEqual (GNVS (0x4438), Arg1)))
{
If (LEqual (Arg1, Zero))
{
Or (ASB0, 0x02, ASB0)
}
Else
{
If (And (Arg2, One))
{
ENFG (0x0A)
And (CRE5, 0xE1, Local1)
ShiftLeft (Subtract (Arg1, One), One, Local2)
Or (Local1, Local2, CRE5)
EXFG ()
}
}
If (And (Arg2, One))
{
SNVS (0x4438, Arg1)
}
}
}
Else
{
If (LEqual (_T_0, 0x31))
{
If (LNot (LEqual (GNVS (0x3480), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x3480, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x51))
{
If (LNot (LEqual (GNVS (0x62D0), Arg1)))
{
CreateByteField (CLKR, 0x10, CB16)
Store (RBLK (0xD2, Zero, 0x13), CLKR)
CreateByteField (PCEF, Arg1, PC16)
If (LEqual (CB16, PC16))
{
If (And (Arg2, One))
{
Store (PC16, CB16)
WBLK (0xD2, Zero, 0x13, CLKR)
SNVS (0x62D0, Arg1)
}
}
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Name (CLKR, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PCEF, Buffer (0x3E)
{
0xC8, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0,
0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0,
0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0,
0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0,
0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x00,
0x02, 0x04, 0x06, 0x08, 0x85, 0x86, 0x87, 0x88,
0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90,
0x91, 0x92, 0x93, 0x94, 0x95, 0x96
})
Name (MNBF, Buffer (0x0387)
{
0x05, 0xC8, 0x3C, 0x05, 0xCA, 0x3C, 0x05, 0xCC,
0x3C, 0x05, 0xCE, 0x3C, 0x05, 0xD0, 0x3C, 0x05,
0xD2, 0x3C, 0x05, 0xD4, 0x3C, 0x05, 0xD6, 0x3C,
0x05, 0xD8, 0x3C, 0x05, 0xDA, 0x3C, 0x05, 0xDC,
0x3C, 0x05, 0xDE, 0x3C, 0x05, 0xE0, 0x3C, 0x05,
0xE2, 0x3C, 0x05, 0xE4, 0x3C, 0x05, 0xE6, 0x3C,
0x05, 0xE8, 0x3C, 0x05, 0xEA, 0x3C, 0x05, 0xEC,
0x3C, 0x05, 0xEE, 0x3C, 0x05, 0xF0, 0x3C, 0x05,
0xF2, 0x3C, 0x05, 0xF4, 0x3C, 0x05, 0xF6, 0x3C,
0x05, 0xF8, 0x3C, 0x05, 0xFA, 0x3C, 0x05, 0xFC,
0x3C, 0x05, 0xFE, 0x3C, 0x05, 0x00, 0xBC, 0x05,
0x02, 0xBC, 0x05, 0x04, 0xBC, 0x05, 0x06, 0xBC,
0x05, 0x08, 0xBC, 0x03, 0x8A, 0x3E, 0x03, 0x70,
0x32, 0x03, 0x9E, 0x46, 0x03, 0x7D, 0x37, 0x03,
0x8D, 0x3E, 0x03, 0x8A, 0x3C, 0x03, 0x8B, 0x3C,
0x03, 0x90, 0x3E, 0x03, 0x8D, 0x3C, 0x03, 0x8E,
0x3C, 0x03, 0x93, 0x3E, 0x03, 0x90, 0x3C, 0x03,
0x91, 0x3C, 0x03, 0x92, 0x3C, 0x03, 0x97, 0x3E,
0x03, 0x94, 0x3C, 0x03, 0x95, 0x3C, 0x03, 0x96,
0x3C, 0x03, 0x97, 0x3C, 0x03, 0x98, 0x3C, 0x03,
0x9E, 0x3E, 0x03, 0x9A, 0x3C, 0x03, 0x9B, 0x3C,
0x03, 0x9C, 0x3C, 0x03, 0x9D, 0x3C, 0x03, 0x9E,
0x3C, 0x03, 0x9F, 0x3C, 0x03, 0xA5, 0x3E, 0x03,
0xA1, 0x3C, 0x03, 0xA2, 0x3C, 0x03, 0xA3, 0x3C,
0x03, 0xA4, 0x3C, 0x03, 0xA5, 0x3C, 0x03, 0xA6,
0x3C, 0x03, 0xA7, 0x3C, 0x03, 0xA8, 0x3C, 0x03,
0xA9, 0x3C, 0x03, 0xAA, 0x3C, 0x03, 0xAB, 0x3C,
0x03, 0xAC, 0x3C, 0x03, 0xAD, 0x3C, 0x03, 0xAE,
0x3C, 0x03, 0xAF, 0x3C, 0x03, 0xB0, 0x3C, 0x03,
0xB1, 0x3C, 0x03, 0xB2, 0x3C, 0x03, 0xB3, 0x3C,
0x03, 0xB4, 0x3C, 0x03, 0xB5, 0x3C, 0x03, 0xB6,
0x3C, 0x03, 0xB7, 0x3C, 0x03, 0xB8, 0x3C, 0x03,
0xB9, 0x3C, 0x03, 0xBA, 0x3C, 0x03, 0xBB, 0x3C,
0x03, 0xBC, 0x3C, 0x03, 0xBD, 0x3C, 0x03, 0xBE,
0x3C, 0x03, 0xBF, 0x3C, 0x03, 0xC0, 0x3C, 0x03,
0xC1, 0x3C, 0x03, 0xC2, 0x3C, 0x03, 0xC3, 0x3C,
0x03, 0xC4, 0x3C, 0x03, 0xC5, 0x3C, 0x03, 0xC6,
0x3C, 0x03, 0xC7, 0x3C, 0x02, 0xD6, 0x40, 0x02,
0xA8, 0x32, 0x02, 0xB3, 0x35, 0x02, 0xBE, 0x38,
0x02, 0xBF, 0x38, 0x02, 0xCD, 0x3C, 0x02, 0xDB,
0x40, 0x02, 0xCF, 0x3C, 0x02, 0xD0, 0x3C, 0x02,
0xD1, 0x3C, 0x02, 0xE0, 0x40, 0x02, 0xD3, 0x3C,
0x02, 0xD4, 0x3C, 0x02, 0xD5, 0x3C, 0x02, 0xE4,
0x40, 0x02, 0xD7, 0x3C, 0x02, 0xD8, 0x3C, 0x02,
0xD9, 0x3C, 0x02, 0xDA, 0x3C, 0x02, 0xDB, 0x3C,
0x02, 0xEA, 0x40, 0x02, 0xDD, 0x3C, 0x02, 0xDE,
0x3C, 0x02, 0xDF, 0x3C, 0x02, 0xE0, 0x3C, 0x02,
0xE1, 0x3C, 0x02, 0xE2, 0x3C, 0x02, 0xE3, 0x3C,
0x02, 0xE4, 0x3C, 0x02, 0xE5, 0x3C, 0x02, 0xF5,
0x40, 0x02, 0xE7, 0x3C, 0x02, 0xE8, 0x3C, 0x02,
0xE9, 0x3C, 0x02, 0xEA, 0x3C, 0x02, 0xEB, 0x3C,
0x02, 0xEC, 0x3C, 0x02, 0xED, 0x3C, 0x02, 0xEE,
0x3C, 0x02, 0xEF, 0x3C, 0x02, 0xFF, 0x40, 0x02,
0xF1, 0x3C, 0x02, 0xF2, 0x3C, 0x02, 0xF3, 0x3C,
0x02, 0xF4, 0x3C, 0x02, 0xF5, 0x3C, 0x02, 0xF6,
0x3C, 0x02, 0xF7, 0x3C, 0x02, 0xF8, 0x3C, 0x02,
0xF9, 0x3C, 0x02, 0xFA, 0x3C, 0x02, 0xFB, 0x3C,
0x02, 0xFC, 0x3C, 0x02, 0xFD, 0x3C, 0x02, 0xFE,
0x3C, 0x02, 0xFF, 0x3C, 0x02, 0x00, 0xBC, 0x02,
0x01, 0xBC, 0x02, 0x02, 0xBC, 0x02, 0x03, 0xBC,
0x02, 0x82, 0x1E, 0x02, 0x05, 0xBC, 0x02, 0x06,
0xBC, 0x02, 0x07, 0xBC, 0x02, 0x08, 0xBC, 0x02,
0x09, 0xBC, 0x00, 0xAA, 0x33, 0x00, 0xE7, 0x45,
0x00, 0xA8, 0x32, 0x00, 0xAC, 0x33, 0x00, 0xB0,
0x34, 0x00, 0x69, 0x1F, 0x00, 0x44, 0x14, 0x00,
0x74, 0x22, 0x00, 0xAE, 0x33, 0x00, 0x6E, 0x20,
0x00, 0x45, 0x14, 0x00, 0x5A, 0x1A, 0x00, 0x49,
0x15, 0x00, 0x81, 0x25, 0x00, 0x46, 0x14, 0x00,
0xB3, 0x33, 0x00, 0x4A, 0x15, 0x00, 0x5C, 0x1A,
0x00, 0x47, 0x14, 0x00, 0x72, 0x20, 0x00, 0xB6,
0x33, 0x00, 0x7A, 0x22, 0x00, 0x48, 0x14, 0x00,
0x70, 0x1F, 0x00, 0x57, 0x18, 0x00, 0x50, 0x16,
0x00, 0x49, 0x14, 0x00, 0xE3, 0x3E, 0x00, 0xBB,
0x33, 0x00, 0x76, 0x20, 0x00, 0x4A, 0x14, 0x00,
0xC1, 0x34, 0x00, 0x6C, 0x1D, 0x00, 0x47, 0x13,
0x00, 0x4B, 0x14, 0x00, 0x4F, 0x15, 0x00, 0x75,
0x1F, 0x00, 0x7D, 0x21, 0x00, 0x4C, 0x14, 0x00,
0x7A, 0x20, 0x00, 0xC3, 0x33, 0x00, 0x77, 0x1F,
0x00, 0x4D, 0x14, 0x00, 0x55, 0x16, 0x00, 0x5D,
0x18, 0x00, 0xAB, 0x2C, 0x00, 0x4E, 0x14, 0x00,
0x5A, 0x17, 0x00, 0x6A, 0x1B, 0x00, 0x7E, 0x20,
0x00, 0x4F, 0x14, 0x00, 0x67, 0x1A, 0x00, 0x9B,
0x27, 0x00, 0xF7, 0x3E, 0x00, 0xCC, 0x33, 0x04,
0xC6, 0x4A, 0x04, 0xA1, 0x3C, 0x04, 0x8C, 0x34,
0x04, 0x87, 0x32, 0x04, 0x95, 0x37, 0x04, 0x90,
0x35, 0x04, 0x8B, 0x33, 0x04, 0xA4, 0x3C, 0x04,
0x9F, 0x3A, 0x04, 0x8F, 0x34, 0x04, 0xA0, 0x3A,
0x04, 0xA6, 0x3C, 0x04, 0x56, 0x1F, 0x04, 0x40,
0x17, 0x04, 0x43, 0x18, 0x04, 0x38, 0x14, 0x04,
0x49, 0x1A, 0x04, 0x8A, 0x31, 0x04, 0x71, 0x28,
0x04, 0x44, 0x18, 0x04, 0x6C, 0x26, 0x04, 0x39,
0x14, 0x04, 0xCB, 0x47, 0x04, 0x56, 0x1E, 0x04,
0x45, 0x18, 0x04, 0x7C, 0x2B, 0x04, 0x6B, 0x25,
0x04, 0x3A, 0x14, 0x04, 0x40, 0x16, 0x04, 0x46,
0x18, 0x04, 0x75, 0x28, 0x04, 0x58, 0x1E, 0x04,
0x64, 0x22, 0x04, 0x3B, 0x14, 0x04, 0x47, 0x18,
0x04, 0x59, 0x1E, 0x04, 0x74, 0x27, 0x04, 0xAD,
0x3A, 0x04, 0xEF, 0x50, 0x04, 0x3C, 0x14, 0x04,
0xF1, 0x50, 0x04, 0xAF, 0x3A, 0x04, 0x76, 0x27,
0x04, 0x5B, 0x1E, 0x04, 0x49, 0x18, 0x04, 0x3D,
0x14, 0x04, 0x68, 0x22, 0x04, 0x5C, 0x1E, 0x04,
0x7B, 0x28, 0x04, 0x4A, 0x18, 0x04, 0x44, 0x16,
0x04, 0x3E, 0x14, 0x04, 0x73, 0x25, 0x04, 0x86,
0x2B, 0x04, 0x4B, 0x18, 0x04, 0x5E, 0x1E, 0x04,
0xDF, 0x47, 0x04, 0x3F, 0x14, 0x04, 0x78, 0x26,
0x04, 0x4C, 0x18, 0x04, 0x7F, 0x28, 0x04, 0x9C,
0x31, 0x04, 0x53, 0x1A, 0x04, 0x40, 0x14, 0x04,
0x4D, 0x18, 0x04, 0x4A, 0x17, 0x04, 0x64, 0x1F,
0x04, 0x61, 0x1E, 0x04, 0x5E, 0x1D, 0x04, 0x41,
0x14, 0x04, 0x65, 0x1F, 0x04, 0x62, 0x1E, 0x04,
0x83, 0x28, 0x04, 0x97, 0x2E, 0x04, 0x4F, 0x18,
0x04, 0x42, 0x14, 0x04, 0x56, 0x1A, 0x04, 0x88,
0x29, 0x04, 0x7B, 0x25, 0x04, 0x46, 0x15
})
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (OC01, Package (0x06)
{
0x01010000,
"CPU FSB",
0x2710,
0x9C40,
0x012D,
0x00010003
})
Name (OT00, Package (0x04)
{
0x01010000,
0x2710,
Zero,
One
})
Name (OC02, Package (0x06)
{
0x01060001,
"CPU Multiplier",
0x08,
0x18,
0x11,
0x00010003
})
Name (CPUM, Package (0x04)
{
0x01060001,
0x0A,
Zero,
Zero
})
Name (OC03, Package (0x06)
{
0x02010002,
"Memory Freq",
Zero,
Zero,
0x07,
0x00010000
})
Name (MEMO, Package (0x0B)
{
0x02010002,
0xD034,
Zero,
One,
"Auto",
"RESERVE",
"533 MHz",
"667 MHz",
"800 MHz",
"889 MHz",
"1067 MHz"
})
Name (OC04, Package (0x06)
{
0x07010003,
"PCI Express",
0x2328,
0x3A98,
0x3D,
0x00010000
})
Name (PCIO, Package (0x04)
{
0x07010003,
0x2328,
Zero,
One
})
Name (OC0A, Package (0x06)
{
0x0202000F,
"DRAM Voltage",
0x0708,
0x0992,
0x0E,
0x0001000F
})
Name (RAMV, Package (0x13)
{
0x0202000F,
0x0708,
0x02,
One,
"Auto",
"1.80V",
"1.85V",
"1.90V",
"1.95V",
"2.00V",
"2.05V",
"2.10V",
"2.15V",
"2.20V",
"2.25V",
"2.30V",
"2.35V",
"2.40V",
"2.45V"
})
Name (OC0D, Package (0x06)
{
0x0906000C,
"AI Overclock Tuner",
Zero,
0x04,
0x05,
0x00010003
})
Name (AITM, Package (0x09)
{
0x0906000C,
Zero,
One,
One,
"Manual",
"Auto",
"Standard",
"",
"AI N.O.S."
})
Name (OC0E, Package (0x06)
{
0x0806000D,
"NOS Mode",
Zero,
One,
0x02,
0x00010003
})
Name (NOSM, Package (0x06)
{
0x0806000D,
Zero,
Zero,
One,
"Auto",
"Manual"
})
Name (OC06, Package (0x06)
{
0x08050005,
"Turbo NOS",
0x67,
0x78,
0x07,
0x00010003
})
Name (AOC2, Package (0x0B)
{
0x08050005,
0x64,
Zero,
One,
"",
"103%",
"105%",
"107%",
"110%",
"115%",
"120%"
})
Name (OC0F, Package (0x06)
{
0x0806000E,
"Sensitivity",
Zero,
0x03,
0x04,
0x00010003
})
Name (SENS, Package (0x07)
{
0x0806000E,
Zero,
Zero,
One,
"Standard",
"Sensitive",
"Heavy load"
})
Name (EPTY, Package (0x04)
{
0x12345678,
0x06,
0x06,
Zero
})
Name (OBUF, Package (0x09)
{
OC01,
OC02,
OC03,
OC04,
OC06,
OC0A,
OC0D,
OC0E,
OC0F
})
Method (ASIF, 0, NotSerialized)
{
Return (MBIF)
}
Method (OCIF, 0, NotSerialized)
{
Return (OBUF)
}
Method (GPRE, 1, NotSerialized)
{
If (Arg0)
{
OCOP (0x01010000)
Store (ASB1, Index (PREB, One))
OCOP (0x01060001)
Store (ASB1, Index (PREB, 0x03))
OCOP (0x02010002)
Store (ASB1, Index (PREB, 0x05))
OCOP (0x07010003)
Store (ASB1, Index (PREB, 0x07))
OCOP (0x0202000F)
Store (ASB1, Index (PREB, 0x09))
OCOP (0x0906000C)
Store (ASB1, Index (PREB, 0x0B))
OCOP (0x0806000D)
Store (ASB1, Index (PREB, 0x0D))
OCOP (0x0806000E)
Store (ASB1, Index (PREB, 0x0F))
OCOP (0x08050005)
Store (ASB1, Index (PREB, 0x11))
}
Else
{
Store (DerefOf (Index (G3T0, 0x03)), Index (PREB, One))
Store (DerefOf (Index (G3T2, 0x03)), Index (PREB, 0x03))
Store (DerefOf (Index (G322, 0x03)), Index (PREB, 0x05))
Store (DerefOf (Index (G340, 0x03)), Index (PREB, 0x07))
Store (DerefOf (Index (G321, 0x03)), Index (PREB, 0x09))
Store (DerefOf (Index (G9T0, 0x03)), Index (PREB, 0x0B))
Store (Zero, Index (PREB, 0x0D))
Store (DerefOf (Index (G8T1, 0x03)), Index (PREB, 0x0F))
Store (DerefOf (Index (G8T2, 0x03)), Index (PREB, 0x11))
}
Return (PREB)
}
Name (PREB, Package (0x12)
{
0x01010000,
Zero,
0x01060001,
Zero,
0x02010002,
Zero,
0x07010003,
Zero,
0x0202000F,
Zero,
0x0906000C,
Zero,
0x0806000D,
Zero,
0x08050005,
Zero,
0x0806000E,
Zero
})
Method (OCOP, 1, NotSerialized)
{
Store (One, ASB0)
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, 0x01010000))
{
GIT3 (0x03010011)
Store (ASB1, Index (OT00, One))
Store (ASB1, Index (OT00, 0x02))
Return (OT00)
}
Else
{
If (LEqual (_T_0, 0x01060001))
{
GIT3 (0x03060013)
Store (ASB1, Index (CPUM, One))
Return (CPUM)
}
Else
{
If (LEqual (_T_0, 0x02010002))
{
GIT3 (0x03080031)
Store (ASB1, Index (MEMO, 0x02))
Return (MEMO)
}
Else
{
If (LEqual (_T_0, 0x07010003))
{
GIT3 (0x03810051)
Store (ASB1, Index (PCIO, 0x02))
Return (PCIO)
}
Else
{
If (LEqual (_T_0, 0x0202000F))
{
GIT3 (0x03820032)
Store (ASB1, Index (RAMV, 0x02))
Return (RAMV)
}
Else
{
If (LEqual (_T_0, 0x0906000C))
{
GIT9 (0x09080000)
Store (ASB1, Index (AITM, 0x02))
Return (AITM)
}
Else
{
If (LEqual (_T_0, 0x0806000D))
{
GIT8 (0x08080001)
If (LGreater (ASB1, Zero))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB1)
}
Store (ASB1, Index (NOSM, 0x02))
Return (NOSM)
}
Else
{
If (LEqual (_T_0, 0x0806000E))
{
GIT8 (0x08080001)
If (LGreater (ASB1, Zero))
{
Decrement (ASB1)
}
Store (ASB1, Index (SENS, 0x02))
Return (SENS)
}
Else
{
If (LEqual (_T_0, 0x08050005))
{
GIT8 (0x08080002)
Store (ASB1, Index (AOC2, 0x02))
Return (AOC2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (EPTY)
}
Name (NOSF, Zero)
Method (PROC, 3, NotSerialized)
{
Store (One, ASB0)
ShiftRight (Arg0, 0x10, Local0)
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, 0x01010000))
{
SIT3 (0x03010011, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x01060001))
{
SIT3 (0x03060013, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x02010002))
{
SIT3 (0x03080031, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x07010003))
{
SIT3 (0x03810051, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0202000F))
{
Or (Arg1, ShiftLeft (Arg2, 0x08), Local0)
Store (Local0, DBGX)
SIT3 (0x03820032, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0906000C))
{
SIT9 (0x09080000, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0806000D))
{
If (LEqual (Arg1, Zero))
{
SIT8 (0x08080001, Zero, Arg2)
Store (Zero, NOSF)
}
Else
{
Store (One, NOSF)
}
}
Else
{
If (LEqual (_T_0, 0x0806000E))
{
If (NOSF)
{
Add (Arg1, One, Local0)
SIT8 (0x08080001, Local0, Arg2)
}
}
Else
{
If (LEqual (_T_0, 0x08050005))
{
SIT8 (0x08080002, Arg1, Arg2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASB0)
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G4T0, Package (0x04)
{
0x04060000,
" ASUS Advanced Q-Fan control",
0x40000000,
Zero
})
Name (G4T1, Package (0x0A)
{
0x04080011,
" FAN profile",
0x00100001,
0x03,
0x05,
"Disabled",
"Performance",
"Optimal",
"Silent",
"Ultra Silent"
})
Name (G4T2, Package (0x09)
{
0x04080011,
" FAN profile",
0x00100001,
0x03,
0x04,
"Disabled",
"Performance",
"Optimal",
"Silent"
})
Name (GR41, Package (0x02)
{
G4T0,
G4T1
})
Name (GR42, Package (0x02)
{
G4T0,
G4T2
})
Method (GIT4, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (GNVS (0x2780), ASB1)
}
Else
{
If (LEqual (_T_0, 0x11))
{
Store (GNVS (0x3510), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT4, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
If (LNot (LEqual (GNVS (0x3510), Arg1)))
{
SNVS (0x3510, Arg1)
Store (0x77, PAR0)
ISMI (0x88)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G5T0, Package (0x07)
{
0x05080000,
"AI Profile",
Zero,
Zero,
0x02,
"AUTO",
Zero
})
Name (GRP5, Package (0x01)
{
G5T0
})
Method (GIT5, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
Method (SIT5, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x03, ASB0)
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G6T1, Package (0x07)
{
0x06020011,
"Vcore Voltage",
0x20000000,
Zero,
0x0352,
0x02EE,
0x02
})
Name (G6T2, Package (0x07)
{
0x06030012,
"CPU Temperature",
0x20000000,
Zero,
0x0258,
0x015E,
0x02
})
Name (G6T3, Package (0x07)
{
0x06040013,
"CPU Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T4, Package (0x07)
{
0x06040073,
"Chassis Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T5, Package (0x07)
{
0x060400C3,
"Power Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T6, Package (0x07)
{
0x06020061,
"+12V Voltage",
0x20000000,
0x2EE0,
0x27D8,
0x0E10,
0x02
})
Name (G6T7, Package (0x07)
{
0x06020062,
"+5V Voltage",
0x20000000,
0x1388,
0x1194,
0x03E8,
0x02
})
Name (G6T8, Package (0x07)
{
0x06020063,
"+3.3V Voltage",
0x20000000,
0x0CE4,
0x0B9A,
0x0294,
0x02
})
Name (G6T9, Package (0x07)
{
0x06030074,
"MB Temperature",
0x20000000,
Zero,
0x01C2,
0x01F4,
0x02
})
Name (GRP6, Package (0x09)
{
G6T1,
G6T2,
G6T3,
G6T4,
G6T5,
G6T6,
G6T7,
G6T8,
G6T9
})
Method (GIT6, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Store (0x0600, ASB1)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (0x0601, ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (0x0602, ASB1)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (0x0603, ASB1)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (0x0604, ASB1)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Store (0x0605, ASB1)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Store (0x0606, ASB1)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Store (0x0607, ASB1)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (0x0608, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
Method (SIT6, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Store (0x0600, DBG8)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (0x0601, DBG8)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (0x0602, DBG8)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (0x0603, DBG8)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (0x0604, DBG8)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Store (0x0605, DBG8)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Store (0x0606, DBG8)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Store (0x0607, DBG8)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (0x0608, DBG8)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G8T1, Package (0x09)
{
0x08080001,
"N.O.S. sensitivity",
Zero,
Zero,
0x04,
"Auto",
"Standard",
"Sensitive",
"Heavy load"
})
Name (G8T2, Package (0x0C)
{
0x08080002,
"N.O.S. profile",
Zero,
One,
0x07,
Zero,
"103%",
"105%",
"107%",
"110%",
"115%",
"120%"
})
Name (GRP8, Package (0x02)
{
G8T1,
G8T2
})
Name (TEMP, Zero)
Method (GIT8, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
Store (GNVS (0x2564), ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (GNVS (0x34EB), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT8, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
If (LNot (LEqual (GNVS (0x2564), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x2564, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x02))
{
If (LNot (LEqual (GNVS (0x34EB), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x34EB, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G9T0, Package (0x0A)
{
0x09080000,
"AI Tunning",
Zero,
One,
0x05,
"Manual",
"Auto",
"Standard",
Zero,
"AI N.O.S"
})
Name (GRP9, Package (0x01)
{
G9T0
})
Method (GIT9, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (GNVS (0x34E3), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
Method (SIT9, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
If (LNot (LEqual (GNVS (0x34E3), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x34E3, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GAT1, Package (0x04)
{
0x0A070001,
"Music Alarm",
Zero,
Zero
})
Name (GAT2, Package (0x04)
{
0x0A070002,
"Sunday",
Zero,
One
})
Name (GAT3, Package (0x04)
{
0x0A070003,
"Monday",
Zero,
One
})
Name (GAT4, Package (0x04)
{
0x0A070004,
"Tuesday",
Zero,
One
})
Name (GAT5, Package (0x04)
{
0x0A070005,
"Wednesday",
Zero,
One
})
Name (GAT6, Package (0x04)
{
0x0A070006,
"Thursday",
Zero,
One
})
Name (GAT7, Package (0x04)
{
0x0A070007,
"Friday",
Zero,
One
})
Name (GAT8, Package (0x04)
{
0x0A070008,
"Saturday",
Zero,
One
})
Name (GAT9, Package (0x07)
{
0x0A060009,
"Alarm Hour",
Zero,
0x0C,
Zero,
One,
0x18
})
Name (GATA, Package (0x07)
{
0x0A06000A,
"Alarm Mins",
Zero,
Zero,
Zero,
One,
0x3C
})
Name (GATB, Package (0x0A)
{
0x0A08000B,
"Music Alarm Drive",
Zero,
0x03,
0x05,
"Primary IDE Master",
"Primary IDE Slave",
"Secondary IDE Master",
"Secondary IDE Slave",
"JMicron JMB363 IDE"
})
Name (GATC, Package (0x07)
{
0x0A06000C,
"Starting Track",
Zero,
0x10,
Zero,
One,
0x20
})
Name (GATD, Package (0x08)
{
0x0A08000D,
"Repeat",
Zero,
Zero,
0x03,
"none",
"Single",
"All"
})
Name (GATE, Package (0x09)
{
0x0A08000E,
"Length",
Zero,
Zero,
0x04,
"10 mins",
"20 mins",
"30 mins",
"1 hour"
})
Name (GATF, Package (0x07)
{
0x0A06000F,
"Volume",
Zero,
0x0F,
Zero,
One,
0x20
})
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GBT0, Package (0x07)
{
0x0B060001,
"System performance",
0x00400000,
Zero,
0x03,
One,
0x04
})
Name (GRPB, Package (0x01)
{
GBT0
})
Name (VEAL, Zero)
Method (GITB, 1, NotSerialized)
{
Store (VEAL, ASB1)
}
Method (SITB, 3, NotSerialized)
{
If (LEqual (And (Arg2, 0xFFFF), One))
{
And (Arg1, 0xFFFF, VEAL)
Store (VEAL, ASB1)
Store (VEAL, PAR0)
ISMI (0x88)
}
}
}
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, One, IRA0)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
}
Scope (_SB)
{
Name (XCPD, Zero)
Name (XNPT, One)
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, One)
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, One)
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 (RDPE (Local0), Local1)
If (LEqual (Local1, Ones))
{
Return (Zero)
}
Else
{
If (LAnd (Local1, 0x00010000))
{
WDPE (Local0, And (Local1, 0x00010000))
Return (One)
}
Return (Zero)
}
}
}
OperationRegion (SMRG, SystemIO, 0x0400, 0x10)
Field (SMRG, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
SSTS, 8,
HSTC, 8,
HCMD, 8,
HADR, 8,
HDT0, 8,
HDT1, 8,
BLKD, 8
}
Field (SMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HDTW, 16
}
Method (SCMD, 4, Serialized)
{
Store (0x05, Local0)
While (Decrement (Local0))
{
Store (0xFFFF, Local1)
While (LAnd (HSTS, Decrement (Local1)))
{
Store (0xFE, HSTS)
Stall (0x0A)
}
Store (HSTC, Local2)
Store (Arg0, HADR)
Store (Arg1, HCMD)
Store (Arg2, HDTW)
Store (Arg3, HSTC)
Store (0xFFFF, Local1)
While (Decrement (Local1))
{
If (And (HSTS, 0x0C))
{
Store (One, Local1)
}
If (LEqual (And (HSTS, 0x03), 0x02))
{
Return (HDTW)
}
Stall (0x0A)
}
Store (0x42, HSTC)
Store (0xFFFF, Local1)
While (Decrement (Local1))
{
If (And (HSTS, 0x10))
{
Store (One, Local1)
}
Stall (0x0A)
}
Store (Zero, HSTC)
}
Return (Ones)
}
Method (SBYT, 2, NotSerialized)
{
SCMD (Arg0, Arg1, Zero, 0x44)
}
Method (WBYT, 3, NotSerialized)
{
SCMD (Arg0, Arg1, Arg2, 0x48)
}
Method (WWRD, 3, NotSerialized)
{
SCMD (Arg0, Arg1, Arg2, 0x4C)
}
Method (RSBT, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (And (SCMD (Arg0, Arg1, Zero, 0x44), 0xFF))
}
Method (RBYT, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (And (SCMD (Arg0, Arg1, Zero, 0x48), 0xFF))
}
Method (RWRD, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (SCMD (Arg0, Arg1, Zero, 0x4C))
}
Method (RBLK, 3, NotSerialized)
{
Or (Arg0, One, Local0)
SCMD (Local0, Arg1, Arg2, 0x54)
Store (HSTC, Local0)
Store (HDT0, Local0)
Add (Local0, One, Local7)
Name (RBUF, Buffer (Local7) {})
Store (Zero, Local1)
While (Local0)
{
Store (BLKD, Index (RBUF, Local1))
Decrement (Local0)
Increment (Local1)
}
Return (RBUF)
}
Method (WBLK, 4, NotSerialized)
{
Store (HSTC, Local0)
Store (Zero, Local0)
While (LNot (LGreater (Local0, Arg2)))
{
Store (DerefOf (Index (Arg3, Local0)), BLKD)
Increment (Local0)
}
And (Arg0, 0xFE, Local0)
SCMD (Local0, Arg1, Arg2, 0x54)
}
Name (HBAS, Zero)
Name (HLBA, Zero)
Name (HDEV, Zero)
OperationRegion (REFP, SystemIO, 0x61, One)
Field (REFP, ByteAcc, NoLock, Preserve)
{
P061, 8
}
Method (FZHD, 0, NotSerialized)
{
Store (0x80, Local0)
Store (DMAX, Local1)
While (LNot (LGreater (Local0, Local1)))
{
And (Local0, 0x7F, Local3)
Store (One, Local2)
ShiftLeft (Local2, Local3, Local2)
If (LNot (And (\_SB.PCI0.HFZF, Local2)))
{
If (FZOD (Local0))
{
Or (\_SB.PCI0.HFZF, Local2, \_SB.PCI0.HFZF)
}
}
Increment (Local0)
}
}
Method (FZOD, 1, NotSerialized)
{
GHET (Arg0)
If (LEqual (HBAS, Zero))
{
Return (One)
}
If (LEqual (HDEV, Zero))
{
Return (One)
}
Store (HDEV, Local1)
And (Local1, 0x10, Local1)
If (LEqual (Local1, Zero))
{
Return (One)
}
WFCF ()
SDRV ()
Add (HBAS, 0x07, Local1)
OperationRegion (HRGS, SystemIO, Local1, One)
Field (HRGS, ByteAcc, NoLock, Preserve)
{
SREG, 8
}
Store (SREG, Local1)
And (Local1, 0x80, Local1)
If (Local1)
{
Return (Zero)
}
Add (HBAS, 0x07, Local1)
OperationRegion (HRGC, SystemIO, Local1, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0xF5, CREG)
If (WFCF ())
{
Add (HBAS, 0x07, Local0)
Store (SREG, Local1)
Return (LNot (And (Local1, One)))
}
Else
{
Return (Zero)
}
}
OperationRegion (DBGA, SystemIO, 0x80, 0x04)
Field (DBGA, DWordAcc, NoLock, Preserve)
{
DB32, 32
}
Method (GHET, 1, NotSerialized)
{
And (Arg0, 0x7F, Local0)
ShiftLeft (Local0, 0x05, Local0)
Add (Local0, HPTA, Local0)
OperationRegion (HDPT, SystemMemory, Local0, 0x20)
Field (HDPT, ByteAcc, NoLock, Preserve)
{
HP00, 16,
Offset (0x04),
HP04, 8,
Offset (0x12),
HP0C, 8
}
Store (HP00, HBAS)
Store (HP04, HLBA)
Store (HP0C, HDEV)
}
Method (SDRV, 0, NotSerialized)
{
Add (HBAS, 0x06, Local0)
OperationRegion (HRGH, SystemIO, Local0, One)
Field (HRGH, ByteAcc, NoLock, Preserve)
{
HREG, 8
}
Store (HLBA, HREG)
}
Method (WFCF, 0, NotSerialized)
{
SDRV ()
Add (HBAS, One, Local0)
OperationRegion (HRGE, SystemIO, Local0, One)
Field (HRGE, ByteAcc, NoLock, Preserve)
{
EREG, 8
}
Store (Zero, EREG)
Add (HBAS, 0x07, Local1)
OperationRegion (HRGC, SystemIO, Local1, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0x28, Local0)
While (Local0)
{
And (CREG, One, Local2)
If (Local2)
{
Return (Zero)
}
WFZF (Local1)
And (CREG, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (One)
}
Decrement (Local0)
}
Return (Zero)
}
Method (WFZF, 1, NotSerialized)
{
OperationRegion (HRGC, SystemIO, Arg0, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0xFFFF, Local1)
Store (CREG, Local2)
And (Local2, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (Zero)
}
While (Local1)
{
Stall (0x0F)
Decrement (Local1)
If (LEqual (Local1, Zero))
{
Return (Zero)
}
Store (CREG, Local2)
And (Local2, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (Zero)
}
Decrement (Local1)
}
}
Scope (_SB.PCI0)
{
Name (HFZF, 0xFFFF)
Method (HWAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Zero, HFZF)
}
}
}
Scope (_SB.PCI0.SBRG.SIOR)
{
Method (HWV0, 0, NotSerialized)
{
Return (Multiply (VCOR, 0x08))
}
Method (HWV1, 0, NotSerialized)
{
Return (Multiply (V12V, 0x08))
}
Method (HWV3, 0, NotSerialized)
{
Return (Multiply (V33V, 0x08))
}
Method (HWV5, 0, NotSerialized)
{
Return (Multiply (V50V, 0x08))
}
Method (HWT0, 0, NotSerialized)
{
Store (MBTE, Local1)
Multiply (Local1, 0x0A, Local1)
Return (Local1)
}
Method (HWT1, 0, NotSerialized)
{
Store (One, BSEL)
Store (TSR1, Local1)
Multiply (Local1, 0x0A, Local1)
Store (TSR2, Local2)
Multiply (Local2, 0x05, Local2)
Add (Local1, Local2, Local1)
Return (Local1)
}
Method (HWT2, 0, NotSerialized)
{
Store (0x02, BSEL)
Store (TSR1, Local1)
Multiply (Local1, 0x0A, Local1)
Store (TSR2, Local2)
Multiply (Local2, 0x05, Local2)
Add (Local1, Local2, Local1)
Return (Local1)
}
OperationRegion (DBGE, SystemIO, 0x80, 0x04)
Field (DBGE, WordAcc, NoLock, Preserve)
{
DBGG, 22
}
Method (HWF0, 0, NotSerialized)
{
Store (FAN1, Local0)
Store (Zero, BSEL)
And (FD21, 0x20, Local1)
ShiftRight (Local1, 0x05, Local1)
Multiply (Local1, 0x04, Local1)
And (FDR1, 0x30, Local2)
ShiftRight (Local2, 0x04, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
Add (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x05, Local3)
Store (FD21, Local4)
And (Local4, 0xDF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0xCF, Local4)
ShiftLeft (Local2, 0x04, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN1, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x05, Local3)
Store (FD21, Local4)
And (Local4, 0xDF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0xCF, Local4)
ShiftLeft (Local2, 0x04, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN1, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF1, 0, NotSerialized)
{
Store (FAN2, Local0)
Store (Zero, BSEL)
And (FD21, 0x40, Local1)
ShiftRight (Local1, 0x06, Local1)
Multiply (Local1, 0x04, Local1)
And (FDR1, 0xC0, Local2)
ShiftRight (Local2, 0x06, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
Add (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x06, Local3)
Store (FD21, Local4)
And (Local4, 0xBF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0x3F, Local4)
ShiftLeft (Local2, 0x06, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN2, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x06, Local3)
Store (FD21, Local4)
And (Local4, 0xBF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0x3F, Local4)
ShiftLeft (Local2, 0x06, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN2, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF2, 0, NotSerialized)
{
Store (FAN3, Local0)
Store (Zero, BSEL)
And (FD21, 0x80, Local1)
ShiftRight (Local1, 0x07, Local1)
Multiply (Local1, 0x04, Local1)
Divide (FD13, 0x40, Local2, Local3)
Add (Local1, Local3, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD21, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD21)
Store (FD13, Local3)
And (Local3, 0x3F, Local3)
Multiply (Local2, 0x40, Local2)
Add (Local3, Local2, Local2)
Store (Local2, FD13)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (FAN3, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD21, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD21)
Store (FD13, Local3)
And (Local3, 0x3F, Local3)
Multiply (Local2, 0x40, Local2)
Add (Local3, Local2, Local2)
Store (Local2, FD13)
Sleep (0x012C)
Store (FAN3, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF3, 0, NotSerialized)
{
Store (Zero, BSEL)
Store (CFN3, Local0)
And (FD15, 0x80, Local1)
ShiftRight (Local1, 0x05, Local1)
And (FND4, 0x03, Local2)
Or (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD15, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD15)
Store (FND4, Local3)
And (Local3, 0xFC, Local3)
Add (Local3, Local2, Local2)
Store (Local2, FND4)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (CFN3, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD15, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD15)
Store (FND4, Local3)
And (Local3, 0xFC, Local3)
Add (Local3, Local2, Local2)
Store (Local2, FND4)
Sleep (0x012C)
Store (CFN3, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF4, 0, NotSerialized)
{
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
And (FND4, 0x80, Local1)
ShiftRight (Local1, 0x08, Local1)
Multiply (Local1, 0x04, Local1)
And (FND4, 0x0C, Local2)
ShiftRight (Local2, 0x02, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x08, Local3)
ShiftLeft (Local2, 0x02, Local2)
Store (FND4, Local4)
And (Local4, 0x73, Local4)
Or (Local3, Local2, Local3)
Or (Local3, Local4, FND4)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x08, Local3)
ShiftLeft (Local2, 0x02, Local2)
Store (FND4, Local4)
And (Local4, 0x73, Local4)
Or (Local3, Local2, Local3)
Or (Local3, Local4, FND4)
Sleep (0x012C)
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
OperationRegion (HWRE, SystemIO, IOHW, 0x0A)
Field (HWRE, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HIDX, 8,
HDAT, 8
}
IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
CHNM, 1,
CFNM, 1,
CHNS, 2,
CFNS, 2,
Offset (0x05),
SYST, 8,
TRGT, 8,
Offset (0x08),
SSDN, 8,
CSDN, 8,
SSUP, 8,
CSUP, 8,
Offset (0x20),
VCOR, 8,
V12V, 8,
Offset (0x23),
V33V, 8,
Offset (0x25),
V50V, 8,
Offset (0x27),
MBTE, 8,
FAN1, 8,
FAN2, 8,
FAN3, 8,
Offset (0x3F),
CFN3, 8,
Offset (0x47),
FDR1, 8,
Offset (0x4B),
FD13, 8,
FD15, 8,
Offset (0x4E),
BSEL, 3,
Offset (0x4F),
Offset (0x50),
TSR1, 8,
, 7,
TSR2, 1,
Offset (0x53),
FAN4, 8,
Offset (0x59),
FND4, 8,
Offset (0x5D),
FD21, 8
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (CORV, Package (0x05)
{
0x06020000,
"Vcore Voltage",
0x0352,
0x0640,
One
})
Name (V3VV, Package (0x05)
{
0x06020001,
" +3.3 Voltage",
0x0B9A,
0x0E2E,
One
})
Name (V5VV, Package (0x05)
{
0x06020002,
" +5 Voltage",
0x1194,
0x157C,
One
})
Name (VV12, Package (0x05)
{
0x06020003,
" +12 Voltage",
0x27D8,
0x35E8,
One
})
Name (VPAR, Package (0x04)
{
Package (0x03)
{
Zero,
One,
Zero
},
Package (0x03)
{
0x22,
0x22,
Zero
},
Package (0x03)
{
0x16,
0x0A,
Zero
},
Package (0x03)
{
0x38,
0x0A,
Zero
}
})
Name (VBUF, Package (0x05)
{
0x04,
CORV,
V3VV,
V5VV,
VV12
})
Method (VGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWV0 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWV3 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWV5 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWV1 ())
}
}
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, Zero))
{
Return (^^SIOR.HWT1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWT0 ())
}
}
Name (CPUF, Package (0x05)
{
0x06040000,
"CPU FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHF1, Package (0x05)
{
0x06040001,
"CHASSIS1 FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHF2, Package (0x05)
{
0x06040002,
"CHASSIS2 FAN Speed",
0x04B0,
0x1C20,
0x00010001
})
Name (CHF3, Package (0x05)
{
0x06040003,
"CHASSIS3 FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (PWRF, Package (0x05)
{
0x06040004,
"POWER FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (FBUF, Package (0x06)
{
0x05,
CPUF,
CHF1,
CHF2,
CHF3,
PWRF
})
Method (FGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWF1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWF0 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWF4 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWF3 ())
}
If (LEqual (Arg0, 0x04))
{
Return (^^SIOR.HWF2 ())
}
}
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)), Zero)), Local2)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), 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, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (VBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, Local0)), One))
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 (One)
}
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, Zero)), 0xFFFF), Local0)
Store (DerefOf (Index (TBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, Local0)), One))
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 (One)
}
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, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (FBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF, Local0)), One))
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 (One)
}
}
Scope (_SB.PCI0)
{
Device (GFX0)
{
Name (_ADR, 0x00020000)
OperationRegion (IGDM, SystemMemory, 0x3EE9E0E4, 0x2000)
Field (IGDM, AnyAcc, NoLock, Preserve)
{
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
Offset (0xF0),
IBTT, 4,
IPSC, 2,
IPAT, 4,
IBIA, 3,
IBLC, 2,
Offset (0xF2),
ITVF, 4,
ITVM, 4,
IDVM, 1,
IDVS, 2,
ISSC, 1,
Offset (0xF4),
Offset (0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset (0x204),
PARM, 32
}
OperationRegion (TCOI, SystemIO, TOBS, 0x08)
Field (TCOI, WordAcc, NoLock, Preserve)
{
Offset (0x04),
, 9,
SCIS, 1,
Offset (0x06)
}
Method (GSCI, 0, NotSerialized)
{
If (LEqual (GEFC, 0x04))
{
Store (GBDA (), GXFC)
}
If (LEqual (GEFC, 0x06))
{
Store (SBCB (), GXFC)
}
Store (One, SCIS)
Store (Zero, GEFC)
Store (Zero, GSSE)
Store (Zero, SCIE)
Return (Zero)
}
Method (GBDA, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x037B, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x04))
{
Name (LOOP, Zero)
And (PARM, 0xFFFFFF00, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x05))
{
Store (IPSC, PARM)
Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
Add (PARM, 0x0100, PARM)
Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
XOr (PARM, 0x00010000, PARM)
Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x06))
{
Store (ITVF, PARM)
Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x07))
{
Name (MEMS, 0x0D)
Store (GIVD, PARM)
XOr (PARM, One, PARM)
Or (PARM, ShiftLeft (GMFN, One), PARM)
Or (PARM, 0x1000, PARM)
Or (ShiftLeft (CDCT, 0x15), PARM, PARM)
If (LEqual (IDVM, One))
{
Store (0x11, MEMS)
}
If (LLess (TASM, M512))
{
Or (PARM, ShiftLeft (One, MEMS), PARM)
}
Else
{
If (LLess (TASM, M1GB))
{
If (LLess (IDVS, 0x03))
{
Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
}
Else
{
Or (PARM, ShiftLeft (0x02, MEMS), PARM)
}
}
Else
{
Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
}
}
Store (One, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0A))
{
Store (Zero, PARM)
If (ISSC)
{
Or (0x03, PARM)
}
Store (Zero, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (CRIT)
}
Method (SBCB, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x20, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x03))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x04))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x05))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x06))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0x0F, ITVF)
And (PARM, 0xF0, ITVM)
Store (Zero, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (NVLD)
}
If (LEqual (GESF, 0x07))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x08))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x09))
{
Store (CRIT, GXFC)
Return (Zero)
}
If (LEqual (GESF, 0x0A))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0xFF, IPSC)
Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT)
And (ShiftRight (PARM, 0x12), 0x03, IBLC)
And (ShiftRight (PARM, 0x14), 0x07, IBIA)
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0B))
{
If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02))
{
And (ShiftRight (PARM, 0x0D), 0x0F, Local0)
And (ShiftRight (PARM, 0x11), 0x0F, Local1)
If (Local0)
{
Store (Zero, IDVM)
Store (Local0, IDVS)
}
If (Local1)
{
Store (One, IDVM)
Store (Local1, IDVS)
}
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x10))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x11))
{
Or (PARM, ShiftLeft (LIDS, 0x08), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x12))
{
And (PARM, One, ISSC)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x13))
{
Store (Zero, GESF)
Return (CRIT)
}
Store (Zero, GESF)
Return (CRIT)
}
Scope (^^PCI0)
{
OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
Field (MCHP, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
TASM, 10,
Offset (0x62)
}
}
OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
Field (IGDP, AnyAcc, NoLock, Preserve)
{
Offset (0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset (0x14),
, 4,
GMFN, 1,
Offset (0x18),
Offset (0x8C),
CDCT, 10,
Offset (0x8E),
Offset (0xA8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset (0xBC),
ASLS, 32
}
Name (M512, 0x08)
Name (M1GB, 0x10)
Scope (\_GPE)
{
Method (_L06, 0, NotSerialized)
{
\_SB.PCI0.GFX0.GSCI ()
}
}
Name (OPBS, 0xFFFFFF00)
Method (OPTS, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (ASLS, OPBS)
}
}
Method (OWAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (OPBS, ASLS)
Store (One, GSES)
}
}
}
}
Scope (_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x00FF, // Address Range Maximum
0x0000, // Address Translation Offset
0x0100, // Address Length
,,)
IO (Decode16,
0x0CF8, // Address Range Minimum
0x0CF8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x0CF7, // Address Range Maximum
0x0000, // Address Translation Offset
0x0CF8, // Address Length
,,, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0D00, // Address Range Minimum
0xFFFF, // Address Range Maximum
0x0000, // Address Translation Offset
0xF300, // Address Length
,,, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000A0000, // Address Range Minimum
0x000BFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00020000, // Address Length
,,, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000C0000, // Address Range Minimum
0x000DFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00020000, // Address Length
,,, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x00000000, // Address Range Minimum
0x00000000, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00000000, // Address Length
,,, AddressRangeMemory, TypeStatic)
})
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, Zero)
Name (WSSB, Zero)
Name (WAXB, Zero)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
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 (GNVS (0x8370)) {}
Else
{
Notify (\_SB.PWRB, 0x02)
}
If (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, Zero)))
{
Store (Zero, Index (WAKP, One))
}
Else
{
Store (Arg0, Index (WAKP, One))
}
Return (WAKP)
}
OperationRegion (IORK, SystemIO, 0xB3, One)
Field (IORK, ByteAcc, NoLock, Preserve)
{
IOWK, 8
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (SS1)
{
Name (_S1, Package (0x04)
{
One,
Zero,
Zero,
Zero
})
}
If (SS3)
{
Name (_S3, Package (0x04)
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04)
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04)
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
\_SB.PCI0.NPTS (Arg0)
\_SB.PCI0.SBRG.SPTS (Arg0)
\_SB.PCI0.GFX0.OPTS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.HWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
\_SB.PCI0.GFX0.OWAK (Arg0)
}
}
-------------- next part --------------
/*
RSD PTR: OEM=ACPIAM, ACPI_Rev=1.0x (0)
RSDT=0x3ee90000, cksum=15
*/
/*
RSDT: Length=64, Revision=1, Checksum=236,
OEMID=A M I, OEM Table ID=OEMRSDT, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Entries={ 0x3ee90200, 0x3ee90390, 0x3ee90400, 0x3ee9e040, 0x3ee99bb0, 0x3ee99be8, 0x3ee9e0c0 }
*/
/*
FACP: Length=132, Revision=2, Checksum=108,
OEMID=A M I, OEM Table ID=OEMFACP, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
FACS=0x3ee9e000, DSDT=0x3ee90440
INT_MODEL=APIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0
PSTATE_CNT=0xe2
PM1a_EVT_BLK=0x800-0x803
PM1a_CNT_BLK=0x804-0x805
PM_TMR_BLK=0x808-0x80b
GPE0_BLK=0x828-0x82f
CST_CNT=0xe3
P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
FLUSH_SIZE=1024, FLUSH_STRIDE=16
DUTY_OFFSET=1, DUTY_WIDTH=0
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH={LEGACY_DEV,8042}
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=1
*/
/*
DSDT: Length=38763, Revision=1, Checksum=63,
OEMID=A0579, OEM Table ID=A0579000, OEM Revision=0x0,
Creator ID=INTL, Creator Revision=0x20060113
*/
/*
APIC: Length=108, Revision=1, Checksum=33,
OEMID=A M I, OEM Table ID=OEMAPIC, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=2
Flags={ENABLED}
APIC ID=1
Type=Local APIC
ACPI CPU=3
Flags={DISABLED}
APIC ID=130
Type=Local APIC
ACPI CPU=4
Flags={DISABLED}
APIC ID=131
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
*/
/*
MCFG: Length=60, Revision=1, Checksum=137,
OEMID=A M I, OEM Table ID=OEMMCFG, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
HPET: Length=56, Revision=1, Checksum=159,
OEMID=A M I, OEM Table ID=OEMHPET, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
HPET Number=0
ADDR=0x00000800
HW Rev=0x2
Comparitors=2
Counter Size=1
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x8086
Minimal Tick=14318
*/
/*
ASF!: Length=153, Revision=32, Checksum=10,
OEMID=LEGEND, OEM Table ID=I865PASF, OEM Revision=0x1,
Creator ID=INTL, Creator Revision=0x20060113
*/
/*
GSCI: Length=8228, Revision=1, Checksum=58,
OEMID=A M I, OEM Table ID=GMCHSCI, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
*/
-------------- next part --------------
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20051021
*
* Disassembly of /tmp/acpidump.p9vSsg, Wed Jan 17 08:17:33 2007
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0579", "A0579000", 0x00000000)
{
Scope (_PR)
{
Processor (CPU1, 0x01, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0x3EE99C90, 0x02E3)
Name (NCPU, 0x02)
Name (CFGD, 0x09)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
OperationRegion (PMRG, SystemIO, PMBS, 0x50)
Field (PMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x41),
DEV4, 1,
DEV5, 1,
DEV6, 1,
DEV7, 1,
STS4, 1,
STS5, 1,
STS6, 1,
STS7, 1
}
Store (One, STS7)
Store (One, DEV7)
If (LEqual (TBLD, Zero))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
Scope (_PR)
{
Processor (CPU2, 0x02, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0x3EE99F80, 0x02DA)
Name (NCPU, 0x02)
Name (CFGD, 0x09)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
If (LEqual (TBLD, Zero))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
Scope (_PR)
{
Processor (CPU3, 0x03, 0x00000000, 0x00)
{
OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
Name (NCPU, 0x80)
Name (CFGD, 0x80)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
If (LEqual (TBLD, Zero))
{
If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08))))
{
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
}
Scope (_PR)
{
Processor (CPU4, 0x04, 0x00000000, 0x00)
{
OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
Name (NCPU, 0x80)
Name (CFGD, 0x80)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (TBLD, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, DAT0)
Store (DAT0, TYPE)
OperationRegion (PMRG, SystemIO, PMBS, 0x50)
Field (PMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x41),
DEV4, 1,
DEV5, 1,
DEV6, 1,
DEV7, 1,
STS4, 1,
STS5, 1,
STS6, 1,
STS7, 1
}
If (LEqual (TBLD, Zero))
{
If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08))))
{
Store (One, STS6)
Store (One, DEV6)
Load (STBL, HNDL)
Store (One, TBLD)
}
}
}
}
}
Name (DP80, 0x80)
Name (DP90, 0x90)
Name (SPIO, 0x2E)
Name (IOHW, 0x0290)
Name (APIC, One)
Name (SMIP, 0xB2)
Name (PMBS, 0x0800)
Name (PMLN, 0x80)
Name (GPBS, 0x0480)
Name (GPLN, 0x40)
Name (SMBL, Zero)
Name (PM30, 0x0830)
Name (SUSW, 0xFF)
Name (HTBA, 0xFED1F404)
Name (EAQF, One)
Name (CFTE, Zero)
Name (TOBS, 0x0860)
Name (SUCC, One)
Name (NVLD, 0x02)
Name (CRIT, 0x04)
Name (NCRT, 0x06)
Name (LIDS, One)
Name (PCIB, 0xE0000000)
Name (PCIL, 0x10000000)
Name (SMBS, 0x0400)
Name (CPUC, 0x04)
OperationRegion (BIOS, SystemMemory, 0x3EE9E064, 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,
MSC1, 32,
MSC2, 32,
MSC3, 32,
MSC4, 32,
MSC5, 32,
MSC6, 32,
MSC7, 32,
MSC8, 32,
DMAX, 8,
HPTA, 32
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, Zero)
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, Zero))
{
Store (0xAC, DBG8)
}
Store (One, OSVR)
If (CondRefOf (_OSI, Local1))
{
If (_OSI ("Windows 2001"))
{
Store (Zero, 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), One, 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, Zero))
Store (ShiftLeft (SS1, One), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (One, Arg1), Local0))
{
Store (Arg1, Index (PRWP, One))
}
Else
{
ShiftRight (Local0, One, Local0)
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, One))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, One))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEBX, SystemIO, 0x80, 0x02)
Field (DEBX, WordAcc, NoLock, Preserve)
{
DBGX, 16
}
OperationRegion (DEB0, SystemIO, DP80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, DP90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (_SB)
{
Name (PR00, Package (0x18)
{
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001FFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001BFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x001DFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
}
})
Name (AR00, Package (0x18)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x001AFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001BFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x001DFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR01, Package (0x0E)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKG,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKD,
Zero
}
})
Name (AR01, Package (0x0E)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x15
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x14
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x15
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x16
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x0004FFFF,
Zero,
Zero,
0x13
}
})
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 ("PNP0A08"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, Zero)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_CID, 0x030AD041)
Device (MCH)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x0A)
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED14000, // Address Base
0x00006000, // Address Length
)
})
}
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
Device (P0P2)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (P0P1)
{
Name (_ADR, 0x001E0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (SBRG)
{
Name (_ADR, 0x001F0000)
Device (IELK)
{
Name (_HID, "AWY0001")
OperationRegion (RXA0, PCI_Config, 0xA0, 0x20)
Field (RXA0, ByteAcc, NoLock, Preserve)
{
, 9,
PBLV, 1,
Offset (0x10),
, 1,
PBMS, 1,
, 1,
PMCS, 1,
ECNS, 1,
Offset (0x11),
ECT1, 16,
ELEN, 1,
Offset (0x14)
}
Method (\_GPE._L0A, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.IELK, 0x81)
Store (One, \_SB.PCI0.SBRG.IELK.PMCS)
}
Method (_STA, 0, NotSerialized)
{
If (ELEN)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (SMOD, 1, NotSerialized)
{
}
Method (GPBS, 0, NotSerialized)
{
Return (XOr (PBLV, One))
}
}
Method (SPTS, 1, NotSerialized)
{
Store (One, PS1S)
Store (One, PS1E)
Store (One, SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, SLPS)
Store (Zero, PS1E)
If (LAnd (LEqual (Arg0, One), RTCS))
{
Notify (PWRB, 0x02)
}
Else
{
If (LAnd (LEqual (Arg0, 0x03), BRTC)) {}
Else
{
Notify (PWRB, 0x02)
}
}
}
OperationRegion (APMP, SystemIO, SMIP, 0x02)
Field (APMP, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMS, 8
}
Field (APMP, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
, 1,
BRTC, 1
}
OperationRegion (PMS0, SystemIO, PMBS, 0x04)
Field (PMS0, ByteAcc, NoLock, Preserve)
{
, 10,
RTCS, 1,
, 4,
WAKS, 1,
Offset (0x03),
PWBT, 1,
Offset (0x04)
}
OperationRegion (SMIE, SystemIO, PM30, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 4,
PS1E, 1,
, 31,
PS1S, 1,
Offset (0x08)
}
Scope (\_SB)
{
Name (SLPS, Zero)
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Address Range Minimum
0x0020, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x00A0, // Address Range Minimum
0x00A0, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IRQNoFlags ()
{2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8)
{4}
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x0081, // Address Range Minimum
0x0081, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0087, // Address Range Minimum
0x0087, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0089, // Address Range Minimum
0x0089, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x008F, // Address Range Minimum
0x008F, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x00C0, // Address Range Minimum
0x00C0, // Address Range Maximum
0x00, // Address Alignment
0x20, // Address Length
)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Address Range Minimum
0x0040, // Address Range Maximum
0x00, // Address Alignment
0x04, // Address Length
)
IRQNoFlags ()
{0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Address Range Minimum
0x0070, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IRQNoFlags ()
{8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Address Range Minimum
0x0061, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Address Range Minimum
0x00F0, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IRQNoFlags ()
{13}
})
}
Device (UAR1)
{
Name (_UID, One)
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (Zero))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (Zero, Zero)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (Zero, Zero))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, Zero)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F8, // Address Range Minimum
0x03F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Address Range Minimum
0x03F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Address Range Minimum
0x02F8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Address Range Minimum
0x03E8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Address Range Minimum
0x02E8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x08, 0x04))
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_FDE, 0, NotSerialized)
{
Name (FDEP, Package (0x05)
{
Zero,
Zero,
0x02,
0x02,
0x02
})
If (_STA ())
{
Store (One, Index (FDEP, Zero))
}
Return (FDEP)
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, Zero)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03, One)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (One, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
CreateWordField (Arg0, One, IRQE)
CreateByteField (Arg0, 0x04, DMAE)
ENFG (CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F0, // Address Range Minimum
0x03F0, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x03F7, // Address Range Minimum
0x03F7, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8)
{2}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Address Range Minimum
0x03F0, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x03F7, // Address Range Minimum
0x03F7, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0370, // Address Range Minimum
0x0370, // Address Range Maximum
0x01, // Address Alignment
0x06, // Address Length
)
IO (Decode16,
0x0377, // Address Range Minimum
0x0377, // Address Range Maximum
0x01, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8)
{0,1,2,3}
}
EndDependentFn ()
})
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0290, // Address Range Minimum
0x0290, // Address Range Maximum
0x00, // Address Alignment
0x08, // Address Length
)
})
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)
}
Return (CRS)
}
}
Name (DCAT, Package (0x15)
{
0x02,
0x03,
One,
Zero,
0xFF,
0x07,
0xFF,
0xFF,
0x07,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0x07,
0x08,
0x09,
0xFF,
0xFF
})
Mutex (IOCF, 0x00)
Method (ENFG, 1, NotSerialized)
{
Acquire (IOCF, 0xFFFF)
Store (0x87, INDX)
Store (0x87, INDX)
Store (Arg0, LDN)
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, INDX)
Release (IOCF)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
If (LEqual (Arg0, One))
{
ENFG (CGLD (Arg0))
And (OPT1, 0x38, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
}
Return (0x0105D041)
}
Method (SIOK, 1, NotSerialized)
{
ENFG (0x0A)
If (LGreater (Arg0, One))
{
Or (CRE4, 0x10, CRE4)
}
Store (CRE3, Local0)
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
SIOK (Arg0)
}
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)
}
EXFG ()
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, 4,
Offset (0x74),
DMCH, 3,
Offset (0xE0),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
CRE5, 8,
CRE6, 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 (Zero)
}
If (LEqual (Arg0, 0x05))
{
ShiftRight (Local0, 0x02, Local0)
}
If (LEqual (Arg0, 0x08))
{
ShiftRight (Local0, One, Local0)
}
And (Local0, One, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (One, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (Zero)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
If (LEqual (Arg0, 0x05))
{
ShiftLeft (IOH2, 0x08, Local1)
Or (IOL2, Local1, Local1)
}
Else
{
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
}
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), Zero))))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, Local1)
Store (One, Local2)
If (LEqual (Arg0, 0x05))
{
ShiftLeft (Arg1, 0x02, Local1)
ShiftLeft (Local2, 0x02, Local2)
}
If (LEqual (Arg0, 0x08))
{
ShiftLeft (Arg1, One, Local1)
ShiftLeft (Local2, One, 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, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
})
CreateWordField (CRS1, One, 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, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x01, // Address Alignment
0x00, // Address Length
)
})
CreateWordField (CRS2, One, 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, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), One, Local0)
ShiftLeft (One, Local0, LEN1)
If (INTR)
{
ShiftLeft (One, INTR, IRQM)
}
Else
{
Store (Zero, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
{
Store (Zero, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (One, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, One, 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, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x07, DMCH)
}
EXFG ()
DCNT (Arg1, One)
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Address Range Minimum
0x0010, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x0022, // Address Range Minimum
0x0022, // Address Range Maximum
0x00, // Address Alignment
0x1E, // Address Length
)
IO (Decode16,
0x0044, // Address Range Minimum
0x0044, // Address Range Maximum
0x00, // Address Alignment
0x1C, // Address Length
)
IO (Decode16,
0x0062, // Address Range Minimum
0x0062, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x0065, // Address Range Minimum
0x0065, // Address Range Maximum
0x00, // Address Alignment
0x0B, // Address Length
)
IO (Decode16,
0x0072, // Address Range Minimum
0x0072, // Address Range Maximum
0x00, // Address Alignment
0x0E, // Address Length
)
IO (Decode16,
0x0080, // Address Range Minimum
0x0080, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0084, // Address Range Minimum
0x0084, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0088, // Address Range Minimum
0x0088, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x008C, // Address Range Minimum
0x008C, // Address Range Maximum
0x00, // Address Alignment
0x03, // Address Length
)
IO (Decode16,
0x0090, // Address Range Minimum
0x0090, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x00A2, // Address Range Minimum
0x00A2, // Address Range Maximum
0x00, // Address Alignment
0x1E, // Address Length
)
IO (Decode16,
0x00E0, // Address Range Minimum
0x00E0, // Address Range Maximum
0x00, // Address Alignment
0x10, // Address Length
)
IO (Decode16,
0x04D0, // Address Range Minimum
0x04D0, // Address Range Maximum
0x00, // Address Alignment
0x02, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
IO (Decode16,
0x0000, // Address Range Minimum
0x0000, // Address Range Maximum
0x00, // Address Alignment
0x00, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00070000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFF9FA000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFF00000, // Address Base
0x000FFFFF, // Address Length
)
})
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)
}
}
Scope (\_SB.PCI0.SBRG)
{
Device (ASOC)
{
Name (_HID, "ATK0110")
Name (_UID, 0x01010110)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_INI, 0, NotSerialized)
{
Name (_T_0, Zero)
Store (GNVS (0x3774), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0xA6, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, One))
{
Store (0x21, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (0x42, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (0x64, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (0xE9, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (Zero, Index (G3T0, 0x03))
}
Else
{
If (LEqual (_T_0, 0x06))
{
Store (0x012C, Index (G3T0, 0x03))
}
}
}
}
}
}
}
Store (Subtract (GNVS (0x66B9), 0x06), Index (G3T2, 0x03))
}
Name (MBIF, Package (0x08)
{
0x03,
"P5B-V",
0x01010101,
0x01010101,
0xE0000001,
Zero,
Zero,
Zero
})
Name (ASBF, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateDWordField (ASBF, Zero, ASB0)
CreateDWordField (ASBF, 0x04, ASB1)
Method (GGRP, 1, Serialized)
{
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, Zero))
{
Return (GRP0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Return (GRP3)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (GNVS (0x1787), Local0)
If (LEqual (Local0, One))
{
Return (GR41)
}
Else
{
Return (GR42)
}
}
Else
{
If (LEqual (_T_0, 0x05))
{
Return (GRP5)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (GRP6)
}
Else
{
If (LEqual (_T_0, 0x08))
{
Return (GRP8)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Return (GRP9)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
Return (GRPA)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Return (GRPB)
}
Else
{
Return (Zero)
}
}
}
}
}
}
}
}
}
}
Method (GITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
GIT0 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
GIT3 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x04))
{
GIT4 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x05))
{
GIT5 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x06))
{
GIT6 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x08))
{
GIT8 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x09))
{
GIT9 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
GITA (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
GITB (PRM0)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASBF)
}
Method (SITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateDWordField (Arg0, 0x04, PRM1)
CreateDWordField (Arg0, 0x08, PRM2)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
SIT0 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x03))
{
SIT3 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x04))
{
SIT4 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x05))
{
SIT5 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
SIT6 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x08))
{
SIT8 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x09))
{
SIT9 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
SITA (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
SITB (PRM0, PRM1, PRM2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASBF)
}
Method (OP2V, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Multiply (Arg0, Local1, Local1)
Add (Local0, Local1, Local0)
Return (Local0)
}
Method (V2OP, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Subtract (Arg0, Local0, Local0)
Divide (Local0, Local1, Local1, Local0)
Return (Local0)
}
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
OperationRegion (HPTC, SystemMemory, HTBA, 0x04)
Field (HPTC, ByteAcc, NoLock, Preserve)
{
HPTS, 2,
, 5,
HPTE, 1,
Offset (0x04)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (OSFL (), Zero))
{
If (HPTE)
{
Return (0x0F)
}
}
Else
{
If (HPTE)
{
Return (0x0B)
}
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, HPT)
Multiply (HPTS, 0x1000, Local0)
Add (Local0, 0xFED00000, HPT)
Return (CRS)
}
}
OperationRegion (RX80, PCI_Config, Zero, 0xFF)
Field (RX80, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
LPCD, 16,
LPCE, 16
}
Name (DBPT, Package (0x04)
{
Package (0x08)
{
0x03F8,
0x02F8,
0x0220,
0x0228,
0x0238,
0x02E8,
0x0338,
0x03E8
},
Package (0x08)
{
0x03F8,
0x02F8,
0x0220,
0x0228,
0x0238,
0x02E8,
0x0338,
0x03E8
},
Package (0x03)
{
0x0378,
0x0278,
0x03BC
},
Package (0x02)
{
0x03F0,
0x0370
}
})
Name (DDLT, Package (0x04)
{
Package (0x02)
{
Zero,
0xFFF8
},
Package (0x02)
{
0x04,
0xFF8F
},
Package (0x02)
{
0x08,
0xFCFF
},
Package (0x02)
{
0x0C,
0xEFFF
}
})
Method (RRIO, 4, NotSerialized)
{
If (LAnd (LNot (LGreater (Arg0, 0x03)), LNot (LLess (Arg0, Zero))))
{
Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, Zero, Zero), Local0)
If (LNot (LEqual (Local0, Ones)))
{
Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), Local1)
Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), Local2)
ShiftLeft (Local0, Local1, Local0)
And (LPCD, Local2, LPCD)
Or (LPCD, Local0, LPCD)
WX82 (Arg0, Arg1)
}
}
If (LEqual (Arg0, 0x08))
{
If (LEqual (Arg2, 0x0200))
{
WX82 (0x08, Arg0)
}
Else
{
If (LEqual (Arg2, 0x0208))
{
WX82 (0x09, Arg0)
}
}
}
If (LAnd (LNot (LGreater (Arg0, 0x0D)), LNot (LLess (Arg0, 0x0A))))
{
WX82 (Arg0, Arg1)
}
}
Method (WX82, 2, NotSerialized)
{
ShiftLeft (One, Arg0, Local0)
If (Arg1)
{
Or (LPCE, Local0, LPCE)
}
Else
{
Not (Local0, Local0)
And (LPCE, Local0, LPCE)
}
}
Method (RDMA, 3, NotSerialized)
{
}
Scope (\)
{
OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
Field (RAMW, ByteAcc, NoLock, Preserve)
{
PAR0, 32,
PAR1, 32
}
OperationRegion (IOB2, SystemIO, 0xB2, 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 (ASOC)
{
Name (ALAE, Package (0x04)
{
0x0A070001,
"Music Alarm",
Zero,
Zero
})
Name (ALSU, Package (0x04)
{
0x0A070002,
"Sunday",
Zero,
One
})
Name (ALMO, Package (0x04)
{
0x0A070003,
"Monday",
Zero,
One
})
Name (ALTU, Package (0x04)
{
0x0A070004,
"Tuesday",
Zero,
One
})
Name (ALWE, Package (0x04)
{
0x0A070005,
"Wednesday",
Zero,
One
})
Name (ALTH, Package (0x04)
{
0x0A070006,
"Thursday",
Zero,
One
})
Name (ALFR, Package (0x04)
{
0x0A070007,
"Friday",
Zero,
One
})
Name (ALSA, Package (0x04)
{
0x0A070008,
"Saturday",
Zero,
One
})
Name (ALAH, Package (0x07)
{
0x0A060009,
"Alarm Hour",
Zero,
0x0C,
Zero,
One,
0x18
})
Name (ALAM, Package (0x07)
{
0x0A06000A,
"Alarm Mins",
Zero,
Zero,
Zero,
One,
0x3C
})
Name (ALAC, Package (0x0A)
{
0x0A08000B,
"Music Alarm Drive",
Zero,
0x03,
0x05,
"Primary IDE Master",
"Primary IDE Slave",
"Secondary IDE Master",
"Secondary IDE Slave",
"JMicron JMB363 IDE"
})
Name (ALAT, Package (0x07)
{
0x0A06000C,
"Starting Track",
Zero,
0x10,
Zero,
One,
0x20
})
Name (ALAR, Package (0x08)
{
0x0A08000D,
"Repeat",
Zero,
Zero,
0x03,
"none",
"Single",
"All"
})
Name (ALAL, Package (0x09)
{
0x0A08000E,
"Length",
Zero,
Zero,
0x04,
"10 mins",
"20 mins",
"30 mins",
"1 hour"
})
Name (ALAV, Package (0x07)
{
0x0A06000F,
"Volume",
Zero,
0x0F,
Zero,
One,
0x20
})
Name (GRPA, Package (0x0F)
{
ALAE,
ALSU,
ALMO,
ALTU,
ALWE,
ALTH,
ALFR,
ALSA,
ALAH,
ALAM,
ALAC,
ALAT,
ALAR,
ALAL,
ALAV
})
Method (GITA, 1, NotSerialized)
{
Store (And (Arg0, 0xFF), Local0)
Name (_T_0, Zero)
Store (Local0, _T_0)
If (LEqual (_T_0, One))
{
Store (GNVS (0x16EE), ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (GNVS (0x16EF), ASB1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (GNVS (0x16F0), ASB1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (GNVS (0x16F1), ASB1)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (GNVS (0x16F2), ASB1)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Store (GNVS (0x16F3), ASB1)
}
Else
{
If (LEqual (_T_0, 0x07))
{
Store (GNVS (0x16F4), ASB1)
}
Else
{
If (LEqual (_T_0, 0x08))
{
Store (GNVS (0x16F5), ASB1)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Store (GNVS (0x5368), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
Store (GNVS (0x6338), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Store (GNVS (0x3445), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0C))
{
Store (GNVS (0x5360), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0D))
{
Store (GNVS (0x256A), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
Store (GNVS (0x256C), ASB1)
}
Else
{
If (LEqual (_T_0, 0x0F))
{
Store (GNVS (0x5378), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Method (SITA, 3, NotSerialized)
{
Store (And (Arg0, 0xFF), Local0)
Name (_T_0, Zero)
Store (Local0, _T_0)
If (LEqual (_T_0, One))
{
SNVS (0x16EE, Arg1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
SNVS (0x16EF, Arg1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
SNVS (0x16F0, Arg1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
SNVS (0x16F1, Arg1)
}
Else
{
If (LEqual (_T_0, 0x05))
{
SNVS (0x16F2, Arg1)
}
Else
{
If (LEqual (_T_0, 0x06))
{
SNVS (0x16F3, Arg1)
}
Else
{
If (LEqual (_T_0, 0x07))
{
SNVS (0x16F4, Arg1)
}
Else
{
If (LEqual (_T_0, 0x08))
{
SNVS (0x16F5, Arg1)
}
Else
{
If (LEqual (_T_0, 0x09))
{
SNVS (0x5368, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
SNVS (0x6338, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
SNVS (0x3445, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0C))
{
SNVS (0x5360, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0D))
{
SNVS (0x256A, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
SNVS (0x256C, Arg1)
}
Else
{
If (LEqual (_T_0, 0x0F))
{
SNVS (0x5378, Arg1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Device (^PCIE)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x11)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xE0000000, // Address Base
0x10000000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, BAS1)
CreateDWordField (CRS, 0x08, LEN1)
Store (PCIB, BAS1)
Store (PCIL, LEN1)
Return (CRS)
}
}
Scope (\_GPE)
{
Method (_L1C, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.ASOC, One)
Sleep (0x03E8)
}
}
Scope (ASOC)
{
Name (VESL, Zero)
Method (SPLV, 1, Serialized)
{
And (Arg0, 0xFFFF, VESL)
Store (VESL, PAR0)
ISMI (0x88)
Store (And (PAR0, 0xFFFF), Local0)
Return (Local0)
}
Method (GPLV, 0, Serialized)
{
Return (VESL)
}
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, Zero)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
})
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 (^^RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, One)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x000E0000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
)
})
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 (Zero, BAS4, LEN4)
Return (CRS)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (One, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (Zero)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Address Range Minimum
0x0060, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0064, // Address Range Minimum
0x0064, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x1F, 0x04))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (One, 0x0C, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (Zero)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Address Range Minimum
0x0060, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IO (Decode16,
0x0064, // Address Range Minimum
0x0064, // Address Range Maximum
0x00, // Address Alignment
0x01, // Address Length
)
IRQNoFlags ()
{12}
})
Method (_CRS, 0, NotSerialized)
{
ShiftLeft (One, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
Name (^NATA, Package (0x01)
{
0x001F0002
})
Name (REGF, One)
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,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, 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, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
FZHD ()
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
FZHD ()
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
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, One)), MEQ, Arg0, MTR, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, One, 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)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
Or (GMUE, One, 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, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
Or (GSUE, One, 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, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
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, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 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, Zero, 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 (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
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, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), 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, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, 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, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (SAT1)
{
Name (_ADR, 0x001F0005)
Name (REGF, One)
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,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, 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, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, 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, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, 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, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
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, One)), MEQ, Arg0, MTR, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), 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, One, 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)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
Or (GMUE, One, 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, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
Or (GSUE, One, 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, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
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, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 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, Zero, 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 (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
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, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), 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, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, 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, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (EUSB)
{
Name (_ADR, 0x001D0007)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (USBE)
{
Name (_ADR, 0x001A0007)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (P0P5)
{
Name (_ADR, 0x001C0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
Device (P0P6)
{
Name (_ADR, 0x001C0002)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06)
}
Return (PR06)
}
}
Device (P0P7)
{
Name (_ADR, 0x001C0003)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
Device (P0P8)
{
Name (_ADR, 0x001C0004)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR08)
}
Return (PR08)
}
Device (JMF0)
{
Name (_ADR, Zero)
Name (PIOT, Package (0x05)
{
0x0258,
0x0186,
0x014A,
0xB4,
0x78
})
Name (UDMA, Package (0x07)
{
0x78,
0x50,
0x3C,
0x28,
0x1E,
0x14,
0x0F
})
Name (MDMA, Package (0x03)
{
0x01E0,
0x96,
0x78
})
OperationRegion (CF40, PCI_Config, 0x40, 0x04)
Field (CF40, ByteAcc, NoLock, Preserve)
{
, 3,
CAB0, 1,
, 18,
SWAP, 1,
CHN0, 1,
Offset (0x04)
}
OperationRegion (CF80, PCI_Config, 0x80, 0x04)
Field (CF80, ByteAcc, NoLock, Preserve)
{
, 19,
CAB1, 1,
Offset (0x03),
CHN1, 1,
Offset (0x04)
}
Name (IDEB, Buffer (0x14) {})
CreateDWordField (IDEB, Zero, GTM0)
CreateDWordField (IDEB, 0x04, GTM1)
CreateDWordField (IDEB, 0x08, GTM2)
CreateDWordField (IDEB, 0x0C, GTM3)
CreateDWordField (IDEB, 0x10, GTM4)
Name (PMIO, 0x04)
Name (PMDM, 0x06)
Name (PSIO, 0x04)
Name (PSDM, 0x06)
Name (SMIO, 0x04)
Name (SMDM, 0x06)
Name (SSIO, 0x04)
Name (SSDM, 0x06)
Name (MODP, 0x05)
Name (MODS, 0x05)
Device (SDE0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, PMIO)), Local0)
Store (DerefOf (Index (PIOT, PSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODP, One))
{
Store (DerefOf (Index (UDMA, PMDM)), Local1)
If (LGreater (PMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PMDM)), Local1)
}
If (LAnd (MODP, 0x04))
{
Store (DerefOf (Index (UDMA, PSDM)), Local3)
If (LGreater (PSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
}
Store (Local4, MODP)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PMDM, DMAM)
If (LAnd (MODP, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PSDM, DMAM)
If (LAnd (MODP, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
Device (SDE1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, SMIO)), Local0)
Store (DerefOf (Index (PIOT, SSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODS, One))
{
Store (DerefOf (Index (UDMA, SMDM)), Local1)
If (LGreater (SMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SMDM)), Local1)
}
If (LAnd (MODS, 0x04))
{
Store (DerefOf (Index (UDMA, SSDM)), Local3)
If (LGreater (SSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
}
Store (Local4, MODS)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SMDM, DMAM)
If (LAnd (MODS, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SSDM, DMAM)
If (LAnd (MODS, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
}
Device (JMF1)
{
Name (_ADR, One)
Name (PIOT, Package (0x05)
{
0x0258,
0x0186,
0x014A,
0xB4,
0x78
})
Name (UDMA, Package (0x07)
{
0x78,
0x50,
0x3C,
0x28,
0x1E,
0x14,
0x0F
})
Name (MDMA, Package (0x03)
{
0x01E0,
0x96,
0x78
})
OperationRegion (CF40, PCI_Config, 0x40, 0x04)
Field (CF40, ByteAcc, NoLock, Preserve)
{
, 3,
CAB0, 1,
, 18,
SWAP, 1,
CHN0, 1,
Offset (0x04)
}
OperationRegion (CF80, PCI_Config, 0x80, 0x04)
Field (CF80, ByteAcc, NoLock, Preserve)
{
, 19,
CAB1, 1,
Offset (0x03),
CHN1, 1,
Offset (0x04)
}
Name (IDEB, Buffer (0x14) {})
CreateDWordField (IDEB, Zero, GTM0)
CreateDWordField (IDEB, 0x04, GTM1)
CreateDWordField (IDEB, 0x08, GTM2)
CreateDWordField (IDEB, 0x0C, GTM3)
CreateDWordField (IDEB, 0x10, GTM4)
Name (PMIO, 0x04)
Name (PMDM, 0x06)
Name (PSIO, 0x04)
Name (PSDM, 0x06)
Name (SMIO, 0x04)
Name (SMDM, 0x06)
Name (SSIO, 0x04)
Name (SSDM, 0x06)
Name (MODP, 0x05)
Name (MODS, 0x05)
Device (SDE0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, PMIO)), Local0)
Store (DerefOf (Index (PIOT, PSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODP, One))
{
Store (DerefOf (Index (UDMA, PMDM)), Local1)
If (LGreater (PMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PMDM)
Store (DerefOf (Index (UDMA, PMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PMDM)), Local1)
}
If (LAnd (MODP, 0x04))
{
Store (DerefOf (Index (UDMA, PSDM)), Local3)
If (LGreater (PSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, PSDM)
Store (DerefOf (Index (UDMA, PSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, PSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM)
}
}
Store (Local4, MODP)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PMDM, DMAM)
If (LAnd (MODP, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (PSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (PSDM, DMAM)
If (LAnd (MODP, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
Device (SDE1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
Store (DerefOf (Index (PIOT, SMIO)), Local0)
Store (DerefOf (Index (PIOT, SSIO)), Local2)
Store (0x1A, Local4)
If (LAnd (MODS, One))
{
Store (DerefOf (Index (UDMA, SMDM)), Local1)
If (LGreater (SMDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SMDM)
Store (DerefOf (Index (UDMA, SMDM)), Local1)
}
}
}
Or (Local4, One, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SMDM)), Local1)
}
If (LAnd (MODS, 0x04))
{
Store (DerefOf (Index (UDMA, SSDM)), Local3)
If (LGreater (SSDM, 0x02))
{
If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One)))
{
If (CAB0)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One)))
{
If (CAB1)
{
Store (0x02, SSDM)
Store (DerefOf (Index (UDMA, SSDM)), Local3)
}
}
}
Or (Local4, 0x04, Local4)
}
Else
{
Store (DerefOf (Index (MDMA, SSDM)), Local3)
}
Store (Local0, GTM0)
Store (Local1, GTM1)
Store (Local2, GTM2)
Store (Local3, GTM3)
Store (Local4, GTM4)
Return (IDEB)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, IDEB)
Store (GTM0, Local0)
Store (GTM1, Local1)
Store (GTM2, Local2)
Store (GTM3, Local3)
Store (GTM4, Local4)
If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero))))
{
Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO)
}
If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero))))
{
If (LAnd (Local4, One))
{
Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
Else
{
Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM)
}
}
If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero))))
{
Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO)
}
If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero))))
{
If (LAnd (Local4, 0x04))
{
Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
Else
{
Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM)
}
}
Store (Local4, MODS)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SMIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SMDM, DMAM)
If (LAnd (MODS, One))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local0)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local1)
CreateByteField (Local0, One, PIOM)
CreateByteField (Local1, One, DMAM)
Store (SSIO, PIOM)
Or (PIOM, 0x08, PIOM)
Store (SSDM, DMAM)
If (LAnd (MODS, 0x04))
{
Or (DMAM, 0x40, DMAM)
}
Else
{
Or (DMAM, 0x20, DMAM)
}
Concatenate (Local0, Local1, Local2)
Return (Local2)
}
}
}
}
}
Device (P0P9)
{
Name (_ADR, 0x001C0005)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR09)
}
Return (PR09)
}
}
Device (USB0)
{
Name (_ADR, 0x001D0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
Device (USB1)
{
Name (_ADR, 0x001D0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x04, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x001D0002)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0C, 0x04))
}
}
Device (USB3)
{
Name (_ADR, 0x001D0003)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB4)
{
Name (_ADR, 0x001A0000)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0E, 0x04))
}
}
Device (USB5)
{
Name (_ADR, 0x001A0001)
OperationRegion (BAR0, PCI_Config, 0xC4, One)
Field (BAR0, ByteAcc, NoLock, Preserve)
{
USBW, 2,
Offset (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (P0P4)
{
Name (_ADR, 0x001C0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
}
Scope (\_GPE)
{
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P2, 0x02)
Notify (\_SB.PCI0.P0P5, 0x02)
Notify (\_SB.PCI0.P0P6, 0x02)
Notify (\_SB.PCI0.P0P7, 0x02)
Notify (\_SB.PCI0.P0P8, 0x02)
Notify (\_SB.PCI0.P0P9, 0x02)
Notify (\_SB.PCI0.P0P4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L08, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L1F, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L1D, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.EUSB, 0x02)
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
Notify (\_SB.PCI0.USB4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB5, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G0T0, Package (0x07)
{
0x00060000,
"AP version",
0x40000000,
Zero,
Zero,
One,
0x02
})
Name (G0T1, Package (0x07)
{
0x00060001,
"Feature flag",
0x40000000,
Zero,
Zero,
One,
0x04
})
Name (GRP0, Package (0x02)
{
G0T0,
G0T1
})
Method (GIT0, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (Zero, ASB1)
}
Else
{
If (LEqual (_T_0, One))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT0, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x0300, DBG8)
}
Else
{
If (LEqual (_T_0, One))
{
Store (0x0301, DBG8)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G3T0, Package (0x07)
{
0x03010011,
"CPU frequency",
Zero,
Zero,
0x2710,
0x64,
0x012D
})
Name (G3T2, Package (0x07)
{
0x03060013,
"CPU ratio",
Zero,
Zero,
0x06,
One,
0x14
})
Name (G321, Package (0x09)
{
0x03820032,
"DRAM voltage",
Zero,
Zero,
0x0708,
0x32,
0x0D,
One,
"Auto"
})
Name (G322, Package (0x0C)
{
0x03080031,
"DRAM frequency",
Zero,
Zero,
0x07,
"Auto",
Zero,
"533 MHz",
"667 MHz",
"800 MHz",
"889 MHz",
"1067 MHz"
})
Name (G340, Package (0x09)
{
0x03810051,
"PCI Express frequency",
Zero,
Zero,
0x2328,
0x64,
0x3D,
One,
"Auto"
})
Name (GRP3, Package (0x05)
{
G3T0,
G3T2,
G321,
G322,
G340
})
Method (GIT3, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Subtract (GNVS (0x02C0), 0x64, ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Subtract (GNVS (0x8298), 0x06, ASB1)
}
Else
{
If (LEqual (_T_0, 0x32))
{
Store (GNVS (0x4438), ASB1)
}
Else
{
If (LEqual (_T_0, 0x31))
{
Store (GNVS (0x3480), ASB1)
}
Else
{
If (LEqual (_T_0, 0x51))
{
Store (GNVS (0x62D0), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Method (SIT3, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Add (Arg1, 0x64, Local2)
If (LNot (LEqual (GNVS (0x02C0), Local2)))
{
CreateByteField (CLKR, 0x04, CB04)
CreateWordField (CLKR, 0x0E, CBMN)
Store (RBLK (0xD2, Zero, 0x13), CLKR)
Multiply (Arg1, 0x03, Local0)
CreateByteField (MNBF, Local0, MN04)
CreateWordField (MNBF, Increment (Local0), MNVL)
If (LEqual (CB04, MN04))
{
If (And (Arg2, One))
{
Store (MNVL, CBMN)
WBLK (0xD2, Zero, 0x13, CLKR)
}
}
Else
{
Or (ASB0, 0x02, ASB0)
}
If (And (Arg2, One))
{
SNVS (0x02C0, Local2)
}
}
}
Else
{
If (LEqual (_T_0, 0x13))
{
If (LNot (LEqual (GNVS (0x8298), Add (Arg1, 0x06, Arg1))))
{
If (And (Arg2, One))
{
SNVS (0x8298, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x32))
{
If (LNot (LEqual (GNVS (0x4438), Arg1)))
{
If (LEqual (Arg1, Zero))
{
Or (ASB0, 0x02, ASB0)
}
Else
{
If (And (Arg2, One))
{
ENFG (0x0A)
And (CRE5, 0xE1, Local1)
ShiftLeft (Subtract (Arg1, One), One, Local2)
Or (Local1, Local2, CRE5)
EXFG ()
}
}
If (And (Arg2, One))
{
SNVS (0x4438, Arg1)
}
}
}
Else
{
If (LEqual (_T_0, 0x31))
{
If (LNot (LEqual (GNVS (0x3480), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x3480, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x51))
{
If (LNot (LEqual (GNVS (0x62D0), Arg1)))
{
CreateByteField (CLKR, 0x10, CB16)
Store (RBLK (0xD2, Zero, 0x13), CLKR)
CreateByteField (PCEF, Arg1, PC16)
If (LEqual (CB16, PC16))
{
If (And (Arg2, One))
{
Store (PC16, CB16)
WBLK (0xD2, Zero, 0x13, CLKR)
SNVS (0x62D0, Arg1)
}
}
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Name (CLKR, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PCEF, Buffer (0x3E)
{
0xC8, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0,
0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0,
0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0,
0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0,
0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x00,
0x02, 0x04, 0x06, 0x08, 0x85, 0x86, 0x87, 0x88,
0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90,
0x91, 0x92, 0x93, 0x94, 0x95, 0x96
})
Name (MNBF, Buffer (0x0387)
{
0x05, 0xC8, 0x3C, 0x05, 0xCA, 0x3C, 0x05, 0xCC,
0x3C, 0x05, 0xCE, 0x3C, 0x05, 0xD0, 0x3C, 0x05,
0xD2, 0x3C, 0x05, 0xD4, 0x3C, 0x05, 0xD6, 0x3C,
0x05, 0xD8, 0x3C, 0x05, 0xDA, 0x3C, 0x05, 0xDC,
0x3C, 0x05, 0xDE, 0x3C, 0x05, 0xE0, 0x3C, 0x05,
0xE2, 0x3C, 0x05, 0xE4, 0x3C, 0x05, 0xE6, 0x3C,
0x05, 0xE8, 0x3C, 0x05, 0xEA, 0x3C, 0x05, 0xEC,
0x3C, 0x05, 0xEE, 0x3C, 0x05, 0xF0, 0x3C, 0x05,
0xF2, 0x3C, 0x05, 0xF4, 0x3C, 0x05, 0xF6, 0x3C,
0x05, 0xF8, 0x3C, 0x05, 0xFA, 0x3C, 0x05, 0xFC,
0x3C, 0x05, 0xFE, 0x3C, 0x05, 0x00, 0xBC, 0x05,
0x02, 0xBC, 0x05, 0x04, 0xBC, 0x05, 0x06, 0xBC,
0x05, 0x08, 0xBC, 0x03, 0x8A, 0x3E, 0x03, 0x70,
0x32, 0x03, 0x9E, 0x46, 0x03, 0x7D, 0x37, 0x03,
0x8D, 0x3E, 0x03, 0x8A, 0x3C, 0x03, 0x8B, 0x3C,
0x03, 0x90, 0x3E, 0x03, 0x8D, 0x3C, 0x03, 0x8E,
0x3C, 0x03, 0x93, 0x3E, 0x03, 0x90, 0x3C, 0x03,
0x91, 0x3C, 0x03, 0x92, 0x3C, 0x03, 0x97, 0x3E,
0x03, 0x94, 0x3C, 0x03, 0x95, 0x3C, 0x03, 0x96,
0x3C, 0x03, 0x97, 0x3C, 0x03, 0x98, 0x3C, 0x03,
0x9E, 0x3E, 0x03, 0x9A, 0x3C, 0x03, 0x9B, 0x3C,
0x03, 0x9C, 0x3C, 0x03, 0x9D, 0x3C, 0x03, 0x9E,
0x3C, 0x03, 0x9F, 0x3C, 0x03, 0xA5, 0x3E, 0x03,
0xA1, 0x3C, 0x03, 0xA2, 0x3C, 0x03, 0xA3, 0x3C,
0x03, 0xA4, 0x3C, 0x03, 0xA5, 0x3C, 0x03, 0xA6,
0x3C, 0x03, 0xA7, 0x3C, 0x03, 0xA8, 0x3C, 0x03,
0xA9, 0x3C, 0x03, 0xAA, 0x3C, 0x03, 0xAB, 0x3C,
0x03, 0xAC, 0x3C, 0x03, 0xAD, 0x3C, 0x03, 0xAE,
0x3C, 0x03, 0xAF, 0x3C, 0x03, 0xB0, 0x3C, 0x03,
0xB1, 0x3C, 0x03, 0xB2, 0x3C, 0x03, 0xB3, 0x3C,
0x03, 0xB4, 0x3C, 0x03, 0xB5, 0x3C, 0x03, 0xB6,
0x3C, 0x03, 0xB7, 0x3C, 0x03, 0xB8, 0x3C, 0x03,
0xB9, 0x3C, 0x03, 0xBA, 0x3C, 0x03, 0xBB, 0x3C,
0x03, 0xBC, 0x3C, 0x03, 0xBD, 0x3C, 0x03, 0xBE,
0x3C, 0x03, 0xBF, 0x3C, 0x03, 0xC0, 0x3C, 0x03,
0xC1, 0x3C, 0x03, 0xC2, 0x3C, 0x03, 0xC3, 0x3C,
0x03, 0xC4, 0x3C, 0x03, 0xC5, 0x3C, 0x03, 0xC6,
0x3C, 0x03, 0xC7, 0x3C, 0x02, 0xD6, 0x40, 0x02,
0xA8, 0x32, 0x02, 0xB3, 0x35, 0x02, 0xBE, 0x38,
0x02, 0xBF, 0x38, 0x02, 0xCD, 0x3C, 0x02, 0xDB,
0x40, 0x02, 0xCF, 0x3C, 0x02, 0xD0, 0x3C, 0x02,
0xD1, 0x3C, 0x02, 0xE0, 0x40, 0x02, 0xD3, 0x3C,
0x02, 0xD4, 0x3C, 0x02, 0xD5, 0x3C, 0x02, 0xE4,
0x40, 0x02, 0xD7, 0x3C, 0x02, 0xD8, 0x3C, 0x02,
0xD9, 0x3C, 0x02, 0xDA, 0x3C, 0x02, 0xDB, 0x3C,
0x02, 0xEA, 0x40, 0x02, 0xDD, 0x3C, 0x02, 0xDE,
0x3C, 0x02, 0xDF, 0x3C, 0x02, 0xE0, 0x3C, 0x02,
0xE1, 0x3C, 0x02, 0xE2, 0x3C, 0x02, 0xE3, 0x3C,
0x02, 0xE4, 0x3C, 0x02, 0xE5, 0x3C, 0x02, 0xF5,
0x40, 0x02, 0xE7, 0x3C, 0x02, 0xE8, 0x3C, 0x02,
0xE9, 0x3C, 0x02, 0xEA, 0x3C, 0x02, 0xEB, 0x3C,
0x02, 0xEC, 0x3C, 0x02, 0xED, 0x3C, 0x02, 0xEE,
0x3C, 0x02, 0xEF, 0x3C, 0x02, 0xFF, 0x40, 0x02,
0xF1, 0x3C, 0x02, 0xF2, 0x3C, 0x02, 0xF3, 0x3C,
0x02, 0xF4, 0x3C, 0x02, 0xF5, 0x3C, 0x02, 0xF6,
0x3C, 0x02, 0xF7, 0x3C, 0x02, 0xF8, 0x3C, 0x02,
0xF9, 0x3C, 0x02, 0xFA, 0x3C, 0x02, 0xFB, 0x3C,
0x02, 0xFC, 0x3C, 0x02, 0xFD, 0x3C, 0x02, 0xFE,
0x3C, 0x02, 0xFF, 0x3C, 0x02, 0x00, 0xBC, 0x02,
0x01, 0xBC, 0x02, 0x02, 0xBC, 0x02, 0x03, 0xBC,
0x02, 0x82, 0x1E, 0x02, 0x05, 0xBC, 0x02, 0x06,
0xBC, 0x02, 0x07, 0xBC, 0x02, 0x08, 0xBC, 0x02,
0x09, 0xBC, 0x00, 0xAA, 0x33, 0x00, 0xE7, 0x45,
0x00, 0xA8, 0x32, 0x00, 0xAC, 0x33, 0x00, 0xB0,
0x34, 0x00, 0x69, 0x1F, 0x00, 0x44, 0x14, 0x00,
0x74, 0x22, 0x00, 0xAE, 0x33, 0x00, 0x6E, 0x20,
0x00, 0x45, 0x14, 0x00, 0x5A, 0x1A, 0x00, 0x49,
0x15, 0x00, 0x81, 0x25, 0x00, 0x46, 0x14, 0x00,
0xB3, 0x33, 0x00, 0x4A, 0x15, 0x00, 0x5C, 0x1A,
0x00, 0x47, 0x14, 0x00, 0x72, 0x20, 0x00, 0xB6,
0x33, 0x00, 0x7A, 0x22, 0x00, 0x48, 0x14, 0x00,
0x70, 0x1F, 0x00, 0x57, 0x18, 0x00, 0x50, 0x16,
0x00, 0x49, 0x14, 0x00, 0xE3, 0x3E, 0x00, 0xBB,
0x33, 0x00, 0x76, 0x20, 0x00, 0x4A, 0x14, 0x00,
0xC1, 0x34, 0x00, 0x6C, 0x1D, 0x00, 0x47, 0x13,
0x00, 0x4B, 0x14, 0x00, 0x4F, 0x15, 0x00, 0x75,
0x1F, 0x00, 0x7D, 0x21, 0x00, 0x4C, 0x14, 0x00,
0x7A, 0x20, 0x00, 0xC3, 0x33, 0x00, 0x77, 0x1F,
0x00, 0x4D, 0x14, 0x00, 0x55, 0x16, 0x00, 0x5D,
0x18, 0x00, 0xAB, 0x2C, 0x00, 0x4E, 0x14, 0x00,
0x5A, 0x17, 0x00, 0x6A, 0x1B, 0x00, 0x7E, 0x20,
0x00, 0x4F, 0x14, 0x00, 0x67, 0x1A, 0x00, 0x9B,
0x27, 0x00, 0xF7, 0x3E, 0x00, 0xCC, 0x33, 0x04,
0xC6, 0x4A, 0x04, 0xA1, 0x3C, 0x04, 0x8C, 0x34,
0x04, 0x87, 0x32, 0x04, 0x95, 0x37, 0x04, 0x90,
0x35, 0x04, 0x8B, 0x33, 0x04, 0xA4, 0x3C, 0x04,
0x9F, 0x3A, 0x04, 0x8F, 0x34, 0x04, 0xA0, 0x3A,
0x04, 0xA6, 0x3C, 0x04, 0x56, 0x1F, 0x04, 0x40,
0x17, 0x04, 0x43, 0x18, 0x04, 0x38, 0x14, 0x04,
0x49, 0x1A, 0x04, 0x8A, 0x31, 0x04, 0x71, 0x28,
0x04, 0x44, 0x18, 0x04, 0x6C, 0x26, 0x04, 0x39,
0x14, 0x04, 0xCB, 0x47, 0x04, 0x56, 0x1E, 0x04,
0x45, 0x18, 0x04, 0x7C, 0x2B, 0x04, 0x6B, 0x25,
0x04, 0x3A, 0x14, 0x04, 0x40, 0x16, 0x04, 0x46,
0x18, 0x04, 0x75, 0x28, 0x04, 0x58, 0x1E, 0x04,
0x64, 0x22, 0x04, 0x3B, 0x14, 0x04, 0x47, 0x18,
0x04, 0x59, 0x1E, 0x04, 0x74, 0x27, 0x04, 0xAD,
0x3A, 0x04, 0xEF, 0x50, 0x04, 0x3C, 0x14, 0x04,
0xF1, 0x50, 0x04, 0xAF, 0x3A, 0x04, 0x76, 0x27,
0x04, 0x5B, 0x1E, 0x04, 0x49, 0x18, 0x04, 0x3D,
0x14, 0x04, 0x68, 0x22, 0x04, 0x5C, 0x1E, 0x04,
0x7B, 0x28, 0x04, 0x4A, 0x18, 0x04, 0x44, 0x16,
0x04, 0x3E, 0x14, 0x04, 0x73, 0x25, 0x04, 0x86,
0x2B, 0x04, 0x4B, 0x18, 0x04, 0x5E, 0x1E, 0x04,
0xDF, 0x47, 0x04, 0x3F, 0x14, 0x04, 0x78, 0x26,
0x04, 0x4C, 0x18, 0x04, 0x7F, 0x28, 0x04, 0x9C,
0x31, 0x04, 0x53, 0x1A, 0x04, 0x40, 0x14, 0x04,
0x4D, 0x18, 0x04, 0x4A, 0x17, 0x04, 0x64, 0x1F,
0x04, 0x61, 0x1E, 0x04, 0x5E, 0x1D, 0x04, 0x41,
0x14, 0x04, 0x65, 0x1F, 0x04, 0x62, 0x1E, 0x04,
0x83, 0x28, 0x04, 0x97, 0x2E, 0x04, 0x4F, 0x18,
0x04, 0x42, 0x14, 0x04, 0x56, 0x1A, 0x04, 0x88,
0x29, 0x04, 0x7B, 0x25, 0x04, 0x46, 0x15
})
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (OC01, Package (0x06)
{
0x01010000,
"CPU FSB",
0x2710,
0x9C40,
0x012D,
0x00010003
})
Name (OT00, Package (0x04)
{
0x01010000,
0x2710,
Zero,
One
})
Name (OC02, Package (0x06)
{
0x01060001,
"CPU Multiplier",
0x08,
0x18,
0x11,
0x00010003
})
Name (CPUM, Package (0x04)
{
0x01060001,
0x0A,
Zero,
Zero
})
Name (OC03, Package (0x06)
{
0x02010002,
"Memory Freq",
Zero,
Zero,
0x07,
0x00010000
})
Name (MEMO, Package (0x0B)
{
0x02010002,
0xD034,
Zero,
One,
"Auto",
"RESERVE",
"533 MHz",
"667 MHz",
"800 MHz",
"889 MHz",
"1067 MHz"
})
Name (OC04, Package (0x06)
{
0x07010003,
"PCI Express",
0x2328,
0x3A98,
0x3D,
0x00010000
})
Name (PCIO, Package (0x04)
{
0x07010003,
0x2328,
Zero,
One
})
Name (OC0A, Package (0x06)
{
0x0202000F,
"DRAM Voltage",
0x0708,
0x0992,
0x0E,
0x0001000F
})
Name (RAMV, Package (0x13)
{
0x0202000F,
0x0708,
0x02,
One,
"Auto",
"1.80V",
"1.85V",
"1.90V",
"1.95V",
"2.00V",
"2.05V",
"2.10V",
"2.15V",
"2.20V",
"2.25V",
"2.30V",
"2.35V",
"2.40V",
"2.45V"
})
Name (OC0D, Package (0x06)
{
0x0906000C,
"AI Overclock Tuner",
Zero,
0x04,
0x05,
0x00010003
})
Name (AITM, Package (0x09)
{
0x0906000C,
Zero,
One,
One,
"Manual",
"Auto",
"Standard",
"",
"AI N.O.S."
})
Name (OC0E, Package (0x06)
{
0x0806000D,
"NOS Mode",
Zero,
One,
0x02,
0x00010003
})
Name (NOSM, Package (0x06)
{
0x0806000D,
Zero,
Zero,
One,
"Auto",
"Manual"
})
Name (OC06, Package (0x06)
{
0x08050005,
"Turbo NOS",
0x67,
0x78,
0x07,
0x00010003
})
Name (AOC2, Package (0x0B)
{
0x08050005,
0x64,
Zero,
One,
"",
"103%",
"105%",
"107%",
"110%",
"115%",
"120%"
})
Name (OC0F, Package (0x06)
{
0x0806000E,
"Sensitivity",
Zero,
0x03,
0x04,
0x00010003
})
Name (SENS, Package (0x07)
{
0x0806000E,
Zero,
Zero,
One,
"Standard",
"Sensitive",
"Heavy load"
})
Name (EPTY, Package (0x04)
{
0x12345678,
0x06,
0x06,
Zero
})
Name (OBUF, Package (0x09)
{
OC01,
OC02,
OC03,
OC04,
OC06,
OC0A,
OC0D,
OC0E,
OC0F
})
Method (ASIF, 0, NotSerialized)
{
Return (MBIF)
}
Method (OCIF, 0, NotSerialized)
{
Return (OBUF)
}
Method (GPRE, 1, NotSerialized)
{
If (Arg0)
{
OCOP (0x01010000)
Store (ASB1, Index (PREB, One))
OCOP (0x01060001)
Store (ASB1, Index (PREB, 0x03))
OCOP (0x02010002)
Store (ASB1, Index (PREB, 0x05))
OCOP (0x07010003)
Store (ASB1, Index (PREB, 0x07))
OCOP (0x0202000F)
Store (ASB1, Index (PREB, 0x09))
OCOP (0x0906000C)
Store (ASB1, Index (PREB, 0x0B))
OCOP (0x0806000D)
Store (ASB1, Index (PREB, 0x0D))
OCOP (0x0806000E)
Store (ASB1, Index (PREB, 0x0F))
OCOP (0x08050005)
Store (ASB1, Index (PREB, 0x11))
}
Else
{
Store (DerefOf (Index (G3T0, 0x03)), Index (PREB, One))
Store (DerefOf (Index (G3T2, 0x03)), Index (PREB, 0x03))
Store (DerefOf (Index (G322, 0x03)), Index (PREB, 0x05))
Store (DerefOf (Index (G340, 0x03)), Index (PREB, 0x07))
Store (DerefOf (Index (G321, 0x03)), Index (PREB, 0x09))
Store (DerefOf (Index (G9T0, 0x03)), Index (PREB, 0x0B))
Store (Zero, Index (PREB, 0x0D))
Store (DerefOf (Index (G8T1, 0x03)), Index (PREB, 0x0F))
Store (DerefOf (Index (G8T2, 0x03)), Index (PREB, 0x11))
}
Return (PREB)
}
Name (PREB, Package (0x12)
{
0x01010000,
Zero,
0x01060001,
Zero,
0x02010002,
Zero,
0x07010003,
Zero,
0x0202000F,
Zero,
0x0906000C,
Zero,
0x0806000D,
Zero,
0x08050005,
Zero,
0x0806000E,
Zero
})
Method (OCOP, 1, NotSerialized)
{
Store (One, ASB0)
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, 0x01010000))
{
GIT3 (0x03010011)
Store (ASB1, Index (OT00, One))
Store (ASB1, Index (OT00, 0x02))
Return (OT00)
}
Else
{
If (LEqual (_T_0, 0x01060001))
{
GIT3 (0x03060013)
Store (ASB1, Index (CPUM, One))
Return (CPUM)
}
Else
{
If (LEqual (_T_0, 0x02010002))
{
GIT3 (0x03080031)
Store (ASB1, Index (MEMO, 0x02))
Return (MEMO)
}
Else
{
If (LEqual (_T_0, 0x07010003))
{
GIT3 (0x03810051)
Store (ASB1, Index (PCIO, 0x02))
Return (PCIO)
}
Else
{
If (LEqual (_T_0, 0x0202000F))
{
GIT3 (0x03820032)
Store (ASB1, Index (RAMV, 0x02))
Return (RAMV)
}
Else
{
If (LEqual (_T_0, 0x0906000C))
{
GIT9 (0x09080000)
Store (ASB1, Index (AITM, 0x02))
Return (AITM)
}
Else
{
If (LEqual (_T_0, 0x0806000D))
{
GIT8 (0x08080001)
If (LGreater (ASB1, Zero))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB1)
}
Store (ASB1, Index (NOSM, 0x02))
Return (NOSM)
}
Else
{
If (LEqual (_T_0, 0x0806000E))
{
GIT8 (0x08080001)
If (LGreater (ASB1, Zero))
{
Decrement (ASB1)
}
Store (ASB1, Index (SENS, 0x02))
Return (SENS)
}
Else
{
If (LEqual (_T_0, 0x08050005))
{
GIT8 (0x08080002)
Store (ASB1, Index (AOC2, 0x02))
Return (AOC2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (EPTY)
}
Name (NOSF, Zero)
Method (PROC, 3, NotSerialized)
{
Store (One, ASB0)
ShiftRight (Arg0, 0x10, Local0)
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, 0x01010000))
{
SIT3 (0x03010011, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x01060001))
{
SIT3 (0x03060013, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x02010002))
{
SIT3 (0x03080031, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x07010003))
{
SIT3 (0x03810051, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0202000F))
{
Or (Arg1, ShiftLeft (Arg2, 0x08), Local0)
Store (Local0, DBGX)
SIT3 (0x03820032, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0906000C))
{
SIT9 (0x09080000, Arg1, Arg2)
}
Else
{
If (LEqual (_T_0, 0x0806000D))
{
If (LEqual (Arg1, Zero))
{
SIT8 (0x08080001, Zero, Arg2)
Store (Zero, NOSF)
}
Else
{
Store (One, NOSF)
}
}
Else
{
If (LEqual (_T_0, 0x0806000E))
{
If (NOSF)
{
Add (Arg1, One, Local0)
SIT8 (0x08080001, Local0, Arg2)
}
}
Else
{
If (LEqual (_T_0, 0x08050005))
{
SIT8 (0x08080002, Arg1, Arg2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
Return (ASB0)
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G4T0, Package (0x04)
{
0x04060000,
" ASUS Advanced Q-Fan control",
0x40000000,
Zero
})
Name (G4T1, Package (0x0A)
{
0x04080011,
" FAN profile",
0x00100001,
0x03,
0x05,
"Disabled",
"Performance",
"Optimal",
"Silent",
"Ultra Silent"
})
Name (G4T2, Package (0x09)
{
0x04080011,
" FAN profile",
0x00100001,
0x03,
0x04,
"Disabled",
"Performance",
"Optimal",
"Silent"
})
Name (GR41, Package (0x02)
{
G4T0,
G4T1
})
Name (GR42, Package (0x02)
{
G4T0,
G4T2
})
Method (GIT4, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (GNVS (0x2780), ASB1)
}
Else
{
If (LEqual (_T_0, 0x11))
{
Store (GNVS (0x3510), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT4, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
If (LNot (LEqual (GNVS (0x3510), Arg1)))
{
SNVS (0x3510, Arg1)
Store (0x77, PAR0)
ISMI (0x88)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G5T0, Package (0x07)
{
0x05080000,
"AI Profile",
Zero,
Zero,
0x02,
"AUTO",
Zero
})
Name (GRP5, Package (0x01)
{
G5T0
})
Method (GIT5, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
Method (SIT5, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x03, ASB0)
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G6T1, Package (0x07)
{
0x06020011,
"Vcore Voltage",
0x20000000,
Zero,
0x0352,
0x02EE,
0x02
})
Name (G6T2, Package (0x07)
{
0x06030012,
"CPU Temperature",
0x20000000,
Zero,
0x0258,
0x015E,
0x02
})
Name (G6T3, Package (0x07)
{
0x06040013,
"CPU Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T4, Package (0x07)
{
0x06040073,
"Chassis Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T5, Package (0x07)
{
0x060400C3,
"Power Fan Speed",
0x20000000,
Zero,
0x0320,
0x1900,
0x02
})
Name (G6T6, Package (0x07)
{
0x06020061,
"+12V Voltage",
0x20000000,
0x2EE0,
0x27D8,
0x0E10,
0x02
})
Name (G6T7, Package (0x07)
{
0x06020062,
"+5V Voltage",
0x20000000,
0x1388,
0x1194,
0x03E8,
0x02
})
Name (G6T8, Package (0x07)
{
0x06020063,
"+3.3V Voltage",
0x20000000,
0x0CE4,
0x0B9A,
0x0294,
0x02
})
Name (G6T9, Package (0x07)
{
0x06030074,
"MB Temperature",
0x20000000,
Zero,
0x01C2,
0x01F4,
0x02
})
Name (GRP6, Package (0x09)
{
G6T1,
G6T2,
G6T3,
G6T4,
G6T5,
G6T6,
G6T7,
G6T8,
G6T9
})
Method (GIT6, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Store (0x0600, ASB1)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (0x0601, ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (0x0602, ASB1)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (0x0603, ASB1)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (0x0604, ASB1)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Store (0x0605, ASB1)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Store (0x0606, ASB1)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Store (0x0607, ASB1)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (0x0608, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
Method (SIT6, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Store (0x0600, DBG8)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (0x0601, DBG8)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (0x0602, DBG8)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (0x0603, DBG8)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (0x0604, DBG8)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Store (0x0605, DBG8)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Store (0x0606, DBG8)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Store (0x0607, DBG8)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (0x0608, DBG8)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G8T1, Package (0x09)
{
0x08080001,
"N.O.S. sensitivity",
Zero,
Zero,
0x04,
"Auto",
"Standard",
"Sensitive",
"Heavy load"
})
Name (G8T2, Package (0x0C)
{
0x08080002,
"N.O.S. profile",
Zero,
One,
0x07,
Zero,
"103%",
"105%",
"107%",
"110%",
"115%",
"120%"
})
Name (GRP8, Package (0x02)
{
G8T1,
G8T2
})
Name (TEMP, Zero)
Method (GIT8, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
Store (GNVS (0x2564), ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (GNVS (0x34EB), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
Method (SIT8, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
If (LNot (LEqual (GNVS (0x2564), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x2564, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x02))
{
If (LNot (LEqual (GNVS (0x34EB), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x34EB, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G9T0, Package (0x0A)
{
0x09080000,
"AI Tunning",
Zero,
One,
0x05,
"Manual",
"Auto",
"Standard",
Zero,
"AI N.O.S"
})
Name (GRP9, Package (0x01)
{
G9T0
})
Method (GIT9, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (GNVS (0x34E3), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
Method (SIT9, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
If (LNot (LEqual (GNVS (0x34E3), Arg1)))
{
If (And (Arg2, One))
{
SNVS (0x34E3, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GAT1, Package (0x04)
{
0x0A070001,
"Music Alarm",
Zero,
Zero
})
Name (GAT2, Package (0x04)
{
0x0A070002,
"Sunday",
Zero,
One
})
Name (GAT3, Package (0x04)
{
0x0A070003,
"Monday",
Zero,
One
})
Name (GAT4, Package (0x04)
{
0x0A070004,
"Tuesday",
Zero,
One
})
Name (GAT5, Package (0x04)
{
0x0A070005,
"Wednesday",
Zero,
One
})
Name (GAT6, Package (0x04)
{
0x0A070006,
"Thursday",
Zero,
One
})
Name (GAT7, Package (0x04)
{
0x0A070007,
"Friday",
Zero,
One
})
Name (GAT8, Package (0x04)
{
0x0A070008,
"Saturday",
Zero,
One
})
Name (GAT9, Package (0x07)
{
0x0A060009,
"Alarm Hour",
Zero,
0x0C,
Zero,
One,
0x18
})
Name (GATA, Package (0x07)
{
0x0A06000A,
"Alarm Mins",
Zero,
Zero,
Zero,
One,
0x3C
})
Name (GATB, Package (0x0A)
{
0x0A08000B,
"Music Alarm Drive",
Zero,
0x03,
0x05,
"Primary IDE Master",
"Primary IDE Slave",
"Secondary IDE Master",
"Secondary IDE Slave",
"JMicron JMB363 IDE"
})
Name (GATC, Package (0x07)
{
0x0A06000C,
"Starting Track",
Zero,
0x10,
Zero,
One,
0x20
})
Name (GATD, Package (0x08)
{
0x0A08000D,
"Repeat",
Zero,
Zero,
0x03,
"none",
"Single",
"All"
})
Name (GATE, Package (0x09)
{
0x0A08000E,
"Length",
Zero,
Zero,
0x04,
"10 mins",
"20 mins",
"30 mins",
"1 hour"
})
Name (GATF, Package (0x07)
{
0x0A06000F,
"Volume",
Zero,
0x0F,
Zero,
One,
0x20
})
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GBT0, Package (0x07)
{
0x0B060001,
"System performance",
0x00400000,
Zero,
0x03,
One,
0x04
})
Name (GRPB, Package (0x01)
{
GBT0
})
Name (VEAL, Zero)
Method (GITB, 1, NotSerialized)
{
Store (VEAL, ASB1)
}
Method (SITB, 3, NotSerialized)
{
If (LEqual (And (Arg2, 0xFFFF), One))
{
And (Arg1, 0xFFFF, VEAL)
Store (VEAL, ASB1)
Store (VEAL, PAR0)
ISMI (0x88)
}
}
}
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, One, IRA0)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, 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 (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
}
Scope (_SB)
{
Name (XCPD, Zero)
Name (XNPT, One)
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, One)
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, One)
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 (RDPE (Local0), Local1)
If (LEqual (Local1, Ones))
{
Return (Zero)
}
Else
{
If (LAnd (Local1, 0x00010000))
{
WDPE (Local0, And (Local1, 0x00010000))
Return (One)
}
Return (Zero)
}
}
}
OperationRegion (SMRG, SystemIO, 0x0400, 0x10)
Field (SMRG, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
SSTS, 8,
HSTC, 8,
HCMD, 8,
HADR, 8,
HDT0, 8,
HDT1, 8,
BLKD, 8
}
Field (SMRG, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HDTW, 16
}
Method (SCMD, 4, Serialized)
{
Store (0x05, Local0)
While (Decrement (Local0))
{
Store (0xFFFF, Local1)
While (LAnd (HSTS, Decrement (Local1)))
{
Store (0xFE, HSTS)
Stall (0x0A)
}
Store (HSTC, Local2)
Store (Arg0, HADR)
Store (Arg1, HCMD)
Store (Arg2, HDTW)
Store (Arg3, HSTC)
Store (0xFFFF, Local1)
While (Decrement (Local1))
{
If (And (HSTS, 0x0C))
{
Store (One, Local1)
}
If (LEqual (And (HSTS, 0x03), 0x02))
{
Return (HDTW)
}
Stall (0x0A)
}
Store (0x42, HSTC)
Store (0xFFFF, Local1)
While (Decrement (Local1))
{
If (And (HSTS, 0x10))
{
Store (One, Local1)
}
Stall (0x0A)
}
Store (Zero, HSTC)
}
Return (Ones)
}
Method (SBYT, 2, NotSerialized)
{
SCMD (Arg0, Arg1, Zero, 0x44)
}
Method (WBYT, 3, NotSerialized)
{
SCMD (Arg0, Arg1, Arg2, 0x48)
}
Method (WWRD, 3, NotSerialized)
{
SCMD (Arg0, Arg1, Arg2, 0x4C)
}
Method (RSBT, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (And (SCMD (Arg0, Arg1, Zero, 0x44), 0xFF))
}
Method (RBYT, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (And (SCMD (Arg0, Arg1, Zero, 0x48), 0xFF))
}
Method (RWRD, 2, NotSerialized)
{
Or (Arg0, One, Arg0)
Return (SCMD (Arg0, Arg1, Zero, 0x4C))
}
Method (RBLK, 3, NotSerialized)
{
Or (Arg0, One, Local0)
SCMD (Local0, Arg1, Arg2, 0x54)
Store (HSTC, Local0)
Store (HDT0, Local0)
Add (Local0, One, Local7)
Name (RBUF, Buffer (Local7) {})
Store (Zero, Local1)
While (Local0)
{
Store (BLKD, Index (RBUF, Local1))
Decrement (Local0)
Increment (Local1)
}
Return (RBUF)
}
Method (WBLK, 4, NotSerialized)
{
Store (HSTC, Local0)
Store (Zero, Local0)
While (LNot (LGreater (Local0, Arg2)))
{
Store (DerefOf (Index (Arg3, Local0)), BLKD)
Increment (Local0)
}
And (Arg0, 0xFE, Local0)
SCMD (Local0, Arg1, Arg2, 0x54)
}
Name (HBAS, Zero)
Name (HLBA, Zero)
Name (HDEV, Zero)
OperationRegion (REFP, SystemIO, 0x61, One)
Field (REFP, ByteAcc, NoLock, Preserve)
{
P061, 8
}
Method (FZHD, 0, NotSerialized)
{
Store (0x80, Local0)
Store (DMAX, Local1)
While (LNot (LGreater (Local0, Local1)))
{
And (Local0, 0x7F, Local3)
Store (One, Local2)
ShiftLeft (Local2, Local3, Local2)
If (LNot (And (\_SB.PCI0.HFZF, Local2)))
{
If (FZOD (Local0))
{
Or (\_SB.PCI0.HFZF, Local2, \_SB.PCI0.HFZF)
}
}
Increment (Local0)
}
}
Method (FZOD, 1, NotSerialized)
{
GHET (Arg0)
If (LEqual (HBAS, Zero))
{
Return (One)
}
If (LEqual (HDEV, Zero))
{
Return (One)
}
Store (HDEV, Local1)
And (Local1, 0x10, Local1)
If (LEqual (Local1, Zero))
{
Return (One)
}
WFCF ()
SDRV ()
Add (HBAS, 0x07, Local1)
OperationRegion (HRGS, SystemIO, Local1, One)
Field (HRGS, ByteAcc, NoLock, Preserve)
{
SREG, 8
}
Store (SREG, Local1)
And (Local1, 0x80, Local1)
If (Local1)
{
Return (Zero)
}
Add (HBAS, 0x07, Local1)
OperationRegion (HRGC, SystemIO, Local1, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0xF5, CREG)
If (WFCF ())
{
Add (HBAS, 0x07, Local0)
Store (SREG, Local1)
Return (LNot (And (Local1, One)))
}
Else
{
Return (Zero)
}
}
OperationRegion (DBGA, SystemIO, 0x80, 0x04)
Field (DBGA, DWordAcc, NoLock, Preserve)
{
DB32, 32
}
Method (GHET, 1, NotSerialized)
{
And (Arg0, 0x7F, Local0)
ShiftLeft (Local0, 0x05, Local0)
Add (Local0, HPTA, Local0)
OperationRegion (HDPT, SystemMemory, Local0, 0x20)
Field (HDPT, ByteAcc, NoLock, Preserve)
{
HP00, 16,
Offset (0x04),
HP04, 8,
Offset (0x12),
HP0C, 8
}
Store (HP00, HBAS)
Store (HP04, HLBA)
Store (HP0C, HDEV)
}
Method (SDRV, 0, NotSerialized)
{
Add (HBAS, 0x06, Local0)
OperationRegion (HRGH, SystemIO, Local0, One)
Field (HRGH, ByteAcc, NoLock, Preserve)
{
HREG, 8
}
Store (HLBA, HREG)
}
Method (WFCF, 0, NotSerialized)
{
SDRV ()
Add (HBAS, One, Local0)
OperationRegion (HRGE, SystemIO, Local0, One)
Field (HRGE, ByteAcc, NoLock, Preserve)
{
EREG, 8
}
Store (Zero, EREG)
Add (HBAS, 0x07, Local1)
OperationRegion (HRGC, SystemIO, Local1, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0x28, Local0)
While (Local0)
{
And (CREG, One, Local2)
If (Local2)
{
Return (Zero)
}
WFZF (Local1)
And (CREG, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (One)
}
Decrement (Local0)
}
Return (Zero)
}
Method (WFZF, 1, NotSerialized)
{
OperationRegion (HRGC, SystemIO, Arg0, One)
Field (HRGC, ByteAcc, NoLock, Preserve)
{
CREG, 8
}
Store (0xFFFF, Local1)
Store (CREG, Local2)
And (Local2, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (Zero)
}
While (Local1)
{
Stall (0x0F)
Decrement (Local1)
If (LEqual (Local1, Zero))
{
Return (Zero)
}
Store (CREG, Local2)
And (Local2, 0x80, Local2)
If (LEqual (Local2, Zero))
{
Return (Zero)
}
Decrement (Local1)
}
}
Scope (_SB.PCI0)
{
Name (HFZF, 0xFFFF)
Method (HWAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Zero, HFZF)
}
}
}
Scope (_SB.PCI0.SBRG.SIOR)
{
Method (HWV0, 0, NotSerialized)
{
Return (Multiply (VCOR, 0x08))
}
Method (HWV1, 0, NotSerialized)
{
Return (Multiply (V12V, 0x08))
}
Method (HWV3, 0, NotSerialized)
{
Return (Multiply (V33V, 0x08))
}
Method (HWV5, 0, NotSerialized)
{
Return (Multiply (V50V, 0x08))
}
Method (HWT0, 0, NotSerialized)
{
Store (MBTE, Local1)
Multiply (Local1, 0x0A, Local1)
Return (Local1)
}
Method (HWT1, 0, NotSerialized)
{
Store (One, BSEL)
Store (TSR1, Local1)
Multiply (Local1, 0x0A, Local1)
Store (TSR2, Local2)
Multiply (Local2, 0x05, Local2)
Add (Local1, Local2, Local1)
Return (Local1)
}
Method (HWT2, 0, NotSerialized)
{
Store (0x02, BSEL)
Store (TSR1, Local1)
Multiply (Local1, 0x0A, Local1)
Store (TSR2, Local2)
Multiply (Local2, 0x05, Local2)
Add (Local1, Local2, Local1)
Return (Local1)
}
OperationRegion (DBGE, SystemIO, 0x80, 0x04)
Field (DBGE, WordAcc, NoLock, Preserve)
{
DBGG, 22
}
Method (HWF0, 0, NotSerialized)
{
Store (FAN1, Local0)
Store (Zero, BSEL)
And (FD21, 0x20, Local1)
ShiftRight (Local1, 0x05, Local1)
Multiply (Local1, 0x04, Local1)
And (FDR1, 0x30, Local2)
ShiftRight (Local2, 0x04, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
Add (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x05, Local3)
Store (FD21, Local4)
And (Local4, 0xDF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0xCF, Local4)
ShiftLeft (Local2, 0x04, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN1, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x05, Local3)
Store (FD21, Local4)
And (Local4, 0xDF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0xCF, Local4)
ShiftLeft (Local2, 0x04, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN1, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF1, 0, NotSerialized)
{
Store (FAN2, Local0)
Store (Zero, BSEL)
And (FD21, 0x40, Local1)
ShiftRight (Local1, 0x06, Local1)
Multiply (Local1, 0x04, Local1)
And (FDR1, 0xC0, Local2)
ShiftRight (Local2, 0x06, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
Add (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x06, Local3)
Store (FD21, Local4)
And (Local4, 0xBF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0x3F, Local4)
ShiftLeft (Local2, 0x06, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN2, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x06, Local3)
Store (FD21, Local4)
And (Local4, 0xBF, Local4)
Or (Local3, Local4, FD21)
Store (FDR1, Local4)
And (Local4, 0x3F, Local4)
ShiftLeft (Local2, 0x06, Local2)
Or (Local4, One, Local4)
Or (Local4, Local2, FDR1)
Sleep (0x012C)
Store (FAN2, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF2, 0, NotSerialized)
{
Store (FAN3, Local0)
Store (Zero, BSEL)
And (FD21, 0x80, Local1)
ShiftRight (Local1, 0x07, Local1)
Multiply (Local1, 0x04, Local1)
Divide (FD13, 0x40, Local2, Local3)
Add (Local1, Local3, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD21, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD21)
Store (FD13, Local3)
And (Local3, 0x3F, Local3)
Multiply (Local2, 0x40, Local2)
Add (Local3, Local2, Local2)
Store (Local2, FD13)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (FAN3, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD21, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD21)
Store (FD13, Local3)
And (Local3, 0x3F, Local3)
Multiply (Local2, 0x40, Local2)
Add (Local3, Local2, Local2)
Store (Local2, FD13)
Sleep (0x012C)
Store (FAN3, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF3, 0, NotSerialized)
{
Store (Zero, BSEL)
Store (CFN3, Local0)
And (FD15, 0x80, Local1)
ShiftRight (Local1, 0x05, Local1)
And (FND4, 0x03, Local2)
Or (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD15, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD15)
Store (FND4, Local3)
And (Local3, 0xFC, Local3)
Add (Local3, Local2, Local2)
Store (Local2, FND4)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (CFN3, Local0)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x07, Local3)
Store (FD15, Local4)
And (Local4, 0x7F, Local4)
Or (Local3, Local4, FD15)
Store (FND4, Local3)
And (Local3, 0xFC, Local3)
Add (Local3, Local2, Local2)
Store (Local2, FND4)
Sleep (0x012C)
Store (CFN3, Local0)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
Method (HWF4, 0, NotSerialized)
{
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
And (FND4, 0x80, Local1)
ShiftRight (Local1, 0x08, Local1)
Multiply (Local1, 0x04, Local1)
And (FND4, 0x0C, Local2)
ShiftRight (Local2, 0x02, Local2)
Add (Local1, Local2, Local1)
While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero))))
{
If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
{
If (LEqual (Local0, 0xFF))
{
Store (0x07, Local1)
}
Else
{
Add (Local1, One, Local1)
}
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x08, Local3)
ShiftLeft (Local2, 0x02, Local2)
Store (FND4, Local4)
And (Local4, 0x73, Local4)
Or (Local3, Local2, Local3)
Or (Local3, Local4, FND4)
If (LNot (LEqual (Local0, 0xFF)))
{
Sleep (0x012C)
}
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
}
Else
{
Subtract (Local1, One, Local1)
Divide (Local1, 0x04, Local2, Local3)
Store (Zero, BSEL)
ShiftLeft (Local3, 0x08, Local3)
ShiftLeft (Local2, 0x02, Local2)
Store (FND4, Local4)
And (Local4, 0x73, Local4)
Or (Local3, Local2, Local3)
Or (Local3, Local4, FND4)
Sleep (0x012C)
Store (0x05, BSEL)
Store (FAN4, Local0)
Store (Zero, BSEL)
}
}
If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
{
Return (Zero)
}
If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
{
Return (0xFFFF)
}
Store (One, Local2)
While (Local1)
{
Multiply (Local2, 0x02, Local2)
Decrement (Local1)
}
Multiply (Local0, Local2, Local0)
Divide (0x00149970, Local0, Local1, Local0)
Return (Local0)
}
OperationRegion (HWRE, SystemIO, IOHW, 0x0A)
Field (HWRE, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HIDX, 8,
HDAT, 8
}
IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
CHNM, 1,
CFNM, 1,
CHNS, 2,
CFNS, 2,
Offset (0x05),
SYST, 8,
TRGT, 8,
Offset (0x08),
SSDN, 8,
CSDN, 8,
SSUP, 8,
CSUP, 8,
Offset (0x20),
VCOR, 8,
V12V, 8,
Offset (0x23),
V33V, 8,
Offset (0x25),
V50V, 8,
Offset (0x27),
MBTE, 8,
FAN1, 8,
FAN2, 8,
FAN3, 8,
Offset (0x3F),
CFN3, 8,
Offset (0x47),
FDR1, 8,
Offset (0x4B),
FD13, 8,
FD15, 8,
Offset (0x4E),
BSEL, 3,
Offset (0x4F),
Offset (0x50),
TSR1, 8,
, 7,
TSR2, 1,
Offset (0x53),
FAN4, 8,
Offset (0x59),
FND4, 8,
Offset (0x5D),
FD21, 8
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (CORV, Package (0x05)
{
0x06020000,
"Vcore Voltage",
0x0352,
0x0640,
One
})
Name (V3VV, Package (0x05)
{
0x06020001,
" +3.3 Voltage",
0x0B9A,
0x0E2E,
One
})
Name (V5VV, Package (0x05)
{
0x06020002,
" +5 Voltage",
0x1194,
0x157C,
One
})
Name (VV12, Package (0x05)
{
0x06020003,
" +12 Voltage",
0x27D8,
0x35E8,
One
})
Name (VPAR, Package (0x04)
{
Package (0x03)
{
Zero,
One,
Zero
},
Package (0x03)
{
0x22,
0x22,
Zero
},
Package (0x03)
{
0x16,
0x0A,
Zero
},
Package (0x03)
{
0x38,
0x0A,
Zero
}
})
Name (VBUF, Package (0x05)
{
0x04,
CORV,
V3VV,
V5VV,
VV12
})
Method (VGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWV0 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWV3 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWV5 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWV1 ())
}
}
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, Zero))
{
Return (^^SIOR.HWT1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWT0 ())
}
}
Name (CPUF, Package (0x05)
{
0x06040000,
"CPU FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHF1, Package (0x05)
{
0x06040001,
"CHASSIS1 FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHF2, Package (0x05)
{
0x06040002,
"CHASSIS2 FAN Speed",
0x04B0,
0x1C20,
0x00010001
})
Name (CHF3, Package (0x05)
{
0x06040003,
"CHASSIS3 FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (PWRF, Package (0x05)
{
0x06040004,
"POWER FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (FBUF, Package (0x06)
{
0x05,
CPUF,
CHF1,
CHF2,
CHF3,
PWRF
})
Method (FGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWF1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWF0 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWF4 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWF3 ())
}
If (LEqual (Arg0, 0x04))
{
Return (^^SIOR.HWF2 ())
}
}
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)), Zero)), Local2)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), 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, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (VBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, Local0)), One))
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 (One)
}
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, Zero)), 0xFFFF), Local0)
Store (DerefOf (Index (TBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, Local0)), One))
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 (One)
}
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, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (FBUF, Zero)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF, Local0)), One))
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 (One)
}
}
Scope (_SB.PCI0)
{
Device (GFX0)
{
Name (_ADR, 0x00020000)
OperationRegion (IGDM, SystemMemory, 0x3EE9E0E4, 0x2000)
Field (IGDM, AnyAcc, NoLock, Preserve)
{
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
Offset (0xF0),
IBTT, 4,
IPSC, 2,
IPAT, 4,
IBIA, 3,
IBLC, 2,
Offset (0xF2),
ITVF, 4,
ITVM, 4,
IDVM, 1,
IDVS, 2,
ISSC, 1,
Offset (0xF4),
Offset (0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset (0x204),
PARM, 32
}
OperationRegion (TCOI, SystemIO, TOBS, 0x08)
Field (TCOI, WordAcc, NoLock, Preserve)
{
Offset (0x04),
, 9,
SCIS, 1,
Offset (0x06)
}
Method (GSCI, 0, NotSerialized)
{
If (LEqual (GEFC, 0x04))
{
Store (GBDA (), GXFC)
}
If (LEqual (GEFC, 0x06))
{
Store (SBCB (), GXFC)
}
Store (One, SCIS)
Store (Zero, GEFC)
Store (Zero, GSSE)
Store (Zero, SCIE)
Return (Zero)
}
Method (GBDA, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x037B, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x04))
{
Name (LOOP, Zero)
And (PARM, 0xFFFFFF00, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x05))
{
Store (IPSC, PARM)
Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
Add (PARM, 0x0100, PARM)
Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
XOr (PARM, 0x00010000, PARM)
Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x06))
{
Store (ITVF, PARM)
Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x07))
{
Name (MEMS, 0x0D)
Store (GIVD, PARM)
XOr (PARM, One, PARM)
Or (PARM, ShiftLeft (GMFN, One), PARM)
Or (PARM, 0x1000, PARM)
Or (ShiftLeft (CDCT, 0x15), PARM, PARM)
If (LEqual (IDVM, One))
{
Store (0x11, MEMS)
}
If (LLess (TASM, M512))
{
Or (PARM, ShiftLeft (One, MEMS), PARM)
}
Else
{
If (LLess (TASM, M1GB))
{
If (LLess (IDVS, 0x03))
{
Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
}
Else
{
Or (PARM, ShiftLeft (0x02, MEMS), PARM)
}
}
Else
{
Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
}
}
Store (One, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0A))
{
Store (Zero, PARM)
If (ISSC)
{
Or (0x03, PARM)
}
Store (Zero, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (CRIT)
}
Method (SBCB, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x20, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x03))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x04))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x05))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x06))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0x0F, ITVF)
And (PARM, 0xF0, ITVM)
Store (Zero, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (NVLD)
}
If (LEqual (GESF, 0x07))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x08))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x09))
{
Store (CRIT, GXFC)
Return (Zero)
}
If (LEqual (GESF, 0x0A))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0xFF, IPSC)
Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT)
And (ShiftRight (PARM, 0x12), 0x03, IBLC)
And (ShiftRight (PARM, 0x14), 0x07, IBIA)
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0B))
{
If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02))
{
And (ShiftRight (PARM, 0x0D), 0x0F, Local0)
And (ShiftRight (PARM, 0x11), 0x0F, Local1)
If (Local0)
{
Store (Zero, IDVM)
Store (Local0, IDVS)
}
If (Local1)
{
Store (One, IDVM)
Store (Local1, IDVS)
}
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x10))
{
Store (Zero, GESF)
Return (CRIT)
}
If (LEqual (GESF, 0x11))
{
Or (PARM, ShiftLeft (LIDS, 0x08), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x12))
{
And (PARM, One, ISSC)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x13))
{
Store (Zero, GESF)
Return (CRIT)
}
Store (Zero, GESF)
Return (CRIT)
}
Scope (^^PCI0)
{
OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
Field (MCHP, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
TASM, 10,
Offset (0x62)
}
}
OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
Field (IGDP, AnyAcc, NoLock, Preserve)
{
Offset (0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset (0x14),
, 4,
GMFN, 1,
Offset (0x18),
Offset (0x8C),
CDCT, 10,
Offset (0x8E),
Offset (0xA8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset (0xBC),
ASLS, 32
}
Name (M512, 0x08)
Name (M1GB, 0x10)
Scope (\_GPE)
{
Method (_L06, 0, NotSerialized)
{
\_SB.PCI0.GFX0.GSCI ()
}
}
Name (OPBS, 0xFFFFFF00)
Method (OPTS, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (ASLS, OPBS)
}
}
Method (OWAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (OPBS, ASLS)
Store (One, GSES)
}
}
}
}
Scope (_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x00FF, // Address Range Maximum
0x0000, // Address Translation Offset
0x0100, // Address Length
,,)
IO (Decode16,
0x0CF8, // Address Range Minimum
0x0CF8, // Address Range Maximum
0x01, // Address Alignment
0x08, // Address Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x0CF7, // Address Range Maximum
0x0000, // Address Translation Offset
0x0CF8, // Address Length
,,, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0D00, // Address Range Minimum
0xFFFF, // Address Range Maximum
0x0000, // Address Translation Offset
0xF300, // Address Length
,,, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000A0000, // Address Range Minimum
0x000BFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00020000, // Address Length
,,, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000C0000, // Address Range Minimum
0x000DFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00020000, // Address Length
,,, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x00000000, // Address Range Minimum
0x00000000, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00000000, // Address Length
,,, AddressRangeMemory, TypeStatic)
})
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, Zero)
Name (WSSB, Zero)
Name (WAXB, Zero)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
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 (GNVS (0x8370)) {}
Else
{
Notify (\_SB.PWRB, 0x02)
}
If (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, Zero)))
{
Store (Zero, Index (WAKP, One))
}
Else
{
Store (Arg0, Index (WAKP, One))
}
Return (WAKP)
}
OperationRegion (IORK, SystemIO, 0xB3, One)
Field (IORK, ByteAcc, NoLock, Preserve)
{
IOWK, 8
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (SS1)
{
Name (_S1, Package (0x04)
{
One,
Zero,
Zero,
Zero
})
}
If (SS3)
{
Name (_S3, Package (0x04)
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04)
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04)
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
\_SB.PCI0.NPTS (Arg0)
\_SB.PCI0.SBRG.SPTS (Arg0)
\_SB.PCI0.GFX0.OPTS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.HWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
\_SB.PCI0.GFX0.OWAK (Arg0)
}
}
-------------- next part --------------
/*
RSD PTR: OEM=ACPIAM, ACPI_Rev=2.0x (2)
XSDT=0x3ee90100, length=36, cksum=180
*/
/*
XSDT: Length=84, Revision=1, Checksum=230,
OEMID=A M I, OEM Table ID=OEMXSDT, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Entries={ 0x3ee90290, 0x3ee90390, 0x3ee90400, 0x3ee9e040, 0x3ee99bb0, 0x3ee9e0c0 }
*/
/*
FACP: Length=244, Revision=3, Checksum=94,
OEMID=A M I, OEM Table ID=OEMFACP, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
FACS=0x3ee9e000, DSDT=0x3ee90440
INT_MODEL=APIC
Preferred_PM_Profile=Desktop (1)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0
PSTATE_CNT=0xe2
PM1a_EVT_BLK=0x800-0x803
PM1a_CNT_BLK=0x804-0x805
PM_TMR_BLK=0x808-0x80b
GPE0_BLK=0x828-0x82f
CST_CNT=0xe3
P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
FLUSH_SIZE=1024, FLUSH_STRIDE=16
DUTY_OFFSET=1, DUTY_WIDTH=0
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH={LEGACY_DEV,8042}
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
X_FACS=0x3ee9e000, X_DSDT=0x3ee90440
X_PM1a_EVT_BLK=0x800:0[32] (IO)
X_PM1a_CNT_BLK=0x804:0[16] (IO)
X_PM_TMR_BLK=0x808:0[32] (IO)
X_GPE0_BLK=0x828:0[64] (IO)
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=1
*/
/*
DSDT: Length=38763, Revision=1, Checksum=63,
OEMID=A0579, OEM Table ID=A0579000, OEM Revision=0x0,
Creator ID=INTL, Creator Revision=0x20060113
*/
/*
APIC: Length=108, Revision=1, Checksum=33,
OEMID=A M I, OEM Table ID=OEMAPIC, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=2
Flags={ENABLED}
APIC ID=1
Type=Local APIC
ACPI CPU=3
Flags={DISABLED}
APIC ID=130
Type=Local APIC
ACPI CPU=4
Flags={DISABLED}
APIC ID=131
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
*/
/*
MCFG: Length=60, Revision=1, Checksum=137,
OEMID=A M I, OEM Table ID=OEMMCFG, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
HPET: Length=56, Revision=1, Checksum=159,
OEMID=A M I, OEM Table ID=OEMHPET, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
HPET Number=0
ADDR=0x00000800
HW Rev=0x2
Comparitors=2
Counter Size=1
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x8086
Minimal Tick=14318
*/
/*
GSCI: Length=8228, Revision=1, Checksum=58,
OEMID=A M I, OEM Table ID=GMCHSCI, OEM Revision=0x10000602,
Creator ID=MSFT, Creator Revision=0x97
*/
More information about the freebsd-acpi
mailing list