HEADS UP: major CAM ATA MFC

Jeremy Chadwick freebsd at jdc.parodius.com
Thu Nov 19 08:53:27 UTC 2009



On Thu, Nov 19, 2009 at 10:22:53AM +0200, Alexander Motin wrote:
> Eugene Grosbein wrote:
> > Jeremy Chadwick wrote:
> >> I didn't have this problem.  System has AHCI in use, and the kernel is
> >> built to make use of modular atacore.  Specifically:
> >>
> >> # Modular ATA
> >> device          atacore         # Core ATA functionality
> >> device          ataisa          # ISA bus support
> >> device          atapci          # PCI bus support; only generic chipset support
> >> device          ataahci         # AHCI SATA
> >> device          ataintel        # Intel
> > 
> > How should STABLE user (not tracking freebsd-current@) learn about CAM ATA configuration?
> > There is ahci(4) manual page in 8.0-PRERELEASE but no ada(4) that is linked here.
> > 
> > I've just tried "Modular ATA" configuration of Intel ICH7-based system plus "device ahci"
> > minus all traditional ata(4) kernel configuration, the kernel builds fine
> > but boot messages do not show any attempt to detect my SATA HDD,
> > so root mount just fails (I use GEOM UFS labels in my /etc/fstab).
> > Typing ? at "mounroot" prompt I see only daX devices standing for my USB cardreader
> > and no device for HDD.
> 
> Read ahci(4) carefully. It has all possible references. If you think it
> is not enough, propose patches.

I had no idea said details were in the ahci(4) man page, and I doubt the
rest of the user community will know that either.  There's also no man
page for ada(4).

There is some ambiguity in this part of the ahci(4) man page:

  AHCI hardware is also supported by ataahci driver from ata(4) subsystem.
  If both drivers are loaded at the same time, this one will be given
  precedence as the more functional of the two.

The grammar here is very difficult to understand; "if both drivers" is
too vague.  The way this paragraph can be interpreted:

- "If both drivers" could refer to ata(4) and ataahci
- "If both drivers" could refer to ata(4) and ahci(4)
- "If both drivers" could refer to ada(4) and ahci(4)
- "If both drivers" could refer to ahci(4) and ata(4)

I'll happily re-write the documentation for this if someone can take the
time to explain what the paragraph actually is trying to say.  Users are
going to be very, very confused if there is a driver called ataahci and
another driver called ahci.

Finally, appropriate details need to be placed into the i386 and amd64
kernel configuration files; either in GENERIC (commented out) or in
/sys/conf/NOTES.  As it stands, there's nothing that informs anyone of
this change, and if users are being pointed to the ahci(4) man page,
they're going to get confused (see above).

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |


More information about the freebsd-stable mailing list