aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/vgafixup.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2013-11-30 12:52:44 -0500
committerKevin O'Connor <kevin@koconnor.net>2013-12-04 10:34:17 -0500
commit9332f9b172dd59253365a83b5f1c0e40c5f6f66d (patch)
tree62726ba2a0df4868ce0e6995c1516fda86415a78 /scripts/vgafixup.py
parent06c6d476598db2f8b3558cf070d88307da8d895f (diff)
downloadseabios-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/vgafixup.py')
-rw-r--r--scripts/vgafixup.py2
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()