Re: IDE HPA

Bartlomiej Zolnierkiewicz
2005-08-30T16:16:41Z

Hi,

OK, it seems, there is enough need for bringing back more control over HPA.

HPA shouldn't be disabled by default and new kernel parameter ("hdx=hpa")
should be added for disabling HPA (yep, people with buggy BIOS-es will
have to add this parameter to their kernel command line, sorry).

If somebody wants to go ahead and submit actual patches...
[s]he is welcomed to.

Thanks,
Bartlomiej

On 8/30/05, Greg Felix <greg.felix@gmail.com> wrote:
> Kernel list,
>
> A while ago there was some discussion on the list regarding the
> behavior of the kernel in regards to its unconditional disabling of
> host protected areas of hard drives. I ran into a problem this causes
> with some RAID controllers. I've been discussing the problem with
> both the ata-raid mailing list and Oliver. I feel we should copy the
> kernel list because we don't think the current behavior is the
> desirable one.
>
> Below is some discussion Oliver and I have had about it.
>
> > > Sorry for taking up your time. I saw your emails recently to the Linux
> > > kernel mailing list concerning IDE host protected areas. You were
> > > asking why they are unconditionally disabled. Did anyone ever give
> > > you a good response to your question?
> > >
> >
> > Hi Greg,
> >
> > Alan Cox answered, but he focussed entirely on the point that in his opinion,
> > the main reason for using HPAs is something like backward-compatibility of
> > the drive with old BIOSses that have problems with large disks.
> >
> > But to be honest, I have never ever heard about that being a motivation to use
> > an HPA. And as far as I know, that was not the reason for introducing an HPA
> > anyway.
> >
> > As far as I know, some HW vendors store some diagnostic tools in an HPA.
> >
> > > I have found a bug where my BIOS is storing some RAID metadata near
> > > the end of a disk. The problem i run into is that the end of the disk
> > > is 20MB off when Linux counts the HPA.
> > >
> >
> > So you are sure that your RAID controller uses an HPA to store the metadata? I
> > am asking because some RAID controllers simply cut away a moderate region
> > from the end of the disks and present the OS with a smaller disk, which is
> > but a virtual one. In that case, no HPA is used. It is rather like the MD
> > driver works.
>
> My RAID controller isn't using an HPA to store metadata. It's simply
> recognizing that there is an HPA and reading its 63 sector backwards
> offset starting at totalSectors-sizeOfHPA.
>
> > But of course, the Linux kernel simply shows whether an HPA is used or not.
>
> Right. I get the output at bootup time. It reads that the HPA is
> 20MB. Which is exactly the size of how far off the metadata is in
> Linux (once the HPA is disabled).
>
> > > Have you heard of any kernel parameters that disable the HPA disabling?
> > >
> >
> > There is no runtime variable, the code is run unconditionally, unfortunately.
>
> I've found where the code is and it'd be a simple hack to fix it and
> recompile, but I'm concerned that other people will run into this at
> some point. I think we or the people who make decisions ought to
> revisit the disabling of HPAs idea.
>
> > > Thanks for your time,
> > > Greg Felix
> >
> > Not at all! Should we CC the mail the kernel mailing list?
>
> I think we should. In fact, I will with this email.
>
> > Best regards
> >
> > Oliver