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) | ... | ... |