Commit ee0b03fd85652ddd04d3499f03e6821732862308

Authored by blueswir1
1 parent a902d886

Fix Sparc64 wrasr instructions


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3297 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 6 additions and 0 deletions
target-sparc/translate.c
... ... @@ -2043,9 +2043,11 @@ static void disas_sparc_insn(DisasContext * dc)
2043 2043 break;
2044 2044 #else
2045 2045 case 0x2: /* V9 wrccr */
  2046 + gen_op_xor_T1_T0();
2046 2047 gen_op_wrccr();
2047 2048 break;
2048 2049 case 0x3: /* V9 wrasi */
  2050 + gen_op_xor_T1_T0();
2049 2051 gen_op_movl_env_T0(offsetof(CPUSPARCState, asi));
2050 2052 break;
2051 2053 case 0x6: /* V9 wrfprs */
... ... @@ -2066,6 +2068,7 @@ static void disas_sparc_insn(DisasContext * dc)
2066 2068 case 0x13: /* Graphics Status */
2067 2069 if (gen_trap_ifnofpu(dc))
2068 2070 goto jmp_insn;
  2071 + gen_op_xor_T1_T0();
2069 2072 gen_op_movtl_env_T0(offsetof(CPUSPARCState, gsr));
2070 2073 break;
2071 2074 case 0x17: /* Tick compare */
... ... @@ -2073,6 +2076,7 @@ static void disas_sparc_insn(DisasContext * dc)
2073 2076 if (!supervisor(dc))
2074 2077 goto illegal_insn;
2075 2078 #endif
  2079 + gen_op_xor_T1_T0();
2076 2080 gen_op_movtl_env_T0(offsetof(CPUSPARCState, tick_cmpr));
2077 2081 gen_op_wrtick_cmpr();
2078 2082 break;
... ... @@ -2081,6 +2085,7 @@ static void disas_sparc_insn(DisasContext * dc)
2081 2085 if (!supervisor(dc))
2082 2086 goto illegal_insn;
2083 2087 #endif
  2088 + gen_op_xor_T1_T0();
2084 2089 gen_op_wrstick();
2085 2090 break;
2086 2091 case 0x19: /* System tick compare */
... ... @@ -2088,6 +2093,7 @@ static void disas_sparc_insn(DisasContext * dc)
2088 2093 if (!supervisor(dc))
2089 2094 goto illegal_insn;
2090 2095 #endif
  2096 + gen_op_xor_T1_T0();
2091 2097 gen_op_movtl_env_T0(offsetof(CPUSPARCState, stick_cmpr));
2092 2098 gen_op_wrstick_cmpr();
2093 2099 break;
... ...