summaryrefslogtreecommitdiffstats
path: root/linux-user
diff options
context:
space:
mode:
authorPeter Maydell2015-05-28 15:57:34 +0200
committerPeter Maydell2015-05-28 15:57:34 +0200
commita84904737277c2f07c8fbcb69db27451d844f12b (patch)
treed04d46fdf75487f8e2f5292ef4ea480b3772e4db /linux-user
parentMerge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into st... (diff)
parents390x: Enable vector processing capability (diff)
downloadqemu-a84904737277c2f07c8fbcb69db27451d844f12b.tar.gz
qemu-a84904737277c2f07c8fbcb69db27451d844f12b.tar.xz
qemu-a84904737277c2f07c8fbcb69db27451d844f12b.zip
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20150528' into staging
A set of patches add support for vector registers on s390x. Notable: Floating point registers and vector registers overlap, so extra care is needed so that we end up with a consistent state in all cases. # gpg: Signature made Thu May 28 09:37:27 2015 BST using RSA key ID C6F02FAF # gpg: Good signature from "Cornelia Huck <huckc@linux.vnet.ibm.com>" # gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" * remotes/cohuck/tags/s390x-20150528: s390x: Enable vector processing capability s390x: Migrate vector registers s390x: Add vector registers to ELF dump linux/elf.h update s390x: Add vector registers to HMP output s390x: gdb updates for vector registers gdb-xml: Include XML for s390 vector registers s390x: Store Additional Status SIGP order s390x: Vector Register IOCTLs s390x: Common access to floating point registers Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/signal.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 5bb399e16b..1166f2fdb2 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -4098,7 +4098,7 @@ static void save_sigregs(CPUS390XState *env, target_sigregs *sregs)
*/
//save_fp_regs(&current->thread.fp_regs); FIXME
for (i = 0; i < 16; i++) {
- __put_user(env->fregs[i].ll, &sregs->fpregs.fprs[i]);
+ __put_user(get_freg(env, i)->ll, &sregs->fpregs.fprs[i]);
}
}
@@ -4239,7 +4239,7 @@ restore_sigregs(CPUS390XState *env, target_sigregs *sc)
__get_user(env->aregs[i], &sc->regs.acrs[i]);
}
for (i = 0; i < 16; i++) {
- __get_user(env->fregs[i].ll, &sc->fpregs.fprs[i]);
+ __get_user(get_freg(env, i)->ll, &sc->fpregs.fprs[i]);
}
return err;