ATA DMA broken/kernel panic with 5.1-R/5.1-C and VIA 82C586B

From: Nicolai E M Plum <nicolai-freebsd_at_esperi.org>
Date: Tue, 17 Jun 2003 22:24:53 +0100
Hi

I installed 5.1-RELEASE from the CD images, and have problems using DMA
on my ATA discs. I get the same problem on several discs, both several
years old and brand new, across several vendors. 4.6-RELEASE handles the
discs fine. Relevant excepts from the boot messages are below, the
entire thing can be seen at http://www.esperi.org/nicolai/misc/dmesg.eriador

FreeBSD 5.1-RELEASE #0: Thu Jun  5 02:55:42 GMT 2003
    root_at_wv1u.btc.adaptec.com:/usr/obj/usr/src/sys/GENERIC
...
atapci0: <VIA 82C586B UDMA33 controller> port 0xfcd0-0xfcdf mem 0xfbffe000-0xfbffffff at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
...
Timecounters tick every 10.000 msec
ad0: 114473MB <ST3120022A> [232581/16/63] at ata0-master UDMA33
ad0: READ command timeout tag=0 serv=0 - resetting
ata0: resetting devices ..
done
...     [ this repeats ]
ad1: trying fallback to PIO mode
ata0: resetting devices ..
done
Mounting root from ufs:/dev/ad0s1a

I noticed some ATA problems solved in -current recently, so I tried
compiling a kernel from sources about 2 days ago. Booting from that
(GENERIC) kernel, I do not get "Mounting root..", instead I get
(approximately, can't cut/paste that console):

Fatal trap 12: page fault while in kernel mode
fault virtual address	  = 0xdeadc0de
fault code		  = supervisor read, page not present
instruction pointer	  = 0x8:0xdeadcode
stack pointer		  = 0x10:0xc736bc38
frame pointer		  = 0x19:0xc736bc50
....
current process		  = 21 (irc14: ata0)
kernel: type 12 trap, code=0

Is this a known problem, perhaps specific to the 82C586B ATA controller?

Thanks

Nicolai
Received on Tue Jun 17 2003 - 12:24:55 UTC

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