cvs commit: src/sys/boot/i386/cdboot cdboot.s

Maxim Sobolev sobomax at
Tue Apr 11 14:34:52 UTC 2006

boo1 does the same - timeout loop. My small research seemingly suggests 
that doing A20 via the BIOS is not very reliable and may not work on all 


John Baldwin wrote:
> On Tuesday 11 April 2006 12:39 am, Maxim Sobolev wrote:
>> sobomax     2006-04-11 04:39:29 UTC
>>   FreeBSD src repository
>>   Modified files:
>>     sys/boot/i386/cdboot cdboot.s
>>   Log:
>>   When enabling A20 put upper limit on amount of time we wait for the
>> keyboard controller to get ready (65K x ISA access time, visually around 1
>> second). If we have wait more than that amount it's likely that the
>> hardware is a legacy-free one and simply doesn't have keyboard controller
>> and doesn't require enabling A20 at all.
>>   This makes cdboot working for MacBook Pro with Boot Camp.
> You'll probably need to do the same for boot1 and I think BTX.
> Alternatively, you should see how the loader is handling A20 and
> do that in the various boot programs instead (I think there's a PR
> somewhere about using a BIOS call instead of frobbing the keyboard
> controller directly that supposedly fixes things like USB keyboards
> in the loader.)

More information about the cvs-src mailing list