Skip site navigation (1)Skip section navigation (2)
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>