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>tags/v0.9.9
|
|
||
131 |
|
131 |
|
132 |
|
132 |
|
133 |
|
133 |
|
134 |
|
|
|
|
134 |
|
|
135 |
|
135 |
|
136 |
|
|
|
|
136 |
|
|
137 |
|
137 |
|
138 |
|
138 |
|
139 |
|
139 |
|