According to ISA, table 5-156, bits 32:NAREG/4 of the WINDOWSTART SR must be zero.
Signed-off-by: Max Filippov <jcmvb...@gmail.com> --- target-xtensa/translate.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c index 1688bb2..b724d46 100644 --- a/target-xtensa/translate.c +++ b/target-xtensa/translate.c @@ -466,7 +466,7 @@ static void gen_wsr_windowbase(DisasContext *dc, uint32_t sr, TCGv_i32 v) static void gen_wsr_windowstart(DisasContext *dc, uint32_t sr, TCGv_i32 v) { - tcg_gen_mov_i32(cpu_SR[sr], v); + tcg_gen_andi_i32(cpu_SR[sr], v, (1 << dc->config->nareg / 4) - 1); reset_used_window(dc); } -- 1.7.6.4