aboutsummaryrefslogtreecommitdiff
path: root/target-s390x/machine.c
diff options
context:
space:
mode:
authorEric Farman <farman@linux.vnet.ibm.com>2014-08-18 15:33:39 -0400
committerCornelia Huck <cornelia.huck@de.ibm.com>2015-05-27 17:52:03 +0200
commitfcb79802e07fe06fe24ba97a027d8a1c3a714fa7 (patch)
tree83d9bc208b52de8342a8af5e22643196bfd5eaff /target-s390x/machine.c
parentc498d8e36e2998fb67de21a34ece633d356a4834 (diff)
s390x: Vector Register IOCTLs
Handle the actual syncing of the vector registers with kernel space, via the get/put register IOCTLs. The vector registers that were introduced with the z13 overlay the existing floating point registers. FP registers 0-15 are the high-halves of vector registers 0-15. Thus, remove the freg fields and replace them with the equivalent vector field to avoid errors in duplication. Moreover, synchronize either the vector registers via kvm_sync_regs, or floating point registers via the GET/SET FPU IOCTLs. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'target-s390x/machine.c')
-rw-r--r--target-s390x/machine.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/target-s390x/machine.c b/target-s390x/machine.c
index 7853e3c989..1a9390b6cd 100644
--- a/target-s390x/machine.c
+++ b/target-s390x/machine.c
@@ -47,22 +47,22 @@ const VMStateDescription vmstate_fpu = {
.version_id = 1,
.minimum_version_id = 1,
.fields = (VMStateField[]) {
- VMSTATE_UINT64(env.fregs[0].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[1].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[2].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[3].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[4].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[5].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[6].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[7].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[8].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[9].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[10].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[11].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[12].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[13].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[14].ll, S390CPU),
- VMSTATE_UINT64(env.fregs[15].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[0][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[1][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[2][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[3][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[4][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[5][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[6][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[7][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[8][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[9][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[10][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[11][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[12][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[13][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[14][0].ll, S390CPU),
+ VMSTATE_UINT64(env.vregs[15][0].ll, S390CPU),
VMSTATE_UINT32(env.fpc, S390CPU),
VMSTATE_END_OF_LIST()
}