diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2013-11-30 12:52:44 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2013-12-04 10:34:17 -0500 |
commit | 9332f9b172dd59253365a83b5f1c0e40c5f6f66d (patch) | |
tree | 62726ba2a0df4868ce0e6995c1516fda86415a78 /scripts | |
parent | 06c6d476598db2f8b3558cf070d88307da8d895f (diff) | |
download | seabios-9332f9b172dd59253365a83b5f1c0e40c5f6f66d.tar.gz |
vgabios: Work around lack of support for "calll" in x86emu emulation.
Replace 32 bit call instructions with 16 bit call instructions in the
vgabios to workaround problems in old versions of x86emu. This change
allows fc13 and fc14 to boot. (Other x86emu emulation bugs still
prevent fc11 and fc12 from booting.)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/vgafixup.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/vgafixup.py b/scripts/vgafixup.py index 52fb9343..2493f351 100644 --- a/scripts/vgafixup.py +++ b/scripts/vgafixup.py @@ -28,6 +28,8 @@ def main(): out.append('retw $2\n') elif sline == 'leave': out.append('movl %ebp, %esp ; popl %ebp\n') + elif sline.startswith('call'): + out.append('pushw %ax ; callw' + sline[4:] + '\n') else: out.append(line) infile.close() |