From 34e01bbf0785bc1a203685d3ad9c328855238335 Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 4 Jan 2004 17:30:14 +0000 Subject: [PATCH] fixed dx based protected in/outs (win98 install) - changed JUMP_TB2 branch number arg git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@509 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-i386/ops_template.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/target-i386/ops_template.h b/target-i386/ops_template.h index a486d20..4ea94e4 100644 --- a/target-i386/ops_template.h +++ b/target-i386/ops_template.h @@ -458,9 +458,17 @@ void OPPROTO glue(glue(op_sar, SUFFIX), _T0_T1)(void) #undef MEM_WRITE #include "ops_template_mem.h" -#define MEM_WRITE +#define MEM_WRITE 0 #include "ops_template_mem.h" +#if !defined(CONFIG_USER_ONLY) +#define MEM_WRITE 1 +#include "ops_template_mem.h" + +#define MEM_WRITE 2 +#include "ops_template_mem.h" +#endif + /* bit operations */ #if DATA_BITS >= 16 @@ -550,14 +558,14 @@ void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) { if ((DATA_TYPE)CC_DST == 0) - JUMP_TB2(glue(op_string_jz_sub, SUFFIX), PARAM1, 1); + JUMP_TB2(glue(op_string_jz_sub, SUFFIX), PARAM1, 3); FORCE_RET(); } void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) { if ((DATA_TYPE)CC_DST != 0) - JUMP_TB2(glue(op_string_jnz_sub, SUFFIX), PARAM1, 1); + JUMP_TB2(glue(op_string_jnz_sub, SUFFIX), PARAM1, 3); FORCE_RET(); } @@ -613,12 +621,12 @@ void OPPROTO glue(glue(op_jz_ecx, SUFFIX), _im)(void) void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) { - glue(cpu_x86_out, SUFFIX)(env, T0 & 0xffff, T1 & DATA_MASK); + glue(cpu_x86_out, SUFFIX)(env, T0, T1 & DATA_MASK); } void OPPROTO glue(glue(op_in, SUFFIX), _T0_T1)(void) { - T1 = glue(cpu_x86_in, SUFFIX)(env, T0 & 0xffff); + T1 = glue(cpu_x86_in, SUFFIX)(env, T0); } void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) -- 2.7.4