Andrew Morton <[EMAIL PROTECTED]> writes:

> On Thu, 05 Oct 2006 09:29:42 -0600
> [EMAIL PROTECTED] (Eric W. Biederman) wrote:
>
>> 
>> In the lazy programmer school of fixes.
>> 
>> I haven't really tested this in any configuration.
>> But reading video.S it does use variable in the bootsector.
>> It does seem to initialize the variables before use.
>> But obviously something is missed.
>> 
>> By zeroing the uninteresting parts of the bootsector just after we
>> have determined we are loaded ok.  We should ensure we are
>> always in a known state the entire time. 
>> 
>> Andrew if I am right about the cause of your video not working
>> when you set an enhanced video mode this should fix your boot
>> problem.
>> 
>> Singed-off-by: Eric Biederman <[EMAIL PROTECTED]>
>> 
>> diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S
>> index 53903a4..246ac88 100644
>> --- a/arch/i386/boot/setup.S
>> +++ b/arch/i386/boot/setup.S
>> @@ -287,6 +287,13 @@ # Check if an old loader tries to load a
>>  loader_panic_mess: .string "Wrong loader, giving up..."
>>  
>>  loader_ok:
>> +# Zero initialize the variables we keep in the bootsector
>> +    xorw    %di, %di
>> +    xorb    %al, %al
>> +    movw    $497, %cx
>> +    rep
>> +    stosb
>> +
>>  # Get memory size (extended mem, kB)
>>  
>>      xorl    %eax, %eax
>
> That fixed the vga=0x263 crash.

Good.  We still have to be paranoid and address HPA's missing cld issues,
But otherwise it looks like we are in good shape.

Eric


_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to