Re: CURRENT panics: Fatal trap 12 on atapci1

From: Trent Nelson <tnelson_at_alcyon.ltd.uk>
Date: Wed, 3 Mar 2004 02:10:20 -0000 (GMT)
>
> I'm getting fatal trap 12 panics as soon as my 5.2-CURRENT kernel comes
> across my SiI0680 card (atapci1).

Here's the output from boot -v and the resulting panic:

Console: serial port
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS drive D: is disk2
BIOS drive E: is disk3
BIOS 639kB/1047488kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(root_at_hollin.btc.adaptec.com, Thu Jan 16 20:16:53 GMT 2003)
Loading /boot/defaults/loader.conf
Type '?' for a list of commands, 'help' for more detailed help.
OK boot -v
-\|/-\|SMAP type=01 base=0000000000000000 len=000000000009fc00
SMAP type=02 base=000000000009fc00 len=0000000000000400
SMAP type=02 base=00000000000f0000 len=0000000000010000
SMAP type=01 base=0000000000100000 len=000000003fef0000
SMAP type=03 base=000000003fff0000 len=0000000000008000
SMAP type=04 base=000000003fff8000 len=0000000000008000
SMAP type=02 base=00000000fec00000 len=0000000000001000
SMAP type=02 base=00000000fee00000 len=0000000000001000
SMAP type=02 base=00000000ffff0000 len=0000000000010000
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 #1: Wed Mar  3 01:30:53 GMT 2004
    root_at_:/cvs/obj/usr/src-cur/sys/ZOOM
