linux/arch/s390
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
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot s390/sclp: fix declaration of _sclp_print_early() 2015-01-08 10:02:51 +01:00
configs s390: update default configuration 2015-01-22 12:16:09 +01:00
crypto s390/crypto: remove 'const' to avoid compiler warnings 2015-01-08 10:02:53 +01:00
hypfs VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry) 2015-02-22 11:38:41 -05:00
include KVM: s390: Allocate and save/restore vector registers 2015-03-06 13:49:33 +01:00
kernel Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-02-21 11:18:26 -08:00
kvm KVM: s390: Allocate and save/restore vector registers 2015-03-06 13:49:33 +01:00
lib s390/spinlock: add compare-and-delay to lock wait loops 2015-01-23 15:17:04 +01:00
math-emu s390: fix save and restore of the floating-point-control register 2013-10-24 17:17:11 +02:00
mm s390/mm: align 64-bit PIE binaries to 4GB 2015-02-19 10:36:32 +01:00
net s390/bpf: Zero extend parameters before calling C function 2015-01-15 11:10:41 +01:00
oprofile s390: Replace __get_cpu_var uses 2014-08-26 13:45:52 -04:00
pci OK, this has the big virtio 1.0 implementation, as specified by OASIS. 2015-02-18 09:24:01 -08:00
defconfig s390: update default configuration 2015-01-22 12:16:09 +01:00
Kbuild
Kconfig s390/smp: increase maximum value of NR_CPUS to 512 2015-01-30 09:31:13 +01:00
Kconfig.debug Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2013-04-30 17:04:09 -07:00
Makefile s390/ftrace: hotpatch support for function tracing 2015-01-29 09:19:25 +01:00