ada(4) and ahci(4) quirk printing

Jeremy Chadwick jdc at
Wed Apr 24 06:28:05 UTC 2013

> I've written the following patches and done the following testing (see
> the results.*.txt files):
> Important: these are against stable/9 r249715.
> Folks are welcome to try these; I've tested about as best as I can.
> Questions/comments for Alexander and Kenneth:
> 1. I'm not sure if the location of where I added the printf() code is
> correct or not,
> 2. Not sure if loader.conf(5) forced-quirks would show up here or not,
> 3. It would be nice to have the same for SCSI da(4).  I took a stab at
> this but the printing code I wrote never got called (or the quirks entry
> I added wasn't right, not sure which),
> 4. I strongly believe quirk printing should be shown *without* verbose
> booting.  I say this because I noticed some of the CAPAB printf()s only
> get shown if bootverbose is true.  In fact, it's what prompted me to
> open PR 178040 ("My Intel 320 and 510-series SSDs don't show 4K quirks,
> yet advertise 512 logical and physical in IDENTIFY?!  PR time!").
> P.S. -- I know the printf() method with %b looks a weird, but it's
> easier than allocating some memory for a variable-length buffer and a
> case statement + strcat(), or risk calling printf() for each quirks
> repeatedly (re: interspersed kernel output).

Follow-up to this:

I've updated the patches on my site (ada(4) and ahci(4) do the same
thing as before but I moved the quirk printing code into a subroutine),
in addition to adding quirk printing bits for the following drivers:

* cd(4)  (SCSI CD/DVD drives)
* ch(4)  (SCSI tape/media changer/arms)
* da(4)  (SCSI disks, also includes USB disks but quirks here are
         separate from umass(4) quirks)
* sa(4)  (SCSI tape drives)

da(4) was a request from another developer.

I was able to test da(4) and cd(4), but not ch(4) and sa(4) due to lack
of devices.  (I do have a 2940UW SCSI controller and an AIT tape drive
laying around to test sa(4) but I can't be bothered to find the
box/unpack it and deal with all the cabling)

If anyone has ch(4) or sa(4) devices that have quirks and can test the
patches + provide feedback, I'd appreciate it.  Remember: quirks are
only printed if their are defined quirks for the device.

| Jeremy Chadwick                                   jdc at |
| UNIX Systems Administrator       |
| Mountain View, CA, US                                            |
| Making life hard for others since 1977.             PGP 4BD6C0CB |

More information about the freebsd-stable mailing list