diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-02-02 15:04:53 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-02-02 15:04:53 -0500 |
commit | 1b8f516094d3fedba4e33a59d9d52131bc8562ae (patch) | |
tree | d1c780be810d0c734a290d091ca20336cbdff89e | |
parent | 9a3853587c2bb0a38c2ce80a613ace5e84ae4337 (diff) |
tools headers: Sync {tools/,}arch/powerpc/include/uapi/asm/kvm.h
The changes in the 3214d01f139b ("KVM: PPC: Book3S: Provide information
about hardware/firmware CVE workarounds") commit right now will not
produce any change in the tools, but that is because we still need to
improve tools/perf/trace/beauty/kvm_ioctl.sh to build per arch string
tables, so that we avoid assigning multiple times to the same command
string entry, i.e. multiple defines, for different arches, have the same
value, causing this:
In file included from trace/beauty/ioctl.c:82:0:
/tmp/build/perf/trace/beauty/generated/ioctl/kvm_ioctl_array.c: In function ‘ioctl__scnprintf_kvm_cmd’:
/tmp/build/perf/trace/beauty/generated/ioctl/kvm_ioctl_array.c:76:11: error: initialized field overwritten [-Werror=override-init]
/tmp/build/perf/trace/beauty/generated/ioctl/kvm_ioctl_array.c:88:11: note: (near initialization for ‘kvm_ioctl_cmds[165]’)
/tmp/build/perf/trace/beauty/generated/ioctl/kvm_ioctl_array.c:90:11: error: initialized field overwritten [-Werror=override-init]
[0xa6] = "PPC_GET_SMMU_INFO",
^~~~~~~~~~~~~~~~~~~
So the onlye effect of updating the tools/ copy of ppc's kvm.h header
is to silence these perf build warnings:
Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/kvm.h' differs from latest version at 'arch/powerpc/include/uapi/asm/kvm.h'
At some point we should do what we did for the errno tables and create
per-arch string translation tables for the KVM ioctl commands for the
architectures supporting KVM, such as s/390, PowerPC, x86_64 and ARM.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@ozlabs.org>
Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-jmcf78tqiudgn46zqfw2tgt2@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/arch/powerpc/include/uapi/asm/kvm.h | 25 | ||||
-rw-r--r-- | tools/include/uapi/linux/kvm.h | 4 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tools/arch/powerpc/include/uapi/asm/kvm.h b/tools/arch/powerpc/include/uapi/asm/kvm.h index 61d6049f4c1e..637b7263cb86 100644 --- a/tools/arch/powerpc/include/uapi/asm/kvm.h +++ b/tools/arch/powerpc/include/uapi/asm/kvm.h | |||
@@ -443,6 +443,31 @@ struct kvm_ppc_rmmu_info { | |||
443 | __u32 ap_encodings[8]; | 443 | __u32 ap_encodings[8]; |
444 | }; | 444 | }; |
445 | 445 | ||
446 | /* For KVM_PPC_GET_CPU_CHAR */ | ||
447 | struct kvm_ppc_cpu_char { | ||
448 | __u64 character; /* characteristics of the CPU */ | ||
449 | __u64 behaviour; /* recommended software behaviour */ | ||
450 | __u64 character_mask; /* valid bits in character */ | ||
451 | __u64 behaviour_mask; /* valid bits in behaviour */ | ||
452 | }; | ||
453 | |||
454 | /* | ||
455 | * Values for character and character_mask. | ||
456 | * These are identical to the values used by H_GET_CPU_CHARACTERISTICS. | ||
457 | */ | ||
458 | #define KVM_PPC_CPU_CHAR_SPEC_BAR_ORI31 (1ULL << 63) | ||
459 | #define KVM_PPC_CPU_CHAR_BCCTRL_SERIALISED (1ULL << 62) | ||
460 | #define KVM_PPC_CPU_CHAR_L1D_FLUSH_ORI30 (1ULL << 61) | ||
461 | #define KVM_PPC_CPU_CHAR_L1D_FLUSH_TRIG2 (1ULL << 60) | ||
462 | #define KVM_PPC_CPU_CHAR_L1D_THREAD_PRIV (1ULL << 59) | ||
463 | #define KVM_PPC_CPU_CHAR_BR_HINT_HONOURED (1ULL << 58) | ||
464 | #define KVM_PPC_CPU_CHAR_MTTRIG_THR_RECONF (1ULL << 57) | ||
465 | #define KVM_PPC_CPU_CHAR_COUNT_CACHE_DIS (1ULL << 56) | ||
466 | |||
467 | #define KVM_PPC_CPU_BEHAV_FAVOUR_SECURITY (1ULL << 63) | ||
468 | #define KVM_PPC_CPU_BEHAV_L1D_FLUSH_PR (1ULL << 62) | ||
469 | #define KVM_PPC_CPU_BEHAV_BNDS_CHK_SPEC_BAR (1ULL << 61) | ||
470 | |||
446 | /* Per-vcpu XICS interrupt controller state */ | 471 | /* Per-vcpu XICS interrupt controller state */ |
447 | #define KVM_REG_PPC_ICP_STATE (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8c) | 472 | #define KVM_REG_PPC_ICP_STATE (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8c) |
448 | 473 | ||
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h index 496e59a2738b..8fb90a0819c3 100644 --- a/tools/include/uapi/linux/kvm.h +++ b/tools/include/uapi/linux/kvm.h | |||
@@ -932,6 +932,8 @@ struct kvm_ppc_resize_hpt { | |||
932 | #define KVM_CAP_HYPERV_SYNIC2 148 | 932 | #define KVM_CAP_HYPERV_SYNIC2 148 |
933 | #define KVM_CAP_HYPERV_VP_INDEX 149 | 933 | #define KVM_CAP_HYPERV_VP_INDEX 149 |
934 | #define KVM_CAP_S390_AIS_MIGRATION 150 | 934 | #define KVM_CAP_S390_AIS_MIGRATION 150 |
935 | #define KVM_CAP_PPC_GET_CPU_CHAR 151 | ||
936 | #define KVM_CAP_S390_BPB 152 | ||
935 | 937 | ||
936 | #ifdef KVM_CAP_IRQ_ROUTING | 938 | #ifdef KVM_CAP_IRQ_ROUTING |
937 | 939 | ||
@@ -1261,6 +1263,8 @@ struct kvm_s390_ucas_mapping { | |||
1261 | #define KVM_PPC_CONFIGURE_V3_MMU _IOW(KVMIO, 0xaf, struct kvm_ppc_mmuv3_cfg) | 1263 | #define KVM_PPC_CONFIGURE_V3_MMU _IOW(KVMIO, 0xaf, struct kvm_ppc_mmuv3_cfg) |
1262 | /* Available with KVM_CAP_PPC_RADIX_MMU */ | 1264 | /* Available with KVM_CAP_PPC_RADIX_MMU */ |
1263 | #define KVM_PPC_GET_RMMU_INFO _IOW(KVMIO, 0xb0, struct kvm_ppc_rmmu_info) | 1265 | #define KVM_PPC_GET_RMMU_INFO _IOW(KVMIO, 0xb0, struct kvm_ppc_rmmu_info) |
1266 | /* Available with KVM_CAP_PPC_GET_CPU_CHAR */ | ||
1267 | #define KVM_PPC_GET_CPU_CHAR _IOR(KVMIO, 0xb1, struct kvm_ppc_cpu_char) | ||
1264 | 1268 | ||
1265 | /* ioctl for vm fd */ | 1269 | /* ioctl for vm fd */ |
1266 | #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) | 1270 | #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) |