i386/118447: Troublesome DMA modes with VIA Apollo VP
Frank W. Josellis
frank at dynamical-systems.org
Wed Dec 5 05:50:01 PST 2007
>Number: 118447
>Category: i386
>Synopsis: Troublesome DMA modes with VIA Apollo VP
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Dec 05 13:50:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Frank W. Josellis
>Release: FreeBSD 5.5-STABLE i386
>Organization:
>Environment:
System: FreeBSD pollux.senax.net 5.5-STABLE FreeBSD 5.5-STABLE #17: Wed Oct 31 16:22:23 CET 2007 root at pollux.senax.net:/usr/obj/usr/src/sys/POLLUX i386
>Description:
Currently FreeBSD appears to have a problem distinguishing correctly between
the various revisions of the VIA VT82C586 southbridge. The chip id table in
src/sys/dev/ata/ata-chipset.c assigns rev=0x02 to the 82C586B,
static struct ata_chip_id ids[] =
{{ ATA_VIA82C586, 0x02, VIA33, 0x00, ATA_UDMA2, "82C586B" },
{ ATA_VIA82C586, 0x00, VIA33, 0x00, ATA_WDMA2, "82C586" },
whereas rev=0x02 actually describes the 82C586A which, unfortunately, is not
fully UDMA2 compliant. As a consequence, such a system with an Ultra DMA HDD
attached fails to boot unless ATA DMA is disabled by the loader. By the way,
rev=0x03 was correctly assigned to the 82C586B in FreeBSD 4.
Thus WDMA2 seems to be a safe setting for the 82C586A. However, in contrast
to the rev=0x00 chip it offers the possiblity to use a bus master IDE driver.
I couldn't find any related technical documentation at via.com -- maybe it's
gone -- but as my board is actually a FIC PA-2005, I got some information on
this from the manufacturer:
http://taiwan.fic.com.tw/support/motherboard/faq.aspx?type=udma#qid496
As a side remark, the bus master mode is also what the Linux kernel is using
here, that's what I see from booting a Linux Live-CD for diagnostics.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list