Latest ACPI changes causing Interrupt Storm
Jiawei Ye
leafy7382 at gmail.com
Wed Aug 11 21:44:47 PDT 2004
kernel 30 mins old. dmesg -a, please also note the failing fdc, this
has been broken for months.
Copyright (c) 1992-2004 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 5.2-CURRENT #2: Thu Aug 12 12:19:04 CST 2004
leafy at chihiro.leafy.idv.tw:/usr/obj/usr/src/sys/CHIHIRO
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1794.56-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf12 Stepping = 2
Features=0x3febf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
real memory = 268369920 (255 MB)
avail memory = 252952576 (241 MB)
netsmb_dev: loaded
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AMIINT AMIINT10> on motherboard
acpi0: [GIANT-LOCKED]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU (3 Cx states)> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKD resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKD
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKH resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKH
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKB
acpi link set: \\_SB_.LNKB resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKB
agp0: <Intel 82850 host to AGP bridge> mem 0xe8000000-0xebffffff at
device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 11 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 10 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 5 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 9 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 12 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 7 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 6 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 4 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 3 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 15 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
pcib1: _SRS failed, irq 14 via \\_SB_.LNKA
pci1: <display, VGA> at device 0.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKF resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKF
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKG resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKG
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 11 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 10 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 5 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 9 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 12 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 7 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 6 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 4 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 3 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 15 via \\_SB_.LNKA
acpi link set: \\_SB_.LNKA resource is not an IRQ (2)
unknown: _SRS failed, irq 14 via \\_SB_.LNKA
rl0: <RealTek 8139 10/100BaseTX> port 0xa800-0xa8ff mem
0xefefef00-0xefefefff irq 10 at device 1.0 on pci2
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:40:95:07:53:6b
rl0: [GIANT-LOCKED]
fxp0: <Intel 82558 Pro/100 Ethernet> port 0xa400-0xa41f mem
0xefd00000-0xefdfffff,0xe77ff000-0xe77fffff irq 9 at device 2.0 on
pci2
miibus1: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus1
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:90:27:13:a4:48
fxp0: [GIANT-LOCKED]
ahc0: <Adaptec 2940B Ultra2 SCSI adapter> port 0xac00-0xacff mem
0xefeff000-0xefefffff irq 11 at device 3.0 on pci2
ahc0: [GIANT-LOCKED]
aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH2 UDMA100 controller> port
0xff00-0xff0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on
pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> port
0xcc00-0xcc1f irq 10 at device 31.2 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
uhci1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> port
0xd400-0xd41f irq 10 at device 31.4 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pcm0: <Intel ICH2 (82801BA)> port 0xd800-0xd83f,0xdc00-0xdcff irq 5 at
device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
acpi_button1: <Sleep Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <floppy drive controller> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3 irq
6 drq 2 on acpi0
fdc0: I/O to control range incorrect
device_attach: fdc0 attach returned 6
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
fdc0: <floppy drive controller> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3 irq
6 drq 2 on acpi0
fdc0: I/O to control range incorrect
device_attach: fdc0 attach returned 6
orm0: <ISA Option ROMs> at iomem
0xe0000-0xe0fff,0xcc000-0xd17ff,0xc0000-0xcbfff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1794555960 Hz quality 800
Timecounters tick every 0.976 msec
Waiting 15 seconds for SCSI devices to settle
Interrupt storm detected on "irq5: pcm0"; throttling interrupt source
Interrupt storm detected on "irq10: rl0 uhci0+"; throttling interrupt source
Interrupt storm detected on "irq11: ahc0"; throttling interrupt source
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM-PSG DNES-309170W !# SAB0> Fixed Direct Access SCSI-3 device
da0: 80.000MB/s transfers (40.000MHz, offset 30, 16bit), Tagged Queueing Enabled
da0: 8678MB (17774160 512 byte sectors: 255H 63S/T 1106C)
Mounting root from ufs:/dev/da0s1a
-------------- next part --------------
/*
RSD PTR: OEM=AMI, ACPI_Rev=1.0x (0)
RSDT=0x0fff0000, cksum=156
*/
/*
RSDT: Length=40, Revision=1, Checksum=14,
OEMID=AMIINT, OEM Table ID=AMIINT10, OEM Revision=0x1011,
Creator ID=MSFT, Creator Revision=0x100000d
Entries={ 0x0fff0030 }
*/
/*
FACP: Length=116, Revision=1, Checksum=120,
OEMID=AMIINT, OEM Table ID=AMIINT10, OEM Revision=0x1011,
Creator ID=MSFT, Creator Revision=0x100000d
FACS=0xfff8000, DSDT=0xfff00b0
INT_MODEL=PIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x1f
PSTATE_CNT=0x0
PM1a_EVT_BLK=0x400-0x403
PM1a_CNT_BLK=0x404-0x405
PM2_CNT_BLK=0x420-0x420
PM_TMR_BLK=0x408-0x40b
GPE0_BLK=0x428-0x42b
GPE1_BLK=0x42c-0x42f, GPE1_BASE=16
P_LVL2_LAT=100 us, P_LVL3_LAT=1000 us
FLUSH_SIZE=1024, FLUSH_STRIDE=16
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,SLP_BUTTON}
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=0
*/
/*
DSDT: Length=12551, Revision=1, Checksum=89,
OEMID=INTEL, OEM Table ID=WHITNEY, OEM Revision=0x1000,
Creator ID=MSFT, Creator Revision=0x100000d
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20040527
*
* Disassembly of /tmp/acpidump.3fiW25, Thu Aug 12 12:41:42 2004
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTEL", "WHITNEY", 4096)
{
Scope (\_PR)
{
Processor (CPU1, 0x01, 0x00000410, 0x06) {}
}
OperationRegion (CM72, SystemIO, 0x72, 0x02)
Field (CM72, ByteAcc, NoLock, Preserve)
{
CI72, 8,
CO73, 8
}
IndexField (CI72, CO73, ByteAcc, NoLock, Preserve)
{
Offset (0xD5),
ULED, 8,
Offset (0xDA),
UASB, 1,
USBE, 1,
FLOS, 2,
Offset (0xDC),
, 3,
, 1,
ACST, 3,
Offset (0xDE),
LNRI, 8
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
Name (\_S4, Package (0x04)
{
0x06,
0x00,
0x00,
0x00
})
Name (\_S5, Package (0x04)
{
0x07,
0x00,
0x00,
0x00
})
Method (MCTH, 2, NotSerialized)
{
If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (0x00)
}
Add (SizeOf (Arg0), 0x01, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))) {}
Else
{
Return (Zero)
}
}
Return (One)
}
Scope (\_SB)
{
Name (APIC, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, APIC)
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Method (_STA, 0, NotSerialized)
{
Return (0x0B)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0x01)
Name (_ADR, 0x00)
Name (_BBN, 0x00)
Name (SS3D, 0x02)
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000CB000,
0x000DFFFF,
0x00000000,
0x00015000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x20000000,
0xFFDFFFFF,
0x00000000,
0xDFE00000)
})
OperationRegion (TMEM, PCI_Config, 0x7E, 0x02)
Field (TMEM, WordAcc, NoLock, Preserve)
{
MEMT, 11
}
Name (TOM, 0x00)
Method (MDET, 0, NotSerialized)
{
If (LNot (TOM))
{
If (FLAG)
{
ShiftLeft (MEMT, 0x18, TOM)
}
Else
{
Return (0x20000000)
}
}
Return (TOM)
}
Name (FLAG, 0x01)
Name (OSFL, 0x02)
Method (_INI, 0, NotSerialized)
{
\_SB.PCI0.SBRG.IODT ()
If (MCTH (\_OS, "Microsoft Windows"))
{
Store (0x02, OSFL)
}
Else
{
If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x03, OSFL)
}
Else
{
Store (0x01, OSFL)
}
}
}
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, FLAG)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x76, TMEM)
CreateDWordField (CRS, 0x82, TLEN)
Store (MDET (), TMEM)
Subtract (0xFFE00000, TMEM, TLEN)
Return (CRS)
}
Name (_PRT, Package (0x06)
{
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x02,
\_SB.LNKH,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x03,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
LNKB,
0x00
}
})
Device (SBRG)
{
Name (_ADR, 0x001F0000)
Name (\_SB.IPRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12,14,15}
}
EndDependentFn ()
})
OperationRegion (PIX0, PCI_Config, 0x60, 0x04)
OperationRegion (PIX1, PCI_Config, 0x68, 0x04)
OperationRegion (LPC0, PCI_Config, 0xE0, 0x08)
OperationRegion (LPC1, PCI_Config, 0xEC, 0x02)
Scope (\_SB)
{
Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
Field (\_SB.PCI0.SBRG.PIX1, ByteAcc, NoLock, Preserve)
{
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Field (\_SB.PCI0.SBRG.LPC0, ByteAcc, NoLock, Preserve)
{
LPCA, 3,
, 1,
LPCB, 3,
Offset (0x01),
LPLP, 2,
, 2,
LPFD, 1,
Offset (0x02),
LPSB, 2,
, 1,
LPMD, 1,
LPMS, 2,
Offset (0x03),
Offset (0x04),
GEN1, 16,
CAEN, 1,
CBEN, 1,
LPEN, 1,
FDEN, 1,
SBEN, 1,
MDEN, 1,
MSEN, 1,
ADEN, 1,
GMLE, 1,
GMHE, 1,
KBEN, 1,
MCEN, 1,
CF1E, 1,
CF2E, 1,
Offset (0x08)
}
Field (\_SB.PCI0.SBRG.LPC1, ByteAcc, NoLock, Preserve)
{
GEN2, 16
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {15}
})
CreateWordField (BUFA, 0x01, IRA0)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
And (PIRB, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRB, 0x80, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRB, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
And (PIRC, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRC, 0x80, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRC, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
And (PIRD, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRD, 0x80, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRD, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
And (PIRE, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRE, 0x80, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRE, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
And (PIRF, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRF, 0x80, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRF, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
And (PIRG, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRG, 0x80, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRG, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRG)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
And (PIRH, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRH, 0x80, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRH, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
}
OperationRegion (SBFN, PCI_Config, 0xF2, 0x01)
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_STA, 0, NotSerialized)
{
Store (OSFL, FLOS)
If (And (OSFL, 0x02))
{
Return (0x0F)
}
Return (0x00)
}
Name (IORG, ResourceTemplate ()
{
FixedIO (0x0010, 0x10)
FixedIO (0x0022, 0x1E)
FixedIO (0x0044, 0x1C)
FixedIO (0x0062, 0x02)
FixedIO (0x0065, 0x0B)
FixedIO (0x0072, 0x0E)
FixedIO (0x0080, 0x01)
FixedIO (0x0084, 0x03)
FixedIO (0x0088, 0x01)
FixedIO (0x008C, 0x03)
FixedIO (0x0090, 0x10)
FixedIO (0x00A2, 0x1E)
FixedIO (0x00E0, 0x10)
FixedIO (0x0295, 0x02)
IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
IO (Decode16, 0x0400, 0x0400, 0x00, 0x80)
IO (Decode16, 0x0480, 0x0480, 0x00, 0x40)
})
Method (_CRS, 0, NotSerialized)
{
Return (IORG)
}
}
Device (FWH)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0xFFB80000, 0x00080000)
})
}
Device (\_SB.MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Method (_STA, 0, NotSerialized)
{
If (And (\_SB.PCI0.OSFL, 0x02))
{
Return (0x0F)
}
Return (0x00)
}
Name (MEM1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed (ReadWrite, 0x00100000, 0x1FF00000)
Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (MEM1, 0x20, TOP1)
Subtract (\_SB.PCI0.MDET (), 0x00100000, TOP1)
Return (MEM1)
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
FixedIO (0x0020, 0x02)
FixedIO (0x00A0, 0x02)
IRQNoFlags () {2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8) {4}
FixedIO (0x0000, 0x10)
FixedIO (0x0081, 0x03)
FixedIO (0x0087, 0x01)
FixedIO (0x0089, 0x03)
FixedIO (0x008F, 0x01)
FixedIO (0x00C0, 0x20)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
FixedIO (0x0040, 0x04)
IRQNoFlags () {0}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
FixedIO (0x0070, 0x02)
IRQNoFlags () {8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
FixedIO (0x0061, 0x01)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
FixedIO (0x00F0, 0x10)
IRQNoFlags () {13}
})
}
OperationRegion (PSRG, SystemMemory, 0x0410, 0x01)
Field (PSRG, ByteAcc, NoLock, Preserve)
{
, 2,
PS2E, 1
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
If (PS2E)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Name (MCRS, ResourceTemplate ()
{
IRQNoFlags () {12}
})
Method (_CRS, 0, NotSerialized)
{
Return (MCRS)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Name (KCRS, ResourceTemplate ()
{
FixedIO (0x0060, 0x01)
FixedIO (0x0064, 0x01)
IRQNoFlags () {1}
})
Method (_CRS, 0, NotSerialized)
{
Return (KCRS)
}
}
Name (SPIO, 0x2E)
OperationRegion (WIN1, SystemIO, SPIO, 0x02)
Field (WIN1, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
CFG, 8,
Offset (0x07),
LDN, 8,
Offset (0x30),
ACTR, 1,
ACT1, 1,
ACT2, 1,
Offset (0x31),
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOEH, 8,
IOEL, 8,
Offset (0x70),
INTR, 8,
Offset (0x72),
INT1, 8,
Offset (0x74),
DMCH, 8,
Offset (0xC0),
GP40, 8,
Offset (0xE0),
RGE0, 8,
RGE1, 8,
RGE2, 8,
RGE3, 8,
RGE4, 8,
Offset (0xF0),
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
OPT5, 8,
OPT6, 8,
OPT7, 8,
OPT8, 8,
OPT9, 8,
OPTA, 8
}
OperationRegion (HWMT, SystemIO, 0x0295, 0x02)
Field (HWMT, ByteAcc, NoLock, Preserve)
{
HWIN, 8,
HWDT, 8
}
IndexField (HWIN, HWDT, ByteAcc, NoLock, Preserve)
{
Offset (0x40),
HW40, 8,
HW41, 8,
HW42, 8,
HW43, 8,
HW44, 8,
Offset (0x46),
HW46, 8,
HW47, 8,
HW48, 8,
HW49, 8,
HW4A, 8,
HW4B, 8,
HW4C, 8,
HW4D, 8,
HW4E, 8,
HW4F, 8,
HW50, 8,
HW51, 8,
HW52, 8,
HW53, 8,
HW54, 8,
HW55, 8,
HW56, 8,
HW57, 8,
HW58, 8,
HW59, 8,
HW5A, 8,
HW5B, 8,
HW5C, 8,
HW5D, 8,
HW5E, 8,
HW5F, 8
}
Method (ENFG, 0, NotSerialized)
{
Store (0x87, INDX)
Store (0x87, INDX)
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, INDX)
}
Name (LDFD, 0x00)
Name (LDU1, 0x02)
Name (LDU2, 0x03)
Name (LDIR, 0x06)
Name (LDLP, 0x01)
Name (LDGM, 0x07)
Name (LDMD, 0x07)
Device (FDC0)
{
Name (_HID, EisaId ("PNP0700"))
Method (_STA, 0, NotSerialized)
{
If (FDST)
{
Return (GSTA (0x00))
}
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, FDEN)
DDIS (0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (FCRS)
}
Method (_PRS, 0, NotSerialized)
{
Return (FPRS)
}
Method (_SRS, 1, NotSerialized)
{
Store (One, FDEN)
DENB (0x00)
}
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (U1ST)
{
Return (GSTA (0x02))
}
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, CAEN)
DDIS (0x02)
}
Method (_CRS, 0, NotSerialized)
{
Return (PCRS (0x02, 0x01, 0x08))
}
Method (_SRS, 1, NotSerialized)
{
PSRS (Arg0, 0x02)
Store (One, CAEN)
ENFG ()
If (LEqual (IOAH, 0x03))
{
If (LEqual (IOAL, 0xF8))
{
Store (Zero, LPCA)
}
Else
{
Store (0x07, LPCA)
}
}
Else
{
If (LEqual (IOAL, 0xF8))
{
Store (One, LPCA)
}
Else
{
Store (0x05, LPCA)
}
}
EXFG ()
}
Method (_PRS, 0, NotSerialized)
{
Return (C1PR)
}
}
Device (UAR2)
{
Method (_HID, 0, NotSerialized)
{
ENFG ()
Store (LDU2, LDN)
And (OPT2, 0x38, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
Else
{
Return (0x0105D041)
}
}
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (U2ST)
{
Return (GSTA (0x03))
}
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, CBEN)
DDIS (0x03)
}
Method (_CRS, 0, NotSerialized)
{
Return (PCRS (0x03, 0x01, 0x08))
}
Method (_SRS, 1, NotSerialized)
{
PSRS (Arg0, 0x03)
Store (One, CBEN)
ENFG ()
If (LEqual (IOAH, 0x03))
{
If (LEqual (IOAL, 0xF8))
{
Store (Zero, LPCB)
}
Else
{
Store (0x07, LPCB)
}
}
Else
{
If (LEqual (IOAL, 0xF8))
{
Store (One, LPCB)
}
Else
{
Store (0x05, LPCB)
}
}
EXFG ()
}
Method (_PRS, 0, NotSerialized)
{
Return (C2PR)
}
}
Device (IRDA)
{
Name (_HID, EisaId ("PNP0510"))
Method (_STA, 0, NotSerialized)
{
If (IRST)
{
Return (GSTA (LDIR))
}
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
DDIS (LDIR)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF6, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x10, 0x08)
IRQNoFlags () {}
})
CreateByteField (BUF6, 0x02, IOLO)
CreateByteField (BUF6, 0x03, IOHI)
CreateByteField (BUF6, 0x04, IORL)
CreateByteField (BUF6, 0x05, IORH)
CreateWordField (BUF6, 0x09, IRQM)
ENFG ()
Store (LDIR, LDN)
If (ACTR)
{
Store (0x98, IOLO)
Store (0x02, IOHI)
}
Else
{
Store (0x00, IOLO)
Store (0x00, IOHI)
}
Store (IOLO, IORL)
Store (IOHI, IORH)
ShiftLeft (0x01, INTR, IRQM)
EXFG ()
Return (BUF6)
}
Method (_SRS, 1, NotSerialized)
{
PSRS (Arg0, LDIR)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0298, 0x0298, 0x08, 0x08)
IRQNoFlags () {3,4,9,10,11}
}
EndDependentFn ()
})
}
Device (LPT)
{
Name (_HID, EisaId ("PNP0400"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDN)
And (OPT1, 0x02, Local0)
EXFG ()
If (Or (Local0, And (Not (LPST), 0x01)))
{
Return (Zero)
}
Else
{
Return (GSTA (0x01))
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, LPEN)
DDIS (0x01)
}
Method (_CRS, 0, NotSerialized)
{
Return (PCRS (0x01, 0x01, 0x08))
}
Method (_SRS, 1, NotSerialized)
{
PSRS (Arg0, 0x01)
Store (One, LPEN)
ENFG ()
If (LEqual (IOAH, 0x03))
{
If (LEqual (IOAL, 0x78))
{
Store (Zero, LPLP)
}
Else
{
Store (0x02, LPLP)
}
}
Else
{
Store (One, LPLP)
}
EXFG ()
}
Method (_PRS, 0, NotSerialized)
{
Return (LPPR)
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDN)
And (OPT1, 0x02, Local0)
EXFG ()
If (Local0)
{
If (LPST)
{
Return (GSTA (0x01))
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, LPEN)
DDIS (0x01)
}
Method (_CRS, 0, NotSerialized)
{
Return (ECRS (0x01))
}
Method (_SRS, 1, NotSerialized)
{
ESRS (Arg0, 0x01)
Store (One, LPEN)
ENFG ()
If (LEqual (IOAH, 0x03))
{
If (LEqual (IOAL, 0x78))
{
Store (Zero, LPLP)
}
Else
{
Store (0x02, LPLP)
}
}
Else
{
Store (One, LPLP)
}
EXFG ()
}
Method (_PRS, 0, NotSerialized)
{
Return (EPRS)
}
}
Device (GAME)
{
Name (_HID, EisaId ("PNPB02F"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (LDGM, LDN)
If (LOr (GMLE, GMHE))
{
EXFG ()
Return (0x0F)
}
Else
{
Add (IOAH, IOAL, Local0)
If (Local0)
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (Zero)
}
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, GMLE)
Store (Zero, GMHE)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF6, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
})
CreateByteField (BUF6, 0x02, IOLO)
CreateByteField (BUF6, 0x03, IOHI)
CreateByteField (BUF6, 0x04, IORL)
CreateByteField (BUF6, 0x05, IORH)
ENFG ()
Store (LDGM, LDN)
If (LEqual (IOAL, 0x00))
{
Store (0x00, IOLO)
Store (0x02, IOHI)
}
Else
{
Store (0x08, IOLO)
Store (0x02, IOHI)
}
Store (IOLO, IORL)
Store (IOHI, IORH)
EXFG ()
Return (BUF6)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0200, 0x0200, 0x08, 0x08)
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0208, 0x0208, 0x08, 0x08)
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
ENFG ()
Store (LDGM, LDN)
If (LEqual (IOLO, 0x00))
{
Store (0x02, IOAH)
Store (0x00, IOAL)
}
Else
{
Store (0x02, IOAH)
Store (0x08, IOAL)
}
If (LEqual (IOAL, 0x00))
{
Store (One, GMLE)
Store (Zero, GMHE)
}
Else
{
Store (Zero, GMLE)
Store (One, GMHE)
}
EXFG ()
}
}
Device (MIDI)
{
Name (_HID, EisaId ("PNPB006"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (LDMD, LDN)
If (LOr (MDEN, LEqual (IOEH, 0x02)))
{
EXFG ()
Return (0x0F)
}
Else
{
Add (IOEH, IOEL, Local0)
If (Local0)
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (Zero)
}
}
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, MDEN)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF6, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x02, 0x02)
IRQNoFlags () {}
})
CreateByteField (BUF6, 0x02, IOLO)
CreateByteField (BUF6, 0x03, IOHI)
CreateByteField (BUF6, 0x04, IORL)
CreateByteField (BUF6, 0x05, IORH)
CreateWordField (BUF6, 0x09, IRQM)
ENFG ()
Store (LDMD, LDN)
If (LEqual (IOEH, 0x03))
{
Store (0x03, IOHI)
If (LEqual (IOEL, 0x30))
{
Store (0x30, IOLO)
}
Else
{
Store (0x00, IOLO)
}
}
Else
{
Store (0x02, IOHI)
If (LEqual (IOEL, 0x90))
{
Store (0x90, IOLO)
}
Else
{
Store (0x92, IOLO)
}
}
Store (IOLO, IORL)
Store (IOHI, IORH)
ShiftLeft (0x01, INTR, IRQM)
EXFG ()
Return (BUF6)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0330, 0x0330, 0x02, 0x02)
IRQNoFlags () {5,7,9,10}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0300, 0x0300, 0x02, 0x02)
IRQNoFlags () {5,7,9,10}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0290, 0x0290, 0x02, 0x02)
IRQNoFlags () {5,7,9,10}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0292, 0x0292, 0x02, 0x02)
IRQNoFlags () {5,7,9,10}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQM)
ENFG ()
Store (LDMD, LDN)
If (LEqual (IOHI, 0x03))
{
Store (0x03, IOEH)
If (LEqual (IOLO, 0x30))
{
Store (0x30, IOEL)
Store (Zero, LPMD)
}
Else
{
Store (0x00, IOEL)
Store (One, LPMD)
}
Store (One, MDEN)
}
Else
{
Store (0x02, IOEH)
If (LEqual (IOLO, 0x90))
{
Store (0x90, IOEL)
}
Else
{
Store (0x92, IOEL)
}
}
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
EXFG ()
}
}
Name (FDST, 0x00)
Name (U1ST, 0x00)
Name (U2ST, 0x00)
Name (IRST, 0x00)
Name (LPST, 0x00)
Method (IODT, 0, NotSerialized)
{
If (LEqual (GSTA (LDFD), 0x0F))
{
Store (0x01, FDST)
}
If (LEqual (GSTA (LDU1), 0x0F))
{
Store (0x01, U1ST)
}
If (LEqual (GSTA (LDU2), 0x0F))
{
Store (0x01, U2ST)
}
If (LEqual (GSTA (LDIR), 0x0F))
{
Store (0x01, IRST)
}
If (LEqual (GSTA (LDLP), 0x0F))
{
Store (0x01, LPST)
}
}
Method (GSTA, 1, NotSerialized)
{
ENFG ()
Store (Arg0, LDN)
If (ACTR)
{
Store (0x0F, Local0)
}
Else
{
If (Or (IOAH, IOAL))
{
Store (0x0D, Local0)
}
Else
{
Store (0x00, Local0)
}
}
EXFG ()
Return (Local0)
}
Method (DDIS, 1, NotSerialized)
{
ENFG ()
Store (Arg0, LDN)
Store (Zero, ACTR)
EXFG ()
}
Method (DENB, 1, NotSerialized)
{
ENFG ()
Store (Arg0, LDN)
Store (One, ACTR)
EXFG ()
}
Method (PCRS, 3, NotSerialized)
{
CreateByteField (PBUF, 0x02, IOLO)
CreateByteField (PBUF, 0x03, IOHI)
CreateWordField (PBUF, 0x02, IOHL)
CreateWordField (PBUF, 0x04, IORL)
CreateByteField (PBUF, 0x06, ALMN)
CreateByteField (PBUF, 0x07, LENG)
CreateByteField (PBUF, 0x09, IRQL)
ENFG ()
Store (Arg0, LDN)
Store (IOAH, IOHI)
Store (IOAL, IOLO)
Store (IOHL, IORL)
Store (Arg1, ALMN)
If (LEqual (IOLO, 0xBC))
{
Store (0x04, LENG)
}
Else
{
Store (Arg2, LENG)
}
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQL)
EXFG ()
Return (PBUF)
}
Method (PSRS, 2, NotSerialized)
{
CreateByteField (Arg0, 0x02, POLB)
CreateByteField (Arg0, 0x03, POHB)
CreateByteField (Arg0, 0x09, PIRQ)
ENFG ()
Store (Arg1, LDN)
Store (POLB, IOAL)
Store (POHB, IOAH)
FindSetRightBit (PIRQ, Local0)
Subtract (Local0, 0x01, INTR)
Store (One, ACTR)
EXFG ()
}
Method (ECRS, 1, NotSerialized)
{
CreateByteField (EBUF, 0x02, EPLO)
CreateByteField (EBUF, 0x03, EPHI)
CreateWordField (EBUF, 0x02, EPHL)
CreateWordField (EBUF, 0x04, EPRL)
CreateWordField (EBUF, 0x06, ALM1)
CreateWordField (EBUF, 0x0A, E4LO)
CreateWordField (EBUF, 0x0C, E4RL)
CreateWordField (EBUF, 0x11, EIRQ)
CreateWordField (EBUF, 0x14, EDMA)
ENFG ()
Store (Arg0, LDN)
Store (IOAH, EPHI)
Store (IOAL, EPLO)
Store (EPHL, EPRL)
Add (EPHL, 0x0400, E4LO)
Store (E4LO, E4RL)
If (LEqual (EPHL, 0x03BC))
{
Store (0x0401, ALM1)
}
Else
{
Store (0x0801, ALM1)
}
Store (One, Local0)
Store (INTR, Local1)
ShiftLeft (Local0, Local1, EIRQ)
Store (DMCH, Local1)
If (LGreater (Local1, 0x03))
{
Store (0x00, EDMA)
}
Else
{
Store (One, Local0)
ShiftLeft (Local0, Local1, EDMA)
}
EXFG ()
Return (EBUF)
}
Method (ESRS, 2, NotSerialized)
{
CreateByteField (Arg0, 0x02, LOEP)
CreateByteField (Arg0, 0x03, HIEP)
CreateWordField (Arg0, 0x11, IRQE)
CreateWordField (Arg0, 0x14, DMAE)
ENFG ()
Store (Arg1, LDN)
Store (LOEP, IOAL)
Store (HIEP, IOAH)
FindSetRightBit (IRQE, Local0)
Subtract (Local0, 0x01, INTR)
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
Store (One, ACTR)
EXFG ()
}
Name (CNBF, Buffer (0x02)
{
0xF8, 0x03
})
Method (UABS, 1, NotSerialized)
{
ENFG ()
Store (Arg0, LDN)
CreateByteField (CNBF, 0x00, IOLO)
CreateByteField (CNBF, 0x01, IOHI)
CreateWordField (CNBF, 0x00, IOAD)
Store (IOAL, IOLO)
Store (IOAH, IOHI)
EXFG ()
Return (IOAD)
}
Name (CSCP, 0x00)
PowerResource (URP1, 0x01, 0x0000)
{
Method (_STA, 0, NotSerialized)
{
Return (CSCP)
}
Method (_ON, 0, NotSerialized)
{
Store (0x01, CSCP)
}
Method (_OFF, 0, NotSerialized)
{
Store (0x00, CSCP)
}
}
PowerResource (URP2, 0x01, 0x0000)
{
Method (_STA, 0, NotSerialized)
{
Return (CSCP)
}
Method (_ON, 0, NotSerialized)
{
Store (0x01, CSCP)
}
Method (_OFF, 0, NotSerialized)
{
Store (0x00, CSCP)
}
}
PowerResource (FDDP, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized)
{
Return (CSCP)
}
Method (_ON, 0, NotSerialized)
{
Store (0x01, CSCP)
}
Method (_OFF, 0, NotSerialized)
{
Store (0x00, CSCP)
}
}
PowerResource (LPTP, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized)
{
Return (CSCP)
}
Method (_ON, 0, NotSerialized)
{
Store (0x01, CSCP)
}
Method (_OFF, 0, NotSerialized)
{
Store (0x00, CSCP)
}
}
Name (FCRS, ResourceTemplate ()
{
IO (Decode16, 0x03F2, 0x03F2, 0x01, 0x02)
IO (Decode16, 0x03F4, 0x03F4, 0x01, 0x02)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
Name (PBUF, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
IRQNoFlags () {0}
})
Name (EBUF, ResourceTemplate ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Name (FPRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F2, 0x03F2, 0x01, 0x02)
IO (Decode16, 0x03F4, 0x03F4, 0x01, 0x02)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
}
EndDependentFn ()
})
Name (C1PR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
IRQNoFlags () {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
EndDependentFn ()
})
Name (C2PR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
IRQNoFlags () {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x04, 0x08)
IRQNoFlags () {3,4,10,11}
}
EndDependentFn ()
})
Name (LPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {5,7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {5,7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {5,7}
}
EndDependentFn ()
})
Name (EPRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {5,7}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn ()
})
}
Device (ICH)
{
Name (_ADR, 0x001E0000)
Name (_PRT, Package (0x19)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x00,
\_SB.LNKF,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x01,
\_SB.LNKG,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x02,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x03,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.LNKE,
0x00
}
})
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.ICH, 0x02)
}
}
}
Device (IDE0)
{
Name (_ADR, 0x001F0001)
Name (TIM0, Package (0x08)
{
Package (0x04)
{
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x04)
{
0x23,
0x21,
0x10,
0x00
},
Package (0x04)
{
0x0B,
0x09,
0x04,
0x00
},
Package (0x06)
{
0x70,
0x49,
0x36,
0x27,
0x19,
0x11
},
Package (0x06)
{
0x00,
0x01,
0x02,
0x01,
0x02,
0x01
},
Package (0x06)
{
0x00,
0x00,
0x00,
0x01,
0x01,
0x01
},
Package (0x04)
{
0x04,
0x03,
0x02,
0x00
},
Package (0x04)
{
0x02,
0x01,
0x00,
0x00
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, 0x00, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
TIMP, 16,
TIMS, 16,
STMP, 4,
STMS, 4,
Offset (0x08),
UDMP, 2,
UDMS, 2,
Offset (0x0A),
UDTP, 6,
Offset (0x0B),
UDTS, 6,
Offset (0x14),
PCB0, 2,
SCB0, 2,
PCA0, 2,
SCA0, 2,
, 4,
FPCB, 2,
FSCB, 2
}
Method (GTM, 6, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (Zero, CHNF)
If (And (Arg0, 0x02))
{
Or (CHNF, 0x02, CHNF)
}
ShiftRight (And (Arg0, 0x3300), 0x08, Local5)
Store (Match (DerefOf (Index (TIM0, 0x01)), MLE, Local5, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA0)
If (And (Arg0, 0x08))
{
Store (0x0384, PIO0)
}
Else
{
Store (Local7, PIO0)
}
If (And (Arg0, 0x20))
{
Or (CHNF, 0x08, CHNF)
}
If (And (Arg0, 0x4000))
{
Or (CHNF, 0x10, CHNF)
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, Arg1, MTR, 0x00, 0x00), Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local5)), Local6)
Store (Local6, DMA1)
If (And (Arg0, 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (Local6, PIO1)
}
}
If (And (Arg2, 0x01))
{
And (Arg3, 0x03, Local5)
If (And (Arg5, 0x01))
{
Add (Local5, 0x04, Local5)
}
Else
{
If (And (Arg4, 0x01))
{
Add (Local5, 0x02, Local5)
}
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0)
Or (CHNF, 0x01, CHNF)
}
If (And (Arg2, 0x02))
{
And (ShiftRight (Arg3, 0x04), 0x03, Local5)
If (And (Arg5, 0x02))
{
Add (Local5, 0x04, Local5)
}
Else
{
If (And (Arg4, 0x02))
{
Add (Local5, 0x02, Local5)
}
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1)
Or (CHNF, 0x04, CHNF)
}
Return (TMD0)
}
Method (STM, 7, Serialized)
{
Store (Arg0, TMD0)
Store (Arg5, Local1)
And (Arg1, 0x8044, Arg1)
And (Arg3, 0xFC, Arg3)
And (Arg4, 0xCC, Arg4)
And (Arg5, 0xFC, Arg5)
And (Arg6, 0xFC, Arg6)
If (And (CHNF, 0x01))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
If (LGreater (Local0, 0x02))
{
If (And (Local1, 0x01))
{
Store (0x02, Local0)
}
}
Or (Arg4, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), Arg4)
Or (Arg5, DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Local0)), Arg5)
Or (Arg3, 0x01, Arg3)
If (LEqual (Local0, 0x05))
{
Or (Arg6, 0x01, Arg6)
}
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
{
Store (DMA0, PIO0)
Or (Arg1, 0x08, Arg1)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
If (LGreater (Local0, 0x02))
{
If (And (Local1, 0x02))
{
Store (0x02, Local0)
}
}
Or (Arg4, ShiftLeft (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 0x04), Arg4)
Or (Arg5, DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Local0)), Arg5)
Or (Arg3, 0x02, Arg3)
If (LEqual (Local0, 0x05))
{
Or (Arg6, 0x02, Arg6)
}
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
{
Store (DMA1, PIO1)
Or (Arg1, 0x80, Arg1)
}
}
}
If (And (CHNF, 0x02))
{
Or (Arg1, 0x03, Arg1)
}
If (And (CHNF, 0x08))
{
Or (Arg1, 0x30, Arg1)
}
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
ShiftLeft (Local1, 0x08, Local2)
Or (Arg1, Local2, Arg1)
If (And (CHNF, 0x10))
{
Or (Arg1, 0x4000, Arg1)
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1)
Or (Arg2, Local1, Arg2)
}
}
Name (AT01, Buffer (0x07)
{
0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT03, Buffer (0x07)
{
0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT05, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT06, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x24) {})
Name (ATA1, Buffer (0x24) {})
Name (ATA2, Buffer (0x24) {})
Name (ATA3, Buffer (0x24) {})
Name (GTIM, 0x00)
Name (GSTM, 0x00)
Name (GUDM, 0x00)
Name (GUDT, 0x00)
Name (GCB0, 0x00)
Name (GFCB, 0x00)
Method (GTF, 3, Serialized)
{
Name (ATAD, Buffer (0x07)
{
0x00
})
Name (ATAB, Buffer (0x24)
{
0x01
})
Store (SizeOf (Arg1), Local0)
If (Local0)
{
CreateWordField (Arg1, 0x00, ID00)
If (Or (LEqual (ID00, 0x00), LLess (Local0, 0x78)))
{
Return (ATAB)
}
}
Else
{
Return (ATAB)
}
Store (Arg2, TMD0)
CreateByteField (Arg1, 0x06, ID03)
CreateByteField (Arg1, 0x0C, ID06)
CreateWordField (Arg1, 0x62, ID49)
CreateWordField (Arg1, 0x6A, ID53)
CreateWordField (Arg1, 0x76, ID59)
CreateByteField (ATAD, 0x01, A001)
CreateByteField (ATAD, 0x05, A005)
CreateByteField (ATAB, 0x00, CMD0)
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
}
Store (0x00, CMD0)
Store (0x00, Local1)
CreateField (ATAB, 0x08, 0x38, CMD1)
If (And (ID00, 0x80)) {}
Else
{
Store (AT06, ATAD)
Store (ID06, A001)
Store (Local7, A005)
Store (ID03, Local0)
If (LGreater (ID03, 0x0F))
{
Store (0x0F, Local0)
}
Or (A005, Local0, A005)
Store (ATAD, CMD1)
Store (0x01, CMD0)
}
Store (0x00, Local0)
If (Arg0)
{
If (And (CHNF, 0x04))
{
Store (DMA1, Local0)
}
}
Else
{
If (And (CHNF, 0x01))
{
Store (DMA0, Local0)
}
}
If (Local0)
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, Local0, MTR, 0x00, 0x00), Local0)
Multiply (CMD0, 0x38, Local5)
Add (Local5, 0x08, Local6)
CreateField (ATAB, Local6, 0x38, CMD2)
Store (AT02, ATAD)
Or (A001, Local0, A001)
Store (Local7, A005)
Store (ATAD, CMD2)
Store (0x01, Local1)
Increment (CMD0)
}
Store (0x00, Local0)
If (Arg0)
{
If (And (CHNF, 0x08))
{
Store (PIO1, Local0)
}
}
Else
{
If (And (CHNF, 0x02))
{
Store (PIO0, Local0)
}
}
If (Local0)
{
Multiply (CMD0, 0x38, Local5)
Add (Local5, 0x08, Local6)
CreateField (ATAB, Local6, 0x38, CMD3)
Store (AT01, ATAD)
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, Local0, MTR, 0x00, 0x00), 0x03, Local0)
Or (A001, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), A001)
Store (Local7, A005)
Store (ATAD, CMD3)
Increment (CMD0)
}
If (LNot (Local1))
{
Multiply (CMD0, 0x38, Local5)
Add (Local5, 0x08, Local6)
CreateField (ATAB, Local6, 0x38, CMD4)
If (And (ID49, 0x0200))
{
CreateWordField (Arg1, 0x7E, ID63)
FindSetLeftBit (And (ID63, 0x0F, ID63), Local0)
If (Local0)
{
Store (AT03, ATAD)
Or (A001, Decrement (Local0), A001)
Store (Local7, A005)
Store (ATAD, CMD4)
Increment (CMD0)
}
}
}
If (And (ID59, 0x0100))
{
Multiply (CMD0, 0x38, Local5)
Add (Local5, 0x08, Local6)
CreateField (ATAB, Local6, 0x38, CMD5)
Store (AT05, ATAD)
And (ID59, 0xFF, A001)
Store (Local7, A005)
Store (ATAD, CMD5)
Increment (CMD0)
}
Return (ATAB)
}
Method (GTFD, 1, NotSerialized)
{
CreateByteField (Arg0, 0x00, CMD0)
Multiply (CMD0, 0x07, Local0)
Multiply (Local0, 0x08, Local1)
Name (GTFB, Buffer (Local0) {})
CreateField (GTFB, 0x00, Local1, DST0)
CreateField (Arg0, 0x08, Local1, SRC0)
Store (SRC0, DST0)
Return (GTFB)
}
Device (CHN0)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Return (GTM (TIMP, STMP, UDMP, UDTP, PCB0, FPCB))
}
Method (_STM, 3, NotSerialized)
{
Store (TIMP, GTIM)
Store (STMP, GSTM)
Store (UDMP, GUDM)
Store (UDTP, GUDT)
Store (PCB0, GCB0)
Store (FPCB, GFCB)
STM (Arg0, GTIM, GSTM, GUDM, GUDT, GCB0, GFCB)
Store (GTIM, TIMP)
Store (GSTM, STMP)
Store (GUDM, UDMP)
Store (GUDT, UDTP)
Store (GCB0, PCB0)
Store (GFCB, FPCB)
Store (GTF (0x00, Arg1, Arg0), ATA0)
Store (GTF (0x01, Arg2, Arg0), ATA1)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (GTFD (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (GTFD (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
Return (GTM (TIMS, STMS, UDMS, UDTS, SCB0, FSCB))
}
Method (_STM, 3, NotSerialized)
{
Store (TIMS, GTIM)
Store (STMS, GSTM)
Store (UDMS, GUDM)
Store (UDTS, GUDT)
Store (SCB0, GCB0)
Store (FSCB, GFCB)
STM (Arg0, GTIM, GSTM, GUDM, GUDT, GCB0, GFCB)
Store (GTIM, TIMS)
Store (GSTM, STMS)
Store (GUDM, UDMS)
Store (GUDT, UDTS)
Store (GCB0, SCB0)
Store (GFCB, FSCB)
Store (GTF (0x00, Arg1, Arg0), ATA2)
Store (GTF (0x01, Arg2, Arg0), ATA3)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (GTFD (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (GTFD (ATA3))
}
}
}
}
Device (USB)
{
Name (_ADR, 0x001F0002)
Name (SS3D, 0x02)
Name (_PRW, Package (0x02)
{
0x03,
0x04
})
Scope (\_GPE)
{
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB, 0x02)
}
}
}
Device (USB2)
{
Name (_ADR, 0x001F0004)
Name (SS3D, 0x02)
Name (_PRW, Package (0x02)
{
0x04,
0x04
})
Scope (\_GPE)
{
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
}
}
Device (MM97)
{
Name (_ADR, 0x001F0006)
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
Scope (\_GPE)
{
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0, 0x02)
}
}
}
}
Name (SLPS, 0x00)
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (SBEV, 0, NotSerialized)
{
If (SLPS)
{
Store (0x00, SLPS)
Notify (SLPB, 0x02)
}
Else
{
Store (0x01, SLPS)
Notify (SLPB, 0x80)
}
}
Scope (\_GPE)
{
Method (_L16, 0, NotSerialized)
{
\_SB.SLPB.SBEV ()
}
}
}
}
OperationRegion (FNOR, SystemIO, 0x0434, 0x04)
Scope (_SI)
{
Method (_SST, 1, NotSerialized)
{
If (Arg0)
{
If (LEqual (Arg0, 0x01))
{
\_SB.PCI0.SBRG.ENFG ()
Store (0x08, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT6)
Store (0x09, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT4)
\_SB.PCI0.SBRG.EXFG ()
}
If (LEqual (Arg0, 0x02))
{
\_SB.PCI0.SBRG.ENFG ()
Store (0x08, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT6)
Store (0x09, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT4)
\_SB.PCI0.SBRG.EXFG ()
}
If (LEqual (Arg0, 0x03))
{
\_SB.PCI0.SBRG.ENFG ()
Store (0x08, \_SB.PCI0.SBRG.LDN)
Store (0x80, \_SB.PCI0.SBRG.OPT6)
Store (0x09, \_SB.PCI0.SBRG.LDN)
Store (0x40, \_SB.PCI0.SBRG.OPT4)
\_SB.PCI0.SBRG.EXFG ()
}
If (LEqual (Arg0, 0x04))
{
\_SB.PCI0.SBRG.ENFG ()
Store (0x08, \_SB.PCI0.SBRG.LDN)
Store (0xC0, \_SB.PCI0.SBRG.OPT6)
Store (0x09, \_SB.PCI0.SBRG.LDN)
Store (0x40, \_SB.PCI0.SBRG.OPT4)
\_SB.PCI0.SBRG.EXFG ()
}
}
Else
{
\_SB.PCI0.SBRG.ENFG ()
Store (0x08, \_SB.PCI0.SBRG.LDN)
Store (0x40, \_SB.PCI0.SBRG.OPT6)
Store (0x09, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT4)
\_SB.PCI0.SBRG.EXFG ()
}
}
}
OperationRegion (HWMI, SystemIO, 0x0295, 0x02)
Field (HWMI, ByteAcc, NoLock, Preserve)
{
HWMD, 8,
HWMT, 8
}
IndexField (HWMD, HWMT, ByteAcc, NoLock, Preserve)
{
Offset (0x57),
BECL, 8,
Offset (0x5A),
FNW1, 8,
FNW2, 8
}
OperationRegion (ACIO, SystemIO, 0xB2, 0x01)
Field (ACIO, ByteAcc, NoLock, Preserve)
{
ACFG, 8
}
OperationRegion (PMIO, SystemIO, 0x0400, 0x50)
Field (PMIO, WordAcc, NoLock, Preserve)
{
PMS0, 8,
PWST, 1,
, 1,
RTCS, 1,
PMS1, 5,
Offset (0x03),
PWEN, 1,
Offset (0x28),
GP0S, 16,
GP0E, 16,
GP1S, 16,
GP1E, 16,
Offset (0x40),
IOMO, 16
}
OperationRegion (GPIO, SystemIO, 0x0480, 0x20)
Field (GPIO, WordAcc, NoLock, Preserve)
{
Offset (0x0E),
GPO1, 8,
GPO2, 8
}
OperationRegion (IR21, SystemIO, 0x21, 0x01)
Field (IR21, ByteAcc, NoLock, Preserve)
{
IQ21, 8
}
OperationRegion (KDAT, SystemIO, 0x60, 0x05)
Field (KDAT, ByteAcc, NoLock, Preserve)
{
KBDT, 8,
Offset (0x04),
KBID, 1,
Offset (0x05)
}
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
Store (Arg0, ACST)
Store (0xFFFF, GP0S)
Store (0xFFFF, GP1S)
And (BECL, 0x7F, BECL)
If (LNot (LEqual (Arg0, 0x05)))
{
Store (0x00, FNW1)
Store (0x00, FNW2)
}
\_SB.PCI0.SBRG.ENFG ()
Store (0x0A, \_SB.PCI0.SBRG.LDN)
If (LNot (LEqual (Arg0, 0x05)))
{
While (\_SB.PCI0.SBRG.OPT4)
{
Stall (0x50)
Store (0xFF, \_SB.PCI0.SBRG.OPT4)
}
}
If (LEqual (Arg0, 0x01))
{
Store (0x33, \_SB.PCI0.SBRG.OPT7)
}
\_SB.PCI0.SBRG.EXFG ()
If (LEqual (ACFG, 0x1E))
{
Store (0x3000, IOMO)
}
Else
{
If (LEqual (Arg0, 0x01))
{
Store (0x3100, IOMO)
}
If (LEqual (Arg0, 0x03))
{
Store (0x3100, IOMO)
}
If (LEqual (Arg0, 0x05))
{
Store (0x3100, IOMO)
}
}
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
If (LEqual (Arg0, 0x01))
{
Sleep (0x0BB8)
}
Store (0x3000, IOMO)
If (LEqual (RTCS, 0x00))
{
Notify (\_SB.SLPB, 0x02)
}
Store (0xFF, FNW1)
Store (0xFF, FNW2)
\_SB.PCI0.SBRG.ENFG ()
Store (0x0A, \_SB.PCI0.SBRG.LDN)
Store (0x00, \_SB.PCI0.SBRG.OPT7)
\_SB.PCI0.SBRG.EXFG ()
Or (BECL, 0x80, BECL)
Store (0xFFFF, GP0S)
Store (0xFFFF, GP1S)
Store (0x01, PWEN)
}
OperationRegion (TEMP, SystemIO, 0x80, 0x01)
Field (TEMP, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.dsdt
Type: application/octet-stream
Size: 12551 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040812/d81fd5a2/foo-0001.obj
More information about the freebsd-current
mailing list