summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2018-10-30 16:01:46 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-10-31 08:57:53 -0400
commit827758129a0f84fbd0b2dda15e14a77a7604803d (patch)
treef8262ad28c2b41e4d11a1448b529c884e70bbfed
parent685626dc26bd9cead850d06520708acbd16bcfda (diff)
tools headers: Sync the various kvm.h header copies
For powerpc, s390, x86 and the main uapi linux/kvm.h header, none of them entail changes in tooling. Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-avn7iy8f4tcm2y40sbsdk31m@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/arch/powerpc/include/uapi/asm/kvm.h1
-rw-r--r--tools/arch/s390/include/uapi/asm/kvm.h2
-rw-r--r--tools/arch/x86/include/uapi/asm/kvm.h6
-rw-r--r--tools/include/uapi/linux/kvm.h21
4 files changed, 24 insertions, 6 deletions
diff --git a/tools/arch/powerpc/include/uapi/asm/kvm.h b/tools/arch/powerpc/include/uapi/asm/kvm.h
index 1b32b56a03d3..8c876c166ef2 100644
--- a/tools/arch/powerpc/include/uapi/asm/kvm.h
+++ b/tools/arch/powerpc/include/uapi/asm/kvm.h
@@ -634,6 +634,7 @@ struct kvm_ppc_cpu_char {
634 634
635#define KVM_REG_PPC_DEC_EXPIRY (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe) 635#define KVM_REG_PPC_DEC_EXPIRY (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe)
636#define KVM_REG_PPC_ONLINE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbf) 636#define KVM_REG_PPC_ONLINE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbf)
637#define KVM_REG_PPC_PTCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc0)
637 638
638/* Transactional Memory checkpointed state: 639/* Transactional Memory checkpointed state:
639 * This is all GPRs, all VSX regs and a subset of SPRs 640 * This is all GPRs, all VSX regs and a subset of SPRs
diff --git a/tools/arch/s390/include/uapi/asm/kvm.h b/tools/arch/s390/include/uapi/asm/kvm.h
index 9a50f02b9894..16511d97e8dc 100644
--- a/tools/arch/s390/include/uapi/asm/kvm.h
+++ b/tools/arch/s390/include/uapi/asm/kvm.h
@@ -160,6 +160,8 @@ struct kvm_s390_vm_cpu_subfunc {
160#define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW 1 160#define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW 1
161#define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2 161#define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2
162#define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3 162#define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3
163#define KVM_S390_VM_CRYPTO_ENABLE_APIE 4
164#define KVM_S390_VM_CRYPTO_DISABLE_APIE 5
163 165
164/* kvm attributes for migration mode */ 166/* kvm attributes for migration mode */
165#define KVM_S390_VM_MIGRATION_STOP 0 167#define KVM_S390_VM_MIGRATION_STOP 0
diff --git a/tools/arch/x86/include/uapi/asm/kvm.h b/tools/arch/x86/include/uapi/asm/kvm.h
index 8a6eff9c27f3..dabfcf7c3941 100644
--- a/tools/arch/x86/include/uapi/asm/kvm.h
+++ b/tools/arch/x86/include/uapi/asm/kvm.h
@@ -300,10 +300,7 @@ struct kvm_vcpu_events {
300 __u8 injected; 300 __u8 injected;
301 __u8 nr; 301 __u8 nr;
302 __u8 has_error_code; 302 __u8 has_error_code;
303 union { 303 __u8 pending;
304 __u8 pad;
305 __u8 pending;
306 };
307 __u32 error_code; 304 __u32 error_code;
308 } exception; 305 } exception;
309 struct { 306 struct {
@@ -387,6 +384,7 @@ struct kvm_sync_regs {
387 384
388#define KVM_STATE_NESTED_GUEST_MODE 0x00000001 385#define KVM_STATE_NESTED_GUEST_MODE 0x00000001
389#define KVM_STATE_NESTED_RUN_PENDING 0x00000002 386#define KVM_STATE_NESTED_RUN_PENDING 0x00000002
387#define KVM_STATE_NESTED_EVMCS 0x00000004
390 388
391#define KVM_STATE_NESTED_SMM_GUEST_MODE 0x00000001 389#define KVM_STATE_NESTED_SMM_GUEST_MODE 0x00000001
392#define KVM_STATE_NESTED_SMM_VMXON 0x00000002 390#define KVM_STATE_NESTED_SMM_VMXON 0x00000002
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h
index 2875ce85b322..2b7a652c9fa4 100644
--- a/tools/include/uapi/linux/kvm.h
+++ b/tools/include/uapi/linux/kvm.h
@@ -420,13 +420,19 @@ struct kvm_run {
420struct kvm_coalesced_mmio_zone { 420struct kvm_coalesced_mmio_zone {
421 __u64 addr; 421 __u64 addr;
422 __u32 size; 422 __u32 size;
423 __u32 pad; 423 union {
424 __u32 pad;
425 __u32 pio;
426 };
424}; 427};
425 428
426struct kvm_coalesced_mmio { 429struct kvm_coalesced_mmio {
427 __u64 phys_addr; 430 __u64 phys_addr;
428 __u32 len; 431 __u32 len;
429 __u32 pad; 432 union {
433 __u32 pad;
434 __u32 pio;
435 };
430 __u8 data[8]; 436 __u8 data[8];
431}; 437};
432 438
@@ -752,6 +758,15 @@ struct kvm_ppc_resize_hpt {
752#define KVM_S390_SIE_PAGE_OFFSET 1 758#define KVM_S390_SIE_PAGE_OFFSET 1
753 759
754/* 760/*
761 * On arm64, machine type can be used to request the physical
762 * address size for the VM. Bits[7-0] are reserved for the guest
763 * PA size shift (i.e, log2(PA_Size)). For backward compatibility,
764 * value 0 implies the default IPA size, 40bits.
765 */
766#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL
767#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \
768 ((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK)
769/*
755 * ioctls for /dev/kvm fds: 770 * ioctls for /dev/kvm fds:
756 */ 771 */
757#define KVM_GET_API_VERSION _IO(KVMIO, 0x00) 772#define KVM_GET_API_VERSION _IO(KVMIO, 0x00)
@@ -958,6 +973,8 @@ struct kvm_ppc_resize_hpt {
958#define KVM_CAP_HYPERV_SEND_IPI 161 973#define KVM_CAP_HYPERV_SEND_IPI 161
959#define KVM_CAP_COALESCED_PIO 162 974#define KVM_CAP_COALESCED_PIO 162
960#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163 975#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
976#define KVM_CAP_EXCEPTION_PAYLOAD 164
977#define KVM_CAP_ARM_VM_IPA_SIZE 165
961 978
962#ifdef KVM_CAP_IRQ_ROUTING 979#ifdef KVM_CAP_IRQ_ROUTING
963 980