summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/compat_wrapper.c
diff options
context:
space:
mode:
authorQingFeng Hao2017-09-29 12:41:52 +0200
committerMartin Schwidefsky2017-10-09 11:15:36 +0200
commit3d8757b87d7fc15a87928bc970f060bc9c6dc618 (patch)
treed431083fe178687964c23eee52011b8a88636054 /arch/s390/kernel/compat_wrapper.c
parents390/sthyi: add cache to store hypervisor info (diff)
downloadkernel-qcow2-linux-3d8757b87d7fc15a87928bc970f060bc9c6dc618.tar.gz
kernel-qcow2-linux-3d8757b87d7fc15a87928bc970f060bc9c6dc618.tar.xz
kernel-qcow2-linux-3d8757b87d7fc15a87928bc970f060bc9c6dc618.zip
s390/sthyi: add s390_sthyi system call
Add a syscall of s390_sthyi to implement STHYI instruction in LPAR which reuses the implementation for KVM by Janosch Frank - commit 95ca2cb57985 ("KVM: s390: Add sthyi emulation"). STHYI(Store Hypervisor Information) is an emulated z/VM instruction that provides a guest with basic information about the layers it is running on. This includes information about the cpu configuration of both the machine and the lpar, as well as their names, machine model and machine type. This information enables an application to determine the maximum capacity of CPs and IFLs available to software. For the arguments of s390_sthyi, code shall be 0 and flags is reserved for future use, info is the output argument to store the required hypervisor info. Signed-off-by: QingFeng Hao <haoqf@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/compat_wrapper.c')
-rw-r--r--arch/s390/kernel/compat_wrapper.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/compat_wrapper.c b/arch/s390/kernel/compat_wrapper.c
index 986642a3543b..eb0b17ed95b6 100644
--- a/arch/s390/kernel/compat_wrapper.c
+++ b/arch/s390/kernel/compat_wrapper.c
@@ -180,3 +180,4 @@ COMPAT_SYSCALL_WRAP3(mlock2, unsigned long, start, size_t, len, int, flags);
COMPAT_SYSCALL_WRAP6(copy_file_range, int, fd_in, loff_t __user *, off_in, int, fd_out, loff_t __user *, off_out, size_t, len, unsigned int, flags);
COMPAT_SYSCALL_WRAP2(s390_guarded_storage, int, command, struct gs_cb *, gs_cb);
COMPAT_SYSCALL_WRAP5(statx, int, dfd, const char __user *, path, unsigned, flags, unsigned, mask, struct statx __user *, buffer);
+COMPAT_SYSCALL_WRAP4(s390_sthyi, unsigned long, code, void __user *, info, u64 __user *, rc, unsigned long, flags);