Skip to content

Commit 9cd2841

Browse files
committed
tools headers UAPI: Sync linux/kvm.h with the kernel sources
To pick the changes in: f7ab71f ("KVM: s390: Add explicit padding to struct kvm_s390_keyop") 0ee4ddc ("KVM: s390: Storage key manipulation IOCTL") fa9893f ("KVM: Introduce KVM_EXIT_SNP_REQ_CERTS for SNP certificate-fetching") f174a9f ("KVM: arm64: Add exit to userspace on {LD,ST}64B* outside of memslots") That just rebuilds perf, as these patches add just one new KVM ioctl, but for S390, that is not being considered by tools/perf/trace/beauty/kvm_ioctl.sh so far. This addresses this perf build warning: Warning: Kernel ABI header differences: diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h Please see tools/include/uapi/README for further details. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com> Cc: Marc Zyngier <maz@kernel.org> Cc: Michael Roth <michael.roth@amd.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 916a9f3 commit 9cd2841

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

  • tools/include/uapi/linux

tools/include/uapi/linux/kvm.h

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ struct kvm_xen_exit {
135135
} u;
136136
};
137137

138+
struct kvm_exit_snp_req_certs {
139+
__u64 gpa;
140+
__u64 npages;
141+
__u64 ret;
142+
};
143+
138144
#define KVM_S390_GET_SKEYS_NONE 1
139145
#define KVM_S390_SKEYS_MAX 1048576
140146

@@ -180,6 +186,8 @@ struct kvm_xen_exit {
180186
#define KVM_EXIT_MEMORY_FAULT 39
181187
#define KVM_EXIT_TDX 40
182188
#define KVM_EXIT_ARM_SEA 41
189+
#define KVM_EXIT_ARM_LDST64B 42
190+
#define KVM_EXIT_SNP_REQ_CERTS 43
183191

184192
/* For KVM_EXIT_INTERNAL_ERROR */
185193
/* Emulate instruction failed. */
@@ -402,7 +410,7 @@ struct kvm_run {
402410
} eoi;
403411
/* KVM_EXIT_HYPERV */
404412
struct kvm_hyperv_exit hyperv;
405-
/* KVM_EXIT_ARM_NISV */
413+
/* KVM_EXIT_ARM_NISV / KVM_EXIT_ARM_LDST64B */
406414
struct {
407415
__u64 esr_iss;
408416
__u64 fault_ipa;
@@ -482,6 +490,8 @@ struct kvm_run {
482490
__u64 gva;
483491
__u64 gpa;
484492
} arm_sea;
493+
/* KVM_EXIT_SNP_REQ_CERTS */
494+
struct kvm_exit_snp_req_certs snp_req_certs;
485495
/* Fix the size of the union. */
486496
char padding[256];
487497
};
@@ -974,6 +984,7 @@ struct kvm_enable_cap {
974984
#define KVM_CAP_GUEST_MEMFD_FLAGS 244
975985
#define KVM_CAP_ARM_SEA_TO_USER 245
976986
#define KVM_CAP_S390_USER_OPEREXEC 246
987+
#define KVM_CAP_S390_KEYOP 247
977988

978989
struct kvm_irq_routing_irqchip {
979990
__u32 irqchip;
@@ -1219,6 +1230,16 @@ struct kvm_vfio_spapr_tce {
12191230
__s32 tablefd;
12201231
};
12211232

1233+
#define KVM_S390_KEYOP_ISKE 0x01
1234+
#define KVM_S390_KEYOP_RRBE 0x02
1235+
#define KVM_S390_KEYOP_SSKE 0x03
1236+
struct kvm_s390_keyop {
1237+
__u64 guest_addr;
1238+
__u8 key;
1239+
__u8 operation;
1240+
__u8 pad[6];
1241+
};
1242+
12221243
/*
12231244
* KVM_CREATE_VCPU receives as a parameter the vcpu slot, and returns
12241245
* a vcpu fd.
@@ -1238,6 +1259,7 @@ struct kvm_vfio_spapr_tce {
12381259
#define KVM_S390_UCAS_MAP _IOW(KVMIO, 0x50, struct kvm_s390_ucas_mapping)
12391260
#define KVM_S390_UCAS_UNMAP _IOW(KVMIO, 0x51, struct kvm_s390_ucas_mapping)
12401261
#define KVM_S390_VCPU_FAULT _IOW(KVMIO, 0x52, unsigned long)
1262+
#define KVM_S390_KEYOP _IOWR(KVMIO, 0x53, struct kvm_s390_keyop)
12411263

12421264
/* Device model IOC */
12431265
#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60)

0 commit comments

Comments
 (0)