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.
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to