tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Sending ATA commands?



In case anyone cares....

Back on

> Date: Sat, 10 Aug 2013 01:13:12 -0400 (EDT)

I wrote to the list asking about some peculiar issues trying to
implement HPA support for 4.0.1.  Thanks to a very perceptive kre, I
got over that hump (I got careless and didn't quite follow the
interface specified; the results actually make sense in view of the way
I didn't).

I now have minimal HPA support working.  Here's a dmesg extract from
the latest boot of my test machine:

wd0 at atabus3 drive 0: <QUANTUM FIREBALLP KA9.1>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: HPA enabled, protected area present
wd0: effective capacity raised from 18039071 to 18041184
wd0: 8809 MB, 17898 cyl, 16 head, 63 sec, 512 bytes/sect x 18041184 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)

So, if anyone wants rudimentary HPA support for 4.0.1, it now exists.
I intend to put this into 5.2 as well; I don't know whether 6.* and/or
-current have it, but, if not, anyone who cares to is welcome to pick
this up and look at it as a possible basis for something there.

It currently is available only two ways.  One is on request from me, of
course; I can mail out a patchset.  The other is a git repo.  I have
4.0.1's src in a git repo, with these changes being commits
8ceee48..65301ff in that repo - I broke it up into six changesets,
adding support before using it.  So, for those who have git, the disk
space (a little over a gig, with a fully-checked-out working tree), and
the patience to wait for git to fetch it, you can get it by cloning
git://git.rodents-montreal.org/Mouse/netbsd-fork/4.0.1/src.

Here are the one-line summaries.  Except for 53fe079, the commit
messages are only one line long; 53fe079's explains how the interface
in question is ugly.

* 65301ff Add HPA support to the wd driver.
* 53fe079 Add AT_READREG48, which reads current-and-previous register values.  
Ugly interface.
* a915892 Add WDCTL_HOB, which makes reads of some registers read `previous' 
values.
* 19f8f04 Add AT_NORESEL, to suppress the wd_sdh-destroying write in 
__wdccommand_intr.
* e9d3f6b Add HPA-relevant WDC_ and WDCC_ definitions.
* 5d1dd61 Peculiar spurious whitespace (before end-of-statement ;) cleanup.

Next up: DCO support. :-)

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse%rodents-montreal.org@localhost
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index