Kalle Olavi Niemitalo <[EMAIL PROTECTED]> reported to me privately
that his BIOS hanged up if LBA read call was invoked. So the current
implementation of GRUB won't work in his environment. Fortunately, his
BIOS returns the support bitmap correctly. This is in the opposite
case against the case described in the manual:

It is known that (at least) the AMI BIOS in SuperMicro P6SBA
motherboard (AMIBIOSC0631) does _not_ return the bitfields correctly.

Therefore, I had to change the code so that it wouldn't rely on a
support bitmap returned by BIOS. But in his environment, the bitmap
MUST BE CHECKED! How contradictory the world is!

Well, I don't have any good idea for the problem. The user can solve
it once he understands what is wrong, just by recompiling GRUB with
the macro NO_BUGGY_BIOS_IN_THE_WORLD defined. But I think we shouldn't
assume that every user can do so by himself. I think GRUB should solve
the problem transparently. I have no idea to do so, though.

OK, I'd like to suggest only one way, which is not the best. That is,
don't try to use LBA at all if the bit 1 of a support bitmap returned
is cleared. AFAIK, this way will not hang any BIOS. But this means
that the user cannot use his disks in LBA mode if the bitmap is
incorrect. So this will cause, "The old version just worked in LBA
mode quite well, but the new version says Geom Error or something
similar!". I want to believe that the incompatibility is much better
than hanging up in some other environments, but if you have any better
idea, let me know, please.

----------------------------------------------------------------------
OKUJI Yoshinori  <[EMAIL PROTECTED]>           ^o-o^
http://duff.kuicr.kyoto-u.ac.jp/~okuji (in English)     m /

Reply via email to