Recent ata-pci.c change breaks a7m266-d system (Was:
Re:"setrootbyname
failed" leads to "ffs_mountroot: can't find rootvp" on boot.)
Andre Guibert de Bruet
andy at siliconlandmark.com
Mon Apr 26 23:20:00 PDT 2004
On Sun, 25 Apr 2004, Andre Guibert de Bruet wrote:
> (Sources pulled from CVS at Sun Apr 25 16:50:55 UTC 2004, an hour ago).
>
> Mounting root from ufs:/dev/ad4s1a
> setrootbyname failed
> ffs_mountroot: can't find rootvp
> Root mount failed: 6
>
> Manual root filesystem specification:
> <fstype>:<device> Mount <device> using filesystem <fstype>
> eg. ufs:da0s1a
> ? List valid disk boot devices
> <empty line> Abort manual input
>
> mountroot>
Okay, I found the commit that caused this problem. The following commit
breaks my SMP desktop:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/ata/ata-pci.c.diff?r1=1.80&r2=1.81&f=h
Reverting the one line fixes things. I've attached a trivial one-line
patch that reverts the change. Could this be committed?
pciconf -vl: http://bling.properkernel.com/pciconf-vl.txt
dmesg.boot: http://bling.properkernel.com/dmesg.boot.txt
Regards,
> Andre Guibert de Bruet | Enterprise Software Consultant >
> Silicon Landmark, LLC. | http://siliconlandmark.com/ >
-------------- next part --------------
Index: ata-pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.c,v
retrieving revision 1.81
diff -u -r1.81 ata-pci.c
--- ata-pci.c 24 Apr 2004 16:32:06 -0000 1.81
+++ ata-pci.c 27 Apr 2004 05:42:43 -0000
@@ -177,7 +177,7 @@
ctlr->locking = ata_pci_locknoop;
progif = pci_read_config(dev, PCIR_PROGIF, 1);
- if ((progif & 0x80))
+ if ((progif & 0x85) == 0x80)
prisec = 1;
/* if needed try to enable busmastering */
More information about the freebsd-current
mailing list