Date: Sat, 26 Jan 2008 00:08:42 +0100 From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk> To: John Baldwin <jhb@FreeBSD.ORG> Cc: d@delphij.net, stable@FreeBSD.ORG, Yoshihiko Sarumaru <ysarumaru@gmail.com>, freebsd-stable@FreeBSD.ORG, sos@FreeBSD.ORG Subject: Re: 6.3-RELEASE can not mount root on Cyrix 5530 ATA33 controller Message-ID: <9D0F5CA3-FE1E-40C1-A208-9BD377BCE4BB@deepcore.dk> In-Reply-To: <200801250906.16186.jhb@freebsd.org> References: <559697920801231136s1dc42d42q41b614596e57fbf3@mail.gmail.com> <47979EFB.2050601@delphij.net> <00278157-73F7-4580-95DB-AAAA371DF924@deepcore.dk> <200801250906.16186.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 25Jan, 2008, at 15:05 , John Baldwin wrote: > On Wednesday 23 January 2008 03:52:39 pm S=F8ren 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 =20= >>>> 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: Yep, that one exactly. -S=F8ren > > > Index: pci.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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) =3D=3D PCIC_STORAGE) && > (pci_get_subclass(dev) =3D=3D 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 =3D 0; i < cfg->nummaps;) > > > --=20 > John Baldwin > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9D0F5CA3-FE1E-40C1-A208-9BD377BCE4BB>