summaryrefslogtreecommitdiffstats
path: root/linux-user
diff options
context:
space:
mode:
authorRichard Henderson2020-08-18 20:58:23 +0200
committerRichard Henderson2020-09-01 16:41:38 +0200
commit1074c0fb9153f631ce93f7e7d74b935fdcb0d82a (patch)
treee1ea24a332b03f32dcad83ae06aefafc57e2374a /linux-user
parenttarget/microblaze: Tidy mb_tcg_init (diff)
downloadqemu-1074c0fb9153f631ce93f7e7d74b935fdcb0d82a.tar.gz
qemu-1074c0fb9153f631ce93f7e7d74b935fdcb0d82a.tar.xz
qemu-1074c0fb9153f631ce93f7e7d74b935fdcb0d82a.zip
target/microblaze: Split out MSR[C] to its own variable
Having the MSR[C] bit separate will improve arithmetic that operates on the carry bit. Having mb_cpu_read_msr() populate MSR[CC] will prevent the carry copy not matching the carry bit. Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/elfload.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 58b3f4ef4d..04c28cbb9e 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1039,7 +1039,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBState *env
}
(*regs)[pos++] = tswapreg(env->pc);
- (*regs)[pos++] = tswapreg(env->msr);
+ (*regs)[pos++] = tswapreg(mb_cpu_read_msr(env));
(*regs)[pos++] = 0;
(*regs)[pos++] = tswapreg(env->ear);
(*regs)[pos++] = 0;