help generating good id string for ATA id fix (Via VB8001)
George Hartzell
hartzell at alerce.com
Thu Feb 19 10:20:49 PST 2009
I have a Via VB8001 running -CURRENT. The disk controllers aren't
recognized and end up running in UDMA33.
The following patches to things under /usr/src/sys/dev/ata recognize
my drives as SATA300.
I don't know how to figure out what id strings to use though,
everything I've found about the board claims that the chip is a 8237S,
which is already used. Clearly calling it the GH is a hack.
How can I track down the correct info so that I can submit a useful
PR?
I've tacked the machine's pciconf -lv output onto the end in case it's
useful.
Thanks.
--- ata-pci.h 2009/02/16 18:06:53 1.1
+++ ata-pci.h 2009/02/19 10:12:36
@@ -390,6 +390,7 @@
#define ATA_VIA8237 0x32271106
#define ATA_VIA8237A 0x05911106
#define ATA_VIA8237S 0x53371106
+#define ATA_VIA8237GH 0x53721106
#define ATA_VIA8251 0x33491106
#define ATA_VIA8361 0x31121106
#define ATA_VIA8363 0x03051106
--- chipsets/ata-via.c 2009/02/16 18:10:45 1.1
+++ chipsets/ata-via.c 2009/02/16 18:12:02
@@ -94,6 +94,7 @@
{ ATA_VIA8237, 0x00, VIA133, 0x00, ATA_UDMA6, "8237" },
{ ATA_VIA8237A, 0x00, VIA133, 0x00, ATA_UDMA6, "8237A" },
{ ATA_VIA8237S, 0x00, VIA133, 0x00, ATA_UDMA6, "8237S" },
+ { ATA_VIA8237GH, 0x00, VIA133, 0x00, ATA_UDMA6, "8237GH" },
{ ATA_VIA8251, 0x00, VIA133, 0x00, ATA_UDMA6, "8251" },
{ 0, 0, 0, 0, 0, 0 }};
static struct ata_chip_id new_ids[] =
@@ -102,6 +103,7 @@
{ ATA_VIA6421, 0x00, 6, VIABAR, ATA_SA150, "6421" },
{ ATA_VIA8237A, 0x00, 7, 0x00, ATA_SA150, "8237A" },
{ ATA_VIA8237S, 0x00, 7, 0x00, ATA_SA150, "8237S" },
+ { ATA_VIA8237GH, 0x00, 7, 0x00, ATA_SA300, "8237GH" },
{ ATA_VIA8251, 0x00, 0, VIAAHCI, ATA_SA300, "8251" },
{ 0, 0, 0, 0, 0, 0 }};
=== pciconf -lv output ================================================
hostb0 at pci0:0:0:0: class=0x060000 card=0xaa111106 chip=0x03641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
hostb1 at pci0:0:0:1: class=0x060000 card=0x00000000 chip=0x13641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
hostb2 at pci0:0:0:2: class=0x060000 card=0x00000000 chip=0x23641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
hostb3 at pci0:0:0:3: class=0x060000 card=0x00000000 chip=0x33641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
hostb4 at pci0:0:0:4: class=0x060000 card=0x00000000 chip=0x43641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
ioapic0 at pci0:0:0:5: class=0x080020 card=0x00000000 chip=0x53641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 I/O APIC Interrupt Controller'
class = base peripheral
subclass = interrupt controller
hostb5 at pci0:0:0:6: class=0x060000 card=0x00000000 chip=0x63641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Security Device'
class = bridge
subclass = HOST-PCI
hostb6 at pci0:0:0:7: class=0x060000 card=0x00000000 chip=0x73641106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'P4M900 Host Bridge'
class = bridge
subclass = HOST-PCI
pcib1 at pci0:0:1:0: class=0x060400 card=0x00000000 chip=0xb1981106 rev=0x00 hdr=0x01
vendor = 'VIA Technologies Inc'
device = 'ProSavageDDR P4X600,Apollo KT400/A/600 CPU to AGP Bridge'
class = bridge
subclass = PCI-PCI
pcib2 at pci0:0:2:0: class=0x060400 card=0xc3231106 chip=0xa3641106 rev=0x80 hdr=0x01
vendor = 'VIA Technologies Inc'
device = 'P4M900 PCI to PCI Bridge Controller'
class = bridge
subclass = PCI-PCI
pcib3 at pci0:0:3:0: class=0x060400 card=0xc3231106 chip=0xc3641106 rev=0x80 hdr=0x01
vendor = 'VIA Technologies Inc'
device = 'P4M900 PCI to PCI Bridge Controller'
class = bridge
subclass = PCI-PCI
atapci0 at pci0:0:15:0: class=0x01018f card=0x53721106 chip=0x53721106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
class = mass storage
subclass = ATA
atapci1 at pci0:0:15:1: class=0x01018a card=0x05711106 chip=0x05711106 rev=0x07 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT82C586A/B/VT82C686/A/B/VT823x/A/C Bus Master IDE Controller'
class = mass storage
subclass = ATA
uhci0 at pci0:0:16:0: class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
class = serial bus
subclass = USB
uhci1 at pci0:0:16:1: class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
class = serial bus
subclass = USB
uhci2 at pci0:0:16:2: class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
class = serial bus
subclass = USB
uhci3 at pci0:0:16:3: class=0x0c0300 card=0x30381106 chip=0x30381106 rev=0xb0 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT83C572, VT6202 VIA Rev 5 or later USB Universal Host Controller'
class = serial bus
subclass = USB
ehci0 at pci0:0:16:4: class=0x0c0320 card=0x31041106 chip=0x31041106 rev=0x90 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT6202/12 USB 2.0 Enhanced Host Controller'
class = serial bus
subclass = USB
isab0 at pci0:0:17:0: class=0x060100 card=0xaa111106 chip=0x33721106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
class = bridge
subclass = PCI-ISA
hostb7 at pci0:0:17:7: class=0x060000 card=0x337e1106 chip=0x287e1106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8251 Ultra VLINK Controller'
class = bridge
subclass = HOST-PCI
hostb8 at pci0:0:19:0: class=0x060000 card=0x00000000 chip=0x337b1106 rev=0x00 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8237A Standard PCI to PCIe Bridge'
class = bridge
subclass = HOST-PCI
pcib4 at pci0:0:19:1: class=0x060401 card=0x337a1106 chip=0x337a1106 rev=0x00 hdr=0x01
vendor = 'VIA Technologies Inc'
device = 'VT8237A Standard PCI to PCI Bridge'
class = bridge
subclass = PCI-PCI
vgapci0 at pci0:1:0:0: class=0x030000 card=0x33711106 chip=0x33711106 rev=0x01 hdr=0x00
vendor = 'VIA Technologies Inc'
class = display
subclass = VGA
vge0 at pci0:3:0:0: class=0x020000 card=0x01101106 chip=0x31191106 rev=0x82 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT6120/VT6121/VT6122 'Velocity' Gigabit Ethernet Controllers'
class = network
subclass = ethernet
none0 at pci0:128:1:0: class=0x040300 card=0x32881106 chip=0x32881106 rev=0x10 hdr=0x00
vendor = 'VIA Technologies Inc'
device = '??? VIA VT8251/8237A High Definition Audio Controller - HDA Codec Realtek ALC660'
class = multimedia
subclass = HDA
More information about the freebsd-current
mailing list