Commit 34e01bbf0785bc1a203685d3ad9c328855238335
1 parent
7f1135b9
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
Showing
1 changed file
with
13 additions
and
5 deletions
target-i386/ops_template.h
@@ -458,9 +458,17 @@ void OPPROTO glue(glue(op_sar, SUFFIX), _T0_T1)(void) | @@ -458,9 +458,17 @@ void OPPROTO glue(glue(op_sar, SUFFIX), _T0_T1)(void) | ||
458 | #undef MEM_WRITE | 458 | #undef MEM_WRITE |
459 | #include "ops_template_mem.h" | 459 | #include "ops_template_mem.h" |
460 | 460 | ||
461 | -#define MEM_WRITE | 461 | +#define MEM_WRITE 0 |
462 | #include "ops_template_mem.h" | 462 | #include "ops_template_mem.h" |
463 | 463 | ||
464 | +#if !defined(CONFIG_USER_ONLY) | ||
465 | +#define MEM_WRITE 1 | ||
466 | +#include "ops_template_mem.h" | ||
467 | + | ||
468 | +#define MEM_WRITE 2 | ||
469 | +#include "ops_template_mem.h" | ||
470 | +#endif | ||
471 | + | ||
464 | /* bit operations */ | 472 | /* bit operations */ |
465 | #if DATA_BITS >= 16 | 473 | #if DATA_BITS >= 16 |
466 | 474 | ||
@@ -550,14 +558,14 @@ void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) | @@ -550,14 +558,14 @@ void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) | ||
550 | void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) | 558 | void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) |
551 | { | 559 | { |
552 | if ((DATA_TYPE)CC_DST == 0) | 560 | if ((DATA_TYPE)CC_DST == 0) |
553 | - JUMP_TB2(glue(op_string_jz_sub, SUFFIX), PARAM1, 1); | 561 | + JUMP_TB2(glue(op_string_jz_sub, SUFFIX), PARAM1, 3); |
554 | FORCE_RET(); | 562 | FORCE_RET(); |
555 | } | 563 | } |
556 | 564 | ||
557 | void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) | 565 | void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) |
558 | { | 566 | { |
559 | if ((DATA_TYPE)CC_DST != 0) | 567 | if ((DATA_TYPE)CC_DST != 0) |
560 | - JUMP_TB2(glue(op_string_jnz_sub, SUFFIX), PARAM1, 1); | 568 | + JUMP_TB2(glue(op_string_jnz_sub, SUFFIX), PARAM1, 3); |
561 | FORCE_RET(); | 569 | FORCE_RET(); |
562 | } | 570 | } |
563 | 571 | ||
@@ -613,12 +621,12 @@ void OPPROTO glue(glue(op_jz_ecx, SUFFIX), _im)(void) | @@ -613,12 +621,12 @@ void OPPROTO glue(glue(op_jz_ecx, SUFFIX), _im)(void) | ||
613 | 621 | ||
614 | void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) | 622 | void OPPROTO glue(glue(op_out, SUFFIX), _T0_T1)(void) |
615 | { | 623 | { |
616 | - glue(cpu_x86_out, SUFFIX)(env, T0 & 0xffff, T1 & DATA_MASK); | 624 | + glue(cpu_x86_out, SUFFIX)(env, T0, T1 & DATA_MASK); |
617 | } | 625 | } |
618 | 626 | ||
619 | void OPPROTO glue(glue(op_in, SUFFIX), _T0_T1)(void) | 627 | void OPPROTO glue(glue(op_in, SUFFIX), _T0_T1)(void) |
620 | { | 628 | { |
621 | - T1 = glue(cpu_x86_in, SUFFIX)(env, T0 & 0xffff); | 629 | + T1 = glue(cpu_x86_in, SUFFIX)(env, T0); |
622 | } | 630 | } |
623 | 631 | ||
624 | void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) | 632 | void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) |