Hello.
I've also encountered the same problem on my PCs:
* NEC PC-VC3004D (SiS 651)
atapci0: <SiS 962/963 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1000-0x100f at device 2.5 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
* Compaq Presario 2262 (SiS 5597)
atapci0: <SiS 5513 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfcb0-0xfcbf at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
Without your patch, the ata driver wants to attach all devices that
has SiS vendor ID (0x1039) as an ATA controller.
With your patch, only these ATA controllers are attached correctly.
Thanks!
Here is the Presario's dmesg:
* Without the patch
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2008 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 8.0-CURRENT #14: Tue Nov 25 10:58:08 JST 2008
nabe@capricorn:/FreeBSD/obj/i386/HEAD/FreeBSD/HEAD/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Cyrix 6x86MX (233.87-MHz 686-class CPU)
Origin = "CyrixInstead" Id = 0x600 Stepping = 0 DIR=0x0854
Features=0x80a135<FPU,DE,TSC,MSR,CX8,PGE,CMOV,MMX>
Features2=0x64616574<DTES64,DS_CPL,VMX,SMX,TM2,CNXT-ID,CX16,xTPR,<b16>,x2APIC,<b22>,XSAVE,<b29>,<b30>>
real memory = 264241152 (252 MB)
avail memory = 239845376 (228 MB)
kbd1 at kbdmux0
ath_hal: 0.10.5.10 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, RF2417)
apm0: <APM BIOS> on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pir0: <PCI Interrupt ...