6.3-RELEASE can not mount root on Cyrix 5530 ATA33 controller

Søren Schmidt sos at deepcore.dk
Fri Jan 25 15:08:56 PST 2008


On 25Jan, 2008, at 15:05 , John Baldwin wrote:

> 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:

Yep, that one exactly.

-Søren
>
>
> 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