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 mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B