diff options
author | Richard Henderson <rth@twiddle.net> | 2015-02-18 11:45:54 -0800 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-02-14 08:14:59 +1100 |
commit | 84775c43f390d4f5dd9adf8732e7e0b6deed8f61 (patch) | |
tree | 56b0df7c4bfbcbafb342b4d3f7fb8c862ad2431e /linux-user | |
parent | cf2ae4428f320f3d8027a50c1cd45f4b5a6c93bb (diff) | |
download | qemu-84775c43f390d4f5dd9adf8732e7e0b6deed8f61.zip qemu-84775c43f390d4f5dd9adf8732e7e0b6deed8f61.tar.gz qemu-84775c43f390d4f5dd9adf8732e7e0b6deed8f61.tar.bz2 |
target/openrisc: Keep SR_F in a separate variable
This avoids having to keep merging and extracting the flag from SR.
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/elfload.c | 3 | ||||
-rw-r--r-- | linux-user/main.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c66cbbe..8271227 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1054,9 +1054,8 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, for (i = 0; i < 32; i++) { (*regs)[i] = tswapreg(env->gpr[i]); } - (*regs)[32] = tswapreg(env->pc); - (*regs)[33] = tswapreg(env->sr); + (*regs)[33] = tswapreg(cpu_get_sr(env)); } #define ELF_HWCAP 0 #define ELF_PLATFORM NULL diff --git a/linux-user/main.c b/linux-user/main.c index 001f71c..4fd49ce 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -4765,9 +4765,8 @@ int main(int argc, char **argv, char **envp) for (i = 0; i < 32; i++) { env->gpr[i] = regs->gpr[i]; } - - env->sr = regs->sr; env->pc = regs->pc; + cpu_set_sr(env, regs->sr); } #elif defined(TARGET_SH4) { |