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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]