]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
target-microblaze: Respect MSR.PVR as read-only
authorEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Sat, 14 Apr 2018 16:06:34 +0000 (18:06 +0200)
committerEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Mon, 30 Apr 2018 14:43:20 +0000 (16:43 +0200)
Respect MSR.PVR as read-only. We were wrongly overwriting the PVR bit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
target/microblaze/translate.c

index 7628b0e25bcf2fe08f135ab11fade7c08dc47194..f7397519300e5de40f417959103f4f5127286a17 100644 (file)
@@ -424,7 +424,7 @@ static inline void msr_write(DisasContext *dc, TCGv v)
     /* PVR bit is not writable.  */
     tcg_gen_andi_tl(t, v, ~MSR_PVR);
     tcg_gen_andi_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], MSR_PVR);
-    tcg_gen_or_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], v);
+    tcg_gen_or_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], t);
     tcg_temp_free(t);
 }