summaryrefslogtreecommitdiff
path: root/op-i386.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-27 21:11:27 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-27 21:11:27 +0000
commit2c1794c42ef9d23dc6aeb5e07673f2fcd885b9eb (patch)
tree7ab3deee77c00745360376cd34038e0aec8ca617 /op-i386.c
parent8a4c1cc4118720fb69f0e9aa3c15275e13294946 (diff)
downloadqemu-2c1794c42ef9d23dc6aeb5e07673f2fcd885b9eb.tar.gz
more generic ljmp and lcall - fixed REPNZ usage for non compare string ops (FreeDos boot loader fix)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@340 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'op-i386.c')
-rw-r--r--op-i386.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/op-i386.c b/op-i386.c
index ff8cb4415d..fb062a0fcc 100644
--- a/op-i386.c
+++ b/op-i386.c
@@ -948,9 +948,19 @@ void OPPROTO op_lar(void)
}
/* T0: segment, T1:eip */
-void OPPROTO op_ljmp_T0_T1(void)
+void OPPROTO op_ljmp_protected_T0_T1(void)
{
- jmp_seg(T0 & 0xffff, T1);
+ helper_ljmp_protected_T0_T1();
+}
+
+void OPPROTO op_lcall_real_T0_T1(void)
+{
+ helper_lcall_real_T0_T1(PARAM1, PARAM2);
+}
+
+void OPPROTO op_lcall_protected_T0_T1(void)
+{
+ helper_lcall_protected_T0_T1(PARAM1, PARAM2);
}
void OPPROTO op_iret_real(void)
@@ -963,6 +973,11 @@ void OPPROTO op_iret_protected(void)
helper_iret_protected(PARAM1);
}
+void OPPROTO op_lret_protected(void)
+{
+ helper_lret_protected(PARAM1, PARAM2);
+}
+
void OPPROTO op_lldt_T0(void)
{
helper_lldt_T0();