> why its not honouring PTBL values in his case apparently
The disk capacity code foolishly sets heads to 255, and then
ide_xlate_1024 decides that we already have chosen a translation,
so that it does not have to figure out what translation to use.
Andries
See:
if (xparm == 2) {
if (!heads ||
(drive->bios_head >= heads && drive->bios_sect == 63))
transl = 0;
}
if (xparm == -1) {
if (drive->bios_head > 16)
transl = 0; /* we already have a translation */
}
On Sun, 9 Mar 2003 [email protected] wrote:
> > why its not honouring PTBL values in his case apparently
>
> The disk capacity code foolishly sets heads to 255, and then
> ide_xlate_1024 decides that we already have chosen a translation,
> so that it does not have to figure out what translation to use.
>
> Andries
[ code snipped ]
Since you identify this as the problem, do you propose a solution? A flag
indicating that default values are in place, perhaps? Better checks to
ensure that if LBA is used the geometry is forced sane in some way? I
don't think special case code is desirable in this case, at least beyond
checking a flag if that's what's needed.
--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.