6.3-RELEASE can not mount root on Cyrix 5530 ATA33 controller
John Baldwin
jhb at freebsd.org
Fri Jan 25 06:39:34 PST 2008
On Wednesday 23 January 2008 03:52:39 pm Søren Schmidt wrote:
> On 23Jan, 2008, at 21:09 , Xin LI wrote:
>
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Yoshihiko Sarumaru wrote:
> >> Hello,
> >> I updated my Geode GX1 PC from RELENG_6_2 to RELENG_6_3 and found
> >> root mount failed after reboot.
> >>
> >> This problem was caused by a change to ata-pci.c to pick up wider old
> >> ata controller as ata-pci devices at ata_legacy() function, and
> >> roll backing
> >> that file resolved this problem for me.
> >
> > Which revision?
>
> Actually, its the fix to pci/pci.c that hasn't been backported to 6.x
> yet...
Rev 1.343? It should apply to 6.x cleanly. Patch below:
Index: pci.c
===================================================================
RCS file: /host/cvs/usr/cvs/src/sys/dev/pci/pci.c,v
retrieving revision 1.292.2.23
diff -u -r1.292.2.23 pci.c
--- pci.c 10 Jan 2008 21:17:12 -0000 1.292.2.23
+++ pci.c 25 Jan 2008 14:05:20 -0000
@@ -1898,7 +1898,9 @@
/* ATA devices needs special map treatment */
if ((pci_get_class(dev) == PCIC_STORAGE) &&
(pci_get_subclass(dev) == PCIS_STORAGE_IDE) &&
- (pci_get_progif(dev) & PCIP_STORAGE_IDE_MASTERDEV))
+ ((pci_get_progif(dev) & PCIP_STORAGE_IDE_MASTERDEV) ||
+ (!pci_read_config(dev, PCIR_BAR(0), 4) &&
+ !pci_read_config(dev, PCIR_BAR(2), 4))) )
pci_ata_maps(pcib, bus, dev, b, s, f, rl, force, prefetchmask);
else
for (i = 0; i < cfg->nummaps;)
--
John Baldwin
More information about the freebsd-stable
mailing list