From: Michael Brown Date: Tue, 6 Jun 2006 15:29:14 +0000 (+0000) Subject: Use byte 6 for the checksum, rather than byte 5. (Byte 5 may be part of X-Git-Tag: fredrik-command-line-merge-1~57 X-Git-Url: http://git.etherboot.org/people/xl0/gpxe.git/commitdiff_plain/8d0c5f3302c847c5c2177c23fa8d5925067a4e58 Use byte 6 for the checksum, rather than byte 5. (Byte 5 may be part of the jmp instruction). --- diff --git a/src/util/makerom.pl b/src/util/makerom.pl index 9d751e19..2bd8e1f9 100755 --- a/src/util/makerom.pl +++ b/src/util/makerom.pl @@ -131,9 +131,9 @@ sub writerom ($$) { sub checksum ($) { my ($romref) = @_; - substr($$romref, 5, 1) = "\x00"; + substr($$romref, 6, 1) = "\x00"; my $sum = unpack('%8C*', $$romref); - substr($$romref, 5, 1) = chr(256 - $sum); + substr($$romref, 6, 1) = chr(256 - $sum); # Double check $sum = unpack('%8C*', $$romref); if ($sum != 0) { @@ -168,14 +168,10 @@ sub makerom () { $romsize = ($filesize + 511) & ~511 } } else { - $romsize = getromsize(\$rom); - # 0 put there by *loader.S means makerom should pick the size - if ($romsize == 0) { - # Shrink romsize down to the smallest power of two that will do - for ($romsize = MAXROMSIZE; - $romsize > MINROMSIZE and $romsize >= 2*$filesize; - $romsize /= 2) { } - } + # Shrink romsize down to the smallest power of two that will do + for ($romsize = MAXROMSIZE; + $romsize > MINROMSIZE and $romsize >= 2*$filesize; + $romsize /= 2) { } } if ($filesize > $romsize) { print STDERR "ROM size of $romsize not big enough for data, ";