On 08.02.20 15:54, Thomas Huth wrote: > On 07/02/2020 12.39, Christian Borntraeger wrote: >> From: Janosch Frank <frankja@xxxxxxxxxxxxx> >> >> This contains 3 main changes: >> 1. changes in SIE control block handling for secure guests >> 2. helper functions for create/destroy/unpack secure guests >> 3. KVM_S390_PV_COMMAND ioctl to allow userspace dealing with secure >> machines >> >> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> >> [borntraeger@xxxxxxxxxx: patch merging, splitting, fixing] >> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> >> --- >> arch/s390/include/asm/kvm_host.h | 24 ++- >> arch/s390/include/asm/uv.h | 69 +++++++++ >> arch/s390/kvm/Makefile | 2 +- >> arch/s390/kvm/kvm-s390.c | 191 +++++++++++++++++++++++- >> arch/s390/kvm/kvm-s390.h | 27 ++++ >> arch/s390/kvm/pv.c | 244 +++++++++++++++++++++++++++++++ >> include/uapi/linux/kvm.h | 33 +++++ >> 7 files changed, 586 insertions(+), 4 deletions(-) >> create mode 100644 arch/s390/kvm/pv.c > [...] >> +struct kvm_pv_cmd { >> + __u32 cmd; /* Command to be executed */ >> + __u16 rc; /* Ultravisor return code */ >> + __u16 rrc; /* Ultravisor return reason code */ > > What are rc and rrc good for? I currently can't spot the code where they > are used... Janosch want to have those for some cases. I will post an addon patch as a reply. > >> + __u64 data; /* Data or address */ >> +}; >> + >> +/* Available with KVM_CAP_S390_PROTECTED */ >> +#define KVM_S390_PV_COMMAND _IOW(KVMIO, 0xc5, struct kvm_pv_cmd) >> +#define KVM_S390_PV_COMMAND_VCPU _IOW(KVMIO, 0xc6, struct kvm_pv_cmd) > > If you intend to return values in rc and rrc, shouldn't this rather be > declared as _IOWR instead ? If yes then Yes.