Using FreeBSD 6.2, I'm having trouble with the Supermicro X7DBR-8+
motherboard (dual Xeon 5130 CPUs on the Blackford chipset -
http://www.supermicro.com/products/motherboard/Xeon1333/5000P/X7DBR-8+.cfm)
hanging after printing the "Waiting 5 seconds for SCSI devices to
settle" message. The hang doesn't always happen - sometimes we have to
go through several reboot cycles for it to happen - but sometimes it
happens with every reboot. For those who would suggest that this
happens because I'm using Seagate drives, it happens even if we totally
remove the SCSI drive (but leave the aic7902 SCSI interfaces enabled)
and boot from a SATA disk. Using FreeBSD 6.1, the Intel gigabit
ethernet NICs aren't found but the hang doesn't occur.
I've built a kernel with kdb/ddb in it, and cause an NMI to drop into
the debugger when it seems hung. If I don't boot with the -v flag, then
I'm able to use "n" a few times and seem to wind up in em0's
interrupt
handler, then issuing "c" results in "Interrupt storm detected on
"irq18:"; throttling interrupt source" followed by a message from
ahd0
beginning with "Recovery Initiated - Card was not paused" and by a
dump
of the card state, and then the kernel finishes booting!
If I boot with the -v flag, then after the NMI the machine hangs again
no matter where I issue the "c" command. If I keep issuing the
"n"
command instead of "c", it hangs here:
...
After 9 instructions (0 loads, 0 stores),
[thread pid 25 tid 100819 ]
Stopped at intr_execute_handlers+0x...: ret
db> n
After 2 instructions (0 loads, 0 stores),
[thread pid 25 tid 100819 ]
Stopped at lapic_handle_intr+0x22: ret
db> n
"ps" shows pid 25 is running on cpu 0 and handling irq30: ahd0.
Full dmesg and acpidump follow. If anyone has any ideas or would like
more details, please let me know!
Guy Helmer
Copyright (c) 1992-2007 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 6.2-RC2 #1: Mon Jan 22 18:51:58 UTC 2007
support@palisadesys.com:/usr/src/sys/amd64/compile/PALISADE-SMP-DEBUG
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(R) CPU 5130 @ 2.00GHz (2000.08-MHz K8-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=0x4e33d<SSE3,RSVD2,MON,DS_CPL,VMX,TM2,<b9>,CX16,<b14>,<b15>,<b18>>
AMD Features=0x20000800<SYSCALL,LM>
AMD Features2=0x1<LAHF>
Cores per package: 2
real memory = 5368709120 (5120 MB)
avail memory = 4116361216 (3925 MB)
ACPI APIC Table: <PTLTD APIC >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
kbd1 at kbdmux0
acpi0: <PTLTD RSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
acpi_throttle1: <ACPI CPU Throttling> on cpu1
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
cpu2: <ACPI CPU> on acpi0
acpi_throttle2: <ACPI CPU Throttling> on cpu2
acpi_throttle2: failed to attach P_CNT
device_attach: acpi_throttle2 attach returned 6
cpu3: <ACPI CPU> on acpi0
acpi_throttle3: <ACPI CPU Throttling> on cpu3
acpi_throttle3: failed to attach P_CNT
device_attach: acpi_throttle3 attach returned 6
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 0.0 on pci1
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 0.0 on pci2
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> irq 18 at device 2.0 on pci2
pci4: <ACPI PCI bus> on pcib4
em0: <Intel(R) PRO/1000 Network Connection Version - 6.2.9> port
0x2000-0x201f mem 0xc8200000-0xc821ffff irq 18 at device 0.0 on pci4
em0: Ethernet address: 00:30:48:31:1f:76
em1: <Intel(R) PRO/1000 Network Connection Version - 6.2.9> port
0x2020-0x203f mem 0xc8220000-0xc823ffff irq 19 at device 0.1 on pci4
em1: Ethernet address: 00:30:48:31:1f:77
pcib5: <ACPI PCI-PCI bridge> at device 0.3 on pci1
pci5: <ACPI PCI bus> on pcib5
ahd0: <Adaptec AIC7902 Ultra320 SCSI adapter> port
0x3400-0x34ff,0x3000-0x30ff mem 0xc8300000-0xc8301fff irq 30 at device 2.0 on
pci5
ahd0: [GIANT-LOCKED]
aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs
ahd1: <Adaptec AIC7902 Ultra320 SCSI adapter> port
0x3c00-0x3cff,0x3800-0x38ff mem 0xc8302000-0xc8303fff irq 31 at device 2.1 on
pci5
ahd1: [GIANT-LOCKED]
aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs
pcib6: <ACPI PCI-PCI bridge> at device 4.0 on pci0
pci6: <ACPI PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 6.0 on pci0
pci7: <ACPI PCI bus> on pcib7
pci0: <base peripheral> at device 8.0 (no driver attached)
pcib8: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci8: <ACPI PCI bus> on pcib8
pcib9: <ACPI PCI-PCI bridge> at device 0.0 on pci8
pci9: <ACPI PCI bus> on pcib9
uhci0: <UHCI (generic) USB controller> port 0x1800-0x181f irq 17 at device
29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <UHCI (generic) USB controller> 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
uhci1: <UHCI (generic) USB controller> port 0x1820-0x183f irq 19 at device
29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <UHCI (generic) USB controller> 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
uhci2: <UHCI (generic) USB controller> port 0x1840-0x185f irq 18 at device
29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0x1860-0x187f irq 16 at device
29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <UHCI (generic) USB controller> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xc8000000-0xc80003ff irq
17 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <EHCI (generic) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib10: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci10: <ACPI PCI bus> on pcib10
pci10: <display, VGA> at device 1.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel 63XXESB2 UDMA100 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1880-0x188f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on
acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on
acpi0
fdc0: [FAST]
orm0: <ISA Option ROMs> at iomem
0xc0000-0xcafff,0xcb000-0xcbfff,0xcc000-0xccfff on isa0
ppc0: cannot reserve I/O port range
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
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled,
default to deny, logging limited to 100 packets/entry by default
acd0: DMA limited to UDMA33, controller found non-ATA66 cable
acd0: DVDROM <MATSHITADVD-ROM SR-8178/PZ16> at ata0-slave UDMA33
Waiting 5 seconds for SCSI devices to settle
NMI ... going to debugger
NMI ... going to debugger
Interrupt storm detected on "irq18:"; throttling interrupt source
ahd0: Recovery Initiated - Card was not paused>>>>>>>>>>>>>>>>>> Dump
Card State Begins
<<<<<<<<<<<<<<<<<
ahd0: Dumping Card State at program address 0x5 Mode 0x33
INTSTAT[0x0] SELOID[0xa] SELID[0x0] HS_MAILBOX[0x0]
INTCTL[0x80]:(SWTMINTMASK) SEQINTSTAT[0x0] SAVED_MODE[0x11]
DFFSTAT[0x33]:(CURRFIFO_NONE|FIFO0FREE|FIFO1FREE)
SCSISIGI[0x18]:(P_DATAOUT|SELI|ATNI) SCSIPHASE[0x0]
SCSIBUS[0x80] LASTPHASE[0x1]:(P_DATAOUT|P_BUSFREE)
SCSISEQ0[0x40]:(ENSELO) SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI)
SEQCTL0[0x0] SEQINTCTL[0x0] SEQ_FLAGS[0xc0]:(NO_CDB_SENT|NOT_IDENTIFIED)
SEQ_FLAGS2[0x0] QFREEZE_COUNT[0x0] KERNEL_QFREEZE_COUNT[0x0]
MK_MESSAGE_SCB[0xff00] MK_MESSAGE_SCSIID[0xff] SSTAT0[0x10]:(SELINGO)
SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0]
SIMODE1[0xa4]:(ENSCSIPERR|ENSCSIRST|ENSELTIMO) LQISTAT0[0x0]
LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0] LQOSTAT1[0x0]
LQOSTAT2[0x0]
SCB Count = 16 CMDS_PENDING = 8 LASTSCB 0xffff CURRSCB 0x6 NEXTSCB 0x0
qinstart = 17 qinfifonext = 17
QINFIFO:
WAITING_TID_QUEUES:
10 ( 0x6 )
11 ( 0x5 )
12 ( 0x4 )
13 ( 0x3 )
14 ( 0x2 )
15 ( 0x1 )
0 ( 0xf )
6 ( 0x8 )
Pending list:
8 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x67]
15 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x7]
1 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TID)
2 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xe7]
3 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xd7]
4 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xc7]
5 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xb7]
6 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xa7]
Total 8
Kernel Free SCB list: 7 9 10 11 12 13 14 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:
Sequencer On QFreeze and Complete list:
ahd0: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
ahd0: FIFO1 Free, LONGJMP == 0x8063, SCB 0x9
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0
ahd0: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
ahd0: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
ahd0: SAVED_SCSIID = 0x0 SAVED_LUN = 0x0
SIMODE0[0xc]:(ENOVERRUN|ENIOERR)
CCSCBCTL[0x4]:(CCSCBDIR)
ahd0: REG0 == 0xf, SINDEX = 0x10e, DINDEX = 0x10e
ahd0: SCBPTR == 0x6, SCB_NEXT == 0xff80, SCB_NEXT2 == 0x5
CDB 12 0 0 0 24 0
STACK: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
<<<<<<<<<<<<<<<<< Dump Card
State Ends
>>>>>>>>>>>>>>>>>>
(probe0:ahd0:0:0:0): SCB 15 - timed out
(probe0:ahd0:0:0:0): Other SCB Timeout
(probe14:ahd0:0:15:0): SCB 1 - timed out
(probe14:ahd0:0:15:0): Other SCB Timeout
(probe13:ahd0:0:14:0): SCB 2 - timed out
(probe13:ahd0:0:14:0): Other SCB Timeout
(probe12:ahd0:0:13:0): SCB 3 - timed out
(probe12:ahd0:0:13:0): Other SCB Timeout
(probe11:ahd0:0:12:0): SCB 4 - timed out
(probe11:ahd0:0:12:0): Other SCB Timeout
(probe10:ahd0:0:11:0): SCB 5 - timed out
(probe10:ahd0:0:11:0): Other SCB Timeout
(probe9:ahd0:0:10:0): SCB 6 - timed out
(probe9:ahd0:0:10:0): Other SCB Timeout
ahd1: Recovery Initiated - Card was not paused>>>>>>>>>>>>>>>>>> Dump
Card State Begins
<<<<<<<<<<<<<<<<<
ahd1: Dumping Card State at program address 0x4 Mode 0x22
INTSTAT[0x0] SELOID[0x6] SELID[0x0] HS_MAILBOX[0x0]
INTCTL[0x0] SEQINTSTAT[0x0] SAVED_MODE[0x0]
DFFSTAT[0x33]:(CURRFIFO_NONE|FIFO0FREE|FIFO1FREE)
SCSISIGI[0x18]:(P_DATAOUT|SELI|ATNI) SCSIPHASE[0x0]
SCSIBUS[0xc0] LASTPHASE[0x1]:(P_DATAOUT|P_BUSFREE)
SCSISEQ0[0x40]:(ENSELO) SCSISEQ1[0x12]:(ENAUTOATNP|ENRSELI)
SEQCTL0[0x0] SEQINTCTL[0x0] SEQ_FLAGS[0x0] SEQ_FLAGS2[0x0]
QFREEZE_COUNT[0x0] KERNEL_QFREEZE_COUNT[0x0] MK_MESSAGE_SCB[0xff00]
MK_MESSAGE_SCSIID[0xff] SSTAT0[0x10]:(SELINGO) SSTAT1[0x0]
SSTAT2[0x0] SSTAT3[0x0] PERRDIAG[0x0]
SIMODE1[0xa4]:(ENSCSIPERR|ENSCSIRST|ENSELTIMO)
LQISTAT0[0x0] LQISTAT1[0x0] LQISTAT2[0x0] LQOSTAT0[0x0]
LQOSTAT1[0x0] LQOSTAT2[0x0]
SCB Count = 16 CMDS_PENDING = 9 LASTSCB 0xffff CURRSCB 0x9 NEXTSCB 0x0
qinstart = 15 qinfifonext = 15
QINFIFO:
WAITING_TID_QUEUES:
6 ( 0x9 )
8 ( 0x8 )
9 ( 0x7 )
10 ( 0x6 )
11 ( 0x5 )
12 ( 0x4 )
13 ( 0x3 )
14 ( 0x2 )
15 ( 0x1 )
Pending list:
1 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TID)
2 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xe7]
3 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xd7]
4 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xc7]
5 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xb7]
6 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xa7]
7 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x97]
8 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x87]
9 FIFO_USE[0x0] SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x67]
Total 9
Kernel Free SCB list: 10 11 12 13 14 15 0
Sequencer Complete DMA-inprog list:
Sequencer Complete list:
Sequencer DMA-Up and Complete list:
Sequencer On QFreeze and Complete list:
ahd1: FIFO0 Free, LONGJMP == 0x80ff, SCB 0x0
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
ahd1: FIFO1 Free, LONGJMP == 0x80ff, SCB 0x0
SEQIMODE[0x3f]:(ENCFG4TCMD|ENCFG4ICMD|ENCFG4TSTAT|ENCFG4ISTAT|ENCFG4DATA|ENSAVEPTRS)
SEQINTSRC[0x0] DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL)
SG_CACHE_SHADOW[0x2]:(LAST_SEG) SG_STATE[0x0] DFFSXFRCTL[0x0]
SOFFCNT[0x0] MDFFSTAT[0x5]:(FIFOFREE|DLZERO) SHADDR = 0x00, SHCNT = 0x0
HADDR = 0x00, HCNT = 0x0 CCSGCTL[0x10]:(SG_CACHE_AVAIL)
LQIN: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0
ahd1: LQISTATE = 0x0, LQOSTATE = 0x0, OPTIONMODE = 0x42
ahd1: OS_SPACE_CNT = 0x20 MAXCMDCNT = 0x0
ahd1: SAVED_SCSIID = 0x0 SAVED_LUN = 0x0
SIMODE0[0xc]:(ENOVERRUN|ENIOERR)
CCSCBCTL[0x4]:(CCSCBDIR)
ahd1: REG0 == 0x1, SINDEX = 0x120, DINDEX = 0x120
ahd1: SCBPTR == 0x2, SCB_NEXT == 0xff80, SCB_NEXT2 == 0x1
CDB 12 0 0 0 24 0
STACK: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
<<<<<<<<<<<<<<<<< Dump Card
State Ends
>>>>>>>>>>>>>>>>>>
(probe29:ahd1:0:15:0): SCB 1 - timed out
(probe29:ahd1:0:15:0): Other SCB Timeout
(probe29:ahd1:0:15:0): No other SCB worth waiting for...
ahd1: Issued Channel A Bus Reset. 9 SCBs aborted
ses0 at ahd0 bus 0 target 6 lun 0
ses0: <SUPER GEM318 0> Fixed Processor SCSI-2 device
ses0: 3.300MB/s transfers
ses0: SAF-TE Compliant Device
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
da0 at ahd0 bus 0 target 0 lun 0
da0: <SEAGATE ST3146707LC 0005> Fixed Direct Access SCSI-3 device
da0: 320.000MB/s transfers (160.000MHz, offset 63, 16bit), Tagged Queueing
Enabled
da0: 140014MB (286749488 512 byte sectors: 255H 63S/T 17849C)
Trying to mount root from ufs:/dev/da0s1a
em0: link state changed to UP
em1: link state changed to UP
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.KdSAue, Tue Jan 23 08:48:00 2007
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "Intel",
"BLAKFORD", 100925440)
{
OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
Field (RCRB, DWordAcc, Lock, Preserve)
{
Offset (0x1000),
Offset (0x3000),
Offset (0x3404),
HPAS, 2,
, 5,
HPAE, 1,
Offset (0x3418),
, 1,
PATD, 1,
SATD, 1,
SMBD, 1,
AZAD, 1,
A97D, 1,
Offset (0x341A),
RE1D, 1,
RE2D, 1,
RE3D, 1,
RE4D, 1
}
Scope (_GPE)
{
Method (_L03, 0, NotSerialized)
{
Store (0x03, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Store (0x04, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L08, 0, NotSerialized)
{
Store (0x08, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.LPC0.SIO.COM1, 0x02)
Notify (\_SB.PCI0.LPC0.SIO.COM2, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Store (0x09, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.P0P2.BMD0.BPD0, 0x02)
Notify (\_SB.PCI0.P0P2.BMD0.BPD1, 0x02)
Notify (\_SB.PCI0.P0P2.BMD0.BPD2, 0x02)
Notify (\_SB.PCI0.P0P4, 0x02)
Notify (\_SB.PCI0.P0P6, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Store (0x0B, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.PCIB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Store (0x0C, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Store (0x0D, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.EUSB, 0x02)
}
Method (_L18, 0, NotSerialized)
{
Store (0x18, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.PEX0.PXH0, 0x02)
}
Method (_L1E, 0, NotSerialized)
{
Store (0x1E, \_SB.PCI0.PT80)
Notify (\_SB.PCI0.LPC0.SIO.KBC0, 0x02)
Notify (\_SB.PCI0.LPC0.SIO.MSE0, 0x02)
}
}
Scope (_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06) {}
Processor (CPU1, 0x01, 0x00001010, 0x06) {}
Processor (CPU2, 0x02, 0x00001010, 0x06) {}
Processor (CPU3, 0x03, 0x00001010, 0x06) {}
Processor (CPU4, 0x04, 0x00001010, 0x06) {}
Processor (CPU5, 0x05, 0x00001010, 0x06) {}
Processor (CPU6, 0x06, 0x00001010, 0x06) {}
Processor (CPU7, 0x07, 0x00001010, 0x06) {}
}
Scope (_SB)
{
OperationRegion (ACB, SystemMemory, 0xBFF69EBC, 0x00000090)
Field (ACB, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INFO, 1104
}
Field (ACB, AnyAcc, NoLock, Preserve)
{
DMY, 40,
INF, 8
}
OperationRegion (SMIB, SystemIO, 0x0000FE00, 0x02)
Field (SMIB, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
Name (OSTB, 0xFFFFFFFF)
Method (OSTP, 0, NotSerialized)
{
If (LEqual (^OSTB, 0xFFFFFFFF))
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x08, ^OSTB)
}
Else
{
Store (0x00, ^OSTB)
}
}
Else
{
If (CondRefOf (\_OS, Local0))
{
If (^SEQL (\_OS, "Microsoft Windows"))
{
Store (0x01, ^OSTB)
}
Else
{
If (^SEQL (\_OS, "Microsoft WindowsME:
Millennium Edition"))
{
Store (0x02, ^OSTB)
}
Else
{
If (^SEQL (\_OS, "Microsoft Windows
NT"))
{
Store (0x04, ^OSTB)
}
Else
{
Store (0x00, ^OSTB)
}
}
}
}
Else
{
Store (0x00, ^OSTB)
}
}
}
Return (^OSTB)
}
Method (SEQL, 2, Serialized)
{
Noop
Store (SizeOf (Arg0), Local0)
Store (SizeOf (Arg1), Local1)
If (LNot (LEqual (Local0, Local1)))
{
Return (Zero)
}
Name (BUF0, Buffer (Local0) {})
Store (Arg0, BUF0)
Name (BUF1, Buffer (Local0) {})
Store (Arg1, BUF1)
Store (Zero, Local2)
While (LLess (Local2, Local0))
{
Store (DerefOf (Index (BUF0, Local2)), Local3)
Store (DerefOf (Index (BUF1, Local2)), Local4)
If (LNot (LEqual (Local3, Local4)))
{
Return (Zero)
}
Increment (Local2)
}
Return (One)
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_BBN, 0x00)
Name (_ADR, 0x00)
Name (RSRC, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100, 0x00)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8, 0x00)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode,
EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000C0000,
0x000C3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000C4000,
0x000C7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000C8000,
0x000CBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000CC000,
0x000CFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000D0000,
0x000D3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000D4000,
0x000D7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000D8000,
0x000DBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000DC000,
0x000DFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000E0000,
0x000E3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000E4000,
0x000E7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000E8000,
0x000EBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x000EC000,
0x000EFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000, 0x00)
})
Method (_CRS, 0, Serialized)
{
CreateDWordField (RSRC, 0x01A4, BTMN)
CreateDWordField (RSRC, 0x01A8, BTMX)
CreateDWordField (RSRC, 0x01B0, BTLN)
And (TOLM, 0xF000, Local0)
ShiftLeft (Local0, 0x10, Local0)
Store (Local0, BTMN)
Subtract (0xFEC00000, Local0, BTLN)
Subtract (Add (BTMN, BTLN), 0x01, BTMX)
CreateBitField (RSRC, 0x02D8, C0RW)
CreateDWordField (RSRC, 0x60, C0MN)
CreateDWordField (RSRC, 0x64, C0MX)
CreateDWordField (RSRC, 0x6C, C0LN)
Store (One, C0RW)
If (LEqual (And (PAM1, 0x03), 0x01))
{
Store (Zero, C0RW)
}
Store (Zero, C0LN)
If (LNot (And (PAM1, 0x03)))
{
Store (0x4000, C0LN)
}
CreateBitField (RSRC, 0x03B0, C4RW)
CreateDWordField (RSRC, 0x7B, C4MN)
CreateDWordField (RSRC, 0x7F, C4MX)
CreateDWordField (RSRC, 0x87, C4LN)
Store (One, C4RW)
If (LEqual (And (PAM1, 0x30), 0x10))
{
Store (Zero, C4RW)
}
Store (Zero, C4LN)
If (LNot (And (PAM1, 0x30)))
{
Store (0x4000, C4LN)
}
CreateBitField (RSRC, 0x0488, C8RW)
CreateDWordField (RSRC, 0x96, C8MN)
CreateDWordField (RSRC, 0x9A, C8MX)
CreateDWordField (RSRC, 0xA2, C8LN)
Store (One, C8RW)
If (LEqual (And (PAM2, 0x03), 0x01))
{
Store (Zero, C8RW)
}
Store (Zero, C8LN)
If (LNot (And (PAM2, 0x03)))
{
Store (0x4000, C8LN)
}
CreateBitField (RSRC, 0x0560, CCRW)
CreateDWordField (RSRC, 0xB1, CCMN)
CreateDWordField (RSRC, 0xB5, CCMX)
CreateDWordField (RSRC, 0xBD, CCLN)
Store (One, CCRW)
If (LEqual (And (PAM2, 0x30), 0x10))
{
Store (Zero, CCRW)
}
Store (Zero, CCLN)
If (LNot (And (PAM2, 0x30)))
{
Store (0x4000, CCLN)
}
CreateBitField (RSRC, 0x0638, D0RW)
CreateDWordField (RSRC, 0xCC, D0MN)
CreateDWordField (RSRC, 0xD0, D0MX)
CreateDWordField (RSRC, 0xD8, D0LN)
Store (One, D0RW)
If (LEqual (And (PAM3, 0x03), 0x01))
{
Store (Zero, D0RW)
}
Store (Zero, D0LN)
If (LNot (And (PAM3, 0x03)))
{
Store (0x4000, D0LN)
}
CreateBitField (RSRC, 0x0710, D4RW)
CreateDWordField (RSRC, 0xE7, D4MN)
CreateDWordField (RSRC, 0xEB, D4MX)
CreateDWordField (RSRC, 0xF3, D4LN)
Store (One, D4RW)
If (LEqual (And (PAM3, 0x30), 0x10))
{
Store (Zero, D4RW)
}
Store (Zero, D4LN)
If (LNot (And (PAM3, 0x30)))
{
Store (0x4000, D4LN)
}
CreateBitField (RSRC, 0x07E8, D8RW)
CreateDWordField (RSRC, 0x0102, D8MN)
CreateDWordField (RSRC, 0x0106, D8MX)
CreateDWordField (RSRC, 0x010E, D8LN)
Store (One, D8RW)
If (LEqual (And (PAM4, 0x03), 0x01))
{
Store (Zero, D8RW)
}
Store (Zero, D8LN)
If (LNot (And (PAM4, 0x03)))
{
Store (0x4000, D8LN)
}
CreateBitField (RSRC, 0x08C0, DCRW)
CreateDWordField (RSRC, 0x011D, DCMN)
CreateDWordField (RSRC, 0x0121, DCMX)
CreateDWordField (RSRC, 0x0129, DCLN)
Store (One, DCRW)
If (LEqual (And (PAM4, 0x30), 0x10))
{
Store (Zero, DCRW)
}
Store (Zero, DCLN)
If (LNot (And (PAM4, 0x30)))
{
Store (0x4000, DCLN)
}
CreateBitField (RSRC, 0x0998, E0RW)
CreateDWordField (RSRC, 0x0138, E0MN)
CreateDWordField (RSRC, 0x013C, E0MX)
CreateDWordField (RSRC, 0x0144, E0LN)
Store (One, E0RW)
If (LEqual (And (PAM5, 0x03), 0x01))
{
Store (Zero, E0RW)
}
Store (Zero, E0LN)
If (LNot (And (PAM5, 0x03)))
{
Store (0x4000, E0LN)
}
CreateBitField (RSRC, 0x0A70, E4RW)
CreateDWordField (RSRC, 0x0153, E4MN)
CreateDWordField (RSRC, 0x0157, E4MX)
CreateDWordField (RSRC, 0x015F, E4LN)
Store (One, E4RW)
If (LEqual (And (PAM5, 0x30), 0x10))
{
Store (Zero, E4RW)
}
Store (Zero, E4LN)
If (LNot (And (PAM5, 0x30)))
{
Store (0x4000, E4LN)
}
CreateBitField (RSRC, 0x0B48, E8RW)
CreateDWordField (RSRC, 0x016E, E8MN)
CreateDWordField (RSRC, 0x0172, E8MX)
CreateDWordField (RSRC, 0x017A, E8LN)
Store (One, E8RW)
If (LEqual (And (PAM6, 0x03), 0x01))
{
Store (Zero, E8RW)
}
Store (Zero, E8LN)
If (LNot (And (PAM6, 0x03)))
{
Store (0x4000, E8LN)
}
CreateBitField (RSRC, 0x0C20, ECRW)
CreateDWordField (RSRC, 0x0189, ECMN)
CreateDWordField (RSRC, 0x018D, ECMX)
CreateDWordField (RSRC, 0x0195, ECLN)
Store (One, ECRW)
If (LEqual (And (PAM6, 0x30), 0x10))
{
Store (Zero, ECRW)
}
Store (Zero, ECLN)
If (LNot (And (PAM6, 0x30)))
{
Store (0x4000, ECLN)
}
Return (RSRC)
}
Method (_INI, 0, NotSerialized)
{
\_SB.OSTP ()
}
Device (P0P2)
{
Name (_ADR, 0x00020000)
OperationRegion (PCE2, PCI_Config, 0x00, 0xFF)
Field (PCE2, DWordAcc, NoLock, Preserve)
{
Offset (0x48),
, 9,
PGPE, 1,
Offset (0x88),
, 3,
PMEI, 1,
Offset (0x8E),
PMES, 1
}
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x01)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
}
})
}
Else
{
Return (Package (0x01)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
}
})
}
}
Device (BMD0)
{
Name (_ADR, 0x00)
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x03)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
}
})
}
Else
{
Return (Package (0x03)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x12
}
})
}
}
Device (BPD0)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
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
}
})
}
}
}
Device (BPD1)
{
Name (_ADR, 0x00010000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKA,
0x00
}
})
}
Else
{
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
}
})
}
}
}
Device (BPD2)
{
Name (_ADR, 0x00020000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x02)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
Return (Package (0x02)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
}
})
}
}
}
}
Device (BMF3)
{
Name (_ADR, 0x03)
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x03)
{
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
Return (Package (0x03)
{
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x1C
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x1E
},
Package (0x04)
{
0x0002FFFF,
0x01,
0x00,
0x1F
}
})
}
}
}
}
Device (P0P4)
{
Name (_ADR, 0x00040000)
OperationRegion (PCE4, PCI_Config, 0x00, 0xFF)
Field (PCE4, DWordAcc, NoLock, Preserve)
{
Offset (0x48),
, 9,
PGPE, 1,
Offset (0x88),
, 3,
PMEI, 1,
Offset (0x8E),
PMES, 1
}
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
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
}
})
}
}
}
Device (P0P6)
{
Name (_ADR, 0x00060000)
OperationRegion (PCE6, PCI_Config, 0x00, 0xFF)
Field (PCE6, DWordAcc, NoLock, Preserve)
{
Offset (0x48),
, 9,
PGPE, 1,
Offset (0x88),
, 3,
PMEI, 1,
Offset (0x8E),
PMES, 1
}
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
Else
{
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
}
})
}
}
}
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x14)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x01,
\_SB.PCI0.LPC0.LNKE,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
Return (Package (0x14)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0004FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0006FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0008FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001EFFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x13
}
})
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
OperationRegion (DB80, SystemIO, 0x80, 0x01)
Field (DB80, ByteAcc, NoLock, Preserve)
{
PT80, 8
}
OperationRegion (DB90, SystemIO, 0x90, 0x01)
Field (DB90, ByteAcc, NoLock, Preserve)
{
PT90, 8
}
OperationRegion (REGS, SystemMemory, 0xE0080059, 0x08)
Field (REGS, AnyAcc, NoLock, Preserve)
{
PAM0, 8,
PAM1, 8,
PAM2, 8,
PAM3, 8,
PAM4, 8,
PAM5, 8,
PAM6, 8
}
OperationRegion (LMEM, SystemMemory, 0xE008106C, 0x02)
Field (LMEM, AnyAcc, NoLock, Preserve)
{
TOLM, 16
}
Device (PEX0)
{
Name (_ADR, 0x001C0000)
Device (PXH0)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x18,
0x05
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x04)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
\_SB.PCI0.LPC0.LNKD,
0x00
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
0x00,
0x13
}
})
}
}
}
}
Device (USB1)
{
Name (_ADR, 0x001D0000)
OperationRegion (US1W, PCI_Config, 0xC4, 0x04)
Field (US1W, DWordAcc, Lock, Preserve)
{
W1EN, 2
}
Name (_PRW, Package (0x02)
{
0x03,
0x05
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, W1EN)
}
Else
{
Store (0x00, W1EN)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB2)
{
Name (_ADR, 0x001D0001)
OperationRegion (US2W, PCI_Config, 0xC4, 0x04)
Field (US2W, DWordAcc, Lock, Preserve)
{
W2EN, 2
}
Name (_PRW, Package (0x02)
{
0x04,
0x05
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, W2EN)
}
Else
{
Store (0x00, W2EN)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB3)
{
Name (_ADR, 0x001D0002)
OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
Field (USBO, DWordAcc, Lock, Preserve)
{
RSEN, 2
}
Name (_PRW, Package (0x02)
{
0x0C,
0x05
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, RSEN)
}
Else
{
Store (0x00, RSEN)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
Field (USBO, DWordAcc, Lock, Preserve)
{
RSEN, 2
}
Name (_PRW, Package (0x02)
{
0x0E,
0x05
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, RSEN)
}
Else
{
Store (0x00, RSEN)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (EUSB)
{
Name (_ADR, 0x001D0007)
Name (_S1D, 0x02)
Name (_S3D, 0x02)
Name (_S4D, 0x02)
Name (_PRW, Package (0x02)
{
0x0D,
0x05
})
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (Package (0x03)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
Else
{
Return (Package (0x03)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x01,
0x00,
0x11
}
})
}
}
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
}
Device (LPC0)
{
Name (_ADR, 0x001F0000)
Name (DVEN, 0x00)
Method (DECD, 4, Serialized)
{
Noop
}
Device (MBRD)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x1F)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0010, 0x0010, 0x01, 0x10)
IO (Decode16, 0x0024, 0x0024, 0x01, 0x02)
IO (Decode16, 0x0028, 0x0028, 0x01, 0x02)
IO (Decode16, 0x002C, 0x002C, 0x01, 0x02)
IO (Decode16, 0x002E, 0x002E, 0x01, 0x02)
IO (Decode16, 0x0030, 0x0030, 0x01, 0x02)
IO (Decode16, 0x0034, 0x0034, 0x01, 0x02)
IO (Decode16, 0x0038, 0x0038, 0x01, 0x02)
IO (Decode16, 0x003C, 0x003C, 0x01, 0x02)
IO (Decode16, 0x004E, 0x004E, 0x01, 0x02)
IO (Decode16, 0x0050, 0x0050, 0x01, 0x04)
IO (Decode16, 0x0063, 0x0063, 0x01, 0x01)
IO (Decode16, 0x0065, 0x0065, 0x01, 0x01)
IO (Decode16, 0x0067, 0x0067, 0x01, 0x01)
IO (Decode16, 0x0072, 0x0072, 0x01, 0x06)
IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
IO (Decode16, 0x0090, 0x0090, 0x01, 0x10)
IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02)
IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02)
IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02)
IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x06)
IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02)
IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02)
IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
IO (Decode16, 0x0295, 0x0295, 0x01, 0x02)
IO (Decode16, 0x0CA2, 0x0CA2, 0x01, 0x02)
IO (Decode16, 0x0CA8, 0x0CA8, 0x01, 0x08)
IO (Decode16, 0x1000, 0x1000, 0x01, 0x80)
IO (Decode16, 0x1180, 0x1180, 0x01, 0x40)
IO (Decode16, 0x0800, 0x0800, 0x01, 0x10)
IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01)
Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000)
Memory32Fixed (ReadWrite, 0xFEE00000, 0x00010000)
Memory32Fixed (ReadWrite, 0xFEC80000, 0x00001000)
Memory32Fixed (ReadWrite, 0xFED1C000, 0x00004000)
Memory32Fixed (ReadWrite, 0xFE000000, 0x00020000)
Memory32Fixed (ReadWrite, 0xFE600000, 0x00100000)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0xDA, PMMN)
CreateWordField (RSRC, 0xDC, PMMX)
And (^^PMBA, 0xFF80, PMMN)
Store (PMMN, PMMX)
CreateWordField (RSRC, 0xE2, GPMN)
CreateWordField (RSRC, 0xE4, GPMX)
And (^^GPBA, 0xFFC0, GPMN)
Store (GPMN, GPMX)
Return (RSRC)
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x20)
IO (Decode16, 0x0081, 0x0081, 0x01, 0x11)
IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D)
IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
DMA (Compatibility, NotBusMaster, Transfer8_16) {4}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x0F)
IRQ (Edge, ActiveHigh, Exclusive) {13}
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
IRQ (Edge, ActiveHigh, Exclusive) {2}
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags () {0}
IRQNoFlags () {8}
Memory32Fixed (ReadOnly, 0xFED00000, 0x00000400)
})
Method (_STA, 0, NotSerialized)
{
If (LNot (LLess (\_SB.OSTB, 0x08)))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, 0x0A, HPT0)
If (LEqual (HPAS, 0x01))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x02)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x02)
IRQ (Edge, ActiveHigh, Exclusive) {8}
})
Method (_CRS, 0, Serialized)
{
If (LNot (LLess (\_SB.OSTB, 0x08)))
{
If (HPAE)
{
Return (BUF0)
}
}
Return (BUF1)
}
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
})
}
Device (TIME)
{
Name (_HID, EisaId ("PNP0100"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IO (Decode16, 0x0050, 0x0050, 0x10, 0x04)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IO (Decode16, 0x0050, 0x0050, 0x10, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {0}
})
Method (_CRS, 0, Serialized)
{
If (LNot (LLess (\_SB.OSTB, 0x08)))
{
If (HPAE)
{
Return (BUF0)
}
}
Return (BUF1)
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRA, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRA, 0x70), PIRA)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRA, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRB, 0x80, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRB, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRB, 0x70), PIRB)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRB, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRC, 0x80, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRC, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRC, 0x70), PIRC)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRC, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRD, 0x80, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRD, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRD, 0x70), PIRD)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRD, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRE, 0x80, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRE, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRE, 0x70), PIRE)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRE, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRF, 0x80, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRF, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRF, 0x70), PIRF)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRF, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRG, 0x80, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRG, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRG, 0x70), PIRG)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRG, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {4,5,6,7,10,11,14,15}
})
Name (RSRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
Method (_DIS, 0, NotSerialized)
{
Or (PIRH, 0x80, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x01, IRQ0)
And (PIRH, 0x0F, Local0)
ShiftLeft (0x01, Local0, IRQ0)
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Or (Local0, And (PIRH, 0x70), PIRH)
}
Method (_STA, 0, NotSerialized)
{
If (And (PIRH, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
}
OperationRegion (PIRX, PCI_Config, 0x60, 0x04)
Field (PIRX, DWordAcc, Lock, Preserve)
{
AccessAs (ByteAcc, 0x00),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
OperationRegion (PIRY, PCI_Config, 0x68, 0x04)
Field (PIRY, DWordAcc, Lock, Preserve)
{
AccessAs (ByteAcc, 0x00),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
OperationRegion (REGS, PCI_Config, 0x40, 0x10)
Field (REGS, DWordAcc, Lock, Preserve)
{
PMBA, 16,
Offset (0x08),
GPBA, 16
}
OperationRegion (PMRG, PCI_Config, 0xA0, 0x04)
Field (PMRG, DWordAcc, Lock, Preserve)
{
, 10,
BPEE, 1
}
OperationRegion (LIOE, PCI_Config, 0x80, 0x02)
Field (LIOE, WordAcc, Lock, Preserve)
{
CAPD, 3,
, 1,
CBPD, 3,
Offset (0x01),
LPPD, 2
}
Method (IODE, 2, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
If (LEqual (Arg1, 0x03F8))
{
Store (0x00, CAPD)
}
If (LEqual (Arg1, 0x02F8))
{
Store (0x01, CAPD)
}
If (LEqual (Arg1, 0x03E8))
{
Store (0x07, CAPD)
}
If (LEqual (Arg1, 0x02E8))
{
Store (0x05, CAPD)
}
}
If (LEqual (Arg0, 0x01))
{
If (LEqual (Arg1, 0x03F8))
{
Store (0x00, CBPD)
}
If (LEqual (Arg1, 0x02F8))
{
Store (0x01, CBPD)
}
If (LEqual (Arg1, 0x03E8))
{
Store (0x07, CBPD)
}
If (LEqual (Arg1, 0x02E8))
{
Store (0x05, CBPD)
}
}
If (LEqual (Arg0, 0x02))
{
If (LEqual (Arg1, 0x0378))
{
Store (0x00, LPPD)
}
If (LEqual (Arg1, 0x0278))
{
Store (0x01, LPPD)
}
If (LEqual (Arg1, 0x03BC))
{
Store (0x02, LPPD)
}
}
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0xFF000000, 0x01000000)
})
}
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
Mutex (W627, 0x00)
OperationRegion (SIBP, SystemIO, 0x2E, 0x02)
Field (SIBP, ByteAcc, NoLock, Preserve)
{
BPIO, 8
}
OperationRegion (SIIO, SystemIO, 0x2E, 0x02)
Field (SIIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x22),
POW, 8,
Offset (0x30),
ACT, 1,
Offset (0x60),
IOBH, 8,
IOBL, 8,
IO2H, 8,
IO2L, 8,
Offset (0x70),
INT, 4,
Offset (0x74),
DMAS, 3,
Offset (0xE0),
Z000, 8,
Offset (0xE4),
Z001, 8,
Offset (0xF0),
MODE, 3,
Offset (0xF1),
, 3,
IRMD, 3,
Offset (0xF3),
, 6,
SLED, 2,
Offset (0xF5),
, 6,
PLED, 2
}
Method (CFG, 1, NotSerialized)
{
Store (0x87, BPIO)
Store (0x87, BPIO)
Store (Arg0, LDN)
}
Method (XCFG, 0, NotSerialized)
{
Store (0xAA, BPIO)
}
Method (STA, 1, NotSerialized)
{
Acquire (W627, 0x5000)
CFG (Arg0)
Store (0x00, Local1)
If (ACT)
{
Store (0x0F, Local1)
}
Else
{
If (LOr (IOBH, IOBL))
{
Store (0x0D, Local1)
}
}
XCFG ()
Release (W627)
Return (Local1)
}
Method (DIS, 1, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (Arg0)
Store (0x00, ACT)
XCFG ()
Release (W627)
Return (0x00)
}
Method (PS0, 1, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (Arg0)
Store (0x01, ACT)
XCFG ()
Release (W627)
Return (0x00)
}
Method (PS3, 1, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (Arg0)
Store (0x00, ACT)
XCFG ()
Release (W627)
Return (0x00)
}
Device (KBC0)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {1}
})
Name (_PRW, Package (0x02)
{
0x1E,
0x05
})
}
Device (MSE0)
{
Name (_HID, EisaId ("PNP0F13"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive) {12}
})
Name (_PRW, Package (0x02)
{
0x1E,
0x05
})
}
Device (COM1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
Store (STA (0x02), Local1)
Return (Local1)
}
Name (_PRW, Package (0x02)
{
0x08,
0x05
})
Method (_DIS, 0, NotSerialized)
{
DIS (0x02)
}
Method (_CRS, 0, NotSerialized)
{
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {}
})
CreateByteField (RSRC, 0x02, IO1)
CreateByteField (RSRC, 0x03, IO2)
CreateByteField (RSRC, 0x04, IO3)
CreateByteField (RSRC, 0x05, IO4)
CreateWordField (RSRC, 0x09, IRQV)
Acquire (W627, 0x1388)
CFG (0x02)
If (ACT)
{
Store (IOBL, IO1)
Store (IOBH, IO2)
Store (IOBL, IO3)
Store (IOBH, IO4)
Store (0x01, Local0)
ShiftLeft (Local0, INT, IRQV)
}
XCFG ()
Release (W627)
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IO1)
CreateByteField (Arg0, 0x03, IO2)
CreateWordField (Arg0, 0x09, IRQV)
Acquire (W627, 0x1388)
CFG (0x02)
Store (IO1, IOBL)
Store (IO2, IOBH)
FindSetRightBit (IRQV, Local0)
Subtract (Local0, 0x01, INT)
Store (0x01, ACT)
XCFG ()
Release (W627)
CreateWordField (Arg0, 0x02, IORG)
\_SB.PCI0.LPC0.IODE (0x00, IORG)
}
Method (_PS0, 0, NotSerialized)
{
PS0 (0x02)
}
Method (_PS3, 0, NotSerialized)
{
PS3 (0x02)
}
}
Device (COM2)
{
Method (_HID, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x03)
If (LAnd (IRMD, 0x38))
{
Store (0x1005D041, Local1)
}
Else
{
Store (0x0105D041, Local1)
}
XCFG ()
Release (W627)
Return (Local1)
}
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Store (STA (0x03), Local1)
Return (Local1)
}
Name (_PRW, Package (0x02)
{
0x08,
0x05
})
Method (_DIS, 0, NotSerialized)
{
DIS (0x03)
}
Method (_CRS, 0, NotSerialized)
{
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {}
})
CreateByteField (RSRC, 0x02, IO1)
CreateByteField (RSRC, 0x03, IO2)
CreateByteField (RSRC, 0x04, IO3)
CreateByteField (RSRC, 0x05, IO4)
CreateWordField (RSRC, 0x09, IRQV)
Acquire (W627, 0x1388)
CFG (0x03)
If (ACT)
{
Store (IOBL, IO1)
Store (IOBH, IO2)
Store (IOBL, IO3)
Store (IOBH, IO4)
Store (0x01, Local0)
ShiftLeft (Local0, INT, IRQV)
}
XCFG ()
Release (W627)
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {3}
}
StartDependentFn (0x02, 0x02)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {4}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IO1)
CreateByteField (Arg0, 0x03, IO2)
CreateWordField (Arg0, 0x09, IRQV)
Acquire (W627, 0x1388)
CFG (0x03)
Store (IO1, IOBL)
Store (IO2, IOBH)
FindSetRightBit (IRQV, Local0)
Subtract (Local0, 0x01, INT)
Store (0x01, ACT)
XCFG ()
Release (W627)
CreateWordField (Arg0, 0x02, IORG)
\_SB.PCI0.LPC0.IODE (0x01, IORG)
}
Method (_PS0, 0, NotSerialized)
{
PS0 (0x03)
}
Method (_PS3, 0, NotSerialized)
{
PS3 (0x03)
}
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
Store (STA (0x00), Local1)
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
DIS (0x00)
}
Method (_CRS, 0, NotSerialized)
{
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x06)
IO (Decode16, 0x0000, 0x0000, 0x01, 0x01)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Acquire (W627, 0x1388)
CFG (0x00)
If (ACT)
{
CreateByteField (RSRC, 0x02, IO1)
CreateByteField (RSRC, 0x03, IO2)
CreateByteField (RSRC, 0x04, IO3)
CreateByteField (RSRC, 0x05, IO4)
CreateByteField (RSRC, 0x0A, IO5)
CreateByteField (RSRC, 0x0B, IO6)
CreateByteField (RSRC, 0x0C, IO7)
CreateByteField (RSRC, 0x0D, IO8)
CreateWordField (RSRC, 0x11, IRQV)
CreateByteField (RSRC, 0x14, DMAV)
Store (IOBL, IO1)
Store (IOBH, IO2)
Store (IOBL, IO3)
Store (IOBH, IO4)
Add (IOBL, 0x07, IO5)
Store (IOBH, IO6)
Add (IOBL, 0x07, IO7)
Store (IOBH, IO8)
Store (0x01, Local0)
ShiftLeft (Local0, INT, IRQV)
Store (0x01, Local0)
ShiftLeft (Local0, DMAS, DMAV)
}
XCFG ()
Release (W627)
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
}
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0370, 0x0370, 0x01, 0x06)
IO (Decode16, 0x0377, 0x0377, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IO1)
CreateByteField (Arg0, 0x03, IO2)
CreateWordField (Arg0, 0x11, IRQV)
CreateByteField (Arg0, 0x14, DMAV)
Acquire (W627, 0x1388)
CFG (0x00)
Store (IO1, IOBL)
Store (IO2, IOBH)
FindSetRightBit (IRQV, Local0)
Subtract (Local0, 0x01, INT)
FindSetRightBit (DMAV, Local0)
Subtract (Local0, 0x01, DMAS)
Store (0x01, ACT)
XCFG ()
Release (W627)
}
Method (_PS0, 0, NotSerialized)
{
PS0 (0x00)
}
Method (_PS3, 0, NotSerialized)
{
PS3 (0x00)
}
}
Device (PRT)
{
Method (_HID, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x01)
If (LEqual (MODE, 0x02))
{
Store (0x0104D041, Local1)
}
Else
{
Store (0x0004D041, Local1)
}
XCFG ()
Release (W627)
Return (Local1)
}
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Store (STA (0x01), Local1)
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
DIS (0x01)
}
Method (_CRS, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x01)
Name (CRSA, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
IRQNoFlags () {}
})
CreateByteField (CRSA, 0x02, IOA1)
CreateByteField (CRSA, 0x03, IOA2)
CreateByteField (CRSA, 0x04, IOA3)
CreateByteField (CRSA, 0x05, IOA4)
CreateByteField (CRSA, 0x06, ALA1)
CreateByteField (CRSA, 0x07, LNA1)
CreateWordField (CRSA, 0x09, IRQA)
Name (CRSB, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer16) {}
})
CreateByteField (CRSB, 0x02, IOB1)
CreateByteField (CRSB, 0x03, IOB2)
CreateByteField (CRSB, 0x04, IOB3)
CreateByteField (CRSB, 0x05, IOB4)
CreateByteField (CRSB, 0x06, ALB1)
CreateByteField (CRSB, 0x07, LNB1)
CreateByteField (CRSB, 0x0A, IOB5)
CreateByteField (CRSB, 0x0B, IOB6)
CreateByteField (CRSB, 0x0C, IOB7)
CreateByteField (CRSB, 0x0D, IOB8)
CreateByteField (CRSB, 0x0E, ALB2)
CreateByteField (CRSB, 0x0F, LNB2)
CreateWordField (CRSB, 0x11, IRQB)
CreateWordField (CRSB, 0x14, DMAV)
If (ACT)
{
If (LEqual (MODE, 0x02))
{
Store (IOBL, IOB1)
Store (IOBH, IOB2)
Store (IOBL, IOB3)
Store (IOBH, IOB4)
Store (IOBL, IOB5)
Add (IOBH, 0x04, IOB6)
Store (IOBL, IOB7)
Add (IOBH, 0x04, IOB8)
If (LEqual (IOBL, 0xBC))
{
Store (0x01, ALB1)
Store (0x04, LNB1)
Store (0x01, ALB2)
Store (0x04, LNB2)
}
Store (0x01, Local0)
ShiftLeft (Local0, INT, IRQB)
Store (0x01, Local0)
ShiftLeft (Local0, DMAS, DMAV)
Return (CRSB)
}
Else
{
Store (IOBL, IOA1)
Store (IOBH, IOA2)
Store (IOBL, IOA3)
Store (IOBH, IOA4)
Store (0x01, Local0)
ShiftLeft (Local0, INT, IRQA)
If (LEqual (IOBL, 0xBC))
{
Store (0x01, ALA1)
Store (0x04, LNA1)
}
Return (CRSA)
}
}
Else
{
If (LEqual (MODE, 0x02))
{
Return (CRSB)
}
Else
{
Return (CRSA)
}
}
XCFG ()
Release (W627)
}
Name (PRSA, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {5}
}
EndDependentFn ()
})
Name (PRSB, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {7}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {5}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {7}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQ (Edge, ActiveHigh, Exclusive) {5}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {7}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {5}
DMA (Compatibility, NotBusMaster, Transfer16)
{0,1,3}
}
EndDependentFn ()
})
Method (_PRS, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x01)
If (LEqual (MODE, 0x02))
{
Store (PRSB, Local0)
}
Else
{
Store (PRSA, Local0)
}
XCFG ()
Release (W627)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x01)
If (LEqual (MODE, 0x02))
{
CreateByteField (Arg0, 0x02, IOB1)
CreateByteField (Arg0, 0x03, IOB2)
CreateByteField (Arg0, 0x04, IOB3)
CreateByteField (Arg0, 0x05, IOB4)
CreateByteField (Arg0, 0x06, ALB1)
CreateByteField (Arg0, 0x07, LNB1)
CreateByteField (Arg0, 0x0A, IOB5)
CreateByteField (Arg0, 0x0B, IOB6)
CreateByteField (Arg0, 0x0C, IOB7)
CreateByteField (Arg0, 0x0D, IOB8)
CreateByteField (Arg0, 0x0E, ALB2)
CreateByteField (Arg0, 0x0F, LNB2)
CreateWordField (Arg0, 0x11, IRQB)
CreateWordField (Arg0, 0x14, DMAV)
Store (IOB1, IOBL)
Store (IOB2, IOBH)
FindSetLeftBit (IRQB, Local0)
Subtract (Local0, 0x01, INT)
FindSetLeftBit (DMAV, Local0)
Subtract (Local0, 0x01, DMAS)
}
Else
{
CreateByteField (Arg0, 0x02, IOA1)
CreateByteField (Arg0, 0x03, IOA2)
CreateByteField (Arg0, 0x04, IOA3)
CreateByteField (Arg0, 0x05, IOA4)
CreateByteField (Arg0, 0x06, ALA1)
CreateByteField (Arg0, 0x07, LNA1)
CreateWordField (Arg0, 0x09, IRQA)
Store (IOA1, IOBL)
Store (IOA2, IOBH)
FindSetLeftBit (IRQA, Local0)
Subtract (Local0, 0x01, INT)
}
Store (0x01, ACT)
XCFG ()
Release (W627)
CreateWordField (Arg0, 0x02, IORG)
\_SB.PCI0.LPC0.IODE (0x02, IORG)
}
Method (_PS0, 0, NotSerialized)
{
PS0 (0x01)
}
Method (_PS3, 0, NotSerialized)
{
PS3 (0x01)
}
}
Method (ENWK, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x0A)
Store (0x01, ACT)
Store (0xF3, INDX)
Store (0x3F, DATA)
Store (0xF6, INDX)
Store (0x33, DATA)
Store (0xF9, INDX)
Store (0x05, DATA)
XCFG ()
Release (W627)
}
Method (DSWK, 0, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x0A)
Store (0x00, ACT)
Store (0xF6, INDX)
Store (0x00, DATA)
Store (0xF9, INDX)
Store (0x00, DATA)
Store (0xF3, INDX)
Store (0x3F, DATA)
XCFG ()
Release (W627)
}
Method (CLED, 1, NotSerialized)
{
Acquire (W627, 0x1388)
CFG (0x09)
Store (Arg0, SLED)
XCFG ()
Release (W627)
}
}
}
Name (NATA, Package (0x01)
{
0x001F0001
})
Device (IDEC)
{
Name (_ADR, 0x001F0001)
OperationRegion (IDEC, PCI_Config, 0x40, 0x18)
Field (IDEC, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset (0x08),
SDMA, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x0B),
SDT2, 2,
, 2,
SDT3, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4
}
Method (GETP, 1, NotSerialized)
{
Noop
If (LEqual (And (Arg0, 0x09), 0x00))
{
Return (0xFFFFFFFF)
}
If (LEqual (And (Arg0, 0x09), 0x08))
{
Return (0x0384)
}
ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
Return (Multiply (0x1E, Subtract (0x09, Add (Local0,
Local1))))
}
Method (GETD, 4, NotSerialized)
{
Noop
If (Arg0)
{
If (Arg1)
{
Return (0x14)
}
If (Arg2)
{
Return (Multiply (Subtract (0x04, Arg3), 0x0F))
}
Return (Multiply (Subtract (0x04, Arg3), 0x1E))
}
Return (0xFFFFFFFF)
}
Method (GETT, 1, NotSerialized)
{
Noop
Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight
(Arg0, 0x02), 0x03), And (Arg0, 0x03)))))
}
Method (GETF, 3, NotSerialized)
{
Noop
Name (TMPF, 0x00)
If (Arg0)
{
Or (TMPF, 0x01, TMPF)
}
If (And (Arg2, 0x02))
{
Or (TMPF, 0x02, TMPF)
}
If (Arg1)
{
Or (TMPF, 0x04, TMPF)
}
If (And (Arg2, 0x20))
{
Or (TMPF, 0x08, TMPF)
}
If (And (Arg2, 0x4000))
{
Or (TMPF, 0x10, TMPF)
}
Return (TMPF)
}
Method (SETP, 3, NotSerialized)
{
Noop
If (LNot (LLess (Arg0, 0xF0)))
{
Return (0x08)
}
Else
{
If (And (Arg1, 0x02))
{
If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2,
0x02)))
{
Return (0x2301)
}
If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2,
0x01)))
{
Return (0x2101)
}
}
Return (0x1001)
}
}
Method (SETD, 1, NotSerialized)
{
Noop
If (LNot (LGreater (Arg0, 0x14)))
{
Return (0x01)
}
If (LNot (LGreater (Arg0, 0x1E)))
{
Return (0x02)
}
If (LNot (LGreater (Arg0, 0x2D)))
{
Return (0x01)
}
If (LNot (LGreater (Arg0, 0x3C)))
{
Return (0x02)
}
If (LNot (LGreater (Arg0, 0x5A)))
{
Return (0x01)
}
Return (0x00)
}
Method (SETT, 3, NotSerialized)
{
Noop
If (And (Arg1, 0x02))
{
If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2,
0x02)))
{
Return (0x0B)
}
If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2,
0x01)))
{
Return (0x09)
}
}
Return (0x04)
}
Device (PRID)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Noop
Name (PBUF, Buffer (0x14)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
})
CreateDWordField (PBUF, 0x00, PIO0)
CreateDWordField (PBUF, 0x04, DMA0)
CreateDWordField (PBUF, 0x08, PIO1)
CreateDWordField (PBUF, 0x0C, DMA1)
CreateDWordField (PBUF, 0x10, FLAG)
Store (GETP (PRIT), PIO0)
Store (GETD (And (SDMA, 0x01), And (ICR3, 0x01), And
(ICR0, 0x01), SDT0), DMA0)
If (LEqual (DMA0, 0xFFFFFFFF))
{
Store (PIO0, DMA0)
}
If (And (PRIT, 0x4000))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (PSIT), PIO1)
}
}
Else
{
Store (0xFFFFFFFF, PIO1)
}
Store (GETD (And (SDMA, 0x02), And (ICR3, 0x02), And
(ICR0, 0x02), SDT1), DMA1)
If (LEqual (DMA1, 0xFFFFFFFF))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SDMA, 0x01), And (SDMA, 0x02), PRIT),
FLAG)
Return (PBUF)
}
Method (_STM, 3, NotSerialized)
{
Noop
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
Store (0x04, ICR2)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0x4CF0, PRIT)
And (SDMA, 0x0E, SDMA)
Store (0x00, SDT0)
And (ICR0, 0x0E, ICR0)
And (ICR1, 0x0E, ICR1)
And (ICR3, 0x0E, ICR3)
And (ICR5, 0x0E, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
Or (PRIT, 0x8004, PRIT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (PRIT, 0x02, PRIT)
}
Or (PRIT, SETP (PIO0, W530, W640), PRIT)
If (And (FLAG, 0x01))
{
Or (SDMA, 0x01, SDMA)
Store (SETD (DMA0), SDT0)
If (And (W880, 0x20))
{
Or (ICR1, 0x01, ICR1)
Or (ICR5, 0x01, ICR5)
}
If (And (W880, 0x10))
{
Or (ICR1, 0x01, ICR1)
}
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x01, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x01, ICR0)
}
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0x3F0F, PRIT)
Store (0x00, PSIT)
And (SDMA, 0x0D, SDMA)
Store (0x00, SDT1)
And (ICR0, 0x0D, ICR0)
And (ICR1, 0x0D, ICR1)
And (ICR3, 0x0D, ICR3)
And (ICR5, 0x0D, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
Or (PRIT, 0x8040, PRIT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (PRIT, 0x20, PRIT)
}
If (And (FLAG, 0x10))
{
Or (PRIT, 0x4000, PRIT)
If (LGreater (PIO1, 0xF0))
{
Or (PRIT, 0x80, PRIT)
}
Else
{
Or (PRIT, 0x10, PRIT)
Store (SETT (PIO1, W531, W641), PSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SDMA, 0x02, SDMA)
Store (SETD (DMA1), SDT1)
If (And (W881, 0x20))
{
Or (ICR1, 0x02, ICR1)
Or (ICR5, 0x02, ICR5)
}
If (And (W881, 0x10))
{
Or (ICR1, 0x02, ICR1)
}
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x02, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x02, ICR0)
}
}
}
}
Method (_PS0, 0, NotSerialized)
{
Noop
}
Method (_PS3, 0, NotSerialized)
{
Noop
}
Device (P_D0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Noop
Name (PIB0, Buffer (0x0E)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (PIB0, 0x01, PMD0)
CreateByteField (PIB0, 0x08, DMD0)
If (And (PRIT, 0x02))
{
If (LEqual (And (PRIT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (PRIT, 0x0300), 0x08,
Local0)
ShiftRight (And (PRIT, 0x3000), 0x0C,
Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (0x01, PMD0)
}
If (And (SDMA, 0x01))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR0, 0x01))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x01))
{
Store (0x45, DMD0)
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20,
DMD0)
}
Return (PIB0)
}
}
Device (P_D1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Noop
Name (PIB1, Buffer (0x0E)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (PIB1, 0x01, PMD1)
CreateByteField (PIB1, 0x08, DMD1)
If (And (PRIT, 0x20))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (PSIT, 0x03), ShiftRight (And
(PSIT, 0x0C), 0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (0x01, PMD1)
}
If (And (SDMA, 0x02))
{
Store (Or (SDT1, 0x40), DMD1)
If (And (ICR0, 0x02))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x02))
{
Store (0x45, DMD1)
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20,
DMD1)
}
Return (PIB1)
}
}
}
}
Device (SMBS)
{
Name (_ADR, 0x001F0003)
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
}
}
Scope (_SI)
{
Method (_SST, 1, NotSerialized)
{
}
}
Scope (_TZ)
{
}
Name (_S0, Package (0x02)
{
0x00,
0x00
})
Name (_S1, Package (0x02)
{
0x01,
0x01
})
Name (_S4, Package (0x02)
{
0x06,
0x06
})
Name (_S5, Package (0x02)
{
0x07,
0x07
})
Name (PICF, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, \PICF)
}
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, \_SB.PCI0.PT80)
Store (0x01, \_SB.PCI0.P0P2.PMES)
Store (0x01, \_SB.PCI0.P0P2.PMES)
Store (0x01, \_SB.PCI0.P0P4.PMES)
Store (0x01, \_SB.PCI0.P0P4.PMES)
Store (0x01, \_SB.PCI0.P0P6.PMES)
Store (0x01, \_SB.PCI0.P0P6.PMES)
If (LEqual (Arg0, 0x01))
{
Store (0x01, \_SB.PCI0.P0P2.PMEI)
Store (0x01, \_SB.PCI0.P0P2.PGPE)
Store (0x01, \_SB.PCI0.P0P4.PMEI)
Store (0x01, \_SB.PCI0.P0P4.PGPE)
Store (0x01, \_SB.PCI0.P0P6.PMEI)
Store (0x01, \_SB.PCI0.P0P6.PGPE)
Store (0x01, \_SB.PCI0.LPC0.BPEE)
\_SB.PCI0.LPC0.SIO.ENWK ()
\_SB.PCI0.LPC0.SIO.CLED (0x02)
}
If (LNot (LLess (Arg0, 0x04)))
{
\_SB.PCI0.LPC0.SIO.CLED (0x00)
}
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, \_SB.PCI0.PT80)
\_SB.PCI0.LPC0.SIO.CLED (0x01)
Notify (\_SB.PCI0.PWRB, 0x02)
If (LEqual (Arg0, 0x01))
{
Store (0x00, \_SB.PCI0.P0P2.PMEI)
Store (0x00, \_SB.PCI0.P0P2.PGPE)
Store (0x00, \_SB.PCI0.P0P4.PMEI)
Store (0x00, \_SB.PCI0.P0P4.PGPE)
Store (0x00, \_SB.PCI0.P0P6.PMEI)
Store (0x00, \_SB.PCI0.P0P6.PGPE)
Store (0x00, \_SB.PCI0.LPC0.BPEE)
\_SB.PCI0.LPC0.SIO.ENWK ()
}
\_SB.PCI0.LPC0.SIO.DSWK ()
Return (Package (0x02)
{
0x00,
0x00
})
}
Scope (\)
{
Name (SSDT, Package (0x30)
{
"CPU0IST ",
0x00000000,
0xF000FF53,
"CPU1IST ",
0x00000000,
0xF000FF53,
"CPU0CST ",
0x00000000,
0xF000FF53,
"CPU1CST ",
0x00000000,
0xF000FF53,
"CPU2IST ",
0x00000000,
0xF000FF53,
"CPU3IST ",
0x00000000,
0xF000FF53,
"CPU2CST ",
0x00000000,
0xF000FF53,
"CPU3CST ",
0x00000000,
0xF000FF53,
"CPU4IST ",
0x00000000,
0xF000FF53,
"CPU5IST ",
0x00000000,
0xF000FF53,
"CPU4CST ",
0x00000000,
0xF000FF53,
"CPU5CST ",
0x00000000,
0xF000FF53,
"CPU6IST ",
0x00000000,
0xF000FF53,
"CPU7IST ",
0x00000000,
0xF000FF53,
"CPU6CST ",
0x00000000,
0xF000FF53,
"CPU7CST ",
0x00000000,
0xF000FF53
})
Name (CFGD, 0x09010000)
Name (\PDC0, 0x80000000)
Name (\PDC1, 0x80000000)
Name (\PDC2, 0x80000000)
Name (\PDC3, 0x80000000)
Name (\PDC4, 0x80000000)
Name (\PDC5, 0x80000000)
Name (\PDC6, 0x80000000)
Name (\PDC7, 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)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS0, 0x00))
Return (Arg3)
}
Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), 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)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS1, 0x00))
Return (Arg3)
}
Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), 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 (\_PR.CPU2)
{
Name (HI2, 0x00)
Name (HC2, 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 (STS2, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS2, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS2)
CreateDWordField (Arg3, 0x04, CAP2)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS2, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS2, 0x00))
Return (Arg3)
}
Or (And (PDC2, 0x7FFFFFFF), CAP2, PDC2)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC2, 0x09), 0x09)), LNot (And (SDTL, 0x04))))
{
Or (SDTL, 0x04, SDTL)
OperationRegion (IST2, SystemMemory, DerefOf (Index (SSDT,
0x0D)), DerefOf (Index (SSDT, 0x0E)))
Load (IST2, HI2)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC2, 0x18)), LNot
(And (SDTL, 0x08))))
{
Or (SDTL, 0x08, SDTL)
OperationRegion (CST2, SystemMemory, DerefOf (Index (SSDT,
0x13)), DerefOf (Index (SSDT, 0x14)))
Load (CST2, HC2)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU3)
{
Name (HI3, 0x00)
Name (HC3, 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 (STS3, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS3, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS3)
CreateDWordField (Arg3, 0x04, CAP3)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS3, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS3, 0x00))
Return (Arg3)
}
Or (And (PDC3, 0x7FFFFFFF), CAP3, PDC3)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC3, 0x09), 0x09)), LNot (And (SDTL, 0x40))))
{
Or (SDTL, 0x40, SDTL)
OperationRegion (IST3, SystemMemory, DerefOf (Index (SSDT,
0x10)), DerefOf (Index (SSDT, 0x11)))
Load (IST3, HI3)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC3, 0x18)), LNot
(And (SDTL, 0x80))))
{
Or (SDTL, 0x80, SDTL)
OperationRegion (CST3, SystemMemory, DerefOf (Index (SSDT,
0x16)), DerefOf (Index (SSDT, 0x17)))
Load (CST3, HC3)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU4)
{
Name (HI4, 0x00)
Name (HC4, 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 (STS4, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS4, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS4)
CreateDWordField (Arg3, 0x04, CAP4)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS4, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS4, 0x00))
Return (Arg3)
}
Or (And (PDC4, 0x7FFFFFFF), CAP4, PDC4)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC4, 0x09), 0x09)), LNot (And (SDTL, 0x0100))))
{
Or (SDTL, 0x0100, SDTL)
OperationRegion (IST4, SystemMemory, DerefOf (Index (SSDT,
0x19)), DerefOf (Index (SSDT, 0x1A)))
Load (IST4, HI4)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC4, 0x18)), LNot
(And (SDTL, 0x0200))))
{
Or (SDTL, 0x0200, SDTL)
OperationRegion (CST4, SystemMemory, DerefOf (Index (SSDT,
0x1F)), DerefOf (Index (SSDT, 0x20)))
Load (CST4, HC4)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU5)
{
Name (HI5, 0x00)
Name (HC5, 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 (STS5, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS5, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS5)
CreateDWordField (Arg3, 0x04, CAP5)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS5, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS5, 0x00))
Return (Arg3)
}
Or (And (PDC5, 0x7FFFFFFF), CAP5, PDC5)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC5, 0x09), 0x09)), LNot (And (SDTL, 0x0400))))
{
Or (SDTL, 0x0400, SDTL)
OperationRegion (IST5, SystemMemory, DerefOf (Index (SSDT,
0x1C)), DerefOf (Index (SSDT, 0x1D)))
Load (IST5, HI5)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC5, 0x18)), LNot
(And (SDTL, 0x0800))))
{
Or (SDTL, 0x0800, SDTL)
OperationRegion (CST5, SystemMemory, DerefOf (Index (SSDT,
0x22)), DerefOf (Index (SSDT, 0x23)))
Load (CST5, HC5)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU6)
{
Name (HI6, 0x00)
Name (HC6, 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 (STS6, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS6, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS6)
CreateDWordField (Arg3, 0x04, CAP6)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS6, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS6, 0x00))
Return (Arg3)
}
Or (And (PDC6, 0x7FFFFFFF), CAP6, PDC6)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC6, 0x09), 0x09)), LNot (And (SDTL, 0x1000))))
{
Or (SDTL, 0x1000, SDTL)
OperationRegion (IST6, SystemMemory, DerefOf (Index (SSDT,
0x25)), DerefOf (Index (SSDT, 0x26)))
Load (IST6, HI6)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC6, 0x18)), LNot
(And (SDTL, 0x2000))))
{
Or (SDTL, 0x2000, SDTL)
OperationRegion (CST6, SystemMemory, DerefOf (Index (SSDT,
0x2B)), DerefOf (Index (SSDT, 0x2C)))
Load (CST6, HC6)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU7)
{
Name (HI7, 0x00)
Name (HC7, 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 (STS7, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS7, TEMP, Local2)
_OSC (Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS7)
CreateDWordField (Arg3, 0x04, CAP7)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
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 (STS7, 0x00))
Return (Arg3)
}
If (LNot (LEqual (Arg1, 0x01)))
{
Store (0x0A, Index (STS7, 0x00))
Return (Arg3)
}
Or (And (PDC7, 0x7FFFFFFF), CAP7, PDC7)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (Or (Or (And (CFGD, 0x08000000), And (CFGD,
0x04000000)), Or (And (CFGD, 0x01000000), And (CFGD, 0x02000000))), LEqual (And
(PDC7, 0x09), 0x09)), LNot (And (SDTL, 0x4000))))
{
Or (SDTL, 0x4000, SDTL)
OperationRegion (IST7, SystemMemory, DerefOf (Index (SSDT,
0x28)), DerefOf (Index (SSDT, 0x29)))
Load (IST7, HI7)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC7, 0x18)), LNot
(And (SDTL, 0x8000))))
{
Or (SDTL, 0x8000, SDTL)
OperationRegion (CST7, SystemMemory, DerefOf (Index (SSDT,
0x2E)), DerefOf (Index (SSDT, 0x2F)))
Load (CST7, HC7)
}
}
Return (Arg3)
}
}
}
On 1/23/07, Guy Helmer <ghelmer@palisadesys.com> wrote:> Using FreeBSD 6.2, I'm having trouble with the Supermicro X7DBR-8+ > motherboard (dual Xeon 5130 CPUs on the Blackford chipset - > http://www.supermicro.com/products/motherboard/Xeon1333/5000P/X7DBR-8+.cfm) > hanging after printing the "Waiting 5 seconds for SCSI devices to > settle" message. The hang doesn't always happen - sometimes we have to > go through several reboot cycles for it to happen - but sometimes it > happens with every reboot. For those who would suggest that this > happens because I'm using Seagate drives, it happens even if we totally > remove the SCSI drive (but leave the aic7902 SCSI interfaces enabled) > and boot from a SATA disk. Using FreeBSD 6.1, the Intel gigabit > ethernet NICs aren't found but the hang doesn't occur.Uh, just a wild stab, I dont have the Supermicro motherboard, but on the Intel design its based on there is unfortunately still this problem where the floppy has some bogus wait in it. I thought this was fixed along the way but I just installed RELEASE on Friday and saw it still occurs. It will make the system appear to hang, look at the floppy LED, is it on? If that is the problem you are seeing then it will eventually time out, I get around it by defining the driver out of the kernel after install, but you could also remove the floppy. If that isnt it, I would suggest installing using ACPI disabled or SAFE if needed, and then tweak the kernel after. Have you checked the January snapshot of CURRENT to see what happens there? Jack