Enhanced SpeedStep hosed in -current ?
Poul-Henning Kamp
phk at phk.freebsd.dk
Sun Mar 16 15:33:20 PDT 2008
It looks like my laptop runs full speed at all times, no matter what
powerd or I may desire.
Looks like the EST driver is (suddenly ?) not happy about the system.
sysctl, dmesg & acpidump included.
Poul-Henning
PS: the pcib3 message in dmesg also looks bogus ?
dev.est.0.%desc: Enhanced SpeedStep Frequency Control
dev.est.0.%driver: est
dev.est.0.%parent: cpu0
dev.est.0.freq_settings: 2000/31000 1667/25000 1000/13000
dev.est.1.%desc: Enhanced SpeedStep Frequency Control
dev.est.1.%driver: est
dev.est.1.%parent: cpu1
dev.est.1.freq_settings: 1667/25000 1000/13000
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 125
dev.cpu.0.freq_levels: 2000/31000 1750/27125 1667/25000 1458/21875 1250/18750 1041/15625 1000/13000 875/11375 750/9750 625/8125 500/6500 375/4875 250/3250 125/1625
dev.cpu.0.cx_supported: C1/1 C2/1 C3/17
dev.cpu.0.cx_lowest: C3
dev.cpu.0.cx_usage: 0.00% 21.12% 78.87%
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.1.cx_supported: C1/1 C2/1 C3/17
dev.cpu.1.cx_lowest: C3
dev.cpu.1.cx_usage: 0.00% 74.18% 25.81%
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #2: Sun Mar 16 19:26:33 UTC 2008
root at critter.freebsd.dk:/freebsd/src/sys/i386/compile/C5
Preloaded elf kernel "/boot/kx/kernel" at 0xc0910000.
Preloaded elf module "/boot/kx/acpi.ko" at 0xc09101e0.
Calibrating clock(s) ... i8254 clock: 1193198 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 1995019896 Hz
CPU: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz (1995.02-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xe3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
Cores per package: 2
Instruction TLB: 4 KB Pages, 4-way set associative, 128 entries
1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size
1st-level data cache: 32 KB, 8-way set associative, 64 byte line size
L2 cache: 4096 kbytes, 16-way associative, 64 bytes/line
real memory = 2137260032 (2038 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000000c25000 - 0x000000007d418fff, 2088714240 bytes (509940 pages)
avail memory = 2088230912 (1991 MB)
Table 'FACP' at 0x7f64ff8c
Table 'SSDT' at 0x7f64e7a4
Table 'MCFG' at 0x7f64ea09
Table 'SSDT' at 0x7f64ea45
Table 'SSDT' at 0x7f64f5f5
Table 'APIC' at 0x7f64fd4e
MADT: Found table at 0x7f64fd4e
APIC: Using the MADT enumerator.
MADT: Found CPU APIC ID 0 ACPI ID 0: enabled
SMP: Added CPU 0 (AP)
MADT: Found CPU APIC ID 1 ACPI ID 1: enabled
SMP: Added CPU 1 (AP)
ACPI APIC Table: <FUJ FJNB1B5 >
INTR: Adding local APIC 1 as a target
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
bios32: Found BIOS32 Service Directory header at 0xc00f5720
bios32: Entry = 0xfdbf4 (c00fdbf4) Rev = 0 Len = 1
pcibios: PCI BIOS entry at 0xfdbe0+0x10
pnpbios: Found PnP BIOS data at 0xc00f57f0
pnpbios: Entry = f0000:b9ba Rev = 1.0
Other BIOS signatures found:
APIC: CPU 0 has ACPI ID 0
APIC: CPU 1 has ACPI ID 1
ULE: setup cpu 0
ULE: setup cpu 1
ACPI: RSDP @ 0x0xf5770/0x0014 (v 0 FUJ )
ACPI: RSDT @ 0x0x7f6478d8/0x0048 (v 1 FSC PC 0x01300000 FUJ 0x00000100)
ACPI: FACP @ 0x0x7f64ff8c/0x0074 (v 1 FSC PC 0x01300000 FUJ 0x00000100)
ACPI: DSDT @ 0x0x7f647930/0x6E74 (v 1 FUJ FJNB1B5 0x01300000 MSFT 0x0100000E)
ACPI: FACS @ 0x0x7f650fc0/0x0040
ACPI: SSDT @ 0x0x7f64e7a4/0x0265 (v 1 FUJ FJNB1B5 0x01300000 MSFT 0x0100000E)
ACPI: MCFG @ 0x0x7f64ea09/0x003C (v 1 FUJ FJNB1B5 0x01300000 FUJ 0x00000100)
ACPI: SSDT @ 0x0x7f64ea45/0x04DC (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
ACPI: SSDT @ 0x0x7f64f5f5/0x0759 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
ACPI: APIC @ 0x0x7f64fd4e/0x0068 (v 1 FUJ FJNB1B5 0x01300000 LTP 0x00000000)
ACPI: HPET @ 0x0x7f64fdb6/0x0038 (v 1 FUJ FJNB1B5 0x01300000 FUJ 0x00000100)
ACPI: BOOT @ 0x0x7f64fdee/0x0028 (v 1 FUJ FJNB1B5 0x01300000 FUJ 0x00000100)
ACPI: SLIC @ 0x0x7f64fe16/0x0176 (v 1 FSC PC 0x01300000 FSC 0x00000100)
MADT: Found IO APIC ID 2, Interrupt 0 at 0xfec00000
ioapic0: Routing external 8259A's -> intpin 0
lapic0: Routing NMI -> LINT1
lapic0: LINT1 trigger: edge
lapic0: LINT1 polarity: high
lapic1: Routing NMI -> LINT1
lapic1: LINT1 trigger: edge
lapic1: LINT1 polarity: high
MADT: Interrupt override: source 0, irq 2
ioapic0: Routing IRQ 0 -> intpin 2
MADT: Interrupt override: source 9, irq 9
ioapic0: intpin 9 trigger: level
ioapic0 <Version 2.0> irqs 0-23 on motherboard
cpu0 BSP:
ID: 0x00000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff
lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
timer: 0x000100ef therm: 0x00010000 err: 0x00010000 pcm: 0x00010000
wlan_amrr: <AMRR Transmit Rate Control Algorithm>
wlan: <802.11 Link Layer>
ath_rate: version 1.2 <SampleRate bit-rate selection algorithm>
io: <I/O>
null: <null device, zero device>
VESA: information block
56 45 53 41 00 03 00 01 00 01 01 00 00 00 40 00
00 01 7b 00 00 01 43 01 00 01 55 01 00 01 89 01
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
VESA: 12 mode(s) found
VESA: v3.0, 7872k memory, flags:0x1, mode table:0xc0802820 (1000040)
VESA: Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS
VESA: Intel Corporation Intel(r) 82945GM Chipset Family Graphics Controller Hardware Version 0.0
kbd: new array size 4
kbd1 at kbdmux0
random: <entropy source, Software, Yarrow>
nfslock: pseudo-device
mem: <memory>
Pentium Pro MTRR support enabled
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
npx0: INT 16 interface
acpi0: <FSC PC> on motherboard
ioapic0: routing intpin 9 (ISA IRQ 9) to vector 48
acpi0: [MPSAFE]
acpi0: [ITHREAD]
ACPI: SSDT @ 0x0x7f6505c3/0x0893 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
acpi0: Power Button (fixed)
acpi0: wakeup code va 0xd8a71000 pa 0x1000
pci_open(1): mode 1 addr port (0x0cf8) is 0x8000fa20
pci_open(1a): mode1res=0x80000000 (0x80000000)
pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=27a08086)
pcibios: BIOS_PRESENT call failed
AcpiOsDerivePciId: \\_SB_.PCI0.HBUS -> bus 0 dev 0 func 0
AcpiOsDerivePciId: \\_SB_.PCI0.LPCB.LPC0 -> bus 0 dev 31 func 0
acpi_hpet0: vend: 0x8086 rev: 0x1 num: 2 hz: 14318180 opts: legacy_route 64-bit
Timecounter "HPET" frequency 14318180 Hz quality 900
ACPI timer: 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/2 1/1 1/1 -> 10
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x17> port 0x62,0x66 on acpi0
pci_link0: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 10 12 14 15
Validation 0 255 N 0 1 3 4 5 6 7 10 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 10 12 14 15
pci_link1: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 11 12 14 15
Validation 0 11 N 0 1 3 4 5 6 7 11 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 11 12 14 15
pci_link2: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 10 12 14 15
Validation 0 255 N 0 1 3 4 5 6 7 10 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 10 12 14 15
pci_link3: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 11 12 14 15
Validation 0 11 N 0 1 3 4 5 6 7 11 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 11 12 14 15
pci_link4: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 10 12 14 15
Validation 0 255 N 0 1 3 4 5 6 7 10 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 10 12 14 15
pci_link5: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 11 12 14 15
Validation 0 11 N 0 1 3 4 5 6 7 11 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 11 12 14 15
pci_link6: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 1 3 4 5 6 7 10 12 14 15
Validation 0 255 N 0 1 3 4 5 6 7 10 12 14 15
After Disable 0 255 N 0 1 3 4 5 6 7 10 12 14 15
pci_link7: Index IRQ Rtd Ref IRQs
Initial Probe 0 11 N 0 3 4 5 6 7 11 12 14 15
Validation 0 11 N 0 3 4 5 6 7 11 12 14 15
After Disable 0 255 N 0 3 4 5 6 7 11 12 14 15
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: domain=0, physical bus=0
found-> vendor=0x8086, dev=0x27a0, revid=0x03
domain=0, bus=0, slot=0, func=0
class=06-00-00, hdrtype=0x00, mfdev=0
cmdreg=0x0106, statreg=0x2090, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found-> vendor=0x8086, dev=0x27a2, revid=0x03
domain=0, bus=0, slot=2, func=0
class=03-00-00, hdrtype=0x00, mfdev=1
cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message
map[10]: type Memory, range 32, base 0xf0200000, size 19, enabled
map[14]: type I/O Port, range 32, base 0x1800, size 3, enabled
map[18]: type Prefetchable Memory, range 32, base 0xe0000000, size 28, enabled
map[1c]: type Memory, range 32, base 0xf0300000, size 18, enabled
pcib0: matched entry for 0.2.INTA
pcib0: slot 2 INTA hardwired to IRQ 16
found-> vendor=0x8086, dev=0x27a6, revid=0x03
domain=0, bus=0, slot=2, func=1
class=03-80-00, hdrtype=0x00, mfdev=1
cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
powerspec 2 supports D0 D3 current D0
map[10]: type Memory, range 32, base 0xf0280000, size 19, enabled
found-> vendor=0x8086, dev=0x27d8, revid=0x02
domain=0, bus=0, slot=27, func=0
class=04-03-00, hdrtype=0x00, mfdev=0
cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message, 64 bit
map[10]: type Memory, range 64, base 0xf0540000, size 14, enabled
pcib0: matched entry for 0.27.INTA
pcib0: slot 27 INTA hardwired to IRQ 17
found-> vendor=0x8086, dev=0x27d0, revid=0x02
domain=0, bus=0, slot=28, func=0
class=06-04-00, hdrtype=0x01, mfdev=1
cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message
pcib0: matched entry for 0.28.INTA
pcib0: slot 28 INTA hardwired to IRQ 22
found-> vendor=0x8086, dev=0x27d2, revid=0x02
domain=0, bus=0, slot=28, func=1
class=06-04-00, hdrtype=0x01, mfdev=1
cmdreg=0x0000, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns)
intpin=b, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message
pcib0: matched entry for 0.28.INTB
pcib0: slot 28 INTB hardwired to IRQ 21
found-> vendor=0x8086, dev=0x27d4, revid=0x02
domain=0, bus=0, slot=28, func=2
class=06-04-00, hdrtype=0x01, mfdev=1
cmdreg=0x0000, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns)
intpin=c, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message
pcib0: matched entry for 0.28.INTC
pcib0: slot 28 INTC hardwired to IRQ 20
found-> vendor=0x8086, dev=0x27c8, revid=0x02
domain=0, bus=0, slot=29, func=0
class=0c-03-00, hdrtype=0x00, mfdev=1
cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
map[20]: type I/O Port, range 32, base 0x1820, size 5, enabled
pcib0: matched entry for 0.29.INTA
pcib0: slot 29 INTA hardwired to IRQ 23
found-> vendor=0x8086, dev=0x27c9, revid=0x02
domain=0, bus=0, slot=29, func=1
class=0c-03-00, hdrtype=0x00, mfdev=0
cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=b, irq=11
map[20]: type I/O Port, range 32, base 0x1840, size 5, enabled
pcib0: matched entry for 0.29.INTB
pcib0: slot 29 INTB hardwired to IRQ 20
found-> vendor=0x8086, dev=0x27ca, revid=0x02
domain=0, bus=0, slot=29, func=2
class=0c-03-00, hdrtype=0x00, mfdev=0
cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=c, irq=11
map[20]: type I/O Port, range 32, base 0x1860, size 5, enabled
pcib0: matched entry for 0.29.INTC
pcib0: slot 29 INTC hardwired to IRQ 18
found-> vendor=0x8086, dev=0x27cb, revid=0x02
domain=0, bus=0, slot=29, func=3
class=0c-03-00, hdrtype=0x00, mfdev=0
cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=d, irq=11
map[20]: type I/O Port, range 32, base 0x1880, size 5, enabled
pcib0: matched entry for 0.29.INTD
pcib0: slot 29 INTD hardwired to IRQ 16
found-> vendor=0x8086, dev=0x27cc, revid=0x02
domain=0, bus=0, slot=29, func=7
class=0c-03-20, hdrtype=0x00, mfdev=0
cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D3 current D0
map[10]: type Memory, range 32, base 0xf0544000, size 10, enabled
pcib0: matched entry for 0.29.INTA
pcib0: slot 29 INTA hardwired to IRQ 23
found-> vendor=0x8086, dev=0x2448, revid=0xe2
domain=0, bus=0, slot=30, func=0
class=06-04-01, hdrtype=0x01, mfdev=0
cmdreg=0x0007, statreg=0x0010, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns)
found-> vendor=0x8086, dev=0x27b9, revid=0x02
domain=0, bus=0, slot=31, func=0
class=06-01-00, hdrtype=0x00, mfdev=1
cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found-> vendor=0x8086, dev=0x27df, revid=0x02
domain=0, bus=0, slot=31, func=1
class=01-01-8a, hdrtype=0x00, mfdev=0
cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=255
map[20]: type I/O Port, range 32, base 0x1810, size 4, enabled
found-> vendor=0x8086, dev=0x27c4, revid=0x02
domain=0, bus=0, slot=31, func=2
class=01-01-8f, hdrtype=0x00, mfdev=0
cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=b, irq=11
powerspec 2 supports D0 D3 current D0
map[10]: type I/O Port, range 32, base 0x18d0, size 3, enabled
map[14]: type I/O Port, range 32, base 0x18c4, size 2, enabled
map[18]: type I/O Port, range 32, base 0x18c8, size 3, enabled
map[1c]: type I/O Port, range 32, base 0x18c0, size 2, enabled
map[20]: type I/O Port, range 32, base 0x18b0, size 4, enabled
map[24]: type Memory, range 32, base 0xf0544400, size 10, enabled
pcib0: matched entry for 0.31.INTB
pcib0: slot 31 INTB hardwired to IRQ 19
found-> vendor=0x8086, dev=0x27da, revid=0x02
domain=0, bus=0, slot=31, func=3
class=0c-05-00, hdrtype=0x00, mfdev=0
cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=b, irq=11
map[20]: type I/O Port, range 32, base 0x18e0, size 5, enabled
pcib0: matched entry for 0.31.INTB
pcib0: slot 31 INTB hardwired to IRQ 19
vgapci0: <VGA-compatible display> port 0x1800-0x1807 mem 0xf0200000-0xf027ffff,0xe0000000-0xefffffff,0xf0300000-0xf033ffff irq 16 at device 2.0 on pci0
agp0: <Intel 82945GM (945GM GMCH) SVGA controller> on vgapci0
vgapci0: Reserved 0x10000000 bytes for rid 0x18 type 3 at 0xe0000000
vgapci0: Reserved 0x80000 bytes for rid 0x10 type 3 at 0xf0200000
vgapci0: Reserved 0x40000 bytes for rid 0x1c type 3 at 0xf0300000
agp0: detected 7932k stolen memory
agp0: aperture size is 256M
vgapci1: <VGA-compatible display> mem 0xf0280000-0xf02fffff at device 2.1 on pci0
pci0: <multimedia> at device 27.0 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 22 at device 28.0 on pci0
pcib1: domain 0
pcib1: secondary bus 2
pcib1: subordinate bus 2
pcib1: I/O decode 0x2000-0x2fff
pcib1: memory decode 0xf0000000-0xf00fffff
pcib1: no prefetched decode
pci2: <ACPI PCI bus> on pcib1
pci2: domain=0, physical bus=2
found-> vendor=0x11ab, dev=0x4363, revid=0x12
domain=0, bus=2, slot=0, func=0
class=02-00-00, hdrtype=0x00, mfdev=0
cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 3 supports D0 D1 D2 D3 current D0
MSI supports 1 message, 64 bit
map[10]: type Memory, range 64, base 0xf0000000, size 14, enabled
pcib1: requested memory range 0xf0000000-0xf0003fff: good
map[18]: type I/O Port, range 32, base 0x2000, size 8, enabled
pcib1: requested I/O range 0x2000-0x20ff: in range
pcib1: matched entry for 2.0.INTA
pcib1: slot 0 INTA hardwired to IRQ 16
mskc0: <Marvell Yukon 88E8055 Gigabit Ethernet> port 0x2000-0x20ff mem 0xf0000000-0xf0003fff irq 16 at device 0.0 on pci2
mskc0: Reserved 0x4000 bytes for rid 0x10 type 3 at 0xf0000000
mskc0: MSI count : 1
mskc0: attempting to allocate 1 MSI vectors (1 supported)
msi: routing MSI IRQ 256 to vector 49
mskc0: using IRQ 256 for MSI
mskc0: RAM buffer size : 128KB
mskc0: Port 0 : Rx Queue 85KB(0x00000000:0x000153ff)
mskc0: Port 0 : Tx Queue 43KB(0x00015400:0x0001ffff)
msk0: <Marvell Technology Group Ltd. Yukon EC Ultra Id 0xb4 Rev 0x02> on mskc0
msk0: bpf attached
msk0: Ethernet address: 00:17:42:42:cd:7a
miibus0: <MII bus> on msk0
e1000phy0: <Marvell 88E1149 Gigabit PHY> PHY 0 on miibus0
e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
mskc0: [MPSAFE]
mskc0: [FILTER]
pcib2: <ACPI PCI-PCI bridge> irq 21 at device 28.1 on pci0
pcib2: domain 0
pcib2: secondary bus 3
pcib2: subordinate bus 4
pcib2: I/O decode 0x0-0x0
pcib2: no prefetched decode
pci3: <ACPI PCI bus> on pcib2
pci3: domain=0, physical bus=3
pcib3: <ACPI PCI-PCI bridge> irq 20 at device 28.2 on pci0
pcib3: domain 0
pcib3: secondary bus 5
pcib3: subordinate bus 5
pcib3: I/O decode 0x0-0x0
pcib3: no prefetched decode
pci5: <ACPI PCI bus> on pcib3
pci5: domain=0, physical bus=5
found-> vendor=0x8086, dev=0x4222, revid=0x02
domain=0, bus=5, slot=0, func=0
class=02-80-00, hdrtype=0x00, mfdev=0
cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D3 current D0
MSI supports 1 message, 64 bit
map[10]: type Memory, range 32, base 0xf0100000, size 12, enabled
pcib3: requested unsupported memory range 0xf0100000-0xf0100fff (decoding 0-0, 0-0)
pcib3: matched entry for 5.0.INTA
pcib3: slot 0 INTA hardwired to IRQ 18
pci5: <network> at device 0.0 (no driver attached)
pci0: <serial bus, USB> at device 29.0 (no driver attached)
pci0: <serial bus, USB> at device 29.1 (no driver attached)
pci0: <serial bus, USB> at device 29.2 (no driver attached)
pci0: <serial bus, USB> at device 29.3 (no driver attached)
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pcib4: domain 0
pcib4: secondary bus 8
pcib4: subordinate bus 9
pcib4: I/O decode 0xf000-0xfff
pcib4: no prefetched decode
pcib4: Subtractively decoded bridge.
pci8: <ACPI PCI bus> on pcib4
pci8: domain=0, physical bus=8
found-> vendor=0x1217, dev=0x7134, revid=0x21
domain=0, bus=8, slot=3, func=0
class=06-07-00, hdrtype=0x02, mfdev=1
cmdreg=0x0007, statreg=0x0410, cachelnsz=0 (dwords)
lattimer=0x40 (1920 ns), mingnt=0xc0 (48000 ns), maxlat=0x00 (0 ns)
intpin=a, irq=11
powerspec 2 supports D0 D1 D2 D3 current D0
map[10]: type Memory, range 32, base 0, size 12, enabled
pcib4: matched entry for 8.3.INTA
pcib4: slot 3 INTA hardwired to IRQ 16
cbb0: <PCI-CardBus Bridge> irq 16 at device 3.0 on pci8
pcib4: cbb0 requested memory range 0x0-0xffffffff: good
cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0x80000000
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
ioapic0: routing intpin 16 (PCI IRQ 16) to vector 50
cbb0: [MPSAFE]
cbb0: [ITHREAD]
cbb0: PCI Configuration space:
0x00: 0x71341217 0x04100007 0x06070021 0x00824000
0x10: 0x80000000 0x020000a0 0x20090908 0xfffff000
0x20: 0x00000000 0xfffff000 0x00000000 0x0000fffd
0x30: 0x00000001 0x0000fffd 0x00000001 0x04400110
0x40: 0x131e10cf 0x00000001 0x00000000 0x00000000
0x50: 0x00000000 0x00000000 0x00000000 0x00000000
0x60: 0x00000000 0x00000000 0x00000000 0x00000000
0x70: 0x00000000 0x00000000 0x00000000 0x00000000
0x80: 0x00000000 0x00000000 0x00000000 0x01001002
0x90: 0x00052406 0x00000000 0x00000000 0x00000000
0xa0: 0xfe020001 0x00c04000 0x00000000 0x0000001f
0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
0xd0: 0x09006100 0x818203ea 0x00000000 0x00480018
0xe0: 0x00820000 0x000b101b 0x00000000 0x00000000
0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x1810
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
ioapic0: routing intpin 14 (ISA IRQ 14) to vector 51
ata0: [MPSAFE]
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=00 ostat0=ff ostat1=ff
ioapic0: routing intpin 15 (ISA IRQ 15) to vector 52
ata1: [MPSAFE]
ata1: [ITHREAD]
atapci1: <Intel ICH7M SATA300 controller> port 0x18d0-0x18d7,0x18c4-0x18c7,0x18c8-0x18cf,0x18c0-0x18c3,0x18b0-0x18bf mem 0xf0544400-0xf05447ff irq 19 at device 31.2 on pci0
atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0x18b0
ioapic0: routing intpin 19 (PCI IRQ 19) to vector 53
atapci1: [MPSAFE]
atapci1: [ITHREAD]
pci0: child atapci1 requested type 4 for rid 0x24, but the BAR says it is an memio
ata2: <ATA channel 0> on atapci1
atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0x18d0
atapci1: Reserved 0x4 bytes for rid 0x14 type 4 at 0x18c4
ata2: reset tp1 mask=03 ostat0=50 ostat1=00
ata2: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata2: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata2: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata2: [MPSAFE]
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
atapci1: Reserved 0x8 bytes for rid 0x18 type 4 at 0x18c8
atapci1: Reserved 0x4 bytes for rid 0x1c type 4 at 0x18c0
ata3: reset tp1 mask=03 ostat0=7f ostat1=7f
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat1=0x7f err=0xff lsb=0xff msb=0xff
ata3: reset tp2 stat0=ff stat1=ff devices=0x0
ata3: [MPSAFE]
ata3: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
cpu0: <ACPI CPU> on acpi0
ACPI: SSDT @ 0x0x7f64ef21/0x01E8 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
ACPI: SSDT @ 0x0x7f64f3a0/0x01D0 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est0: Invalid id16 (set, cur) = (2067, 2587)
est0: Invalid freq 1333, ignored.
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
ACPI: SSDT @ 0x0x7f64f319/0x0087 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
ACPI: SSDT @ 0x0x7f64f570/0x0085 (v 1 FUJ FJNB1B5 0x01300000 INTL 0x20050624)
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est1: Invalid id16 (set, cur) = (3106, 1570)
est1: Invalid freq 2000, ignored.
est1: Invalid id16 (set, cur) = (2067, 2587)
est1: Invalid freq 1333, ignored.
p4tcc1: <CPU Frequency Thermal Control> on cpu1
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0047
atkbd: keyboard ID 0x54ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
ioapic0: routing intpin 1 (ISA IRQ 1) to vector 54
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: unable to allocate IRQ
psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
psm0: current command byte:0047
psm0: <PS/2 Mouse> irq 12 on atkbdc0
ioapic0: routing intpin 12 (ISA IRQ 12) to vector 55
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons
psm0: config:00000000, flags:00000008, packet size:3
psm0: syncmask:c0, syncbits:00
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
battery1: <ACPI Control Method Battery> on acpi0
acpi_button1: <Sleep Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
atkbdc: atkbdc0 already exists; skipping it
pnp_identify: Trying Read_Port at 203
pnp_identify: Trying Read_Port at 243
pnp_identify: Trying Read_Port at 283
pnp_identify: Trying Read_Port at 2c3
pnp_identify: Trying Read_Port at 303
pnp_identify: Trying Read_Port at 343
pnp_identify: Trying Read_Port at 383
pnp_identify: Trying Read_Port at 3c3
PNP Identify complete
sc: sc0 already exists; skipping it
vga: vga0 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
pmtimer0 on isa0
adv0: not probed (disabled)
aha0: not probed (disabled)
aic0: not probed (disabled)
bt0: not probed (disabled)
cs0: not probed (disabled)
ed0: not probed (disabled)
fdc0 failed to probe at port 0x3f0 irq 6 drq 2 on isa0
fe0: not probed (disabled)
ie0: not probed (disabled)
le0: not probed (disabled)
ppc0 failed to probe at irq 7 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sc0: fb0, kbd1, terminal emulator: sc (syscons terminal)
sio0 failed to probe at port 0x3f8 irq 4 on isa0
sio1 failed to probe at port 0x2f8 irq 3 on isa0
sio2: not probed (disabled)
sio3: not probed (disabled)
sn0: not probed (disabled)
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
isa_probe_children: probing PnP devices
Device configuration finished.
Reducing kern.maxvnodes 133880 -> 100000
procfs registered
lapic: Divisor 2, Frequency 83125841 hz
Timecounter "TSC" frequency 1995019896 Hz quality -100
Timecounters tick every 1.000 msec
lo0: bpf attached
acpi_acad0: acline initialization start
acpi_acad0: On Lineata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=80 wire
acpi_acad0: acline initialization done, tried 1 timesacd0: setting PIO4 on ICH7 chip
battery0: battery initialization start
acd0: setting UDMA33 on ICH7 chip
battery0: battery initialization done, tried 1 times
battery1: battery initialization start
acd0: <MATSHITADVD-RAM UJ-841S/1.31> DVDR drive at ata0 as master
acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, UDMA33
acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet
acd0: Writes: CDR, CDRW, DVDR, DVDRAM, test write, burnproof
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray, unlocked
acd0: Medium: no/blank disc
ata2-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire
ad4: 95396MB <HTE721010G9SA00 MCZOC10V> at ata2-master SATA150
ad4: 195371568 sectors [193821C/16H/63S] 16 sectors/interrupt 1 depth queue
SMP: AP CPU #1 Launched!
cpu1 AP:
ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff
lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
timer: 0x000200ef therm: 0x00010000 err: 0x00010000 pcm: 0x00010000
ioapic0: Assigning ISA IRQ 1 to local APIC 0
ioapic0: Assigning ISA IRQ 9 to local APIC 1
ioapic0: Assigning ISA IRQ 12 to local APIC 0
ioapic0: Assigning ISA IRQ 14 to local APIC 1
ioapic0: Assigning ISA IRQ 15 to local APIC 0
ioapic0: Assigning PCI IRQ 16 to local APIC 1
ioapic0: Assigning PCI IRQ 19 to local APIC 0
msi: Assigning MSI IRQ 256 to local APIC 1
GEOM: new disk ad4
pcib4: requested memory range 0x88000000-0xffffffff: good
cbb0: Opening memory:
cbb0: Normal: 0x88000000-0x8800ffff
unknown: Lazy allocation of 0x10000 bytes rid 0x10 type 3 at 0x88000000
cbb0: Opening memory:
map[10]: type Memory, range 32, base 0, size 16, enabled
pcib4: requested memory range 0x88000000-0xffffffff: good
found-> vendor=0x168c, dev=0x0013, revid=0x01
domain=0, bus=9, slot=0, func=0
class=02-00-00, hdrtype=0x00, mfdev=0
cmdreg=0x0002, statreg=0x0290, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x0a (2500 ns), maxlat=0x1c (7000 ns)
intpin=a, irq=16
powerspec 2 supports D0 D3 current D0
ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 16 at device 0.0 on cardbus0
ath0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0x88000000
cbb0: Opening memory:
cbb0: Normal: 0x88000000-0x8800ffff
ath0: [MPSAFE]
ath0: [ITHREAD]
ath0: hal channel 2412/a0 -> 1
ath0: hal channel 2412/c0 -> 1
ath0: hal channel 2417/a0 -> 2
ath0: hal channel 2417/c0 -> 2
ath0: hal channel 2422/a0 -> 3
ath0: hal channel 2422/c0 -> 3
ath0: hal channel 2427/a0 -> 4
ath0: hal channel 2427/c0 -> 4
ath0: hal channel 2432/a0 -> 5
ath0: hal channel 2432/c0 -> 5
ath0: hal channel 2437/a0 -> 6
ath0: hal channel 2437/c0 -> 6
ath0: hal channel 2437/d0 -> 6
ath0: hal channel 2442/a0 -> 7
ath0: hal channel 2442/c0 -> 7
ath0: hal channel 2447/a0 -> 8
ath0: hal channel 2447/c0 -> 8
ath0: hal channel 2452/a0 -> 9
ath0: hal channel 2452/c0 -> 9
ath0: hal channel 2457/a0 -> 10
ath0: hal channel 2457/c0 -> 10
ath0: hal channel 2462/a0 -> 11
ath0: hal channel 2462/c0 -> 11
ath0: hal channel 5180/140 -> 36
ath0: hal channel 5200/140 -> 40
ath0: hal channel 5200/150 -> 40
ath0: hal channel 5210/2150 -> 42
ath0: hal channel 5220/140 -> 44
ath0: hal channel 5240/140 -> 48
ath0: hal channel 5240/150 -> 48
ath0: hal channel 5250/2150 -> 50
ath0: hal channel 5260/140 -> 52
ath0: hal channel 5280/140 -> 56
ath0: hal channel 5280/150 -> 56
ath0: hal channel 5290/2150 -> 58
ath0: hal channel 5300/140 -> 60
ath0: hal channel 5320/140 -> 64
ath0: hal channel 5745/140 -> 149
ath0: hal channel 5760/2150 -> 152
ath0: hal channel 5765/140 -> 153
ath0: hal channel 5765/150 -> 153
ath0: hal channel 5785/140 -> 157
ath0: hal channel 5800/2150 -> 160
ath0: hal channel 5805/140 -> 161
ath0: hal channel 5805/150 -> 161
ath0: hal channel 5825/140 -> 165
ath0: WARNING: using obsoleted if_watchdog interface
ath0: bpf attached
ath0: Ethernet address: 00:0f:b5:0c:30:30
ath0: bpf attached
ath0: bpf attached
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: sturboA rates:
ath0: mac 5.9 phy 4.3 radio 3.6
ath0: Use hw queue 1 for WME_AC_BE traffic
ath0: Use hw queue 0 for WME_AC_BK traffic
ath0: Use hw queue 2 for WME_AC_VI traffic
ath0: Use hw queue 3 for WME_AC_VO traffic
ath0: Use hw queue 8 for CAB traffic
ath0: Use hw queue 9 for beacons
Trying to mount root from ufs:ad4s2a
start_init: trying /sbin/init
Linux ELF exec handler installed
ath0: link state changed to UP
/*
RSD PTR: OEM=FUJ, ACPI_Rev=1.0x (0)
RSDT=0x7f6478d8, cksum=105
*/
/*
RSDT: Length=72, Revision=1, Checksum=154,
OEMID=FSC, OEM Table ID=PC, OEM Revision=0x1300000,
Creator ID=FUJ, Creator Revision=0x100
Entries={ 0x7f64ff8c, 0x7f64e7a4, 0x7f64ea09, 0x7f64ea45, 0x7f64f5f5, 0x7f64fd4e, 0x7f64fdb6, 0x7f64fdee, 0x7f64fe16 }
*/
/*
FACP: Length=116, Revision=1, Checksum=206,
OEMID=FSC, OEM Table ID=PC, OEM Revision=0x1300000,
Creator ID=FUJ, Creator Revision=0x100
FACS=0x7f650fc0, DSDT=0x7f647930
INT_MODEL=PIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
PSTATE_CNT=0x80
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1020-0x1020
PM_TMR_BLK=0x1008-0x100b
GPE0_BLK=0x1028-0x102f
P_LVL2_LAT=1 us, P_LVL3_LAT=100 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=0, DUTY_WIDTH=0
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,DCK_CAP}
*/
/*
FACS: Length=64, HwSig=0x000016c9, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=0
*/
/*
DSDT: Length=28276, Revision=1, Checksum=94,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=MSFT, Creator Revision=0x100000e
*/
/*
SSDT: Length=613, Revision=1, Checksum=137,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=MSFT, Creator Revision=0x100000e
*/
/*
MCFG: Length=60, Revision=1, Checksum=11,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=FUJ, Creator Revision=0x100
Base Address= 0x00000000f8000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 63
*/
/*
SSDT: Length=1244, Revision=1, Checksum=203,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=1881, Revision=1, Checksum=42,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
APIC: Length=104, Revision=1, Checksum=237,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID= LTP, Creator Revision=0x0
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=1
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=Local NMI
ACPI CPU=0
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=Local NMI
ACPI CPU=1
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
*/
/*
HPET: Length=56, Revision=1, Checksum=187,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=FUJ, Creator Revision=0x100
HPET Number=0
ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
Comparitors=2
Counter Size=1
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x8086
Minimal Tick=0
*/
/*
BOOT: Length=40, Revision=1, Checksum=8,
OEMID=FUJ, OEM Table ID=FJNB1B5, OEM Revision=0x1300000,
Creator ID=FUJ, Creator Revision=0x100
*/
/*
SLIC: Length=374, Revision=1, Checksum=185,
OEMID=FSC, OEM Table ID=PC, OEM Revision=0x1300000,
Creator ID=FSC, Creator Revision=0x100
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20070320
*
* Disassembly of /tmp/acpidump.n7c3Xb, Sun Mar 16 22:32:54 2008
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00007CA2 (31906)
* Revision 0x01
* OEM ID "FUJ "
* OEM Table ID "FJNB1B5 "
* OEM Revision 0x01300000 (19922944)
* Creator ID "MSFT"
* Creator Revision 0x0100000E (16777230)
*/
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "FUJ ", "FJNB1B5 ", 0x01300000)
{
External (\_SB_.PCI0.GFX0.LCD_.BLNF, MethodObj) // 0 Arguments
Name (BIDT, Buffer (0x10)
{
/* 0000 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
/* 0008 */ 0x08, 0x00, 0x00, 0x00, 0x09, 0x0A, 0x00, 0x0B
})
Name (BMNT, Package (0x0C)
{
"CP279074",
"CP293530",
"CP293546",
"CP293562",
"CP293578",
"CP293594",
"CP293610",
"CP293626",
"CP293642",
"CP245360",
"CP186215 / CP186216",
"CP144820 / CP144821"
})
Name (BMST, Package (0x0C)
{
"CP279074",
"CP293530",
"CP293546",
"CP293562",
"CP293578",
"CP293594",
"CP293610",
"CP293626",
"CP293642",
"CP245360",
"CP245376",
"CP245408"
})
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06) {}
Processor (CPU1, 0x01, 0x00001010, 0x06) {}
}
Scope (\_SB)
{
Name (OSTB, Ones)
OperationRegion (OSTY, SystemMemory, 0x7F650EF6, 0x00000001)
Field (OSTY, AnyAcc, NoLock, Preserve)
{
TPOS, 8
}
Method (OSTP, 0, NotSerialized)
{
If (LEqual (^OSTB, Ones))
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2006"))
{
Store (0x40, ^OSTB)
Store (0x40, ^TPOS)
}
Else
{
If (\_OSI ("Windows 2001.1"))
{
Store (0x20, ^OSTB)
Store (0x20, ^TPOS)
}
Else
{
If (\_OSI ("Windows 2001 SP1"))
{
Store (0x10, ^OSTB)
Store (0x10, ^TPOS)
}
Else
{
If (\_OSI ("Windows 2001"))
{
Store (0x08, ^OSTB)
Store (0x08, ^TPOS)
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
}
}
Else
{
If (CondRefOf (\_OS, Local0))
{
If (^SEQL (\_OS, "Microsoft Windows"))
{
Store (0x01, ^OSTB)
Store (0x01, ^TPOS)
}
Else
{
If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, ^OSTB)
Store (0x02, ^TPOS)
}
Else
{
If (^SEQL (\_OS, "Microsoft Windows NT"))
{
Store (0x04, ^OSTB)
Store (0x04, ^TPOS)
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
Return (^OSTB)
}
Method (SEQL, 2, Serialized)
{
Store (SizeOf (Arg0), Local0)
Store (SizeOf (Arg1), Local1)
If (LNotEqual (Local0, Local1))
{
Return (Zero)
}
Name (BUF0, Buffer (Local0) {})
Store (Arg0, BUF0)
Name (BUF1, Buffer (Local0) {})
Store (Arg1, BUF1)
Store (Zero, Local2)
While (LLess (Local2, Local0))
{
Store (DerefOf (Index (BUF0, Local2)), Local3)
Store (DerefOf (Index (BUF1, Local2)), Local4)
If (LNotEqual (Local3, Local4))
{
Return (Zero)
}
Increment (Local2)
}
Return (One)
}
}
Name (FWSO, Zero)
Name (RPEN, Zero)
Name (RPDS, Zero)
Name (BYIS, 0xFF)
Name (EXIS, 0xFF)
Name (PLWM, Zero)
Name (PTAL, Zero)
Name (LEDI, Zero)
Name (BTNI, Zero)
Name (NGTI, 0x06)
Name (ECCI, 0x03)
Name (GINT, Zero)
Name (DPCI, One)
Name (DPCS, Zero)
Name (LIDS, Zero)
Name (VSTH, Zero)
Name (HDWA, Zero)
Name (\GPIC, 0x00)
Method (\_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
}
Scope (\_SB)
{
OperationRegion (PSIO, SystemIO, 0x00000F40, 0x00000002)
OperationRegion (PSBF, SystemMemory, 0x7F650E66, 0x00000090)
OperationRegion (OEMT, SystemMemory, 0x7F650F9C, 0x00000020)
OperationRegion (SYSC, SystemMemory, 0x7F650F92, 0x0000000A)
OperationRegion (VDEX, SystemMemory, 0x7F650E56, 0x00000010)
OperationRegion (THZN, SystemMemory, 0x7F650F82, 0x00000010)
OperationRegion (BTNC, SystemMemory, 0x7F650F72, 0x00000010)
OperationRegion (VIST, SystemMemory, 0x7F6505C3, 0x00000893)
OperationRegion (QBC, SystemMemory, 0x7F650F66, 0x0000000C)
OperationRegion (TCG1, SystemMemory, 0x7F6505BF, 0x00000004)
OperationRegion (IO80, SystemIO, 0x80, 0x01)
Scope (\)
{
Field (\_SB.PSIO, ByteAcc, NoLock, Preserve)
{
SSMI, 8
}
Field (\_SB.PSBF, ByteAcc, NoLock, Preserve)
{
CMD, 8,
DVID, 32,
PSDT, 32
}
Field (\_SB.PSBF, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
INF, 8
}
Field (\_SB.PSBF, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
PIID, 320
}
Field (\_SB.OEMT, ByteAcc, NoLock, Preserve)
{
SPAF, 2,
SPBF, 2,
PPF, 3,
FDCF, 1,
SIDF, 2,
IMTF, 1,
BLEN, 1,
WLEN, 1,
BTEX, 1,
Offset (0x04),
WAPB, 1,
Offset (0x08),
FWHM, 1,
, 1,
TPMF, 2,
HWPM, 1,
RRCP, 1,
INTV, 1,
FSCM, 1,
, 1,
CPBL, 1,
AS34, 1,
Offset (0x0A),
BIFL, 8,
DCLW, 7,
Offset (0x10),
FDS0, 4,
FDS1, 4,
Offset (0x18),
UMST, 32,
UMSZ, 32
}
Field (\_SB.SYSC, ByteAcc, NoLock, Preserve)
{
BHKF, 1,
, 2,
MHKF, 1,
Offset (0x01),
BLLM, 8,
BLLT, 64
}
Field (\_SB.SYSC, ByteAcc, NoLock, Preserve)
{
AHKF, 8
}
Field (\_SB.VDEX, ByteAcc, NoLock, Preserve)
{
ADOS, 3,
CLCD, 1,
ALCD, 1,
CCRT, 1,
ACRT, 1,
CTV, 1,
ATV, 1,
CDVI, 1,
ADVI, 1,
DSWF, 2,
BSWF, 2
}
Field (\_SB.THZN, ByteAcc, NoLock, Preserve)
{
DTS1, 8,
DTS2, 8,
CRTT, 8,
PSVT, 8,
TC1V, 4,
TC2V, 4,
TSPV, 4,
MPEN, 1,
DTSE, 1
}
Field (\_SB.BTNC, ByteAcc, NoLock, Preserve)
{
IRBF, 1,
VLBF, 3,
, 3,
NGTF, 1,
Offset (0x04),
IRBC, 16
}
Field (\_SB.QBC, ByteAcc, NoLock, Preserve)
{
QAG1, 32,
QAG2, 32,
QAG3, 32
}
Field (\_SB.TCG1, AnyAcc, NoLock, Preserve)
{
PPRQ, 8,
PPLO, 8,
PPRP, 8,
PPOR, 8
}
Field (\_SB.IO80, ByteAcc, NoLock, Preserve)
{
PO80, 8
}
}
Method (_INI, 0, NotSerialized)
{
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
Load (VIST, VSTH)
}
And (G3P1, 0xC0, Local0)
If (LEqual (Local0, 0xC0))
{
Store (Zero, LEDI)
Store (Zero, BTNI)
}
Else
{
If (Local0)
{
Store (Zero, LEDI)
Store (0x00FF0101, BTNI)
}
Else
{
Store (Zero, LEDI)
Store (0x000F0001, BTNI)
}
}
}
Device (MCFG)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_CRS, ResourceTemplate ()
{
DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xF8000000, // Range Minimum
0xFBFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x04000000, // Length
,, , AddressRangeMemory, TypeStatic)
})
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, 0x030AD041)
Name (_ADR, 0x00)
Name (_BBN, 0x00)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x50),
, 4,
PM0H, 2,
Offset (0x51),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x52),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x53),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x54),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x55),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x56),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x57),
, 7,
HENA, 1,
Offset (0x5C),
, 3,
TOUD, 5
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
,, , TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xFED40000, // Range Minimum
0xFED44FFF, // Range Maximum
0x00000000, // Translation Offset
0x00005000, // Length
,, , AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, 0x7C, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
CreateBitField (BUF0, 0x0358, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, 0x96, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, 0x01))
{
CreateBitField (BUF0, 0x0428, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, 0xB0, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, 0x01))
{
CreateBitField (BUF0, 0x04F8, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, 0xCA, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, 0x01))
{
CreateBitField (BUF0, 0x05C8, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, 0xE4, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, 0x01))
{
CreateBitField (BUF0, 0x0698, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, 0xFE, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, 0x01))
{
CreateBitField (BUF0, 0x0768, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, 0x0118, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, 0x01))
{
CreateBitField (BUF0, 0x0838, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, 0x0132, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, 0x01))
{
CreateBitField (BUF0, 0x0908, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, 0x014C, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, 0x01))
{
CreateBitField (BUF0, 0x09D8, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, 0x0166, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, 0x01))
{
CreateBitField (BUF0, 0x0AA8, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, 0x0180, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, 0x01))
{
CreateBitField (BUF0, 0x0B78, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, 0x019A, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, 0x01))
{
CreateBitField (BUF0, 0x0C48, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, 0x01B4, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, 0x01))
{
CreateBitField (BUF0, 0x0D18, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, 0x01C2, M1MN)
CreateDWordField (BUF0, 0x01C6, M1MX)
CreateDWordField (BUF0, 0x01CE, M1LN)
ShiftLeft (TOUD, 0x1B, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
CreateDWordField (BUF0, 0x01DC, TPMN)
CreateDWordField (BUF0, 0x01E0, TPMX)
CreateDWordField (BUF0, 0x01E8, TPML)
If (LNotEqual (TPMF, 0x02))
{
Store (Zero, TPMN)
Store (Zero, TPMX)
Store (Zero, TPML)
}
Return (BUF0)
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x10)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0007FFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x001BFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x15
},
Package (0x04)
{
0x001CFFFF,
0x02,
0x00,
0x14
},
Package (0x04)
{
0x001CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x17
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001EFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x10)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001BFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
Device (MBIO)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1080, // Range Minimum
0x1080, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1100, // Range Minimum
0x1100, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x1180, // Range Minimum
0x1180, // Range Maximum
0x01, // Alignment
0x40, // Length
)
IO (Decode16,
0xF800, // Range Minimum
0xF800, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0xF880, // Range Minimum
0xF880, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0xFC00, // Range Minimum
0xFC00, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0xFC80, // Range Minimum
0xFC80, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0xFD0C, // Range Minimum
0xFD0C, // Range Maximum
0x01, // Alignment
0x74, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x01, // Alignment
0x02, // Length
)
Memory32Fixed (ReadWrite,
0xF8000000, // Address Base
0x04000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED14000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED18000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED19000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEC00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEF00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x000CF000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFB00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
Method (_CRS, 0, Serialized)
{
CreateDWordField (RSRC, 0x0184, MBBS)
CreateDWordField (RSRC, 0x0188, MBLN)
CreateDWordField (RSRC, 0x0190, FWBS)
CreateDWordField (RSRC, 0x0194, FWLN)
CreateDWordField (RSRC, 0x019C, TPMB)
CreateDWordField (RSRC, 0x01A0, TPML)
Store (UMST, MBBS)
Store (UMSZ, MBLN)
If (FWHM)
{
Store (Zero, FWBS)
Store (Zero, FWLN)
}
If (LEqual (TPMF, 0x02))
{
Store (Zero, TPMB)
Store (Zero, TPML)
}
Return (RSRC)
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (XLCD, 0, NotSerialized)
{
Return (One)
}
Method (XCRT, 0, NotSerialized)
{
Return (One)
}
Method (XTV, 0, NotSerialized)
{
Return (XOr (SOUT, One))
}
Method (XDVI, 0, NotSerialized)
{
Return (BY2O)
}
Scope (\)
{
Name (WLCD, Zero)
Name (WCRT, Zero)
Name (WTV, Zero)
Name (WDVI, Zero)
}
Method (PHTK, 0, NotSerialized)
{
Store (Zero, DSWF)
}
Name (F10T, Package (0x0A)
{
0x01,
0x02,
0x03,
0x04,
0x05,
0x01,
0x02,
0x03,
0x04,
0x05
})
Method (AHTK, 0, NotSerialized)
{
If (LAnd (LEqual (And (ADOS, 0x03), Zero), DSWF))
{
UPDD ()
If (LEqual (DSWF, 0x01))
{
Or (ShiftLeft (CDVI, 0x02), Or (ShiftLeft (CCRT, 0x01),
CLCD), Local0)
Or (ShiftLeft (ADVI, 0x02), Or (ShiftLeft (ACRT, 0x01),
ALCD), Local1)
Store (Zero, Local2)
Store (0xFF, Local3)
While (LAnd (LLess (Local2, 0x0A), LEqual (Local3, 0xFF)))
{
If (LEqual (DerefOf (Index (F10T, Local2)), Local0))
{
If (LAnd (CTV, ATV))
{
Store (Local2, Local3)
}
Else
{
Add (Local2, 0x01, Local3)
}
}
Increment (Local2)
}
Store (0xFF, Local2)
If (LNotEqual (Local3, 0xFF))
{
While (LAnd (LLess (Local3, 0x0A), LEqual (Local2, 0xFF)))
{
If (LEqual (And (DerefOf (Index (F10T, Local3)), Local1),
DerefOf (Index (F10T, Local3))))
{
Store (DerefOf (Index (F10T, Local3)), Local2)
}
Increment (Local3)
}
}
If (LEqual (Local2, 0xFF))
{
If (ALCD)
{
Store (0x01, Local2)
}
Else
{
If (ACRT)
{
Store (0x02, Local2)
}
Else
{
If (ADVI)
{
Store (0x04, Local2)
}
Else
{
Store (0x02, Local2)
}
}
}
}
And (Local2, 0x01, WLCD)
ShiftRight (And (Local2, 0x02), 0x01, WCRT)
ShiftRight (And (Local2, 0x04), 0x02, WDVI)
Store (Zero, WTV)
Notify (\_SB.PCI0.GFX0, 0x80)
}
Else
{
If (LEqual (DSWF, 0x02))
{
And (CLCD, ALCD, WLCD)
And (CCRT, ACRT, WCRT)
And (CDVI, ADVI, WDVI)
And (XOr (CTV, 0x01), ATV, WTV)
If (LOr (LOr (WTV, WDVI), LOr (WCRT, WLCD)))
{
If (LAnd (LAnd (WLCD, WCRT), WTV))
{
Store (Zero, WCRT)
}
If (LAnd (LAnd (WLCD, WDVI), WTV))
{
Store (Zero, WDVI)
}
If (LAnd (LAnd (WCRT, WDVI), WTV))
{
Store (Zero, WDVI)
}
Notify (\_SB.PCI0.GFX0, 0x80)
}
}
}
}
}
Method (UPDD, 0, NotSerialized)
{
If (LGreaterEqual (\_SB.OSTP (), 0x08))
{
Notify (\_SB.PCI0, 0x00)
}
Else
{
Notify (\_SB.PCI0.GFX0, 0x00)
}
Sleep (0x02EE)
Store (0xFF, DVID)
Store (0x8E, CMD)
Store (Zero, SSMI)
}
Method (_DOS, 1, NotSerialized)
{
And (Arg0, 0x07, ADOS)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x04)
{
0x00010100,
0x00010400,
0x00010200,
0x00010300
})
}
Device (CRT)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0100)
}
Method (_DCS, 0, NotSerialized)
{
If (XCRT ())
{
UPDD ()
Return (Or (0x0D, Or (ShiftLeft (ACRT, 0x04), ShiftLeft (CCRT,
0x01))))
}
Else
{
Return (Zero)
}
}
Method (_DGS, 0, NotSerialized)
{
Return (WCRT)
}
Method (_DSS, 1, NotSerialized)
{
Noop
}
}
Device (LCD)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0400)
}
Method (_DCS, 0, NotSerialized)
{
If (XLCD ())
{
UPDD ()
Return (Or (0x0D, Or (ShiftLeft (ALCD, 0x04), ShiftLeft (CLCD,
0x01))))
}
Else
{
Return (Zero)
}
}
Method (_DGS, 0, NotSerialized)
{
Return (WLCD)
}
Method (_DSS, 1, NotSerialized)
{
Noop
}
}
Device (TV)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0200)
}
Method (_DCS, 0, NotSerialized)
{
If (XTV ())
{
UPDD ()
Return (Or (0x0D, Or (ShiftLeft (ATV, 0x04), ShiftLeft (CTV,
0x01))))
}
Else
{
Return (Zero)
}
}
Method (_DGS, 0, NotSerialized)
{
Return (WTV)
}
Method (_DSS, 1, NotSerialized)
{
Noop
}
}
Device (DVI)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0300)
}
Method (_DCS, 0, NotSerialized)
{
If (XDVI ())
{
UPDD ()
Return (Or (0x0D, Or (ShiftLeft (ADVI, 0x04), ShiftLeft (CDVI,
0x01))))
}
Else
{
Return (Zero)
}
}
Method (_DGS, 0, NotSerialized)
{
Return (WDVI)
}
Method (_DSS, 1, NotSerialized)
{
Noop
}
}
Scope (LCD)
{
Method (_PS0, 0, NotSerialized)
{
Store (0x00, LIDS)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x01, LIDS)
}
}
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x02)
{
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0006FFFF,
0x00,
0x00,
0x11
}
})
}
Else
{
Return (Package (0x02)
{
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
}
})
}
}
Method (_INI, 0, NotSerialized)
{
}
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Device (LPCB)
{
Name (_ADR, 0x001F0000)
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x20),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
Offset (0x28),
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset (0x40),
IOD0, 8,
IOD1, 8,
Offset (0x60),
, 2,
CLKR, 1
}
OperationRegion (SIO, SystemIO, 0x2E, 0x02)
OperationRegion (FJIO, SystemIO, 0xFD60, 0x15)
Scope (\)
{
Field (\_SB.PCI0.LPCB.FJIO, ByteAcc, NoLock, Preserve)
{
AIDC, 8,
ADTC, 8,
AIDB, 8,
ADTB, 8,
AIDA, 8,
ADTA, 8,
AIDD, 8,
ADTD, 8,
Offset (0x10),
PMID, 8,
Offset (0x14),
PMDT, 8
}
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
OperationRegion (OGIO, SystemIO, 0x1180, 0x3C)
Scope (\)
{
Field (\_SB.PCI0.LPCB.PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x42),
, 1,
GPEC, 1
}
Field (\_SB.PCI0.LPCB.OGIO, ByteAcc, NoLock, Preserve)
{
Offset (0x2C),
Offset (0x2D),
LPOL, 1,
, 4,
EXPL, 1,
Offset (0x38),
, 1,
PXRS, 1,
PXCL, 1
}
}
OperationRegion (OPIO, SystemIO, 0x1000, 0x67)
Scope (\)
{
Field (\_SB.PCI0.LPCB.OPIO, ByteAcc, NoLock, Preserve)
{
Offset (0x10),
Offset (0x11),
FOCT, 1
}
}
Method (_INI, 0, NotSerialized)
{
\_SB.OSTP ()
\_SB.PCI0.LPCB.CMBT.SWCF ()
AINI ()
PRCF ()
If (RRCP)
{
Store (One, RPEN)
Store (B2TC, RPDS)
}
}
Scope (\)
{
IndexField (AIDA, ADTA, ByteAcc, NoLock, Preserve)
{
Offset (0x09),
RI1M, 1,
RI2M, 1,
RI3M, 1,
RI4M, 1,
RI1, 1,
RI2, 1,
RI3, 1,
RI4, 1,
, 2,
CVCL, 1,
, 3,
BLCT, 2,
Offset (0x20),
G5P0, 8,
G5C0, 8,
G3P0, 8,
G3C0, 8,
Offset (0x40),
SSF0, 8,
SSF1, 8,
SSM0, 8,
SSM1, 8,
SSI0, 8,
SSTM, 8,
SSF2, 8,
SSM2, 8,
SSI1, 8,
Offset (0x52),
G3P1, 8,
G3C1, 8,
G3P2, 8,
G3C2, 8,
QSWC, 8,
Offset (0x60),
SSS0, 8,
SSS1, 8
}
IndexField (AIDB, ADTB, ByteAcc, NoLock, Preserve)
{
Offset (0x29),
BRCL, 8,
LCDB, 8,
Offset (0x30),
LCDC, 8
}
IndexField (AIDC, ADTC, ByteAcc, NoLock, Preserve)
{
TASF, 1,
TBSF, 1,
B1SU, 1,
B1SD, 1,
B2SU, 1,
B2SD, 1,
Offset (0x02),
, 4,
VSTB, 1,
Offset (0x05),
, 6,
ACPW, 1,
Offset (0x20),
BCTL, 8,
Offset (0x23),
TAF, 1,
TASM, 1,
, 2,
TBF, 1,
TBSM, 1,
Offset (0x24),
TIMA, 8,
TIMB, 8,
Offset (0x28),
CDLP, 8,
HDLP, 8,
FDLP, 8,
Offset (0x4E),
B1UM, 1,
B1DM, 1,
, 1,
B1TC, 1,
B2UM, 1,
B2DM, 1,
, 1,
B2TC, 1,
BAPC, 6
}
IndexField (AIDC, ADTC, ByteAcc, NoLock, Preserve)
{
STAE, 8
}
IndexField (AIDD, ADTD, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
GIDI, 8,
GIDC, 8,
GIDO, 8,
Offset (0x90),
G3SI, 8,
G3SC, 8,
G3SO, 8,
G3SM, 8,
Offset (0xA0),
WOXF, 8,
WOXE, 8,
WOXD, 8,
WOXS, 8,
Offset (0xB0),
AMPV, 6
}
}
Scope (\)
{
IndexField (PMID, PMDT, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
UPPR, 1,
ERRO, 1,
PASS, 1,
PSOK, 1,
PSNG, 1,
TOUT, 1,
SIRN, 1,
STSC, 1,
OVFL, 1,
LWMD, 1,
TALM, 1,
EMGC, 1,
OCNT, 4,
TDTC, 1,
, 4,
AERR, 1,
PERR, 1,
ABSY, 1,
Offset (0xA4),
PDAT, 8,
Offset (0xC0),
Offset (0xC1),
B1P, 1,
B2P, 1,
B1C, 1,
B2C, 1,
B1ER, 1,
B2ER, 1,
PKSH, 1,
CMB, 1,
B1CP, 8,
B2CP, 8,
BAVG, 8,
B1VH, 8,
B1VL, 8,
B2VH, 8,
B2VL, 8,
B1TM, 8,
B2TM, 8,
B1CH, 8,
B1CL, 8,
B2CH, 8,
B2CL, 8,
BTMH, 8,
BTML, 8,
B1LH, 8,
B1LL, 8,
B2LH, 8,
B2LL, 8,
B1ID, 4,
B1NO, 4,
B2ID, 4,
B2NO, 4,
B1DV, 8,
B2DV, 8,
B1DH, 8,
B1DL, 8,
B2DH, 8,
B2DL, 8,
TBSI, 8,
TBSH, 8,
TBSL, 8,
BHDD, 1,
BOPT, 1,
, 5,
ABLC, 1,
Offset (0xE8),
TBCM, 8,
TBMD, 8,
TBIN, 8,
DCOL, 7,
S3EN, 1
}
IndexField (PMID, PMDT, ByteAcc, NoLock, Preserve)
{
Offset (0xA2),
TCST, 8
}
}
Scope (\)
{
IndexField (AIDA, ADTA, ByteAcc, NoLock, Preserve)
{
Offset (0x22),
, 4,
SOUT, 1,
Offset (0x52),
BRST, 1,
, 1,
BY1C, 2
}
IndexField (AIDC, ADTC, ByteAcc, NoLock, Preserve)
{
Offset (0x4F),
BY1O, 1,
BY2O, 1
}
IndexField (AIDD, ADTD, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
BY1I, 4
}
}
Method (AINI, 0, NotSerialized)
{
And (SSM1, 0xCF, SSM1)
Store (Zero, TBSM)
Store (LWMD, PLWM)
Store (TALM, PTAL)
Store (0x95, CMD)
Or (PLWM, ShiftLeft (PTAL, 0x01), DVID)
Store (Zero, SSMI)
If (LAnd (TALM, LNot (ACPW)))
{
Store (One, FOCT)
}
Else
{
Store (Zero, FOCT)
}
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
If (AS34)
{
Store (0x01, S3EN)
}
If (LEqual (DCLW, 0x7F))
{
Store (0x08, DCOL)
}
Else
{
Store (DCLW, DCOL)
}
}
}
Device (TPM)
{
Name (_HID, EisaId ("IFX0102"))
Name (_CID, 0x310CD041)
Name (_UID, 0x01)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0xFD00, // Range Minimum
0xFD00, // Range Maximum
0x01, // Alignment
0x0C, // Length
)
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
Method (_STA, 0, NotSerialized)
{
If (TPMF)
{
If (LEqual (TPMF, 0x02))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Else
{
Return (0x00)
}
}
}
Name (RGSI, 0x19)
Device (FJEX)
{
Name (_HID, "FUJ02B1")
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (RBLL, 0, NotSerialized)
{
Return (BLLM)
}
Scope (\)
{
Name (LBLL, 0x00)
Name (LLCD, Ones)
}
Method (GBLL, 0, NotSerialized)
{
Store (LBLL, Local2)
Store (LCDB, Local1)
If (LNotEqual (LLCD, Local1))
{
Store (Local1, LLCD)
Name (BBCT, Buffer (BLLM) {})
Store (BLLT, BBCT)
Store (BLLM, Local0)
While (Local0)
{
Decrement (Local0)
If (LEqual (GBUF (BBCT, Local0), Local1))
{
Store (Local0, Local2)
Store (Local0, LBLL)
Store (Zero, Local0)
}
}
}
If (BHKF)
{
Store (Zero, BHKF)
Or (Local2, 0x80000000, Local2)
}
Return (Local2)
}
Method (GBLS, 0, NotSerialized)
{
Store (LBLL, Local2)
Store (LCDB, Local1)
If (LNotEqual (LLCD, Local1))
{
Store (Local1, LLCD)
Name (BBCT, Buffer (BLLM) {})
Store (BLLT, BBCT)
Store (BLLM, Local0)
While (Local0)
{
Decrement (Local0)
If (LEqual (GBUF (BBCT, Local0), Local1))
{
Store (Local0, Local2)
Store (Local0, LBLL)
Store (Zero, Local0)
}
}
}
If (BHKF)
{
Or (Local2, 0x80000000, Local2)
}
Return (Local2)
}
Method (SBLL, 1, NotSerialized)
{
If (NGTF)
{
Store (Arg0, LSBL)
Return (Zero)
}
If (LLess (Arg0, BLLM))
{
Name (BBCT, Buffer (BLLM) {})
Store (BLLT, BBCT)
CreateByteField (BBCT, Arg0, BLL0)
Store (BLL0, LCDB)
Store (Arg0, DVID)
Store (0x82, CMD)
Store (Zero, SSMI)
}
}
Method (GBUF, 2, NotSerialized)
{
CreateByteField (Arg0, Arg1, BLL0)
Return (BLL0)
}
Method (GMOU, 0, NotSerialized)
{
Store (0x02, DVID)
Store (0x91, CMD)
Store (Zero, SSMI)
Store (DVID, Local0)
If (MHKF)
{
Store (Zero, MHKF)
Or (Local0, 0x80000000, Local0)
}
Return (Local0)
}
Method (SMOU, 1, NotSerialized)
{
If (LLessEqual (Arg0, One))
{
Store (Arg0, DVID)
Store (0x91, CMD)
Store (Zero, SSMI)
}
}
Method (GHKS, 0, NotSerialized)
{
If (INTV)
{
ShiftLeft (VLBF, 0x04, Local0)
Store (Zero, VLBF)
Return (Or (Local0, AHKF))
}
Else
{
Return (AHKF)
}
}
Method (GSIF, 0, NotSerialized)
{
If (IMTF)
{
Or (RGSI, 0x08, RGSI)
}
Else
{
And (RGSI, 0xFFFFFFF7, RGSI)
}
If (INTV)
{
And (RGSI, 0xFFFFFFD1, RGSI)
Or (RGSI, 0x41, RGSI)
}
Return (RGSI)
}
}
Name (BTF1, 0x9A)
Name (BTF2, 0x98)
Scope (\)
{
Name (BTBL, Zero)
Name (BTST, Zero)
IndexField (AIDA, ADTA, ByteAcc, NoLock, Preserve)
{
Offset (0x20),
, 5,
ABEX, 1,
Offset (0x44),
, 2,
WLSW, 1
}
IndexField (AIDD, ADTD, ByteAcc, NoLock, Preserve)
{
Offset (0x92),
, 2,
WLRF, 1,
ABON, 1
}
}
Device (CMBT)
{
Name (_HID, "FUJ02E1")
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
Return (0x00)
}
Else
{
If (LNot (BTEX))
{
Return (0x00)
}
Else
{
If (BLEN)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
}
}
Method (_INI, 0, NotSerialized)
{
Store (Zero, BTBL)
}
Method (INFO, 0, NotSerialized)
{
If (LEqual (_STA (), 0x0F))
{
Store (BTF1, Local0)
}
Else
{
Store (BTF2, Local0)
}
Or (Local0, 0x08, Local0)
Return (Local0)
}
Method (STAT, 0, NotSerialized)
{
Store (0x00, Local0)
If (ABON)
{
Or (Local0, 0x02, Local0)
}
If (WLRF)
{
Or (Local0, 0x08, Local0)
}
If (ABON)
{
Or (Local0, 0x10, Local0)
}
If (BTBL)
{
Or (Local0, 0x80, Local0)
}
Return (Local0)
}
Method (CNTL, 2, NotSerialized)
{
If (And (Arg0, 0x02))
{
If (LEqual (_STA (), 0x0F))
{
If (And (Arg1, 0x02))
{
Store (One, ABON)
}
Else
{
Store (Zero, ABON)
}
}
}
If (LAnd (And (Arg0, 0x08), WLEN))
{
ShiftRight (And (Arg1, 0x08), 0x03, WLRF)
}
If (And (Arg0, 0x80))
{
ShiftRight (And (Arg1, 0x80), 0x07, BTBL)
If (BTBL)
{
If (WLSW)
{
Notify (CMBT, 0x81)
}
Else
{
Notify (CMBT, 0x82)
}
}
}
}
Method (SWCF, 0, NotSerialized)
{
If (BTBL)
{
If (WLSW)
{
Notify (CMBT, 0x81)
}
Else
{
Notify (CMBT, 0x82)
}
}
Else
{
If (WLSW)
{
If (BLEN)
{
Store (One, ABON)
Store (One, ABLC)
If (WLEN)
{
Store (One, WLRF)
}
Else
{
Store (Zero, WLRF)
}
}
Else
{
Store (Zero, ABON)
If (WLEN)
{
Store (One, WLRF)
Store (One, ABLC)
}
Else
{
Store (Zero, WLRF)
Store (Zero, ABLC)
}
}
}
Else
{
Store (Zero, ABON)
Store (Zero, WLRF)
Store (Zero, ABLC)
}
}
}
Method (BPTS, 1, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (WLRF, BTST)
Or (ShiftLeft (WLSW, 0x01), BTST, BTST)
Or (ShiftLeft (ABON, 0x02), BTST, BTST)
}
Store (Zero, ABLC)
Store (Zero, ABON)
}
Method (BWAK, 1, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (And (BTST, 0x01), WLRF)
ShiftRight (And (BTST, 0x04), 0x02, ABON)
If (LAnd (WLSW, LOr (WLRF, ABON)))
{
Store (One, ABLC)
}
If (LNotEqual (ShiftRight (And (BTST, 0x02), 0x01),
WLSW))
{
SWCF ()
}
}
}
}
Device (EC)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Name (_GPE, 0x17)
Scope (\)
{
Name (ECOK, Zero)
}
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECOK)
}
}
OperationRegion (SMB, EmbeddedControl, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.LPCB.EC.SMB, ByteAcc, Lock, Preserve)
{
Offset (0x04),
ECCM, 8,
ECD1, 8,
ECD2, 8,
ECD3, 8,
Offset (0xF8),
ECGM, 8,
ECG1, 8,
ECG2, 8,
ECG3, 8
}
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer16, )
{4}
})
}
Device (TIME)
{
Name (_HID, EisaId ("PNP0100"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IRQNoFlags ()
{13}
})
}
Device (KBC)
{
Name (R101, 0x0303D041)
Name (R106, 0x2003D041)
Method (_HID, 0, NotSerialized)
{
If (SIDF)
{
Return (R101)
}
Else
{
Return (R106)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
}
Device (FWH)
{
Name (_HID, EisaId ("INT0800"))
Method (_STA, 0, NotSerialized)
{
If (FWHM)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFFB00000, // Address Base
0x00100000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_CID, 0x010CD041)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
Field (RCRB, DWordAcc, Lock, Preserve)
{
Offset (0x3404),
HPAS, 2,
, 5,
HPAE, 1
}
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (\_SB.OSTP (), 0x08))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, 0x04, HPT0)
If (LEqual (HPAS, 0x01))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Scope (\_SB.PCI0.LPCB)
{
OperationRegion (LIOD, PCI_Config, 0x80, 0x0A)
OperationRegion (MBAR, SystemMemory, 0xFED14000, 0x4000)
Field (MBAR, DWordAcc, Lock, Preserve)
{
Offset (0xF08),
, 4,
C2SL, 1
}
}
Field (LIOD, AnyAcc, NoLock, Preserve)
{
CADR, 3,
, 1,
CBDR, 3,
Offset (0x01),
LPDR, 2,
, 2,
FDDR, 1,
Offset (0x02),
CALE, 1,
CBLE, 1,
LPLE, 1,
FDLE, 1,
Offset (0x08),
GD2E, 1,
, 3,
GD2B, 12
}
Name (TCOM, Package (0x08)
{
0x03F8,
0x02F8,
0x0220,
0x0228,
0x0238,
0x02E8,
0x0338,
0x03E8
})
Name (TLPT, Package (0x03)
{
0x0378,
0x0278,
0x03BC
})
Name (TFDD, Package (0x02)
{
0x03F0,
0x0370
})
Method (DENA, 3, Serialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Match (TCOM, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If (LNotEqual (Local0, Ones))
{
Store (Local0, CADR)
Store (One, CALE)
}
}
Else
{
If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x02)))
{
Store (Match (TCOM, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If (LNotEqual (Local0, Ones))
{
Store (Local0, CBDR)
Store (One, CBLE)
}
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (Match (TCOM, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If (LNotEqual (Local0, Ones))
{
Store (Local0, CBDR)
Store (One, CBLE)
ShiftRight (Arg2, 0x04, GD2B)
Store (One, GD2E)
}
}
Else
{
If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05)))
{
Store (Match (TLPT, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If (LNotEqual (Local0, Ones))
{
Store (Local0, LPDR)
Store (One, LPLE)
}
}
Else
{
If (LEqual (Arg0, 0x07))
{
Store (Match (TFDD, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If (LNotEqual (Local0, Ones))
{
Store (Local0, FDDR)
Store (One, FDLE)
}
}
}
}
}
}
}
Method (DDIS, 1, Serialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Zero, CALE)
}
Else
{
If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x02)))
{
Store (Zero, CBLE)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (Zero, CBLE)
Store (Zero, GD2E)
}
Else
{
If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05)))
{
Store (Zero, LPLE)
}
Else
{
If (LEqual (Arg0, 0x07))
{
Store (Zero, FDLE)
}
}
}
}
}
}
Field (SIO, ByteAcc, NoLock, Preserve)
{
SIID, 8,
SIDT, 8
}
IndexField (SIID, SIDT, ByteAcc, NoLock, Preserve)
{
, 3,
FDCP, 1,
Offset (0x01),
, 2,
PPP, 1,
PPM, 1,
Offset (0x02),
, 3,
U1P, 1,
, 3,
U2P, 1,
Offset (0x04),
PPEM, 2,
Offset (0x0A),
EFTM, 8,
Offset (0x0C),
U2MD, 6,
Offset (0x20),
FDA, 8,
, 2,
ETOS, 1,
Offset (0x23),
PPA, 8,
U1A, 8,
U2A, 8,
PPD, 4,
FDD, 4,
PPI, 4,
FDI, 4,
U2I, 4,
U1I, 4,
Offset (0x2B),
IRA, 8,
IRD, 4
}
Mutex (MTXS, 0x00)
Method (ENTR, 0, NotSerialized)
{
Acquire (MTXS, 0xFFFF)
Store (0x55, SIID)
}
Method (EXIT, 0, NotSerialized)
{
Store (0xAA, SIID)
Release (MTXS)
}
Method (SETR, 5, NotSerialized)
{
ENTR ()
If (Arg3)
{
Subtract (FindSetRightBit (Arg3), One, Local0)
}
Else
{
Store (Zero, Local0)
}
If (Arg4)
{
Subtract (FindSetRightBit (Arg4), One, Local1)
}
Else
{
Store (0x0F, Local1)
}
If (LEqual (Arg0, 0x00))
{
ShiftRight (Arg1, 0x02, U1A)
Store (Local0, U1I)
}
Else
{
If (LEqual (Arg0, 0x01))
{
ShiftRight (Arg1, 0x02, U2A)
Store (Local0, U2I)
}
Else
{
If (LEqual (Arg0, 0x02))
{
ShiftRight (Arg1, 0x02, U2A)
Store (Local0, U2I)
}
Else
{
If (LEqual (Arg0, 0x03))
{
ShiftRight (Arg1, 0x02, U2A)
ShiftRight (Arg2, 0x03, IRA)
Store (Local0, U2I)
Store (Local1, IRD)
}
Else
{
If (LEqual (Arg0, 0x04))
{
ShiftRight (Arg1, 0x02, PPA)
Store (Local0, PPI)
}
Else
{
If (LEqual (Arg0, 0x05))
{
ShiftRight (Arg1, 0x02, PPA)
Store (Local0, PPI)
Store (Local1, PPD)
}
Else
{
If (LEqual (Arg0, 0x07))
{
ShiftRight (Arg1, 0x02, FDA)
Store (Local0, FDI)
Store (Local1, FDD)
}
}
}
}
}
}
}
EXIT ()
If (Arg1)
{
If (CondRefOf (DENA, Local0))
{
DENA (Arg0, Arg1, Arg2)
}
SETM (Arg0)
}
Else
{
If (CondRefOf (DDIS, Local0))
{
DDIS (Arg0)
}
}
}
Method (GETR, 5, NotSerialized)
{
ENTR ()
Store (Zero, Local0)
Store (0x0F, Local1)
If (LEqual (Arg0, 0x00))
{
ShiftLeft (U1A, 0x02, Arg1)
Store (U1I, Local0)
}
Else
{
If (LEqual (Arg0, 0x01))
{
ShiftLeft (U2A, 0x02, Arg1)
Store (U2I, Local0)
}
Else
{
If (LEqual (Arg0, 0x02))
{
ShiftLeft (U2A, 0x02, Arg1)
Store (U2I, Local0)
}
Else
{
If (LEqual (Arg0, 0x03))
{
ShiftLeft (U2A, 0x02, Arg1)
ShiftLeft (IRA, 0x03, Arg2)
Store (U2I, Local0)
Store (IRD, Local1)
}
Else
{
If (LEqual (Arg0, 0x04))
{
ShiftLeft (PPA, 0x02, Arg1)
Store (PPI, Local0)
}
Else
{
If (LEqual (Arg0, 0x05))
{
ShiftLeft (PPA, 0x02, Arg1)
Store (PPI, Local0)
Store (PPD, Local1)
}
Else
{
If (LEqual (Arg0, 0x07))
{
ShiftLeft (FDA, 0x02, Arg1)
Store (FDI, Local0)
Store (FDD, Local1)
}
}
}
}
}
}
}
If (Local0)
{
ShiftLeft (One, Local0, Arg3)
}
Else
{
Store (Zero, Arg3)
}
If (LNotEqual (Local1, 0x0F))
{
ShiftLeft (One, Local1, Arg4)
}
Else
{
Store (Zero, Arg4)
}
EXIT ()
}
Method (SETM, 1, NotSerialized)
{
ENTR ()
If (LEqual (Arg0, 0x00))
{
Store (One, U1P)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (0x06, U2MD)
Store (One, U2P)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (0x0E, U2MD)
Store (One, U2P)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (0x0E, U2MD)
Store (One, U2P)
}
Else
{
If (LEqual (Arg0, 0x04))
{
If (LEqual (PPF, One))
{
Store (One, PPM)
}
Else
{
Store (Zero, PPM)
Store (Zero, PPEM)
}
Store (One, PPP)
}
Else
{
If (LEqual (Arg0, 0x05))
{
Store (Zero, PPM)
Store (0x02, PPEM)
Store (One, PPP)
}
}
}
}
}
}
EXIT ()
}
Method (SETP, 2, NotSerialized)
{
ENTR ()
If (LEqual (Arg0, 0x00))
{
Store (Arg1, U1P)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (Arg1, U2P)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, U2P)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, U2P)
}
Else
{
If (LEqual (Arg0, 0x04))
{
Store (Arg1, PPP)
}
Else
{
If (LEqual (Arg0, 0x05))
{
Store (Arg1, PPP)
}
}
}
}
}
}
EXIT ()
}
Method (GETP, 1, NotSerialized)
{
Store (Zero, Local0)
ENTR ()
If (LEqual (Arg0, 0x00))
{
Store (U1P, Local0)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (U2P, Local0)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (U2P, Local0)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (U2P, Local0)
}
Else
{
If (LEqual (Arg0, 0x04))
{
Store (PPP, Local0)
}
Else
{
If (LEqual (Arg0, 0x05))
{
Store (PPP, Local0)
}
}
}
}
}
}
EXIT ()
Return (Local0)
}
Method (CHKM, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
If (SPAF)
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x01))
{
If (LEqual (SPBF, 0x03))
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x02))
{
If (LEqual (SPBF, One))
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x03))
{
If (LEqual (SPBF, 0x02))
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x04))
{
If (LOr (LEqual (PPF, One), LEqual (PPF, 0x02)))
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x05))
{
If (LEqual (PPF, 0x03))
{
Return (One)
}
}
Else
{
If (LEqual (Arg0, 0x07))
{
If (FDCF)
{
Return (One)
}
}
}
}
}
}
}
}
Return (Zero)
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
EndDependentFn ()
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x00))
{
GETR (0x00, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateWordField (RSRC, 0x09, IRQ1)
GETR (0x00, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
Store (Local2, IRQ1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x09, IRQ1)
SETR (0x00, IO11, Zero, IRQ1, Zero)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x00, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x00))
{
SETM (0x00)
}
}
}
Device (UAR2)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x02)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
EndDependentFn ()
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x01))
{
GETR (0x01, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateWordField (RSRC, 0x09, IRQ1)
GETR (0x01, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
Store (Local2, IRQ1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x09, IRQ1)
SETR (0x01, IO11, Zero, IRQ1, Zero)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x01, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x01))
{
SETM (0x01)
}
}
}
Device (IRDA)
{
Name (_HID, EisaId ("PNP0510"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
EndDependentFn ()
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x02))
{
GETR (0x02, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateWordField (RSRC, 0x09, IRQ1)
GETR (0x02, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
Store (Local2, IRQ1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x09, IRQ1)
SETR (0x02, IO11, Zero, IRQ1, Zero)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x02, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x02))
{
SETM (0x02)
}
}
Method (_PSC, 0, NotSerialized)
{
If (GETP (0x02))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_PS0, 0, NotSerialized)
{
SETP (0x02, One)
}
Method (_PS3, 0, NotSerialized)
{
SETR (0x02, Zero, Zero, Zero, Zero)
SETP (0x02, Zero)
}
}
Device (FIR)
{
Name (_HID, EisaId ("SMCF010"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x06F8, // Range Minimum
0x06F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07F8, // Range Minimum
0x07F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x06F8, // Range Minimum
0x06F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x06E8, // Range Minimum
0x06E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
EndDependentFn ()
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x03))
{
GETR (0x03, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateWordField (RSRC, 0x0A, IO21)
CreateWordField (RSRC, 0x0C, IO22)
CreateWordField (RSRC, 0x11, IRQ1)
CreateByteField (RSRC, 0x14, DMA1)
GETR (0x03, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
Store (Local1, IO21)
Store (Local1, IO22)
Store (Local2, IRQ1)
Store (Local3, DMA1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x0C, IO21)
CreateWordField (Arg0, 0x11, IRQ1)
CreateByteField (Arg0, 0x14, DMA1)
SETR (0x03, IO11, IO21, IRQ1, DMA1)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x03, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x03))
{
SETM (0x03)
}
}
Method (_PSC, 0, NotSerialized)
{
If (GETP (0x03))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_PS0, 0, NotSerialized)
{
SETP (0x03, One)
}
Method (_PS3, 0, NotSerialized)
{
SETR (0x03, Zero, Zero, Zero, Zero)
SETP (0x03, Zero)
}
}
Device (LPT)
{
Name (_HID, EisaId ("PNP0400"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x04))
{
GETR (0x04, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateByteField (RSRC, 0x07, IO1L)
CreateWordField (RSRC, 0x0A, IO21)
CreateWordField (RSRC, 0x0C, IO22)
CreateWordField (RSRC, 0x11, IRQ1)
GETR (0x04, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
If (LEqual (Local0, 0x03BC))
{
Store (0x04, IO1L)
}
Else
{
Store (0x08, IO1L)
}
Add (Local0, 0x0400, IO21)
Store (IO21, IO22)
Store (Local2, IRQ1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x11, IRQ1)
SETR (0x04, IO11, Zero, IRQ1, Zero)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x04, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x04))
{
SETM (0x04)
}
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x05))
{
GETR (0x05, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateByteField (RSRC, 0x07, IO1L)
CreateWordField (RSRC, 0x0A, IO21)
CreateWordField (RSRC, 0x0C, IO22)
CreateWordField (RSRC, 0x11, IRQ1)
CreateByteField (RSRC, 0x14, DMA1)
GETR (0x05, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
If (LEqual (Local0, 0x03BC))
{
Store (0x04, IO1L)
}
Else
{
Store (0x08, IO1L)
}
Add (Local0, 0x0400, IO21)
Store (IO21, IO22)
Store (Local2, IRQ1)
Store (Local3, DMA1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x11, IRQ1)
CreateByteField (Arg0, 0x14, DMA1)
SETR (0x05, IO11, Zero, IRQ1, DMA1)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x05, Zero, Zero, Zero, Zero)
}
Method (_INI, 0, NotSerialized)
{
If (CHKM (0x05))
{
SETM (0x05)
}
}
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
})
Name (_PRS, ResourceTemplate ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
})
Method (_STA, 0, NotSerialized)
{
If (CHKM (0x07))
{
GETR (0x07, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO11)
CreateWordField (RSRC, 0x04, IO12)
CreateWordField (RSRC, 0x0A, IO21)
CreateWordField (RSRC, 0x0C, IO22)
CreateWordField (RSRC, 0x11, IRQ1)
CreateByteField (RSRC, 0x14, DMA1)
GETR (0x07, RefOf (Local0), RefOf (Local1), RefOf (Local2), RefOf (Local3))
Store (Local0, IO11)
Store (Local0, IO12)
Add (Local0, 0x07, IO21)
Store (IO21, IO22)
Store (Local2, IRQ1)
Store (Local3, DMA1)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x04, IO11)
CreateWordField (Arg0, 0x11, IRQ1)
CreateByteField (Arg0, 0x14, DMA1)
SETR (0x07, IO11, Zero, IRQ1, DMA1)
}
Method (_DIS, 0, NotSerialized)
{
SETR (0x07, Zero, Zero, Zero, Zero)
}
Method (_FDE, 0, NotSerialized)
{
If (FDS0)
{
Store (0x01, Index (FDEB, 0x00))
}
If (FDS1)
{
Store (0x01, Index (FDEB, 0x04))
}
Return (FDEB)
}
Name (FDEB, Buffer (0x14)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
})
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_STA, 0, NotSerialized)
{
If (FDS0)
{
Store (0x0F, Local7)
}
Else
{
Store (0x00, Local7)
}
Return (Local7)
}
Method (_FDI, 0, NotSerialized)
{
If (LOr (FDS1, LNotEqual (FDS0, 0x04)))
{
MKFP (FDS0)
}
Return (FPPK)
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_STA, 0, NotSerialized)
{
If (FDS1)
{
Store (0x0F, Local7)
}
Else
{
Store (0x00, Local7)
}
Return (Local7)
}
Method (_FDI, 0, NotSerialized)
{
MKFP (FDS1)
Return (FPPK)
}
}
Method (MKFP, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Store (FP5D, FPBF)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (FP5H, FPBF)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (FP3D, FPBF)
}
Else
{
If (LEqual (Arg0, 0x04))
{
Store (FP3H, FPBF)
}
Else
{
If (LEqual (Arg0, 0x06))
{
Store (FP3E, FPBF)
}
}
}
}
}
If (FDS1)
{
Store (0x02, Index (FPBF, 0x00))
}
Store (0x00, Local0)
While (LGreater (0x10, Local0))
{
Store (DerefOf (Index (FPBF, Local0)), Index (FPPK, Local0))
Increment (Local0)
}
}
Name (FPPK, Package (0x10)
{
0x01,
0x04,
0x4F,
0x12,
0x01,
0xDF,
0x02,
0x25,
0x02,
0x12,
0x1B,
0xFF,
0x6C,
0xF6,
0x0F,
0x05
})
Name (FPBF, Buffer (0x10) {})
Name (FP5D, Buffer (0x10)
{
/* 0000 */ 0x01, 0x01, 0x27, 0x09, 0x01, 0xDF, 0x02, 0x25,
/* 0008 */ 0x02, 0x09, 0x2A, 0xFF, 0x50, 0xF6, 0x0F, 0x06
})
Name (FP5H, Buffer (0x10)
{
/* 0000 */ 0x01, 0x02, 0x4F, 0x0F, 0x01, 0xDF, 0x04, 0x25,
/* 0008 */ 0x02, 0x0F, 0x1B, 0xFF, 0x54, 0xF6, 0x0F, 0x06
})
Name (FP3D, Buffer (0x10)
{
/* 0000 */ 0x01, 0x03, 0x4F, 0x09, 0x01, 0xEF, 0x02, 0x25,
/* 0008 */ 0x02, 0x09, 0x1B, 0xFF, 0x50, 0xF6, 0x0F, 0x05
})
Name (FP3H, Buffer (0x10)
{
/* 0000 */ 0x01, 0x04, 0x4F, 0x12, 0x01, 0xDF, 0x02, 0x25,
/* 0008 */ 0x02, 0x12, 0x1B, 0xFF, 0x6C, 0xF6, 0x0F, 0x05
})
Name (FP3E, Buffer (0x10)
{
/* 0000 */ 0x01, 0x06, 0x4F, 0x24, 0x01, 0xAA, 0x08, 0x25,
/* 0008 */ 0x02, 0x24, 0x1B, 0xFF, 0x54, 0xF6, 0x0F, 0x05
})
}
Scope (\_SB.PCI0.LPCB.UAR1)
{
Name (_PRW, Package (0x02)
{
0x08,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (Zero, RI1M)
}
Else
{
Store (One, RI1M)
}
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Store (0x80, PARC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLA, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PARC)
}
Method (_STA, 0, Serialized)
{
If (And (PARC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Store (0x80, PBRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLB, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PBRC)
}
Method (_STA, 0, Serialized)
{
If (And (PBRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Store (0x80, PCRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLC, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PCRC)
}
Method (_STA, 0, Serialized)
{
If (And (PCRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Store (0x80, PDRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLD, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PDRC)
}
Method (_STA, 0, Serialized)
{
If (And (PDRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Store (0x80, PERC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLE, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PERC)
}
Method (_STA, 0, Serialized)
{
If (And (PERC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Store (0x80, PFRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLF, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PFRC)
}
Method (_STA, 0, Serialized)
{
If (And (PFRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Store (0x80, PGRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLG, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PGRC)
}
Method (_STA, 0, Serialized)
{
If (And (PGRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Store (0x80, PHRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLH, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PHRC)
}
Method (_STA, 0, Serialized)
{
If (And (PHRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Method (PRCF, 0, NotSerialized)
{
If (B2TC)
{
Store (One, BY2O)
}
Else
{
Store (Zero, BY2O)
}
}
}
Device (PATA)
{
Name (_ADR, 0x001F0001)
Name (PMMN, Buffer (0x28) {})
Name (PSMN, Buffer (0x28) {})
OperationRegion (ATIO, SystemIO, 0x01F7, 0x01)
Field (ATIO, ByteAcc, NoLock, Preserve)
{
STSR, 8
}
OperationRegion (PCI, PCI_Config, 0x40, 0x18)
Field (PCI, ByteAcc, NoLock, Preserve)
{
PTI0, 1,
PIE0, 1,
PPP0, 1,
PDT0, 1,
PTI1, 1,
PIE1, 1,
PPP1, 1,
PDT1, 1,
PRCT, 2,
, 2,
PISP, 2,
PSIT, 1,
PIDE, 1,
Offset (0x04),
PRC1, 2,
PIS1, 2,
Offset (0x08),
PSD0, 1,
PSD1, 1,
Offset (0x0A),
PCT0, 2,
, 2,
PCT1, 2,
Offset (0x14),
PCB0, 1,
PCB1, 1,
, 2,
PMCC, 1,
PSCC, 1,
, 6,
FPC0, 1,
FPC1, 1,
Offset (0x16),
PSMD, 2
}
Device (PRIM)
{
Name (_ADR, 0x00)
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Name (GTFB, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xF5
})
CreateByteField (GTFB, 0x01, SPIO)
CreateByteField (GTFB, 0x08, SDMA)
CreateByteField (GTFB, 0x14, SCMD)
If (LNot (SSUP ()))
{
Store (0x00, SCMD)
}
If (LNot (PIE0))
{
Store (0x01, SPIO)
}
Else
{
If (LOr (PDT0, LNot (PTI0)))
{
Store (0x08, SPIO)
}
Else
{
If (LLess (Add (PISP, PRCT), 0x03))
{
Store (0x0A, SPIO)
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x0B, SPIO)
}
Else
{
Store (0x0C, SPIO)
}
}
}
}
If (PSD0)
{
If (And (FPC0, PMCC))
{
Store (0x45, SDMA)
}
Else
{
If (And (PCB0, PMCC))
{
If (LEqual (PCT0, 0x02))
{
Store (0x44, SDMA)
}
Else
{
Store (0x43, SDMA)
}
}
Else
{
If (LEqual (PCT0, 0x02))
{
Store (0x42, SDMA)
}
Else
{
If (LEqual (PCT0, 0x01))
{
Store (0x41, SDMA)
}
Else
{
Store (0x40, SDMA)
}
}
}
}
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x21, SDMA)
}
Else
{
Store (0x22, SDMA)
}
}
Return (GTFB)
}
}
Device (SLAV)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Name (GTFB, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xB0, 0xF5
})
CreateByteField (GTFB, 0x01, SPIO)
CreateByteField (GTFB, 0x08, SDMA)
CreateByteField (GTFB, 0x14, SCMD)
If (LNot (SSUP ()))
{
Store (0x00, SCMD)
}
If (LNot (PIE1))
{
Store (0x01, SPIO)
}
Else
{
If (LOr (PDT1, LNot (PTI1)))
{
Store (0x08, SPIO)
}
Else
{
If (PSIT)
{
If (LLess (Add (PIS1, PRC1), 0x03))
{
Store (0x0A, SPIO)
}
Else
{
If (LLess (Add (PIS1, PRC1), 0x05))
{
Store (0x0B, SPIO)
}
Else
{
Store (0x0C, SPIO)
}
}
}
Else
{
If (LLess (Add (PISP, PRCT), 0x03))
{
Store (0x0A, SPIO)
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x0B, SPIO)
}
Else
{
Store (0x0C, SPIO)
}
}
}
}
}
If (PSD1)
{
If (And (FPC1, PSCC))
{
Store (0x45, SDMA)
}
Else
{
If (And (PCB1, PSCC))
{
If (LEqual (PCT1, 0x02))
{
Store (0x44, SDMA)
}
Else
{
Store (0x43, SDMA)
}
}
Else
{
If (LEqual (PCT1, 0x02))
{
Store (0x42, SDMA)
}
Else
{
If (LEqual (PCT1, 0x01))
{
Store (0x41, SDMA)
}
Else
{
Store (0x40, SDMA)
}
}
}
}
}
Else
{
If (PSIT)
{
If (LLess (Add (PIS1, PRC1), 0x05))
{
Store (0x21, SDMA)
}
Else
{
Store (0x22, SDMA)
}
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x21, SDMA)
}
Else
{
Store (0x22, SDMA)
}
}
}
Return (GTFB)
}
}
Method (_GTM, 0, NotSerialized)
{
Name (GTMB, Buffer (0x14) {})
CreateDWordField (GTMB, 0x00, PIO0)
CreateDWordField (GTMB, 0x04, DMA0)
CreateDWordField (GTMB, 0x08, PIO1)
CreateDWordField (GTMB, 0x0C, DMA1)
CreateDWordField (GTMB, 0x10, FLAG)
Store (0x10, FLAG)
Or (FLAG, Or (ShiftLeft (PIE1, 0x03), ShiftLeft (PIE0, 0x01
)), FLAG)
If (LOr (PDT0, LNot (PTI0)))
{
Store (0x0384, PIO0)
}
Else
{
Multiply (Subtract (0x09, Add (PRCT, PISP)), 0x1E, PIO0)
}
If (LNot (PSD0))
{
Store (PIO0, DMA0)
}
Else
{
Or (FLAG, 0x01, FLAG)
If (And (FPC0, PMCC))
{
Store (0x14, DMA0)
}
Else
{
If (And (PCB0, PMCC))
{
Multiply (Subtract (0x04, PCT0), 0x0F, DMA0)
}
Else
{
Multiply (Subtract (0x04, PCT0), 0x1E, DMA0)
}
}
}
If (LOr (PDT1, LNot (PTI1)))
{
Store (0x0384, PIO1)
}
Else
{
If (LNot (PSIT))
{
Store (PIO0, PIO1)
}
Else
{
Multiply (Subtract (0x09, Add (PRC1, PIS1)), 0x1E, PIO1)
}
}
If (LNot (PSD1))
{
Store (PIO1, DMA1)
}
Else
{
Or (FLAG, 0x04, FLAG)
If (And (FPC1, PSCC))
{
Store (0x14, DMA1)
}
Else
{
If (And (PCB1, PSCC))
{
Multiply (Subtract (0x04, PCT1), 0x0F, DMA1)
}
Else
{
Multiply (Subtract (0x04, PCT1), 0x1E, DMA1)
}
}
}
Return (GTMB)
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
Store (0x00, PSIT)
If (LAnd (MSMF (), LEqual (SizeOf (Arg1), 0x0200)))
{
CreateField (Arg1, 0x01B0, 0x0140, MBUF)
Store (MBUF, PMMN)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x66, W510)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7C, W620)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
Store (0x00, PISP)
Store (0x00, PRCT)
Store (0x00, PDT0)
Store (0x00, PIE0)
Store (0x00, PTI0)
Store (0x00, PSD0)
Store (0x00, PCT0)
Store (0x00, PCB0)
Store (0x00, PMCC)
Store (0x00, FPC0)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Store (0x01, PIE0)
}
If (LAnd (LLessEqual (PIO0, 0x78), LAnd (And (W530, 0x02
), And (W640, 0x02))))
{
Store (0x02, PISP)
Store (0x03, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (PIO0, 0xB4), LAnd (And (W530, 0x02
), And (W640, 0x01))))
{
Store (0x02, PISP)
Store (0x01, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (PIO0, 0xF0), LGreaterEqual (W510, 0x0200)))
{
Store (0x01, PISP)
Store (0x01, PTI0)
}
Else
{
Noop
}
}
}
If (LNotEqual (DMA0, 0xFFFFFFFF))
{
If (LAnd (And (FLAG, 0x01), LAnd (And (W530, 0x04
), And (W880, 0x3F))))
{
Store (0x01, PSD0)
If (LAnd (LLessEqual (DMA0, 0x14), And (W880, 0x20)))
{
Store (0x01, PCT0)
Store (0x01, PMCC)
Store (0x01, FPC0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x1E), And (W880, 0x10)))
{
Store (0x02, PCT0)
Store (0x01, PMCC)
Store (0x01, PCB0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x2D), And (W880, 0x08)))
{
Store (0x01, PCT0)
Store (0x01, PMCC)
Store (0x01, PCB0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x3C), And (W880, 0x04)))
{
Store (0x02, PCT0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x5A), And (W880, 0x02)))
{
Store (0x01, PCT0)
}
Else
{
Noop
}
}
}
}
}
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x78), And (W630, 0x04)))
{
Store (0x02, PISP)
Store (0x03, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0xB4), And (W630, 0x02)))
{
Store (0x02, PISP)
Store (0x01, PRCT)
Store (0x01, PTI0)
}
Else
{
Noop
}
}
}
}
}
If (LAnd (SSMF (), LEqual (SizeOf (Arg2), 0x0200)))
{
CreateField (Arg2, 0x01B0, 0x0140, SBUF)
Store (SBUF, PSMN)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x66, W511)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7C, W621)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
Store (0x00, PIS1)
Store (0x00, PRC1)
Store (0x00, PDT1)
Store (0x00, PIE1)
Store (0x00, PTI1)
Store (0x00, PSD1)
Store (0x00, PCT1)
Store (0x00, PCB1)
Store (0x00, PSCC)
Store (0x00, FPC1)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Store (0x01, PIE1)
}
If (LAnd (And (FLAG, 0x10), LAnd (LNotEqual (PIO1,
0xFFFFFFFF), LNotEqual (PIO1, PIO0))))
{
Store (0x01, PSIT)
If (LAnd (LLessEqual (PIO1, 0x78), LAnd (And (W531, 0x02
), And (W641, 0x02))))
{
Store (0x02, PIS1)
Store (0x03, PRC1)
Store (0x01, PTI1)
}
Else
{
If (LAnd (LLessEqual (PIO1, 0xB4), LAnd (And (W531, 0x02
), And (W641, 0x01))))
{
Store (0x02, PIS1)
Store (0x01, PRC1)
Store (0x01, PTI1)
}
Else
{
If (LAnd (LLessEqual (PIO1, 0xF0), LGreaterEqual (W511, 0x0200)))
{
Store (0x01, PIS1)
Store (0x01, PTI1)
}
Else
{
Noop
}
}
}
}
If (LNotEqual (DMA1, 0xFFFFFFFF))
{
If (LAnd (And (FLAG, 0x04), LAnd (And (W531, 0x04
), And (W881, 0x3F))))
{
Store (0x01, PSD1)
If (LAnd (LLessEqual (DMA1, 0x14), And (W881, 0x20)))
{
Store (0x01, PCT1)
Store (0x01, PSCC)
Store (0x01, FPC1)
}
Else
{
If (LAnd (LLessEqual (DMA1, 0x1E), And (W881, 0x10)))
{
Store (0x02, PCT1)
Store (0x01, PSCC)
Store (0x01, PCB1)
}
Else
{
If (LAnd (LLessEqual (DMA1, 0x2D), And (W881, 0x08)))
{
Store (0x01, PCT1)
Store (0x01, PSCC)
Store (0x01, PCB1)
}
Else
{
If (LAnd (LLessEqual (DMA1, 0x3C), And (W881, 0x04)))
{
Store (0x02, PCT1)
}
Else
{
If (LAnd (LLessEqual (DMA1, 0x5A), And (W881, 0x02)))
{
Store (0x01, PCT1)
}
Else
{
Noop
}
}
}
}
}
}
Else
{
If (LAnd (And (FLAG, 0x10), LNotEqual (DMA1, DMA0)))
{
Store (0x01, PSIT)
If (LAnd (LLessEqual (DMA1, 0x78), And (W631, 0x04)))
{
Store (0x02, PIS1)
Store (0x03, PRC1)
Store (0x01, PTI1)
}
Else
{
If (LAnd (LLessEqual (DMA1, 0xB4), And (W631, 0x02)))
{
Store (0x02, PIS1)
Store (0x01, PRC1)
Store (0x01, PTI1)
}
Else
{
Noop
}
}
}
}
}
}
Store (0x01, PIDE)
}
}
Scope (\_SB.PCI0.PATA.PRIM)
{
Method (_STA, 0, NotSerialized)
{
If (CPBL)
{
Return (0x00)
}
Else
{
Return (0x0F)
}
}
Method (MSMF, 0, NotSerialized)
{
Return (\_SB.PCI0.PATA.PRIM.MAST._STA ())
}
Method (SSMF, 0, NotSerialized)
{
Return (0x00)
}
}
Scope (\_SB.PCI0.PATA.PRIM.MAST)
{
Method (_STA, 0, NotSerialized)
{
If (CPBL)
{
Return (0x00)
}
Else
{
If (LAnd (\_SB.PCI0.PATA.PRIM.MAST.BIDE (), LAnd (BRST, BY1O)))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
Method (SSUP, 0, NotSerialized)
{
Return (LEqual (BY1I, 0x0A))
}
Method (BIDE, 0, NotSerialized)
{
Store (BY1I, Local0)
Store (LEqual (Local0, 0x08), Local1)
Or (LEqual (Local0, 0x0A), Local1, Local1)
Or (LEqual (Local0, 0x0B), Local1, Local1)
Or (LEqual (Local0, 0x0D), Local1, Local1)
Return (Local1)
}
Method (_EJ0, 1, NotSerialized)
{
BOFF ()
Return (Zero)
}
Method (BON, 0, NotSerialized)
{
Store (Zero, BRST)
Store (Zero, PIE0)
Store (0x02, PSMD)
If (LEqual (BY1C, Zero))
{
Sleep (0x64)
Store (BY1I, Local0)
If (LNotEqual (Local0, 0x01))
{
Store (One, BY1O)
If (LEqual (BY1I, 0x0A))
{
Sleep (0x32)
}
Sleep (0x46)
Store (Zero, PSMD)
Store (0x01, PIDE)
Store (0x01, PSD0)
Store (0x01, PMCC)
Store (0x01, FPC0)
And (BOPT, 0xFE, BOPT)
And (BHDD, 0xFE, BHDD)
If (LEqual (Local0, 0x08))
{
Or (BOPT, One, BOPT)
}
If (LEqual (Local0, 0x0A))
{
Or (BHDD, One, BHDD)
}
If (LEqual (Local0, 0x0B))
{
Or (BOPT, One, BOPT)
}
If (LEqual (Local0, 0x0D))
{
Or (BOPT, One, BOPT)
}
Sleep (0x1E)
Store (One, BRST)
Sleep (0x64)
Store (Zero, Local1)
While (LAnd (LAnd (And (STSR, 0x80), B1TC), LLess (Local1,
0x015E)))
{
Sleep (0x64)
Add (Local1, 0x01, Local1)
}
}
}
}
Method (BOFF, 0, NotSerialized)
{
Store (Zero, BRST)
And (BOPT, 0xFE, BOPT)
And (BHDD, 0xFE, BHDD)
Sleep (0x1E)
TMCL ()
Store (0x02, PSMD)
Sleep (0x46)
Store (Zero, BY1O)
Sleep (0x64)
}
Method (TMCL, 0, NotSerialized)
{
Store (0x00, PIDE)
Store (0x00, PISP)
Store (0x00, PRCT)
Store (0x00, PDT0)
Store (0x00, PIE0)
Store (0x00, PTI0)
Store (0x00, PSD0)
Store (0x00, PCT0)
Store (0x00, PCB0)
Store (0x00, PMCC)
Store (0x00, FPC0)
Store (0x01, PIDE)
}
}
Scope (\_SB.PCI0.PATA.PRIM.SLAV)
{
Method (_STA, 0, NotSerialized)
{
Return (0x00)
}
Method (SSUP, 0, NotSerialized)
{
Return (0x00)
}
}
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
}
Device (USB1)
{
Name (_ADR, 0x001D0000)
}
Device (USB2)
{
Name (_ADR, 0x001D0001)
}
Device (USB3)
{
Name (_ADR, 0x001D0002)
Device (HUB3)
{
Name (_ADR, 0x00)
Device (PRT1)
{
Name (_EJD, "\\_SB.PCI0.RP02.PXS2")
Name (_ADR, 0x01)
}
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
}
Device (USB7)
{
Name (_ADR, 0x001D0007)
Device (HUB7)
{
Name (_ADR, 0x00)
Device (PRT5)
{
Name (_ADR, 0x05)
Name (_EJD, "\\_SB.PCI0.RP02.PXS2")
}
}
}
Device (SBUS)
{
Name (_ADR, 0x001F0003)
}
Device (AUD0)
{
Name (_ADR, 0x001E0002)
}
Device (MODM)
{
Name (_ADR, 0x001E0003)
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
If (LAnd (HDWA, LGreaterEqual (\_SB.OSTP (), 0x40)))
{
Store (Zero, HDWA)
Sleep (0x01F4)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
Device (RP01)
{
Name (_ADR, 0x001C0000)
OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
Field (P1CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP1, 1,
, 2,
PDC1, 1,
, 2,
PDS1, 1,
Offset (0x20),
Offset (0x22),
PSP1, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS1)
{
Name (_ADR, 0x00)
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001)
OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
Field (P2CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP2, 1,
, 2,
PDC2, 1,
, 2,
PDS2, 1,
Offset (0x20),
Offset (0x22),
PSP2, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS2)
{
Name (_ADR, 0x00)
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
}
})
}
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002)
OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
Field (P3CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP3, 1,
, 2,
PDC3, 1,
, 2,
PDS3, 1,
Offset (0x20),
Offset (0x22),
PSP3, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS3)
{
Name (_ADR, 0x00)
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x11
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKB,
0x00
}
})
}
}
}
Scope (\_SB.PCI0.RP01.PXS1)
{
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Scope (\_SB.PCI0.RP02.PXS2)
{
Name (_EJD, "\\_SB.PCI0.USB7.HUB7.PRT5")
Method (_STA, 0, NotSerialized)
{
If (PXRS)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (One)
}
Method (EXIN, 0, NotSerialized)
{
Sleep (0x64)
Store (Zero, PXCL)
Sleep (0x01)
Store (One, PXRS)
Store (Zero, EXPL)
}
Method (EXRM, 0, NotSerialized)
{
Store (Zero, PXRS)
Store (One, PXCL)
Store (One, EXPL)
}
}
}
Scope (\)
{
Name (WBTN, Zero)
Name (NGTM, Zero)
Name (LSBL, Zero)
Name (BNBF, Buffer (0x20) {})
Name (BNSP, Zero)
Name (BNGP, Zero)
Name (BNCT, Zero)
}
Device (FEXT)
{
Name (_HID, "FUJ02E3")
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_INI, 0, NotSerialized)
{
Store (Zero, BNSP)
Store (Zero, BNGP)
Store (Zero, BNCT)
Store (Zero, IRBC)
Store (Zero, IRBF)
}
Method (FUNC, 4, Serialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, 0x1001))
{
Store (S001 (Arg1, Arg2, Arg3), Local0)
}
Else
{
If (LEqual (Arg0, 0x1002))
{
Store (S002 (Arg1, Arg2, Arg3), Local0)
}
Else
{
If (LEqual (Arg0, 0x1004))
{
Store (S004 (Arg1, Arg2, Arg3), Local0)
}
}
}
If (LEqual (Arg0, 0x1005))
{
Store (S005 (Arg1, Arg2, Arg3), Local0)
}
If (LEqual (Arg0, 0x1006))
{
Store (S006 (Arg1, Arg2, Arg3), Local0)
}
If (LEqual (Arg0, 0x1008))
{
Store (S008 (Arg1, Arg2, Arg3), Local0)
}
Return (Local0)
}
Method (S001, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, Zero))
{
Store (LEDI, Local0)
}
Else
{
If (LEqual (Arg0, One))
{
And (Arg2, 0x03, Local1)
If (LAnd (And (Arg1, LEDI), Local1))
{
Store (0x9B, CMD)
ShiftRight (And (Arg2, 0x00030000), 0x08, DVID)
Store (Zero, SSMI)
}
Store (Zero, Local0)
}
Else
{
If (LEqual (Arg0, 0x02))
{
If (And (Arg1, LEDI))
{
Store (0x9B, CMD)
Store (One, DVID)
Store (Zero, SSMI)
Or (ShiftLeft (DVID, 0x10), One, Local0)
}
Else
{
Store (Zero, Local0)
}
}
}
}
Return (Local0)
}
Method (S002, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, Zero))
{
Store (BTNI, Local0)
}
Else
{
If (LEqual (Arg0, One))
{
Store (GIRB (), Local0)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Store (0x9B, CMD)
Store (0x02, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
Else
{
If (LEqual (Arg0, 0x03))
{
If (Arg1)
{
Not (Arg1, Local1)
And (Arg2, Arg1, Local2)
Or (And (WBTN, Local1), Local2, WBTN)
Store (0x9B, CMD)
Or (ShiftLeft (WBTN, 0x08), 0x03, DVID)
Store (Zero, SSMI)
}
Store (WBTN, Local0)
}
}
}
}
Return (Local0)
}
Method (SIRB, 1, NotSerialized)
{
If (LLess (BNCT, 0x10))
{
CreateWordField (BNBF, BNSP, BNP1)
Store (Arg0, BNP1)
Increment (BNCT)
Add (BNSP, 0x02, BNSP)
If (LGreaterEqual (BNSP, 0x20))
{
Store (Zero, BNSP)
}
}
}
Method (GIRB, 0, NotSerialized)
{
If (BNCT)
{
CreateWordField (BNBF, BNGP, BNP2)
Store (BNP2, Local0)
Or (Local0, 0x40000000, Local0)
Decrement (BNCT)
Add (BNGP, 0x02, BNGP)
If (LGreaterEqual (BNGP, 0x20))
{
Store (Zero, BNGP)
}
}
Else
{
Store (Zero, Local0)
}
Return (Local0)
}
Method (S004, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, Zero))
{
Store (NGTI, Local0)
}
Else
{
If (LEqual (Arg0, One))
{
If (LAnd (LEqual (Arg1, 0x04), And (NGTI, 0x04)))
{
And (Arg2, 0x03, Local1)
If (LOr (LEqual (Local1, 0x03), LEqual (Local1, 0x02)))
{
If (LNot (NGTF))
{
SVBL ()
Store (One, NGTF)
}
SBLC (Local1)
Store (Local1, NGTM)
Store (Zero, Local0)
}
If (LNot (Local1))
{
If (NGTF)
{
Store (Zero, NGTF)
RSBL ()
SBLC (Zero)
}
Store (Zero, NGTM)
Store (Zero, Local0)
}
}
}
Else
{
If (LEqual (Arg0, 0x02))
{
If (LAnd (LEqual (Arg1, 0x04), And (NGTI, 0x04)))
{
Store (NGTM, Local0)
}
}
}
}
Return (Local0)
}
Method (S008, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, 0x00))
{
If (LAnd (LGreaterEqual (Arg1, 0x00), LLessEqual (Arg1, 0x05)))
{
If (LEqual (Arg1, Zero))
{
Store (Zero, Local0)
}
Else
{
If (LEqual (Arg1, One))
{
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
Store (0x02, Local0)
}
Else
{
Store (Zero, Local0)
}
}
Else
{
Store (0xA4, CMD)
Store (Arg0, QAG1)
Store (Arg1, QAG2)
Store (Arg2, QAG3)
Store (Zero, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
}
}
}
Else
{
If (LEqual (Arg0, 0x01))
{
If (LAnd (LGreaterEqual (Arg1, 0x00), LLessEqual (Arg1, 0x01)))
{
Store (0xA4, CMD)
Store (Arg0, QAG1)
Store (Arg1, QAG2)
Store (Arg2, QAG3)
Store (Zero, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
}
Else
{
If (LEqual (Arg0, 0x02))
{
If (LAnd (LGreaterEqual (Arg1, 0x00), LLessEqual (Arg1, 0x01)))
{
Store (0xA4, CMD)
Store (Arg0, QAG1)
Store (Arg1, QAG2)
Store (Arg2, QAG3)
Store (Zero, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
}
Else
{
If (LEqual (Arg0, 0x03))
{
If (LEqual (Arg1, 0x00))
{
Store (0xA4, CMD)
Store (Arg0, QAG1)
Store (Arg1, QAG2)
Store (Arg2, QAG3)
Store (Zero, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
}
Else
{
If (LEqual (Arg0, 0x04))
{
If (LAnd (LGreaterEqual (Arg1, 0x00), LLessEqual (Arg1, 0x01)))
{
Store (0xA4, CMD)
Store (Arg0, QAG1)
Store (Arg1, QAG2)
Store (Arg2, QAG3)
Store (Zero, DVID)
Store (Zero, SSMI)
Store (DVID, Local0)
}
}
}
}
}
}
Return (Local0)
}
}
Scope (\_SB.FEXT)
{
Method (SBLC, 1, NotSerialized)
{
If (LNot (Arg0))
{
Store (Zero, BLCT)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (One, BLCT)
}
Else
{
If (LEqual (Arg0, 0x02))
{
Name (BBCT, Buffer (BLLM) {})
Store (BLLT, BBCT)
CreateByteField (BBCT, Zero, BLL0)
Store (BLL0, LCDB)
Store (0x01000000, DVID)
Or (DVID, BLL0, DVID)
Store (0x82, CMD)
Store (Zero, SSMI)
Store (Zero, BLCT)
}
}
}
}
Method (SVBL, 0, NotSerialized)
{
And (\_SB.PCI0.LPCB.FJEX.GBLL (), 0x7FFFFFFF, LSBL)
}
Method (RSBL, 0, NotSerialized)
{
\_SB.PCI0.LPCB.FJEX.SBLL (LSBL)
}
Method (S005, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (LEqual (Arg0, Zero))
{
If (CPBL)
{
Store (And (DPCI, Not (One)), Local0)
}
Else
{
Store (DPCI, Local0)
}
}
Else
{
If (LEqual (Arg0, One))
{
If (And (Arg1, One))
{
If (And (Arg2, One))
{
If (\_SB.PCI0.PATA.PRIM.MAST.BIDE ())
{
\_SB.PCI0.PATA.PRIM.MAST.BOFF ()
}
Or (DPCS, One, DPCS)
}
Else
{
If (\_SB.PCI0.PATA.PRIM.MAST.BIDE ())
{
\_SB.PCI0.PATA.PRIM.MAST.BON ()
}
And (DPCS, 0xFFFFFFFE, DPCS)
}
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
And (DPCS, DPCI, Local0)
}
}
Return (Local0)
}
Method (S006, 3, NotSerialized)
{
Store (0x80000000, Local0)
If (ECOK)
{
If (LEqual (Arg0, Zero))
{
Store (ECCI, Local0)
}
Else
{
If (LEqual (Arg0, 0x10))
{
If (Arg1)
{
And (Arg1, 0xFF, ECG1)
Store (0x23, ECGM)
Store (Zero, Local1)
While (LAnd (ECGM, LLess (Local1, 0x64)))
{
Sleep (0x01)
Increment (Local1)
}
If (LGreaterEqual (Local1, 0x64))
{
Store (0x80000001, Local0)
}
Else
{
Or (ShiftLeft (ECG2, 0x08), ECG3, Local0)
}
}
Else
{
Store (0xFD70, Local0)
}
}
Else
{
If (LEqual (Arg0, 0x11))
{
And (Arg1, 0xFF, ECG1)
ShiftRight (And (Arg2, 0xFF00), 0x08, ECG2)
And (Arg2, 0xFF, ECG3)
Store (0x22, ECGM)
Store (Zero, Local1)
While (LAnd (ECGM, LLess (Local1, 0x64)))
{
Sleep (0x01)
Increment (Local1)
}
If (LGreaterEqual (Local1, 0x64))
{
Store (0x80000001, Local0)
}
Else
{
Store (Zero, Local0)
}
}
Else
{
If (LEqual (Arg0, 0x12))
{
Store (GINT, Local0)
Store (Zero, GINT)
}
Else
{
If (LEqual (Arg0, 0x20))
{
ShiftRight (And (Arg1, 0xFF000000), 0x18, ECD3)
ShiftRight (And (Arg1, 0x00FF0000), 0x10, ECD2)
ShiftRight (And (Arg1, 0xFF00), 0x08, ECD1)
And (Arg1, 0xFF, ECCM)
Store (Zero, Local1)
While (LAnd (ECCM, LLess (Local1, 0x64)))
{
Sleep (0x01)
Increment (Local1)
}
If (LGreaterEqual (Local1, 0x64))
{
Store (0x80000001, Local0)
}
Else
{
Or (Or (ShiftLeft (ECD3, 0x10), ShiftLeft (ECD2, 0x08)
), ECD1, Local0)
}
}
}
}
}
}
}
Return (Local0)
}
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (CVCL)
{
Return (Zero)
}
Else
{
Return (One)
}
}
Name (_PRW, Package (0x02)
{
0x18,
0x04
})
Method (_PSW, 1, NotSerialized)
{
Noop
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (AC)
{
Name (_HID, "ACPI0003")
Scope (\)
{
Name (ACPS, Ones)
}
Method (_INI, 0, NotSerialized)
{
Store (ACPW, ACPS)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_PSR, 0, NotSerialized)
{
_INI ()
If (ACPW)
{
Return (One)
}
Else
{
Return (Zero)
}
}
Name (_PCL, Package (0x01)
{
\_SB
})
Method (ACHK, 0, NotSerialized)
{
Store (ACPW, Local0)
If (LNotEqual (Local0, ACPS))
{
Sleep (0x28)
Notify (\_SB.AC, 0x80)
Store (Zero, DVID)
Store (0x8D, CMD)
Store (Zero, SSMI)
Notify (\_PR.CPU0, 0x80)
Store (Local0, ACPS)
}
}
}
Device (CMB1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, One)
Name (_PCL, Package (0x01)
{
\_SB
})
Scope (\)
{
Name (B1PS, Ones)
Name (B1RS, Ones)
Name (B1CS, Ones)
Name (B1LS, Ones)
Name (BIF1, Package (0x0D)
{
0x01,
0x00,
0x00,
0x01,
0x00,
0x00,
0x00,
0x01,
0x01,
"",
"1",
"LION",
"Fujitsu"
})
Name (BST1, Package (0x04) {})
}
Method (MKWD, 2, NotSerialized)
{
If (And (Arg1, 0x80))
{
Or (0xFFFF0000, Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
Subtract (Zero, Local0, Local0)
}
Else
{
Store (Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
}
Return (Local0)
}
Method (_INI, 0, NotSerialized)
{
Store (B1P, B1PS)
Store (B1CP, B1RS)
Store (B1C, B1CS)
Store (MKWD (B1LL, B1LH), B1LS)
}
Method (_BIF, 0, NotSerialized)
{
Name (BUFF, Buffer (0x0C) {})
Store (B1NO, Local5)
CreateByteField (BIDT, B1ID, B1IX)
Store (MKWD (B1DL, B1DH), Index (BIF1, 0x01))
Store (MKWD (B1LL, B1LH), Index (BIF1, 0x02))
Store (Multiply (Add (And (B1DV, 0xEF), 0x02), 0x0E10
), Index (BIF1, 0x04))
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
Divide (Multiply (Add (Multiply (0x0C, 0x0A), 0x04), DerefOf (
Index (BIF1, 0x01))), 0x03E8, Local0, Index (BIF1, 0x05))
}
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
If (LEqual (BIFL, 0xFF))
{
Store (0x0A, Local1)
}
Else
{
Store (BIFL, Local1)
}
Divide (Multiply (Add (Multiply (Local1, 0x0A), 0x04), DerefOf (
Index (BIF1, 0x01))), 0x03E8, Local0, Index (BIF1, 0x06))
}
If (Local5)
{
Store (DerefOf (Index (BMST, B1IX)), BUFF)
Store (0x07, Local0)
Store (Local5, Local2)
While (LAnd (Local2, LGreaterEqual (Local0, 0x02)))
{
Store (Subtract (DerefOf (Index (BUFF, Local0)), 0x30), Local1)
Divide (Add (Local1, Local2), 0x0A, Local1, Local2)
Store (Add (Local1, 0x30), Index (BUFF, Local0))
Decrement (Local0)
}
Store (BUFF, Index (BIF1, 0x09))
}
Else
{
Store (DerefOf (Index (BMNT, B1IX)), Index (BIF1, 0x09))
}
Return (BIF1)
}
Method (_BST, 0, NotSerialized)
{
_INI ()
Store (Zero, Local0)
If (B1P)
{
If (B1C)
{
Or (Local0, 0x02, Local0)
}
Else
{
If (LNot (ACPS))
{
Or (Local0, One, Local0)
}
}
If (LLessEqual (B1CP, One))
{
Or (Local0, 0x04, Local0)
}
}
Store (MKWD (B1CL, B1CH), Local1)
Divide (Multiply (B1CP, MKWD (B1LL, B1LH)), 0x03E8, Local4, Local2)
If (Local4)
{
Increment (Local2)
}
Multiply (Local2, 0x0A, Local2)
Store (MKWD (B1VL, B1VH), Local3)
Store (Local0, Index (BST1, Zero))
Store (Local1, Index (BST1, One))
Store (Local2, Index (BST1, 0x02))
Store (Local3, Index (BST1, 0x03))
Return (BST1)
}
Method (_STA, 0, NotSerialized)
{
If (B1P)
{
Return (0x1F)
}
Return (0x0F)
}
Method (BCHK, 0, NotSerialized)
{
If (LNotEqual (B1P, B1PS))
{
Notify (\_SB.CMB1, 0x81)
Store (B1P, B1PS)
}
If (B1PS)
{
Store (MKWD (B1LL, B1LH), Local0)
If (LNotEqual (Local0, B1LS))
{
Notify (\_SB.CMB1, 0x81)
}
If (LOr (LNotEqual (B1C, B1CS), LNotEqual (B1CP, B1RS)))
{
Notify (\_SB.CMB1, 0x80)
}
Store (Local0, B1LS)
Store (B1C, B1CS)
Store (B1CP, B1RS)
}
}
}
Device (CMB2)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x02)
Name (_PCL, Package (0x01)
{
\_SB
})
Scope (\)
{
Name (B2PS, Ones)
Name (B2RS, Ones)
Name (B2CS, Ones)
Name (B2LS, Ones)
Name (BIF2, Package (0x0D)
{
0x01,
0x00,
0x00,
0x01,
0x00,
0x00,
0x00,
0x01,
0x01,
"",
"2",
"LION",
"Fujitsu"
})
Name (BST2, Package (0x04) {})
}
Method (MKWD, 2, NotSerialized)
{
If (And (Arg1, 0x80))
{
Or (0xFFFF0000, Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
Subtract (Zero, Local0, Local0)
}
Else
{
Store (Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
}
Return (Local0)
}
Method (_INI, 0, NotSerialized)
{
Store (B2P, B2PS)
Store (B2CP, B2RS)
Store (B2C, B2CS)
Store (MKWD (B2LL, B2LH), B2LS)
}
Method (_BIF, 0, NotSerialized)
{
Name (BUFF, Buffer (0x0C) {})
Store (B2NO, Local5)
CreateByteField (BIDT, B2ID, B2IX)
Store (MKWD (B2DL, B2DH), Index (BIF2, 0x01))
Store (MKWD (B2LL, B2LH), Index (BIF2, 0x02))
Store (Multiply (Add (And (B2DV, 0xEF), 0x02), 0x0E10
), Index (BIF2, 0x04))
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
Divide (Multiply (Add (Multiply (0x0C, 0x0A), 0x04), DerefOf (
Index (BIF2, 0x01))), 0x03E8, Local0, Index (BIF2, 0x05))
}
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
If (LEqual (BIFL, 0xFF))
{
Store (0x0A, Local1)
}
Else
{
Store (BIFL, Local1)
}
Divide (Multiply (Add (Multiply (Local1, 0x0A), 0x04), DerefOf (
Index (BIF2, 0x01))), 0x03E8, Local0, Index (BIF2, 0x06))
}
If (Local5)
{
Store (DerefOf (Index (BMST, B2IX)), BUFF)
Store (0x07, Local0)
Store (Local5, Local2)
While (LAnd (Local2, LGreaterEqual (Local0, 0x02)))
{
Store (Subtract (DerefOf (Index (BUFF, Local0)), 0x30), Local1)
Divide (Add (Local1, Local2), 0x0A, Local1, Local2)
Store (Add (Local1, 0x30), Index (BUFF, Local0))
Decrement (Local0)
}
Store (BUFF, Index (BIF2, 0x09))
}
Else
{
Store (DerefOf (Index (BMNT, B2IX)), Index (BIF2, 0x09))
}
Return (BIF2)
}
Method (_BST, 0, NotSerialized)
{
_INI ()
Store (Zero, Local0)
If (B2P)
{
If (B2C)
{
Or (Local0, 0x02, Local0)
}
Else
{
If (LNot (ACPS))
{
Or (Local0, One, Local0)
}
}
If (LLessEqual (B2CP, One))
{
Or (Local0, 0x04, Local0)
}
}
Store (MKWD (B2CL, B2CH), Local1)
Divide (Multiply (B2CP, MKWD (B2LL, B2LH)), 0x03E8, Local4, Local2)
If (Local4)
{
Increment (Local2)
}
Multiply (Local2, 0x0A, Local2)
Store (MKWD (B2VL, B2VH), Local3)
Store (Local0, Index (BST2, Zero))
Store (Local1, Index (BST2, One))
Store (Local2, Index (BST2, 0x02))
Store (Local3, Index (BST2, 0x03))
Return (BST2)
}
Method (_STA, 0, NotSerialized)
{
If (B2P)
{
Return (0x1F)
}
Return (0x0F)
}
Method (BCHK, 0, NotSerialized)
{
If (LNotEqual (B2P, B2PS))
{
Notify (\_SB.CMB2, 0x81)
Store (B2P, B2PS)
}
If (B2PS)
{
Store (MKWD (B2LL, B2LH), Local0)
If (LNotEqual (Local0, B2LS))
{
Notify (\_SB.CMB2, 0x81)
}
If (LOr (LNotEqual (B2C, B2CS), LNotEqual (B2CP, B2RS)))
{
Notify (\_SB.CMB2, 0x80)
}
Store (Local0, B2LS)
Store (B2C, B2CS)
Store (B2CP, B2RS)
}
}
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
If (FSCM)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
}
Scope (_TZ)
{
ThermalZone (TZ00)
{
Method (_CRT, 0, Serialized)
{
Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
}
Method (_TMP, 0, Serialized)
{
If (DTSE)
{
Store (0x9C, CMD)
Store (0x00, DVID)
Store (Zero, SSMI)
Return (Add (0x0AAC, Multiply (DTS1, 0x0A)))
}
Else
{
Return (0x0BB8)
}
}
Method (_PSL, 0, Serialized)
{
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Else
{
Return (Package (0x01)
{
\_PR.CPU0
})
}
}
Method (_PSV, 0, Serialized)
{
Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))
}
Method (_TC1, 0, Serialized)
{
Return (TC1V)
}
Method (_TC2, 0, Serialized)
{
Return (TC2V)
}
Method (_TSP, 0, Serialized)
{
Return (TSPV)
}
}
ThermalZone (TZ01)
{
Method (_CRT, 0, Serialized)
{
Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
}
Method (_TMP, 0, Serialized)
{
If (DTSE)
{
Store (0x9C, CMD)
Store (0x01, DVID)
Store (Zero, SSMI)
Return (Add (0x0AAC, Multiply (DTS2, 0x0A)))
}
Else
{
Return (0x0BB8)
}
}
Method (_PSL, 0, Serialized)
{
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Else
{
Return (Package (0x01)
{
\_PR.CPU0
})
}
}
Method (_PSV, 0, Serialized)
{
Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))
}
Method (_TC1, 0, Serialized)
{
Return (TC1V)
}
Method (_TC2, 0, Serialized)
{
Return (TC2V)
}
Method (_TSP, 0, Serialized)
{
Return (TSPV)
}
}
}
Scope (\)
{
Method (TZSM, 1, NotSerialized)
{
Store (0x9C, CMD)
Store (Arg0, DVID)
Store (Zero, SSMI)
}
}
Scope (\_GPE)
{
Method (_L02, 0, NotSerialized)
{
Store (0x00, GPEC)
Notify (\_TZ.TZ00, 0x80)
Notify (\_TZ.TZ01, 0x80)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.HDEF, 0x02)
}
Method (_L08, 0, NotSerialized)
{
}
Method (_L09, 0, NotSerialized)
{
If (\_SB.PCI0.RP01.PSP1)
{
Store (0x01, \_SB.PCI0.RP01.PSP1)
Store (0x01, \_SB.PCI0.RP01.PMCS)
Notify (\_SB.PCI0.RP01, 0x02)
}
If (\_SB.PCI0.RP02.PSP2)
{
Store (0x01, \_SB.PCI0.RP02.PSP2)
Store (0x01, \_SB.PCI0.RP02.PMCS)
Notify (\_SB.PCI0.RP02, 0x02)
}
If (\_SB.PCI0.RP03.PSP3)
{
Store (0x01, \_SB.PCI0.RP03.PSP3)
Store (0x01, \_SB.PCI0.RP03.PMCS)
Notify (\_SB.PCI0.RP03, 0x02)
}
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCIB, 0x02)
}
Method (_L18, 0, NotSerialized)
{
Sleep (0xFA)
If (LNot (LIDS))
{
Store (0x97, CMD)
Store (Zero, SSMI)
}
Not (LPOL, LPOL)
Notify (\_SB.LID, 0x80)
}
Method (_L19, 0, NotSerialized)
{
Store (SSF0, Local0)
Store (Local0, SSF0)
And (Local0, Not (SSM0), Local0)
Store (SSF1, Local1)
Store (Local1, SSF1)
And (Local1, Not (SSM1), Local1)
Store (SSF2, Local2)
Store (Local2, SSF2)
And (Local2, Not (SSM2), Local2)
If (And (Local2, 0x10))
{
\_SB.AC.ACHK ()
\_SB.CMB1.BCHK ()
\_SB.CMB2.BCHK ()
If (LOr (LNotEqual (LWMD, PLWM), LNotEqual (TALM, PTAL)))
{
Store (LWMD, PLWM)
Store (TALM, PTAL)
Store (0x95, CMD)
Or (PLWM, ShiftLeft (PTAL, 0x01), DVID)
Store (Zero, SSMI)
}
If (LAnd (TALM, LNot (ACPW)))
{
Store (One, FOCT)
}
Else
{
Store (Zero, FOCT)
}
}
If (And (Local0, 0x01))
{
\_SB.PCI0.GFX0.PHTK ()
Store (0x80, CMD)
Store (Zero, SSMI)
\_SB.PCI0.GFX0.AHTK ()
If (BSWF)
{
If (LGreaterEqual (\_SB.OSTP (), 0x40))
{
\_SB.PCI0.GFX0.LCD.BLNF ()
}
}
If (LOr (AHKF, VLBF))
{
Notify (\_SB.PCI0.LPCB.FJEX, 0x80)
}
If (IRBF)
{
If (LEqual (IRBC, 0xFD00))
{
Store (One, GINT)
}
Else
{
\_SB.FEXT.SIRB (IRBC)
}
Notify (\_SB.FEXT, 0x80)
Store (Zero, IRBF)
}
}
If (And (Local1, 0x30))
{
\_SB.PCI0.LPCB.CMBT.SWCF ()
}
If (And (Local2, 0x08))
{
Store (B1SU, Local3)
Store (B1SD, Local4)
Store (TBSF, Local5)
Store (B2SU, Local6)
Store (B2SD, Local7)
Store (Zero, STAE)
If (LAnd (Local3, LNot (B1TC)))
{
If (LNot (CPBL))
{
\_SB.PCI0.PATA.PRIM.MAST.BOFF ()
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
}
If (Local5)
{
Store (0x00, TBSM)
}
If (LOr (LAnd (Local4, B1TC), Local5))
{
If (LEqual (BY1I, 0x0C))
{
Store (One, BY1O)
}
Else
{
If (LNot (Or (DPCS, CPBL)))
{
\_SB.PCI0.PATA.PRIM.MAST.BON ()
If (LAnd (LAnd (BRST, BY1O), B1TC))
{
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
}
}
}
If (LOr (Local6, Local7))
{
Sleep (0x03E8)
Store (Zero, B2SU)
Store (Zero, B2SD)
\_SB.PCI0.LPCB.PRCF ()
If (RPEN)
{
If (LNotEqual (B2TC, RPDS))
{
Store (B2TC, RPDS)
If (RPDS)
{
Notify (\_SB.REPL, Zero)
}
Else
{
Sleep (0x0FA0)
Notify (\_SB.REPL, One)
}
}
}
}
}
}
Method (_L1D, 0, NotSerialized)
{
If (EXPL)
{
\_SB.PCI0.RP02.PXS2.EXIN ()
}
Else
{
\_SB.PCI0.RP02.PXS2.EXRM ()
}
Sleep (0x64)
Notify (\_SB.PCI0.RP02, Zero)
}
}
Name (_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (_S3, Package (0x04)
{
0x05,
0x05,
0x00,
0x00
})
Name (_S4, Package (0x04)
{
0x06,
0x06,
0x00,
0x00
})
Name (_S5, Package (0x04)
{
0x07,
0x07,
0x00,
0x00
})
Method (_PTS, 1, NotSerialized)
{
Add (0xDD, Arg0, PO80)
If (LAnd (LGreaterEqual (Arg0, One), LLessEqual (Arg0, 0x04)))
{
If (LNot (CPBL))
{
If (\_SB.PCI0.PATA.PRIM.MAST._STA ())
{
Store (Zero, BYIS)
}
Else
{
Store (0xFF, BYIS)
}
}
If (RPEN)
{
Store (RPDS, DC1S)
}
If (\_SB.PCI0.RP02.PXS2._STA ())
{
Store (Zero, EXIS)
}
Else
{
Store (0xFF, EXIS)
}
}
\_SB.PCI0.LPCB.CMBT.BPTS (Arg0)
Store (Zero, WAPB)
Store (One, HDWA)
Add (0xE0, Arg0, PO80)
}
Method (_WAK, 1, NotSerialized)
{
Add (0xEE, Arg0, PO80)
\_SB.PCI0.LPCB.AINI ()
\_SB.PCI0.PCIB._INI ()
\_SB.FEXT._INI ()
If (LEqual (Arg0, 0x03))
{
Store (0xA3, CMD)
Store (0x00, INF)
Store (Zero, SSMI)
}
If (LEqual (Arg0, 0x03))
{
Store (0x9B, CMD)
Store (0x04, DVID)
Store (Zero, SSMI)
}
If (WAPB)
{
Notify (\_SB.PWRB, 0x02)
}
If (LEqual (Arg0, 0x04))
{
\_SB.FEXT.FUNC (0x1002, 0x03, Ones, WBTN)
}
\_SB.PCI0.LPCB.CMBT.BWAK (Arg0)
If (LAnd (LGreaterEqual (Arg0, One), LLessEqual (Arg0, 0x04)))
{
If (LNot (CPBL))
{
If (LEqual (BYIS, 0xFF))
{
If (\_SB.PCI0.PATA.PRIM.MAST.BIDE ())
{
If (DPCS)
{
\_SB.PCI0.PATA.PRIM.MAST.BOFF ()
}
Else
{
If (LNot (\_SB.PCI0.PATA.PRIM.MAST._STA ()))
{
\_SB.PCI0.PATA.PRIM.MAST.BON ()
}
If (LAnd (LAnd (BRST, BY1O), B1TC))
{
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
}
}
}
Else
{
If (LNot (\_SB.PCI0.PATA.PRIM.MAST._STA ()))
{
\_SB.PCI0.PATA.PRIM.MAST.TMCL ()
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
Else
{
If (LEqual (Arg0, 0x04))
{
Store (0x87, CMD)
Store (Zero, DVID)
Store (Zero, SSMI)
Name (BFMN, Buffer (0x28) {})
Store (PIID, BFMN)
Store (Zero, Local0)
Store (Zero, Local1)
While (LAnd (LNot (Local0), LLess (Local1, 0x28)))
{
If (LEqual (DerefOf (Index (\_SB.PCI0.PATA.PMMN, Local1)), DerefOf (Index (BFMN,
Local1))))
{
Increment (Local1)
}
Else
{
Store (0x01, Local0)
}
}
If (Local0)
{
\_SB.PCI0.PATA.PRIM.MAST.BOFF ()
Notify (\_SB.PCI0.PATA.PRIM.MAST, One)
}
}
}
If (LAnd (\_SB.PCI0.PATA.PRIM.MAST.BIDE (), LNot (\_SB.PCI0.PATA.PRIM.MAST._STA ())))
{
Store (0x01, TBSM)
Store (0x00, TBSF)
Store (0x1E, TIMB)
}
}
}
\_SB.PCI0.LPCB.PRCF ()
If (RPEN)
{
If (LNotEqual (B2TC, DC1S))
{
Store (B2TC, RPDS)
If (RPDS)
{
Notify (\_SB.REPL, Zero)
}
Else
{
Notify (\_SB.REPL, One)
}
}
}
If (\_SB.PCI0.RP02.PXS2._STA ())
{
If (EXIS)
{
Notify (\_SB.PCI0.RP02, Zero)
}
}
Else
{
If (LNot (EXIS))
{
Notify (\_SB.PCI0.RP02, Zero)
}
}
If (NGTM)
{
\_SB.FEXT.FUNC (0x1004, 0x01, 0x04, 0x00)
}
}
Add (0xF0, Arg0, PO80)
Return (Zero)
}
Name (DC1S, Zero)
Scope (_SB)
{
Device (REPL)
{
Name (_HID, EisaId ("PNP0C15"))
Name (_BDN, 0x01)
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (RPDS)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_DCK, 1, NotSerialized)
{
Return (One)
}
Method (_EJ0, 1, NotSerialized)
{
Store (Zero, Local0)
While (LAnd (RPDS, LLess (Local0, 0x012C)))
{
Sleep (0x64)
Add (Local0, 0x01, Local0)
}
}
}
}
Scope (\_SB.PCI0.USB1)
{
Device (HUB1)
{
Name (_ADR, 0x00)
Device (PRT1)
{
Name (_ADR, 0x01)
}
Device (PRT2)
{
Name (_ADR, 0x02)
}
}
}
Scope (\_SB.PCI0.USB2)
{
Device (HUB2)
{
Name (_ADR, 0x00)
Device (PRT1)
{
Name (_ADR, 0x01)
}
Device (PRT2)
{
Name (_ADR, 0x02)
Name (_EJD, "_SB.REPL")
}
}
}
Scope (\_SB.PCI0.USB3.HUB3)
{
Device (PRT2)
{
Name (_ADR, 0x02)
}
}
Scope (\_SB.PCI0.USB4)
{
Device (HUB4)
{
Name (_ADR, 0x00)
Device (PRT1)
{
Name (_ADR, 0x01)
}
Device (PRT2)
{
Name (_ADR, 0x02)
}
}
}
Scope (\_SB.PCI0.USB7.HUB7)
{
Device (PRT1)
{
Name (_ADR, 0x01)
}
Device (PRT2)
{
Name (_ADR, 0x02)
}
Device (PRT3)
{
Name (_ADR, 0x03)
}
Device (PRT4)
{
Name (_ADR, 0x04)
Name (_EJD, "_SB.REPL")
}
Device (PRT6)
{
Name (_ADR, 0x06)
}
Device (PRT7)
{
Name (_ADR, 0x07)
}
Device (PRT8)
{
Name (_ADR, 0x08)
}
}
Scope (\_SB.PCI0.LPCB.UAR1)
{
Name (_EJD, "_SB.REPL")
}
Scope (\_SB.PCI0.LPCB.LPT)
{
Name (_EJD, "_SB.REPL")
}
Scope (\_SB.PCI0.LPCB.ECP)
{
Name (_EJD, "_SB.REPL")
}
Scope (\)
{
Name (SSDT, Package (0x0C)
{
"CPU0IST ",
0x7F64EF21,
0x000001E8,
"CPU1IST ",
0x7F64F319,
0x00000087,
"CPU0CST ",
0x7F64F3A0,
0x000001D0,
"CPU1CST ",
0x7F64F570,
0x00000085
})
Name (CFGD, 0x011B6971)
Name (\PDC0, 0x80000000)
Name (\PDC1, 0x80000000)
Name (\SDTL, 0x00)
}
Scope (\_PR.CPU0)
{
Name (HI0, 0x00)
Name (HC0, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x00, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS0)
CreateDWordField (Arg3, 0x04, CAP0)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, 0x00, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, Index (STS0, 0x00))
Return (Arg3)
}
If (LNotEqual (Arg1, 0x01))
{
Store (0x0A, Index (STS0, 0x00))
Return (Arg3)
}
Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0,
0x09), 0x09)), LNot (And (SDTL, 0x01))))
{
Or (SDTL, 0x01, SDTL)
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02
)))
Load (IST0, HI0)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18
)), LNot (And (SDTL, 0x02))))
{
Or (SDTL, 0x02, SDTL)
OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
)))
Load (CST0, HC0)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU1)
{
Name (HI1, 0x00)
Name (HC1, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x00, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS1, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS1, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS1)
CreateDWordField (Arg3, 0x04, CAP1)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID1, 0x00, EID0)
CreateDWordField (UID1, 0x04, EID1)
CreateDWordField (UID1, 0x08, EID2)
CreateDWordField (UID1, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, Index (STS1, 0x00))
Return (Arg3)
}
If (LNotEqual (Arg1, 0x01))
{
Store (0x0A, Index (STS1, 0x00))
Return (Arg3)
}
Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1,
0x09), 0x09)), LNot (And (SDTL, 0x10))))
{
Or (SDTL, 0x10, SDTL)
OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
)))
Load (IST1, HI1)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18
)), LNot (And (SDTL, 0x20))))
{
Or (SDTL, 0x20, SDTL)
OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
)))
Load (CST1, HC1)
}
}
Return (Arg3)
}
}
Scope (\_SB.PCI0.SATA)
{
Name (PMMN, Buffer (0x28) {})
OperationRegion (PCI, PCI_Config, 0x40, 0x18)
Field (PCI, ByteAcc, NoLock, Preserve)
{
PTI0, 1,
PIE0, 1,
PPP0, 1,
PDT0, 1,
PTI1, 1,
PIE1, 1,
PPP1, 1,
PDT1, 1,
PRCT, 2,
, 2,
PISP, 2,
PSIT, 1,
PIDE, 1,
Offset (0x04),
PRC1, 2,
PIS1, 2,
Offset (0x08),
PSD0, 1,
PSD1, 1,
Offset (0x0A),
PCT0, 2,
, 2,
PCT1, 2,
Offset (0x14),
PCB0, 1,
PCB1, 1,
, 2,
PMCC, 1,
PSCC, 1,
, 6,
FPC0, 1,
FPC1, 1,
Offset (0x16),
PSMD, 2
}
Device (PRID)
{
Name (_ADR, 0x00)
Device (P_D0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Name (GTFB, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xF5
})
CreateByteField (GTFB, 0x01, SPIO)
CreateByteField (GTFB, 0x08, SDMA)
If (LNot (PIE0))
{
Store (0x01, SPIO)
}
Else
{
If (LOr (PDT0, LNot (PTI0)))
{
Store (0x08, SPIO)
}
Else
{
If (LLess (Add (PISP, PRCT), 0x03))
{
Store (0x0A, SPIO)
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x0B, SPIO)
}
Else
{
Store (0x0C, SPIO)
}
}
}
}
If (PSD0)
{
If (And (FPC0, PMCC))
{
Store (0x45, SDMA)
}
Else
{
If (And (PCB0, PMCC))
{
If (LEqual (PCT0, 0x02))
{
Store (0x44, SDMA)
}
Else
{
Store (0x43, SDMA)
}
}
Else
{
If (LEqual (PCT0, 0x02))
{
Store (0x42, SDMA)
}
Else
{
If (LEqual (PCT0, 0x01))
{
Store (0x41, SDMA)
}
Else
{
Store (0x40, SDMA)
}
}
}
}
}
Else
{
If (LLess (Add (PISP, PRCT), 0x05))
{
Store (0x21, SDMA)
}
Else
{
Store (0x22, SDMA)
}
}
Return (GTFB)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
Store (0x01, INF)
While (INF)
{
Store (0x20, CMD)
Store (Zero, SSMI)
If (LAnd (LEqual (INF, 0x01), LGreaterEqual (\_SB.OSTP (), 0x04)))
{
Sleep (0x01F4)
}
}
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
Device (P_D1)
{
Name (_ADR, 0x01)
Name (_GTF, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
})
}
Method (_GTM, 0, NotSerialized)
{
Name (GTMB, Buffer (0x14) {})
CreateDWordField (GTMB, 0x00, PIO0)
CreateDWordField (GTMB, 0x04, DMA0)
CreateDWordField (GTMB, 0x08, PIO1)
CreateDWordField (GTMB, 0x0C, DMA1)
CreateDWordField (GTMB, 0x10, FLAG)
Store (0x10, FLAG)
Or (FLAG, Or (ShiftLeft (PIE1, 0x03), ShiftLeft (PIE0, 0x01
)), FLAG)
If (LOr (PDT0, LNot (PTI0)))
{
Store (0x0384, PIO0)
}
Else
{
Multiply (Subtract (0x09, Add (PRCT, PISP)), 0x1E, PIO0)
}
If (LNot (PSD0))
{
Store (PIO0, DMA0)
}
Else
{
Or (FLAG, 0x01, FLAG)
If (And (FPC0, PMCC))
{
Store (0x14, DMA0)
}
Else
{
If (And (PCB0, PMCC))
{
Multiply (Subtract (0x04, PCT0), 0x0F, DMA0)
}
Else
{
Multiply (Subtract (0x04, PCT0), 0x1E, DMA0)
}
}
}
If (LOr (PDT1, LNot (PTI1)))
{
Store (0x0384, PIO1)
}
Else
{
If (LNot (PSIT))
{
Store (PIO0, PIO1)
}
Else
{
Multiply (Subtract (0x09, Add (PRC1, PIS1)), 0x1E, PIO1)
}
}
If (LNot (PSD1))
{
Store (PIO1, DMA1)
}
Else
{
Or (FLAG, 0x04, FLAG)
If (And (FPC1, PSCC))
{
Store (0x14, DMA1)
}
Else
{
If (And (PCB1, PSCC))
{
Multiply (Subtract (0x04, PCT1), 0x0F, DMA1)
}
Else
{
Multiply (Subtract (0x04, PCT1), 0x1E, DMA1)
}
}
}
Return (GTMB)
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
Store (0x00, PSIT)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateField (Arg1, 0x01B0, 0x0140, MBUF)
Store (MBUF, PMMN)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x66, W510)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7C, W620)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
Store (0x00, PISP)
Store (0x00, PRCT)
Store (0x00, PDT0)
Store (0x00, PIE0)
Store (0x00, PTI0)
Store (0x00, PSD0)
Store (0x00, PCT0)
Store (0x00, PCB0)
Store (0x00, PMCC)
Store (0x00, FPC0)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Store (0x01, PIE0)
}
If (LAnd (LLessEqual (PIO0, 0x78), LAnd (And (W530, 0x02
), And (W640, 0x02))))
{
Store (0x02, PISP)
Store (0x03, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (PIO0, 0xB4), LAnd (And (W530, 0x02
), And (W640, 0x01))))
{
Store (0x02, PISP)
Store (0x01, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (PIO0, 0xF0), LGreaterEqual (W510, 0x0200)))
{
Store (0x01, PISP)
Store (0x01, PTI0)
}
Else
{
Noop
}
}
}
If (LNotEqual (DMA0, 0xFFFFFFFF))
{
If (LAnd (And (FLAG, 0x01), LAnd (And (W530, 0x04
), And (W880, 0x3F))))
{
Store (0x01, PSD0)
If (LAnd (LLessEqual (DMA0, 0x14), And (W880, 0x20)))
{
Store (0x01, PCT0)
Store (0x01, PMCC)
Store (0x01, FPC0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x1E), And (W880, 0x10)))
{
Store (0x02, PCT0)
Store (0x01, PMCC)
Store (0x01, PCB0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x2D), And (W880, 0x08)))
{
Store (0x01, PCT0)
Store (0x01, PMCC)
Store (0x01, PCB0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x3C), And (W880, 0x04)))
{
Store (0x02, PCT0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x5A), And (W880, 0x02)))
{
Store (0x01, PCT0)
}
Else
{
Noop
}
}
}
}
}
}
Else
{
If (LAnd (LLessEqual (DMA0, 0x78), And (W630, 0x04)))
{
Store (0x02, PISP)
Store (0x03, PRCT)
Store (0x01, PTI0)
}
Else
{
If (LAnd (LLessEqual (DMA0, 0xB4), And (W630, 0x02)))
{
Store (0x02, PISP)
Store (0x01, PRCT)
Store (0x01, PTI0)
}
Else
{
Noop
}
}
}
}
}
Store (0x01, PIDE)
}
}
Device (SECD)
{
Name (_ADR, 0x01)
Device (S_D0)
{
Name (_ADR, 0x00)
Name (_GTF, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
})
}
Device (S_D1)
{
Name (_ADR, 0x01)
Name (_GTF, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
})
}
}
}
}
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the freebsd-current
mailing list