diff options
| author | Joshua Oreman | 2009-10-07 22:40:49 +0200 |
|---|---|---|
| committer | Marty Connor | 2009-10-15 20:47:54 +0200 |
| commit | b0b0b8f65c478c3b7f17064c7916db7873b33248 (patch) | |
| tree | ca458566d19d01582cbddf6bfda3550922c45895 /src/drivers | |
| parent | [build] Fix DEBUG builds for filenames with hyphens (diff) | |
| download | ipxe-b0b0b8f65c478c3b7f17064c7916db7873b33248.tar.gz ipxe-b0b0b8f65c478c3b7f17064c7916db7873b33248.tar.xz ipxe-b0b0b8f65c478c3b7f17064c7916db7873b33248.zip | |
[modrom] Avoid clobbering near jump with checksum
A jump instruction starts at the third byte of an option ROM image, and
it is required that the bytes in the whole image add up to zero. To
achieve this, a checksum byte is usually placed after the jump. The jump
can be either a short jump (2 bytes, EB xx) or a near jump (3 bytes,
E9 xx xx). gPXE's romprefix.S uses a near jump, but modrom.pl assumed
a short jump, and clobbered the high byte of the offset. This caused
modrom-modified gPXE ROM images to crash the system during POST.
Fix by making modrom.pl place the checksum at byte 6, like makerom.pl does.
Signed-off-by: Marty Connor <mdc@etherboot.org>
Diffstat (limited to 'src/drivers')
0 files changed, 0 insertions, 0 deletions
