Re: 8.0-beta3 does not detect several ata channels

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 1 Sep 2009 17:17:56 -0400
On Tuesday 01 September 2009 4:40:41 pm Rainer Hurling wrote:
> On 01.09.2009 21:05 (UTC+2), John Baldwin wrote:
> > On Tuesday 01 September 2009 2:49:09 pm Rainer Hurling wrote:
> >> On 01.09.2009 19:41 (UTC+2), John Baldwin wrote:
> >>> On Tuesday 01 September 2009 12:47:50 pm Rainer Hurling wrote:
> >>>> On 01.09.2009 16:02 (UTC+2), John Baldwin wrote:
> >>>>> On Monday 31 August 2009 12:03:04 pm Florian Smeets wrote:
> >>>>>> On 8/31/09 5:54 PM, Nick Hilliard wrote:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I have a hp proliant ML115 with 6 sata ports which run in ATA mode 
> > (bios
> >>>>>>> doesn't appear to give the option to use AHCI).  On freebsd 7.x, all
> >>>>>>> channels are detected.  On freebsd8.0-beta3, the disks attached to 
the
> >>>>>>> first two SATA ports are not detected, although it detects the ports
> >>>>>>> themselves.
> >>>>>>>
> >>>>>>> I've attached a verbose dmesg from freebsd 7.1 and 8.0-beta3.
> >>>>>>>
> >>>>>>> Any ideas on what's going on here?  This seems like a nasty 
> > regression.
> >>>>>> There are 3 PRs about this problem: 128686, 132372, 137942.
> >>>>>>
> >>>>>> i386 version should recognize the disks. amd64 does when you set
> >>>>>> hw.pci.mcfg=0 in loader.conf.
> >>>>> Hmm, so an idea I had just now.. can you grab a dump of the PCI config 
> >>> space 
> >>>>> for the disk controller in the MCFG vs non-MCFG cases?  That is, find 
> > the 
> >>>>> device's address using pciconf -lv (e.g. pci0:0:30:0 or some such) and 
> >>> then 
> >>>>> run this command under both configurations and save the output:
> >>>>>
> >>>>> pciconf -r pci0:0:30:0 0:0xfc
> >>>>>
> >>>> I am not sure if your idea has something to do with my (and some other 
> >>>> users) problem. So excuse me, if this posting is wrong.
> >>>>
> >>>> For some month now I am only able to boot CURRENT under amd64 with 
> >>>> setting hw.pci.mcfg=0. Under i386 all works fine. Below I listed output 
> >>>> under i386 and under amd64. Perhaps you are able to get a hint?
> >>> Hmm, would you be able to boot with mcfg=1 on amd64 (perhaps using 
nfsroot 
> > or 
> >>> an mfsroot) and capture this output?  The mcfg thing only affects access 
> > to
> >>> PCI config space (what pciconf -r is displaying).  I want to be able to 
> >>> compare the "broken" case (amd64 mcfg=1) with a working case.
> >> My only amd64 system is at home. Sorry, but I have no idea how to start 
> >> this system using nfsroot oder mfsroot.
> > 
> > Ok, I believe some of the other folks reporting an issue with this ATA 
> > controller had other disk controllers in the system so they may be able to 
do 
> > this.
> 
> Thanks to Kostik Belousov, I tried his hint with live CD. Here it is, 
> only for amd64, with snapshot from todays CURRENT:
> 
> #systctl hw.pci.mcfg
> hw.pci.mcfg: 1

Hmm, this one is identical to the mcfg=0 one on amd64 (except for a few values 
that also differ between the working i386 and working amd64).  So it doesn't 
seem that PCI config access is horribly broken. :(  Perhaps someone can spend 
some time comparing what the driver does in the two cases with some printfs 
to see when it starts behaving differently during its attach routine to help 
narrow this down.

-- 
John Baldwin
Received on Wed Sep 02 2009 - 10:16:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC