linux_dsm_epyc7002/arch/s390/kvm
Eric Farman 68c557501b KVM: s390: Allocate and save/restore vector registers
Define and allocate space for both the host and guest views of
the vector registers for a given vcpu.  The 32 vector registers
occupy 128 bits each (512 bytes total), but architecturally are
paired with 512 additional bytes of reserved space for future
expansion.

The kvm_sync_regs structs containing the registers are union'ed
with 1024 bytes of padding in the common kvm_run struct.  The
addition of 1024 bytes of new register information clearly exceeds
the existing union, so an expansion of that padding is required.

When changing environments, we need to appropriately save and
restore the vector registers viewed by both the host and guest,
into and out of the sync_regs space.

The floating point registers overlay the upper half of vector
registers 0-15, so there's a bit of data duplication here that
needs to be carefully avoided.

Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com>
Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2015-03-06 13:49:33 +01:00
..
diag.c KVM: s390/cmm: Fix prefix handling for diag 10 balloon 2014-09-10 12:19:42 +02:00
gaccess.c KVM: s390: Fix trivial typo in comments 2015-03-06 13:40:55 +01:00
gaccess.h KVM: s390: Enable DAT support for TPROT handler 2014-05-30 09:39:36 +02:00
guestdbg.c KVM: s390: Use the read_guest_abs() in guest debug functions 2015-03-06 13:41:02 +01:00
intercept.c KVM: s390: Take addressing mode into account for MVPG interception 2015-01-23 13:25:38 +01:00
interrupt.c KVM: s390: Use insn_length() to calculate length of instruction 2015-03-06 13:40:48 +01:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
kvm-s390.c KVM: s390: Allocate and save/restore vector registers 2015-03-06 13:49:33 +01:00
kvm-s390.h KVM: s390: reinjection of irqs can fail in the tpi handler 2015-03-06 13:40:37 +01:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: reinjection of irqs can fail in the tpi handler 2015-03-06 13:40:37 +01:00
sigp.c KVM: s390: forward most SIGP orders to user space 2015-01-23 13:25:37 +01:00
trace-s390.h KVM: s390: handle stop irqs without action_bits 2015-01-23 13:25:33 +01:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00