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) |
