]> xenbits.xensource.com Git - seabios.git/commitdiff
vgabios: Fetch _rom_header_size from the global segment when computing the ROM's...
authorJulian Pidancet <julian.pidancet@gmail.com>
Mon, 5 Mar 2012 14:20:45 +0000 (14:20 +0000)
committerKevin O'Connor <kevin@koconnor.net>
Tue, 6 Mar 2012 12:18:38 +0000 (07:18 -0500)
Otherwise, checksum_far is getting called with zero as the length
parameter, and the ROM checksum in the header end up beeing zero
after vga_post() is called.

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
vgasrc/vgabios.c

index faf57b16376c4cbad4f804165e78d9b94a1a57eb..d80cd53818d3a6405fce4bfe3aadbc6335e3e54c 100644 (file)
@@ -1260,6 +1260,7 @@ vga_post(struct bregs *regs)
     // Fixup checksum
     extern u8 _rom_header_size, _rom_header_checksum;
     SET_VGA(_rom_header_checksum, 0);
-    u8 sum = -checksum_far(get_global_seg(), 0, _rom_header_size * 512);
+    u8 sum = -checksum_far(get_global_seg(), 0,
+                           GET_GLOBAL(_rom_header_size) * 512);
     SET_VGA(_rom_header_checksum, sum);
 }