Commit 5d4a534dec61df1dc2e521093040e965c180f63b
1 parent
1a2fb1c0
Silently ignore CRIS cache flushes, instead of aborting due to unknown insn.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3990 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
17 additions
and
2 deletions
target-cris/crisv32-decode.h
| @@ -124,3 +124,6 @@ | @@ -124,3 +124,6 @@ | ||
| 124 | #define DEC_BASC_IM {B8(11101111), B8(11111111)} | 124 | #define DEC_BASC_IM {B8(11101111), B8(11111111)} |
| 125 | #define DEC_MOVEM_MR {B8(10111011), B8(10111111)} | 125 | #define DEC_MOVEM_MR {B8(10111011), B8(10111111)} |
| 126 | #define DEC_MOVEM_RM {B8(10111111), B8(10111111)} | 126 | #define DEC_MOVEM_RM {B8(10111111), B8(10111111)} |
| 127 | + | ||
| 128 | +#define DEC_FTAG_FIDX_D_M {B8(10101011), B8(11111111)} | ||
| 129 | +#define DEC_FTAG_FIDX_I_M {B8(11010011), B8(11111111)} |
target-cris/translate.c
| @@ -2123,6 +2123,18 @@ static unsigned int dec_rfe_etc(DisasContext *dc) | @@ -2123,6 +2123,18 @@ static unsigned int dec_rfe_etc(DisasContext *dc) | ||
| 2123 | return 2; | 2123 | return 2; |
| 2124 | } | 2124 | } |
| 2125 | 2125 | ||
| 2126 | +static unsigned int dec_ftag_fidx_d_m(DisasContext *dc) | ||
| 2127 | +{ | ||
| 2128 | + /* Ignore D-cache flushes. */ | ||
| 2129 | + return 2; | ||
| 2130 | +} | ||
| 2131 | + | ||
| 2132 | +static unsigned int dec_ftag_fidx_i_m(DisasContext *dc) | ||
| 2133 | +{ | ||
| 2134 | + /* Ignore I-cache flushes. */ | ||
| 2135 | + return 2; | ||
| 2136 | +} | ||
| 2137 | + | ||
| 2126 | static unsigned int dec_null(DisasContext *dc) | 2138 | static unsigned int dec_null(DisasContext *dc) |
| 2127 | { | 2139 | { |
| 2128 | printf ("unknown insn pc=%x opc=%x op1=%x op2=%x\n", | 2140 | printf ("unknown insn pc=%x opc=%x op1=%x op2=%x\n", |
| @@ -2213,8 +2225,8 @@ struct decoder_info { | @@ -2213,8 +2225,8 @@ struct decoder_info { | ||
| 2213 | {DEC_NEG_R, dec_neg_r}, | 2225 | {DEC_NEG_R, dec_neg_r}, |
| 2214 | {DEC_MOVE_R, dec_move_r}, | 2226 | {DEC_MOVE_R, dec_move_r}, |
| 2215 | 2227 | ||
| 2216 | - /* ftag_fidx_i_m. */ | ||
| 2217 | - /* ftag_fidx_d_m. */ | 2228 | + {DEC_FTAG_FIDX_I_M, dec_ftag_fidx_i_m}, |
| 2229 | + {DEC_FTAG_FIDX_D_M, dec_ftag_fidx_d_m}, | ||
| 2218 | 2230 | ||
| 2219 | {DEC_MULS_R, dec_muls_r}, | 2231 | {DEC_MULS_R, dec_muls_r}, |
| 2220 | {DEC_MULU_R, dec_mulu_r}, | 2232 | {DEC_MULU_R, dec_mulu_r}, |