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 | 458 | #undef MEM_WRITE |
459 | 459 | #include "ops_template_mem.h" |
460 | 460 | |
461 | -#define MEM_WRITE | |
461 | +#define MEM_WRITE 0 | |
462 | 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 | 472 | /* bit operations */ |
465 | 473 | #if DATA_BITS >= 16 |
466 | 474 | |
... | ... | @@ -550,14 +558,14 @@ void OPPROTO glue(op_movl_T0_Dshift, SUFFIX)(void) |
550 | 558 | void OPPROTO glue(op_string_jz_sub, SUFFIX)(void) |
551 | 559 | { |
552 | 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 | 562 | FORCE_RET(); |
555 | 563 | } |
556 | 564 | |
557 | 565 | void OPPROTO glue(op_string_jnz_sub, SUFFIX)(void) |
558 | 566 | { |
559 | 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 | 569 | FORCE_RET(); |
562 | 570 | } |
563 | 571 | |
... | ... | @@ -613,12 +621,12 @@ void OPPROTO glue(glue(op_jz_ecx, SUFFIX), _im)(void) |
613 | 621 | |
614 | 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 | 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 | 632 | void OPPROTO glue(glue(op_in, SUFFIX), _DX_T0)(void) | ... | ... |