linux_dsm_epyc7002/arch/s390/include/uapi/asm
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
..
auxvec.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
bitsperlong.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
byteorder.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
chpid.h s390/chpid: make headers usable (again) 2012-10-18 17:50:07 +02:00
chsc.h s390/cio: Introduce on-close CHSC IOCTLs 2013-06-26 21:10:12 +02:00
cmb.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
dasd.h s390/dasd: Fail all requests when DASD_FLAG_ABORTIO is set 2013-07-01 17:31:26 +02:00
debug.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
errno.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
fcntl.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
hypfs.h s390/hypfs: Add diagnose 0c support 2015-02-10 16:38:58 +01:00
ioctl.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
ioctls.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
ipcbuf.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
Kbuild Linux 3.16-rc7 2014-07-28 10:00:33 +02:00
kvm_para.h s390,uapi: do not use uapi/asm-generic/kvm_para.h 2012-10-19 11:07:18 +02:00
kvm_perf.h perf kvm: Add stat support on s390 2014-07-16 17:57:33 -03:00
kvm_virtio.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
kvm.h KVM: s390: Allocate and save/restore vector registers 2015-03-06 13:49:33 +01:00
mman.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
monwriter.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
msgbuf.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
param.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
poll.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
posix_types.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
ptrace.h s390/ptrace: add support for PTRACE_SINGLEBLOCK 2014-03-14 12:59:38 +01:00
qeth.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
resource.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
schid.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
sclp_ctl.h s390/sclp: Add SCLP character device driver 2013-06-26 21:10:13 +02:00
sembuf.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
setup.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
shmbuf.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
sie.h KVM: s390: fix instruction interception trace point 2015-03-06 13:40:58 +01:00
sigcontext.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
siginfo.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
signal.h unify SS_ONSTACK/SS_DISABLE definitions 2012-12-19 18:07:39 -05:00
socket.h net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
sockios.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
stat.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
statfs.h s390/uapi: fix struct statfs64 definition 2014-01-22 14:02:18 +01:00
swab.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
tape390.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
termbits.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
termios.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
types.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
ucontext.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
unistd.h s390: wire up execveat syscall 2014-12-18 13:37:17 +01:00
virtio-ccw.h KVM: s390: Export virtio-ccw api. 2013-03-05 19:12:10 -03:00
vtoc.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
zcrypt.h s390/zcrypt: add support for EP11 coprocessor cards 2013-12-18 17:37:15 +01:00