Re: IDE HPA

Alan Cox
2005-09-02T20:04:48Z

On Gwe, 2005-09-02 at 15:14 -0400, Peter Jones wrote:
> Ugh. So some BIOSes use it for legitimate reasons (like thinkpads), and
> some use it to work around BIOS bugs. Great.

All are legitimate uses. The partition table tells you which.

> Mine didn't, but it does have an HPA. Thankfully we weren't disabling
> it yet when I installed my laptop -- I know others who weren't so lucky.
> So this partitioning scheme hasn't always been the case...

You installed it on Red Hat 7 ? I think 7, may have been 6.x or earlier.
This behaviour goes back pretty much to the creation of the ATA spec for
HPA. In fact if it was that long ago IBM shipped it with Windows so it
did have a partition table!

> It really sounds better (to my naive mind, at least) to whitelist the
> known-broken BIOSes.

Not really practical. You'd have to list most older PC systems.

> Well, installers probably should be aware, yes -- that's why I mentioned
> userland interfaces to enabling/disabling. But to me it still seems
> like we want to disable the HPA during installation and bootup, but only
> if your BIOS is doing things wrong.

"Wrong" is a poor term here.

If the system has a partition table that doesn't cover the post HPA area
and its about the right size we can be fairly sure the right choice is
to honour the HPA, if its a randomly different size its a fair bet the
disk got moved

If the partition table exceeds the no HPA area of disk but not the full
disk then its almost certainly right the HPA should be disabled post
boot. If it exceeds both its a raid 0 volume of some form...