Preloaded elf kernel "/boot/kernel/kernel" at 0xc07c4000.
Calibrating clock(s) ... i8254 clock: 1193209 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 996561058 Hz
CPU: Intel Pentium III (996.56-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
  Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 1073676288 (1023 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000000829000 - 0x000000003edbffff, 1046048768 bytes (255383 pages)
avail memory = 1045286912 (996 MB)
MP Configuration Table version 1.1 found at 0xc00f5680
APIC: Using the MPTable enumerator.
SMP: Added CPU 0 (BSP)
SMP: Added CPU 1 (AP)
MPTable: <VIA      VT3075      >
APIC ID: physical 0, logical 0:0
APIC ID: physical 1, logical 0:1
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
bios32: Found BIOS32 Service Directory header at 0xc00fdad0
bios32: Entry = 0xfdae0 (c00fdae0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xf0000+0xdb01
pnpbios: Found PnP BIOS data at 0xc00f6a10
pnpbios: Entry = f0000:58e4  Rev = 1.0
Other BIOS signatures found:
ioapic0: Assuming intbase of 0
ioapic0: intpin 0 -> ExtINT (edge, activehi)
ioapic0: intpin 1 -> irq 1 (edge, activehi)
ioapic0: intpin 2 -> irq 2 (edge, activehi)
ioapic0: intpin 3 -> irq 3 (edge, activehi)
ioapic0: intpin 4 -> irq 4 (edge, activehi)
ioapic0: intpin 5 -> irq 5 (edge, activehi)
ioapic0: intpin 6 -> irq 6 (edge, activehi)
ioapic0: intpin 7 -> irq 7 (edge, activehi)
ioapic0: intpin 8 -> irq 8 (edge, activehi)
ioapic0: intpin 9 -> irq 9 (edge, activehi)
ioapic0: intpin 10 -> irq 10 (edge, activehi)
ioapic0: intpin 11 -> irq 11 (edge, activehi)
ioapic0: intpin 12 -> irq 12 (edge, activehi)
ioapic0: intpin 13 -> irq 13 (edge, activehi)
ioapic0: intpin 14 -> irq 14 (edge, activehi)
ioapic0: intpin 15 -> irq 15 (edge, activehi)
ioapic0: intpin 16 -> irq 16 (level, activelo)
ioapic0: intpin 17 -> irq 17 (level, activelo)
ioapic0: intpin 18 -> irq 18 (level, activelo)
ioapic0: intpin 19 -> irq 19 (level, activelo)
ioapic0: intpin 20 -> irq 20 (level, activelo)
ioapic0: intpin 21 -> irq 21 (level, activelo)
ioapic0: intpin 22 -> irq 22 (level, activelo)
ioapic0: intpin 23 -> irq 23 (level, activelo)
ioapic0: intpin 1 trigger: edge
ioapic0: intpin 1 polarity: active-hi
ioapic0: Routing IRQ 0 -> intpin 2
ioapic0: intpin 2 trigger: edge
ioapic0: intpin 2 polarity: active-hi
ioapic0: intpin 3 trigger: edge
ioapic0: intpin 3 polarity: active-hi
ioapic0: intpin 4 trigger: edge
ioapic0: intpin 4 polarity: active-hi
ioapic0: intpin 5 trigger: edge
ioapic0: intpin 5 polarity: active-hi
ioapic0: intpin 6 trigger: edge
ioapic0: intpin 6 polarity: active-hi
ioapic0: intpin 7 trigger: edge
ioapic0: intpin 7 polarity: active-hi
ioapic0: intpin 8 trigger: edge
ioapic0: intpin 8 polarity: active-hi
ioapic0: intpin 12 trigger: edge
ioapic0: intpin 12 polarity: active-hi
ioapic0: intpin 13 trigger: edge
ioapic0: intpin 13 polarity: active-hi
ioapic0: intpin 14 trigger: edge
ioapic0: intpin 14 polarity: active-hi
ioapic0: intpin 15 trigger: edge
ioapic0: intpin 15 polarity: active-hi
ioapic0: intpin 11 trigger: level
ioapic0: intpin 11 polarity: active-lo
ioapic0: intpin 10 trigger: level
ioapic0: intpin 10 polarity: active-lo
ioapic0: intpin 9 trigger: level
ioapic0: intpin 9 polarity: active-lo
lapic: Routing ExtINT -> LINT0
lapic: Routing NMI -> LINT1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
cpu0 BSP:
     ID: 0x00000000   VER: 0x00040011 LDR: 0x01000000 DFR: 0x0fffffff
  lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
null: <null device, zero device>
random: <entropy source>
mem: <memory & I/O>
Pentium Pro MTRR support enabled
npx0: [FAST]
stray irq13
npx0: <math processor> on motherboard
npx0: INT 16 interface
pci_open(1):	mode 1 addr port (0x0cf8) is 0x80006040
pci_open(1a):	mode1res=0x80000000 (0x80000000)
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=06911106)
pcibios: BIOS version 2.10
Found $PIR table, 8 entries at 0xc00f7100
PCI-Only Interrupts: none
Location  Bus Device Pin  Link  IRQs
embedded    0    1    A   0x01  3 4 5 7 9 10 11 12 14 15
embedded    0    1    B   0x02  3 4 5 7 9 10 11 12 14 15
embedded    0    1    C   0x03  3 4 5 7 9 10 11 12 14 15
embedded    0    1    D   0x05  3 4 5 7 9 10 11 12 14 15
embedded    0    7    A   0xfe  14
embedded    0    7    B   0xff  15
embedded    0    7    C   0x03  3 4 5 7 9 10 11 12 14 15
embedded    0    7    D   0x05  3 4 5 7 9 10 11 12 14 15
slot 1      0    9    A   0x02  3 4 5 7 9 10 11 12 14 15
slot 1      0    9    B   0x03  3 4 5 7 9 10 11 12 14 15
slot 1      0    9    C   0x05  3 4 5 7 9 10 11 12 14 15
slot 1      0    9    D   0x01  3 4 5 7 9 10 11 12 14 15
slot 2      0   10    A   0x03  3 4 5 7 9 10 11 12 14 15
slot 2      0   10    B   0x05  3 4 5 7 9 10 11 12 14 15
slot 2      0   10    C   0x01  3 4 5 7 9 10 11 12 14 15
slot 2      0   10    D   0x02  3 4 5 7 9 10 11 12 14 15
slot 3      0   11    A   0x05  3 4 5 7 9 10 11 12 14 15
slot 3      0   11    B   0x01  3 4 5 7 9 10 11 12 14 15
slot 3      0   11    C   0x02  3 4 5 7 9 10 11 12 14 15
slot 3      0   11    D   0x03  3 4 5 7 9 10 11 12 14 15
slot 4      0   12    A   0x01  3 4 5 7 9 10 11 12 14 15
slot 4      0   12    B   0x02  3 4 5 7 9 10 11 12 14 15
slot 4      0   12    C   0x03  3 4 5 7 9 10 11 12 14 15
slot 4      0   12    D   0x05  3 4 5 7 9 10 11 12 14 15
slot 5      0   13    A   0x02  3 4 5 7 9 10 11 12 14 15
slot 5      0   13    B   0x03  3 4 5 7 9 10 11 12 14 15
slot 5      0   13    C   0x05  3 4 5 7 9 10 11 12 14 15
slot 5      0   13    D   0x01  3 4 5 7 9 10 11 12 14 15
embedded    0   14    A   0x03  3 4 5 7 9 10 11 12 14 15
embedded    0   14    B   0x05  3 4 5 7 9 10 11 12 14 15
embedded    0   14    C   0x01  3 4 5 7 9 10 11 12 14 15
embedded    0   14    D   0x02  3 4 5 7 9 10 11 12 14 15
pcib0: <Host to PCI bridge> at pcibus 0 on motherboard
$PIR: Links after initial probe:
Link  IRQ  Ref  IRQs
 0x1  255    7  3 4 5 7 9 10 11 12 14 15
 0x2  255    7  3 4 5 7 9 10 11 12 14 15
 0x3  255    8  3 4 5 7 9 10 11 12 14 15
 0x5  255    8  3 4 5 7 9 10 11 12 14 15
0xfe  255    1  14
0xff  255    1  15
$PIR: Found matching pin for 0.7.INTD at func 2: 9
$PIR: Found matching pin for 0.9.INTA at func 0: 10
$PIR: Found matching pin for 0.12.INTA at func 0: 11
$PIR: Found matching pin for 0.13.INTA at func 0: 10
$PIR: Links after initial IRQ discovery:
Link  IRQ  Ref  IRQs
 0x1   11    7  3 4 5 7 9 10 11 12 14 15
 0x2   10    7  3 4 5 7 9 10 11 12 14 15
 0x3  255    8  3 4 5 7 9 10 11 12 14 15
 0x5    9    8  3 4 5 7 9 10 11 12 14 15
0xfe   14    1  14
0xff   15    1  15
$PIR: IRQs used by BIOS: 9 10 11 14 15
$PIR: Interrupt Weights:
[    0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 ]
[    0   0   0   0   0   0   0   0   0   8   7   7   0   0   1   1 ]
pci0: <PCI bus> on pcib0
pci0: physical bus=0
	map[10]: type 3, range 32, base e0000000, size 26, enabled
found->	vendor=0x1106, dev=0x0691, revid=0xc4
	bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0006, statreg=0x2210, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	powerspec 2  supports D0 D3  current D0
found->	vendor=0x1106, dev=0x8598, revid=0x00
	bus=0, slot=1, func=0
	class=06-04-00, hdrtype=0x01, mfdev=0
	cmdreg=0x0007, statreg=0x2230, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns)
found->	vendor=0x1106, dev=0x0686, revid=0x22
	bus=0, slot=7, func=0
	class=06-01-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0087, statreg=0x0210, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[20]: type 4, range 32, base 0000ffa0, size  4, enabled
found->	vendor=0x1106, dev=0x0571, revid=0x10
	bus=0, slot=7, func=1
	class=01-01-8a, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	powerspec 2  supports D0 D3  current D0
	map[20]: type 4, range 32, base 0000c000, size  5, enabled
$PIR: 0:7 INTD routed to irq 9
found->	vendor=0x1106, dev=0x3038, revid=0x10
	bus=0, slot=7, func=2
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=d, irq=9
	powerspec 2  supports D0 D3  current D0
	map[20]: type 4, range 32, base 0000c400, size  5, enabled
$PIR: 0:7 INTD routed to irq 9
found->	vendor=0x1106, dev=0x3038, revid=0x10
	bus=0, slot=7, func=3
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=d, irq=9
	powerspec 2  supports D0 D3  current D0
found->	vendor=0x1106, dev=0x3057, revid=0x30
	bus=0, slot=7, func=4
	class=0c-05-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0290, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	powerspec 2  supports D0 D3  current D0
	map[10]: type 4, range 32, base 0000dc00, size  3, enabled
	map[14]: type 4, range 32, base 0000d800, size  2, enabled
	map[18]: type 4, range 32, base 0000d400, size  3, enabled
	map[1c]: type 4, range 32, base 0000d000, size  2, enabled
	map[20]: type 4, range 32, base 0000cc00, size  4, enabled
	map[24]: type 1, range 32, base dfffbf00, size  8, enabled
$PIR: 0:9 INTA routed to irq 10
found->	vendor=0x1095, dev=0x0680, revid=0x01
	bus=0, slot=9, func=0
	class=01-04-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0107, statreg=0x0290, cachelnsz=1 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type 1, range 32, base dfffc000, size 14, enabled
	map[14]: type 3, range 32, base df000000, size 23, enabled
$PIR: 0:12 INTA routed to irq 11
found->	vendor=0x102b, dev=0x0519, revid=0x01
	bus=0, slot=12, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0083, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=11
	map[10]: type 1, range 32, base dfffa000, size 12, enabled
	map[14]: type 4, range 32, base 0000c800, size  6, enabled
	map[18]: type 1, range 32, base dfe00000, size 20, enabled
$PIR: 0:13 INTA routed to irq 10
found->	vendor=0x8086, dev=0x1229, revid=0x08
	bus=0, slot=13, func=0
	class=02-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0117, statreg=0x0290, cachelnsz=8 (dwords)
	lattimer=0x40 (1920 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D1 D2 D3  current D0
agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem
0xe0000000-0xe3ffffff at device 0.0 on pci0
agp0: allocating GATT for aperture of size 256M
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pcib1:   secondary bus     1
pcib1:   subordinate bus   1
pcib1:   I/O decode        0x8000-0x8fff
pcib1:   memory decode     0xdf900000-0xdf9fffff
pcib1:   prefetched decode 0xde700000-0xde7fffff
pci1: <PCI bus> on pcib1
pci1: physical bus=1
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686A UDMA66 controller> port 0xffa0-0xffaf at device 7.1
on pci0
ata0: reset tp1 mask=03 ostat0=50 ostat1=50
ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00
ata0-slave:  stat=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 mask=03 stat0=50 stat1=50 devices=0x3<ATA_SLAVE,ATA_MASTER>
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]
ata1: reset tp1 mask=03 ostat0=50 ostat1=50
ata1-master: stat=0x80 err=0x80 lsb=0x80 msb=0x80
ata1-master: stat=0x80 err=0x80 lsb=0x80 msb=0x80
ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1-slave:  stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: reset tp2 mask=03 stat0=00 stat1=00
devices=0xc<ATAPI_SLAVE,ATAPI_MASTER>
ata1: at 0x170 irq 15 on atapci0
ata1: [MPSAFE]
uhci0: <VIA 83C572 USB controller> port 0xc000-0xc01f irq 9 at device 7.2
on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xc400-0xc41f irq 9 at device 7.3
on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
viapropm0: SMBus I/O base at 0x400
viapropm0: <VIA VT82C686A Power Management Unit> port 0x400-0x40f at
device 7.4 on pci0
viapropm0: SMBus revision code 0x0
smbus0: <System Management Bus> on viapropm0
smb0: <SMBus generic I/O> on smbus0
atapci1: <SiI 0680 UDMA133 controller> port
0xcc00-0xcc0f,0xd000-0xd003,0xd400-0xd407,0xd800-0xd803,0xdc00-0xdc07 mem
0xdfffbf00-0xdfffbfff irq 10 at device 9.0 on pci0
atapci1: [MPSAFE]
ata2: reset tp1 mask=03 ostat0=50 ostat1=00


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0xe7c67000
fault code		= supervisor write, page not present
instruction pointer	= 0x8:0xc045efa7
stack pointer	        = 0x10:0xc0821a5c
frame pointer	        = 0x10:0xc0821a68
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 0 (swapper)
kernel: type 12 trap, code=0
Stopped at      ata_sii_reset+0x97:     movl    $0x1,0(%eax,%edx,1)
db> ps
  pid   proc     uarea   uid  ppid  pgrp  flag   stat  wmesg    wchan  cmd
   47 c71a5000 e3bf0000    0     0     0 0000204 [RUNQ] usb1
   46 c71a51b8 e3bf1000    0     0     0 0000204 [RUNQ] usbtask
   45 c71a5370 e3bf2000    0     0     0 0000204 [RUNQ] usb0
   44 c71a5528 e3bf3000    0     0     0 0000204 [IWAIT] swi3: cambio
   43 c71a56e0 e3bf4000    0     0     0 0000204 [IWAIT] swi2: camnet
   42 c71a5898 e3bf5000    0     0     0 0000204 [IWAIT] swi5:+
    5 c71a5a50 e3bf6000    0     0     0 0000204 [RUNQ] taskqueue
   41 c71a5c08 e3c1b000    0     0     0 0000204 [IWAIT] swi6:+
   40 c71a5dc0 e3c1c000    0     0     0 0000204 [IWAIT] swi7: task queue
   39 c71a8000 e3c1d000    0     0     0 0000204 [RUNQ] random
    4 c716a528 e3bbd000    0     0     0 0000204 [RUNQ] g_down
    3 c716a6e0 e3bbe000    0     0     0 0000204 [RUNQ] g_up
    2 c716a898 e3bbf000    0     0     0 0000204 [RUNQ] g_event
   38 c716aa50 e3bc0000    0     0     0 0000204 [IWAIT] swi4: vm
   37 c716ac08 e3bc1000    0     0     0 000020c [IWAIT] swi8: clock
   36 c716adc0 e3bc2000    0     0     0 0000204 [IWAIT] swi1: net
   35 c7179000 e3bc3000    0     0     0 0000204 [IWAIT] irq0:
   34 c71791b8 e3be8000    0     0     0 0000204 [IWAIT] irq23:
   33 c7179370 e3be9000    0     0     0 0000204 [IWAIT] irq22:
--More--
   32 c7179528 e3bea000    0     0     0 0000204 [IWAIT] irq21:
   31 c71796e0 e3beb000    0     0     0 0000204 [IWAIT] irq20:
   30 c7179898 e3bec000    0     0     0 0000204 [IWAIT] irq19:
   29 c1e6a1b8 e198c000    0     0     0 0000204 [IWAIT] irq18:
   28 c1e6a370 e198d000    0     0     0 0000204 [IWAIT] irq17:
   27 c1e6a528 e198e000    0     0     0 0000204 [IWAIT] irq16:
   26 c1e6a6e0 e198f000    0     0     0 0000204 [IWAIT] irq15: ata1
   25 c1e6a898 e19b4000    0     0     0 0000204 [IWAIT] irq14: ata0
   24 c1e6aa50 e19b5000    0     0     0 0000204 [IWAIT] irq13:
   23 c1e6ac08 e19b6000    0     0     0 0000204 [IWAIT] irq12:
   22 c1e6adc0 e19b7000    0     0     0 0000204 [IWAIT] irq11:
   21 c716a000 e3bba000    0     0     0 0000204 [IWAIT] irq10: atapci1
   20 c716a1b8 e3bbb000    0     0     0 0000204 [IWAIT] irq9: uhci0 uhci1
   19 c716a370 e3bbc000    0     0     0 0000204 [IWAIT] irq8:
   18 c1e61000 e193a000    0     0     0 0000204 [IWAIT] irq7:
   17 c1e611b8 e1983000    0     0     0 0000204 [IWAIT] irq6:
   16 c1e61370 e1984000    0     0     0 0000204 [IWAIT] irq5:
   15 c1e61528 e1985000    0     0     0 0000204 [IWAIT] irq4:
   14 c1e616e0 e1986000    0     0     0 0000204 [IWAIT] irq3:
   13 c1e61898 e1987000    0     0     0 0000204 [IWAIT] irq1:
--More--
   12 c1e61a50 e1988000    0     0     0 000020c [Can run] idle: cpu0
   11 c1e61c08 e1989000    0     0     0 000020c [Can run] idle: cpu1
    1 c1e61dc0 e198a000    0     0     0 0000200 [INACTIVE] swapper
   10 c1e6a000 e198b000    0     0     0 0000204 [RUNQ] ktrace
    0 c06e1020 c081f000    0     0     0 0000200 [CPU 0] swapper
db> trace
ata_sii_reset(c7202000,ffffffff,c06a6379,3,50) at ata_sii_reset+0x97
ata_reset(c7202000,1,0,0,c71de280) at ata_reset+0x2ec
ata_probe(c71de280,c7202000,c0821ae0,c1e48a00,2) at ata_probe+0xf1
ata_pcisub_probe(c71de280,c06d3b90,c06a1576,1,0) at ata_pcisub_probe+0xa7
device_probe_child(c7160b80,c71de280,c06a1576,3,c7185400) at
device_probe_child+0xee
device_probe_and_attach(c71de280,c7185400,c0821bbc,c0455dab,c7160b80) at
device_probe_and_attach+0x53
bus_generic_attach(c7160b80,c06a1576,3,c0821b94,ffffffff,1,2,0,c7160b80,107,c71de300,c7160b80,0,20,c0821bbc,0,4,1,6801095)
at bus_generic_attach+0x28
ata_pci_attach(c7160b80,c7160b80,c06d0984,0,e) at ata_pci_attach+0x46b
device_probe_and_attach(c7160b80,0,c0821c20,c0495761,c7185400) at
device_probe_and_attach+0xaf
bus_generic_attach(c7185400,0,5c,c0821c10,0) at bus_generic_attach+0x28
pci_attach(c7185400,c718d04c,c06d0984,0,0) at pci_attach+0xa1
device_probe_and_attach(c7185400,0,c0821c84,c067f03d,c7185480) at
device_probe_and_attach+0xaf
bus_generic_attach(c7185480,c06c54bd,0,c0821c74,0) at bus_generic_attach+0x28
legacy_pcib_attach(c7185480,c71cb04c,c06d0984,c1e480d0,c7185580) at
legacy_pcib_attach+0x9d
device_probe_and_attach(c7185480,c7185580,c0821ce0,c06699bb,c7185580) at
device_probe_and_attach+0xaf
bus_generic_attach(c7185580,c0821ce0,c053637b,c06fe0e8,c7185580) at
bus_generic_attach+0x28
legacy_attach(c7185580,c71c484c,c06d0984,0,c0704dc0) at legacy_attach+0x1b
device_probe_and_attach(c7185580,c7185600,c0821d2c,c06718bc,c7185600) at
device_probe_and_attach+0xaf
bus_generic_attach(c7185600,c7185600,c0821d58,c0531b7f,c7185600) at
bus_generic_attach+0x28
nexus_attach(c7185600,c71d084c,c06d0984,0,c06cd3f8) at nexus_attach+0x1c
device_probe_and_attach(c7185600,c06cd3f8,c0821d7c,c065f609,c1e60800) at
device_probe_and_attach+0xaf
root_bus_configure(c1e60800,c06c709e,0,c0821d98,c04ea9f5) at
root_bus_configure+0x28
configure(0,81ec00,81e000,81ec00,81e000) at configure+0x29
mi_startup() at mi_startup+0xb5
begin() at begin+0x2c

> plum# gdb -k kernel.debug
>
> GNU gdb 5.2.1 (FreeBSD)
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "i386-undermydesk-freebsd"...
> (kgdb) set print pretty
> (kgdb) set height 0
> (kgdb) target remote /dev/cuaa0
> Remote debugging using /dev/cuaa0
> Debugger (msg=0x2a "") at atomic.h:263
> 263	atomic.h: No such file or directory.
> 	in atomic.h
> warning: Unable to find dynamic linker breakpoint function.
> GDB will be unable to debug shared library initializers
> and track explicitly loaded dynamic code.
> warning: shared library handler failed to enable breakpoint
> (kgdb) b ata_sii_reset
> Breakpoint 1 at 0xc045ef1b: file /usr/src/sys/dev/ata/ata-chipset.c, line
> 1732.
> (kgdb) c
> Continuing.
>
> Breakpoint 1, ata_sii_reset (ch=0xc7217000)
>     at /usr/src/sys/dev/ata/ata-chipset.c:1732
> 1732	    ATA_IDX_OUTL(ch, ATA_BMDEVSPEC_1, 0x00000001);
> (kgdb) l
> 1727	}
> 1728
> 1729	static void
> 1730	ata_sii_reset(struct ata_channel *ch)
> 1731	{
> 1732	    ATA_IDX_OUTL(ch, ATA_BMDEVSPEC_1, 0x00000001);
> 1733	    DELAY(25000);
> 1734	    ATA_IDX_OUTL(ch, ATA_BMDEVSPEC_1, 0x00000000);
> 1735	}
> 1736
> (kgdb) p ch
> $1 = (struct ata_channel *) 0xc7217000
> (kgdb) p *ch
> $2 = {
>   dev = 0xc7205280,
>   unit = 0,
>   r_io = {{
>       res = 0xc7214a00,
>       offset = 128
>     }, {
>       res = 0xc7214a00,
>       offset = 129
>     }, {
>       res = 0xc7214a00,
>       offset = 130
>     }, {
>       res = 0xc7214a00,
>       offset = 131
>     }, {
>       res = 0xc7214a00,
>       offset = 132
>     }, {
>       res = 0xc7214a00,
>       offset = 133
>     }, {
>       res = 0xc7214a00,
>       offset = 134
>     }, {
>       res = 0xc7214a00,
>       offset = 135
>     }, {
>       res = 0xc7214a00,
>       offset = 138
>     }, {
>       res = 0xc7214a00,
>       offset = 0
>     }, {
>       res = 0xc7214a00,
>       offset = 161
>     }, {
>       res = 0xc7214a00,
>       offset = 2
>     }, {
>       res = 0xc7214a00,
>       offset = 256
>     }, {
>       res = 0xc7214a00,
>       offset = 4
>     }, {
>       res = 0xc7214a00,
>       offset = 0
>     }, {
>       res = 0x0,
>       offset = 0
>     }},
>   r_irq = 0x0,
>   ih = 0x0,
>   hw = {
>     reset = 0xc04528a0 <ata_reset>,
>     transaction = 0xc0451180 <ata_transaction>,
>     interrupt = 0xc0451b90 <ata_interrupt>
>   },
>   dma = 0xc7205180,
>   flags = 0,
>   device = {{
>       channel = 0xc7217000,
>       unit = 0,
>       name = 0x0,
>       param = 0x0,
>       softc = 0x0,
>       attach = 0,
>       detach = 0,
>       config = 0,
>       start = 0,
>       flags = 0,
>       cmd = 0,
>       mode = 0,
>       setmode = 0xc045f710 <ata_sii_setmode>
>     }, {
>       channel = 0xc7217000,
>       unit = 16,
>       name = 0x0,
>       param = 0x0,
>       softc = 0x0,
>       attach = 0,
>       detach = 0,
>       config = 0,
>       start = 0,
>       flags = 0,
>       cmd = 0,
>       mode = 0,
>       setmode = 0xc045f710 <ata_sii_setmode>
>     }},
>   devices = 0,
>   state = 0,
>   reset = 0xc045ef10 <ata_sii_reset>,
>   locking = 0xc0457830 <ata_pci_locknoop>,
>   queue_mtx = {
>     mtx_object = {
>       lo_class = 0xc06e54a0,
>       lo_name = 0xc06a58f2 "ATA queue lock",
>       lo_type = 0xc06a58f2 "ATA queue lock",
>       lo_flags = 196608,
>       lo_list = {
>         tqe_next = 0x0,
>         tqe_prev = 0x0
>       },
>       lo_witness = 0x0
>     },
>     mtx_lock = 4,
>     mtx_recurse = 0
>   },
>   ata_queue = {
>     tqh_first = 0x0,
>     tqh_last = 0xc7217140
>   },
>   running = 0x0
> }
> (kgdb) s
> 578	bus_at386.h: No such file or directory.
> 	in bus_at386.h
> (kgdb)
> rman_get_bustag (r=0xc7214a00) at /usr/src/sys/kern/subr_rman.c:661
> 661		return (r->r_bustag);
> (kgdb) l
> 656	}
> 657
> 658	bus_space_tag_t
> 659	rman_get_bustag(struct resource *r)
> 660	{
> 661		return (r->r_bustag);
> 662	}
> 663
> 664	void
> 665	rman_set_bushandle(struct resource *r, bus_space_handle_t h)
> (kgdb) n
> 662	}
> (kgdb) n
> ata_sii_reset (ch=0xc7217000) at bus_at386.h:581
> 581	bus_at386.h: No such file or directory.
> 	in bus_at386.h
> (kgdb) n
> 589	in bus_at386.h
> (kgdb) n
>
> Program received signal SIGSEGV, Segmentation fault.
> ata_sii_reset (ch=0xc7217000) at bus_at386.h:589
> 589	in bus_at386.h
> (kgdb) bt
> #0  ata_sii_reset (ch=0xc7217000) at bus_at386.h:589
> #1  0xc0452b8c in ata_reset (ch=0xc7217000)
>     at /usr/src/sys/dev/ata/ata-lowlevel.c:570
> #2  0xc044e321 in ata_probe (dev=0xc721711c)
>     at /usr/src/sys/dev/ata/ata-all.c:132
> #3  0xc04578e7 in ata_pcisub_probe (dev=0xc721711c)
>     at /usr/src/sys/dev/ata/ata-pci.c:531
> #4  0xc053129e in device_probe_child (dev=0x100, child=0xc7205280)
>     at device_if.h:21
> #5  0xc0531b23 in device_probe_and_attach (dev=0xc7205280)
>     at /usr/src/sys/kern/subr_bus.c:1508
> #6  0xc05325f8 in bus_generic_attach (dev=0x100)
>     at /usr/src/sys/kern/subr_bus.c:1807
> #7  0xc0455dab in ata_pci_attach (dev=0xc717cb80)
>     at /usr/src/sys/dev/ata/ata-pci.c:202
> #8  0xc0531b7f in device_probe_and_attach (dev=0xc717cb80) at
> device_if.h:39
> #9  0xc05325f8 in bus_generic_attach (dev=0x100)
>     at /usr/src/sys/kern/subr_bus.c:1807
> #10 0xc0495761 in pci_attach (dev=0xc717cb80) at
> /usr/src/sys/dev/pci/pci.c:907
> #11 0xc0531b7f in device_probe_and_attach (dev=0xc71a6400) at
> device_if.h:39
> #12 0xc05325f8 in bus_generic_attach (dev=0x100)
>     at /usr/src/sys/kern/subr_bus.c:1807
> #13 0xc067f03d in legacy_pcib_attach (dev=0xc71a6400)
>     at /usr/src/sys/i386/pci/pci_bus.c:437
> #14 0xc0531b7f in device_probe_and_attach (dev=0xc71a6480) at
> device_if.h:39
> #15 0xc05325f8 in bus_generic_attach (dev=0x100)
>     at /usr/src/sys/kern/subr_bus.c:1807
> #16 0xc06699bb in legacy_attach (dev=0xc71a6580)
>     at /usr/src/sys/i386/i386/legacy.c:154
> #17 0xc0531b7f in device_probe_and_attach (dev=0xc71a6580) at
> device_if.h:39
> #18 0xc05325f8 in bus_generic_attach (dev=0x100)
>     at /usr/src/sys/kern/subr_bus.c:1807
> #19 0xc06718bc in nexus_attach (dev=0xc71a6600)
>     at /usr/src/sys/i386/i386/nexus.c:236
> #20 0xc0531b7f in device_probe_and_attach (dev=0xc71a6600) at
> device_if.h:39
> #21 0xc0533b78 in root_bus_configure () at
> /usr/src/sys/kern/subr_bus.c:2347
> #22 0xc065f609 in configure (dummy=0x0)
>     at /usr/src/sys/i386/i386/autoconf.c:122
> #23 0xc04ea9f5 in mi_startup () at /usr/src/sys/kern/init_main.c:212
> (kgdb) quit
> The program is running.  Exit anyway? (y or n) y
>
> [root_at_zoom/ttyp0(/home/trent)#] pciconf -lv | grep -C4 atapci1 | tail -n 5
> atapci1_at_pci0:9:0:       class=0x010400 card=0x36801095 chip=0x06801095
> rev=0x01 hdr=0x00
>     vendor   = 'Silicon Image Inc (Was: CMD Technology Inc)'
>     device   = 'SiI 0680 (Was: PCI-0648) Ultra ATA133 EIDE Controller'
>     class    = mass storage
>     subclass = RAID
>
> [root_at_zoom/ttyp0(/home/trent)#] pciconf -r -b pci0:9:0 0:255
> 95 10 80 06 07 01 90 02  01 00 04 01 01 40 00 00
> 01 dc 00 00 01 d8 00 00  01 d4 00 00 01 d0 00 00
> 01 cc 00 00 00 bf ff df  00 00 00 00 95 10 80 36
> 00 00 f0 df 60 00 00 00  00 00 00 00 0a 01 00 00
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 01 00 22 06 00 40 00 64  00 00 00 00 00 00 00 00
> 08 00 00 00 00 f0 94 00  00 00 00 00 00 e0 90 00
> 23 00 00 00 23 00 00 00  00 00 11 00 00 00 00 00
> 00 00 01 0d ff ff ff d0  00 00 00 18 00 00 00 00
> 01 01 8a 32 c1 10 8a 32  92 43 92 43 0b 40 09 40
> 01 01 8a 32 c1 10 8a 32  92 43 92 43 0b 40 09 40
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
>
> #
> # GENERIC -- Generic kernel configuration file for FreeBSD/i386
> #
> # For more information on this file, please read the handbook section on
> # Kernel Configuration Files:
> #
> #
> http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-confi
> g.html
> #
> # The handbook is also available locally in /usr/share/doc/handbook
> # if you've installed the doc distribution, otherwise always see the
> # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
> # latest information.
> #
> # An exhaustive list of options and more detailed explanations of the
> # device lines is also present in the ../../conf/NOTES and NOTES files.
> # If you are in doubt as to the purpose or necessity of a line, check
> first
> # in NOTES.
> #
> # $FreeBSD$
>
> machine		i386
> cpu		I686_CPU
> ident		ZOOM
> maxusers	512
>
> options		SCHED_ULE
>
> #To statically compile in device wiring instead of /boot/device.hints
> #hints		"GENERIC.hints"		#Default places to look for devices.
>
> makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug
> symbols
>
> options 	INET			#InterNETworking
> options 	FFS			#Berkeley Fast Filesystem
> options 	SOFTUPDATES		#Enable FFS soft updates support
> options 	UFS_ACL			#Support for access control lists
> options 	UFS_DIRHASH		#Improve performance on big
> directories
> options 	MD_ROOT			#MD is a potential root device
> options 	NFSCLIENT		#Network Filesystem Client
> options 	NFSSERVER		#Network Filesystem Server
> options 	NFS_ROOT		#NFS usable as root device, requires
> NFSCLIENT
> options 	MSDOSFS			#MSDOS Filesystem
> options 	CD9660			#ISO 9660 Filesystem
> options 	PROCFS			#Process filesystem (requires
> PSEUDOFS)
> options 	PSEUDOFS		#Pseudo-filesystem framework
> options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP
> THIS!]
> options 	COMPAT_FREEBSD4		#Compatible with FreeBSD4
> options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
> options 	KTRACE			#ktrace(1) support
> options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time
> extensions
> options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
> options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
> 					# output.  Adds ~128k to driver.
> options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
> 					# output.  Adds ~215k to driver.
>
> # These three options provide support for System V Interface
> # Definition-style interprocess communication, in the form of shared
> # memory, semaphores, and message queues, respectively.
> #
> # System V shared memory and tunable parameters
> options 	SYSVSHM		# include support for shared memory
> options 	SHMMAXPGS=131072
> options 	SHMALL=131072
> options 	SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
> 				# max shared memory segment size (bytes)
> options 	SHMMIN=2	# min shared memory segment size (bytes)
> options 	SHMMNI=64	# max number of shared memory identifiers
> options 	SHMSEG=16	# max shared memory segments per process
>
> # System V semaphores and tunable parameters
> options 	SYSVSEM		# include support for semaphores
> options 	SEMMAP=256	# amount of entries in semaphore map
> options 	SEMMNI=256	# number of semaphore identifiers in the
> system
> options 	SEMMNS=512	# number of semaphores in the system
> options 	SEMMNU=256	# number of undo structures in the system
> options 	SEMMSL=64	# max number of semaphores per id
> options 	SEMOPM=128	# max number of operations per semop call
> options 	SEMUME=32	# max number of undo entries per process
>
> # System V message queues and tunable parameters
> options 	SYSVMSG		# include support for message queues
> options 	MSGMNB=2049	# max characters per message queue
> options 	MSGMNI=64	# max number of message queue identifiers
> options 	MSGSEG=2049	# max number of message segments in the
> system
> options 	MSGSSZ=16	# size of a message segment MUST be power of
> 2
> options 	MSGTQL=256	# max amount of messages in the system
>
> # Debugging for use in -current
> options 	DDB			#Enable the kernel debugger
> #options 	INVARIANTS		#Enable calls of extra sanity
> checking
> #options 	INVARIANT_SUPPORT	#Extra sanity checks of internal
> structures, required by INVARIANTS
> #options 	WITNESS			#Enable checks to detect deadlocks
> and cycles
> #options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for
> speed
>
> # To make an SMP kernel, the next two are needed
> options 	SMP			# Symmetric MultiProcessor Kernel
>
> device		isa
> device		eisa
> device		pci
>
> # Floppy drives
> device		fdc
>
> # ATA and ATAPI devices
> device		ata
> device		atadisk			# ATA disk drives
> device		atapicd			# ATAPI CDROM drives
> device		atapifd			# ATAPI floppy drives
> device		atapist			# ATAPI tape drives
> device		atapicam		# ATAPI CAM drives
> options 	ATA_STATIC_ID		#Static device numbering
>
> # SCSI peripherals
> device		scbus		# SCSI bus (required)
> device		ch		# SCSI media changers
> device		da		# Direct Access (disks)
> device		sa		# Sequential Access (tape etc)
> device		cd		# CD
> device		pass		# Passthrough device (direct SCSI access)
> device		ses		# SCSI Environmental Services (and SAF-TE)
>
> # System Management Bus (SMB) support
> device		smbus
> device		iicbus
> device		iicbb
> device		intpm
> device		viapm
> device		smb
>
> # atkbdc0 controls both the keyboard and the PS/2 mouse
> device		atkbdc		# AT keyboard controller
> device		atkbd		# AT keyboard
> device		psm		# PS/2 mouse
>
> device		vga		# VGA video card driver
>
> device		splash		# Splash screen and screen saver support
>
> # syscons is the default console driver, resembling an SCO console
> device		sc
>
> # Enable this for the pcvt (VT220 compatible) console driver
> #device		vt
> #options 	XSERVER			# support for X server on a vt
> console
> #options 	FAT_CURSOR		# start with block cursor
>
> device		agp		# support several AGP chipsets
>
> # Floating point support - do not disable.
> device		npx
>
> # Power management support (see NOTES for more options)
> #device		apm
> # Add suspend/resume support for the i8254.
> #device		pmtimer
> device		apic
>
> # PCCARD (PCMCIA) support
> # Pcmcia and cardbus bridge support
> device		cbb			# cardbus (yenta) bridge
> #device		pcic			# ExCA ISA and PCI bridges
> device		pccard			# PC Card (16-bit) bus
> device		cardbus			# CardBus (32-bit) bus
>
> # Serial (COM) ports
> device		sio		# 8250, 16[45]50 based serial ports
>
> # Parallel port
> device		ppc
> device		ppbus		# Parallel port bus (required)
> device		lpt		# Printer
> device		plip		# TCP/IP over parallel
> device		ppi		# Parallel port interface device
> #device		vpo		# Requires scbus and da
>
>
> # PCI Ethernet NICs that use the common MII bus controller code.
> # NOTE: Be sure to keep the 'device miibus' line in order to use these
> NICs!
> device		miibus		# MII bus support
> device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
>
> # Pseudo devices - the number indicates how many units to allocate.
> device		random		# Entropy device
> device		loop		# Network loopback
> device		ether		# Ethernet support
> device		sl		# Kernel SLIP
> device		ppp		# Kernel PPP
> device		tun		# Packet tunnel.
> device		pty		# Pseudo-ttys (telnet etc)
> device		md		# Memory "disks"
> device		gif		# IPv6 and IPv4 tunneling
> device		faith		# IPv6-to-IPv4 relaying (translation)
>
> # The `bpf' device enables the Berkeley Packet Filter.
> # Be aware of the administrative consequences of enabling this!
> device		bpf		# Berkeley packet filter
>
> # USB support
> device		uhci		# UHCI PCI->USB interface
> device		ohci		# OHCI PCI->USB interface
> device		usb		# USB Bus (required)
> #device		udbp		# USB Double Bulk Pipe devices
> device		ugen		# Generic
> device		uhid		# "Human Interface Devices"
> device		ukbd		# Keyboard
> device		ulpt		# Printer
> device		umass		# Disks/Mass storage - Requires scbus and da
> device		ums		# Mouse
> device		urio		# Diamond Rio 500 MP3 player
> device		uscanner	# Scanners
> # USB Ethernet, requires mii
> device		aue		# ADMtek USB ethernet
> device		cue		# CATC USB ethernet
> device		kue
> # Kawasaki LSI USB Ethernet
>
> Regards,
>
> 	Trent.
Received on Tue Mar 02 2004 - 17:10:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:45 UTC