Commit 34e01bbf0785bc1a203685d3ad9c328855238335

Authored by bellard
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)