diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-05-05 22:28:48 +0100 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2023-05-05 22:28:48 +0100 |
| commit | 2149a21b2f21ccf2f9a49b23ac5d162152f15b01 (patch) | |
| tree | 6c8eaa56fba6c932dbe77cbfb6ffc550b43573e1 /linux-user | |
| parent | eb5c3932a383ba1ef3a911232c644f2e053ef66c (diff) | |
| parent | b35261b1a6c2729fa7e7a6ca34b9489eda62b744 (diff) | |
| download | focaccia-qemu-2149a21b2f21ccf2f9a49b23ac5d162152f15b01.tar.gz focaccia-qemu-2149a21b2f21ccf2f9a49b23ac5d162152f15b01.zip | |
Merge tag 'pull-ppc-20230505' of https://gitlab.com/danielhb/qemu into staging
ppc patch queue for 2023-05-05: This queue includes fixes for ppc and spapr emulation, a build fix for the pseries machine and a new reviewer for ppc/spapr. We're also carrying a Coverity fix for the sm501 display. # -----BEGIN PGP SIGNATURE----- # # iIwEABYKADQWIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCZFUuGBYcZGFuaWVsaGI0 # MTNAZ21haWwuY29tAAoJEDzZypbeAzFk3X8A/33+EoBXO4ol5J+BxlQXLRdJkzxA # ok5zsm69K8VYl9eyAPkBlqqT0W7DyNP4eUU+cMi2vvQop5wt2iV1C2LbnaE2AA== # =iwNT # -----END PGP SIGNATURE----- # gpg: Signature made Fri 05 May 2023 05:26:00 PM BST # gpg: using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164 # gpg: issuer "danielhb413@gmail.com" # gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 17EB FF99 23D0 1800 AF28 3819 3CD9 CA96 DE03 3164 * tag 'pull-ppc-20230505' of https://gitlab.com/danielhb/qemu: hw/ppc/Kconfig: NVDIMM is a hard requirement for the pseries machine tests: tcg: ppc64: Add tests for Vector Extract Mask Instructions tcg: ppc64: Fix mask generation for vextractdm MAINTAINERS: Adding myself in the list for ppc/spapr ppc: spapr: cleanup cr get/set with helpers. hw/display/sm501: Remove unneeded increment from loop Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user')
| -rw-r--r-- | linux-user/elfload.c | 4 | ||||
| -rw-r--r-- | linux-user/ppc/signal.c | 9 |
2 files changed, 3 insertions, 10 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index f1370a7a8b..703f7434a0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -961,9 +961,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUPPCState *en (*regs)[36] = tswapreg(env->lr); (*regs)[37] = tswapreg(cpu_read_xer(env)); - for (i = 0; i < ARRAY_SIZE(env->crf); i++) { - ccr |= env->crf[i] << (32 - ((i + 1) * 4)); - } + ccr = ppc_get_cr(env); (*regs)[38] = tswapreg(ccr); } diff --git a/linux-user/ppc/signal.c b/linux-user/ppc/signal.c index 07729c1653..a616f20efb 100644 --- a/linux-user/ppc/signal.c +++ b/linux-user/ppc/signal.c @@ -243,9 +243,7 @@ static void save_user_regs(CPUPPCState *env, struct target_mcontext *frame) __put_user(env->lr, &frame->mc_gregs[TARGET_PT_LNK]); __put_user(cpu_read_xer(env), &frame->mc_gregs[TARGET_PT_XER]); - for (i = 0; i < ARRAY_SIZE(env->crf); i++) { - ccr |= env->crf[i] << (32 - ((i + 1) * 4)); - } + ccr = ppc_get_cr(env); __put_user(ccr, &frame->mc_gregs[TARGET_PT_CCR]); /* Save Altivec registers if necessary. */ @@ -335,10 +333,7 @@ static void restore_user_regs(CPUPPCState *env, cpu_write_xer(env, xer); __get_user(ccr, &frame->mc_gregs[TARGET_PT_CCR]); - for (i = 0; i < ARRAY_SIZE(env->crf); i++) { - env->crf[i] = (ccr >> (32 - ((i + 1) * 4))) & 0xf; - } - + ppc_set_cr(env, ccr); if (!sig) { env->gpr[2] = save_r2; } |