aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-07-30 05:52:32 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2017-07-31 09:35:28 -0400
commita40f61777b8c66cfd61c37b0102387578abb8ed0 (patch)
tree857c4e80eec3063e66fd778812ca946c6313716d /tools
parent8255e1efc193f110f1c9b8e40597a6c0c89fbedc (diff)
tools headers: Sync kernel ABI headers with tooling headers
Sync up (copy) the following v4.13 kernel headers to the tooling headers: arch/arm/include/uapi/asm/kvm.h: arch/arm64/include/uapi/asm/kvm.h: arch/powerpc/include/uapi/asm/kvm.h: arch/s390/include/uapi/asm/kvm.h: - KVM ABI extensions, which do not affect perf tooling arch/x86/include/asm/cpufeatures.h: arch/x86/include/asm/disabled-features.h: - New PCID CPU feature on Intel CPUs - does not affect tooling. I.e. no real changes were needed to resolve the build warnings, just a plain copy of the latest kernel header version. Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: David Carrillo-Cisneros <davidcc@google.com> Cc: Francis Deslauriers <francis.deslauriers@efficios.com> Cc: Geneviève Bastien <gbastien@versatic.net> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Julien Desfossez <jdesfossez@efficios.com> Cc: Martin Liška <mliska@suse.cz> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Milian Wolff <milian.wolff@kdab.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Turner <pjt@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Simon Que <sque@chromium.org> Cc: Stephane Eranian <eranian@google.com> Cc: Taeung Song <treeze.taeung@gmail.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/20170730095232.4j4xigsoqwufl5hu@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/arch/arm/include/uapi/asm/kvm.h8
-rw-r--r--tools/arch/arm64/include/uapi/asm/kvm.h3
-rw-r--r--tools/arch/powerpc/include/uapi/asm/kvm.h6
-rw-r--r--tools/arch/s390/include/uapi/asm/kvm.h12
-rw-r--r--tools/arch/x86/include/asm/cpufeatures.h2
-rw-r--r--tools/arch/x86/include/asm/disabled-features.h4
6 files changed, 34 insertions, 1 deletions
diff --git a/tools/arch/arm/include/uapi/asm/kvm.h b/tools/arch/arm/include/uapi/asm/kvm.h
index 5e3c673fa3f4..5db2d4c6a55f 100644
--- a/tools/arch/arm/include/uapi/asm/kvm.h
+++ b/tools/arch/arm/include/uapi/asm/kvm.h
@@ -203,6 +203,14 @@ struct kvm_arch_memory_slot {
203#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff 203#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
204#define VGIC_LEVEL_INFO_LINE_LEVEL 0 204#define VGIC_LEVEL_INFO_LINE_LEVEL 0
205 205
206/* Device Control API on vcpu fd */
207#define KVM_ARM_VCPU_PMU_V3_CTRL 0
208#define KVM_ARM_VCPU_PMU_V3_IRQ 0
209#define KVM_ARM_VCPU_PMU_V3_INIT 1
210#define KVM_ARM_VCPU_TIMER_CTRL 1
211#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
212#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
213
206#define KVM_DEV_ARM_VGIC_CTRL_INIT 0 214#define KVM_DEV_ARM_VGIC_CTRL_INIT 0
207#define KVM_DEV_ARM_ITS_SAVE_TABLES 1 215#define KVM_DEV_ARM_ITS_SAVE_TABLES 1
208#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2 216#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2
diff --git a/tools/arch/arm64/include/uapi/asm/kvm.h b/tools/arch/arm64/include/uapi/asm/kvm.h
index 70eea2ecc663..9f3ca24bbcc6 100644
--- a/tools/arch/arm64/include/uapi/asm/kvm.h
+++ b/tools/arch/arm64/include/uapi/asm/kvm.h
@@ -232,6 +232,9 @@ struct kvm_arch_memory_slot {
232#define KVM_ARM_VCPU_PMU_V3_CTRL 0 232#define KVM_ARM_VCPU_PMU_V3_CTRL 0
233#define KVM_ARM_VCPU_PMU_V3_IRQ 0 233#define KVM_ARM_VCPU_PMU_V3_IRQ 0
234#define KVM_ARM_VCPU_PMU_V3_INIT 1 234#define KVM_ARM_VCPU_PMU_V3_INIT 1
235#define KVM_ARM_VCPU_TIMER_CTRL 1
236#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
237#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
235 238
236/* KVM_IRQ_LINE irq field index values */ 239/* KVM_IRQ_LINE irq field index values */
237#define KVM_ARM_IRQ_TYPE_SHIFT 24 240#define KVM_ARM_IRQ_TYPE_SHIFT 24
diff --git a/tools/arch/powerpc/include/uapi/asm/kvm.h b/tools/arch/powerpc/include/uapi/asm/kvm.h
index 07fbeb927834..8cf8f0c96906 100644
--- a/tools/arch/powerpc/include/uapi/asm/kvm.h
+++ b/tools/arch/powerpc/include/uapi/asm/kvm.h
@@ -60,6 +60,12 @@ struct kvm_regs {
60 60
61#define KVM_SREGS_E_FSL_PIDn (1 << 0) /* PID1/PID2 */ 61#define KVM_SREGS_E_FSL_PIDn (1 << 0) /* PID1/PID2 */
62 62
63/* flags for kvm_run.flags */
64#define KVM_RUN_PPC_NMI_DISP_MASK (3 << 0)
65#define KVM_RUN_PPC_NMI_DISP_FULLY_RECOV (1 << 0)
66#define KVM_RUN_PPC_NMI_DISP_LIMITED_RECOV (2 << 0)
67#define KVM_RUN_PPC_NMI_DISP_NOT_RECOV (3 << 0)
68
63/* 69/*
64 * Feature bits indicate which sections of the sregs struct are valid, 70 * Feature bits indicate which sections of the sregs struct are valid,
65 * both in KVM_GET_SREGS and KVM_SET_SREGS. On KVM_SET_SREGS, registers 71 * both in KVM_GET_SREGS and KVM_SET_SREGS. On KVM_SET_SREGS, registers
diff --git a/tools/arch/s390/include/uapi/asm/kvm.h b/tools/arch/s390/include/uapi/asm/kvm.h
index 3dd2a1d308dd..69d09c39bbcd 100644
--- a/tools/arch/s390/include/uapi/asm/kvm.h
+++ b/tools/arch/s390/include/uapi/asm/kvm.h
@@ -28,6 +28,7 @@
28#define KVM_DEV_FLIC_CLEAR_IO_IRQ 8 28#define KVM_DEV_FLIC_CLEAR_IO_IRQ 8
29#define KVM_DEV_FLIC_AISM 9 29#define KVM_DEV_FLIC_AISM 9
30#define KVM_DEV_FLIC_AIRQ_INJECT 10 30#define KVM_DEV_FLIC_AIRQ_INJECT 10
31#define KVM_DEV_FLIC_AISM_ALL 11
31/* 32/*
32 * We can have up to 4*64k pending subchannels + 8 adapter interrupts, 33 * We can have up to 4*64k pending subchannels + 8 adapter interrupts,
33 * as well as up to ASYNC_PF_PER_VCPU*KVM_MAX_VCPUS pfault done interrupts. 34 * as well as up to ASYNC_PF_PER_VCPU*KVM_MAX_VCPUS pfault done interrupts.
@@ -53,6 +54,11 @@ struct kvm_s390_ais_req {
53 __u16 mode; 54 __u16 mode;
54}; 55};
55 56
57struct kvm_s390_ais_all {
58 __u8 simm;
59 __u8 nimm;
60};
61
56#define KVM_S390_IO_ADAPTER_MASK 1 62#define KVM_S390_IO_ADAPTER_MASK 1
57#define KVM_S390_IO_ADAPTER_MAP 2 63#define KVM_S390_IO_ADAPTER_MAP 2
58#define KVM_S390_IO_ADAPTER_UNMAP 3 64#define KVM_S390_IO_ADAPTER_UNMAP 3
@@ -70,6 +76,7 @@ struct kvm_s390_io_adapter_req {
70#define KVM_S390_VM_TOD 1 76#define KVM_S390_VM_TOD 1
71#define KVM_S390_VM_CRYPTO 2 77#define KVM_S390_VM_CRYPTO 2
72#define KVM_S390_VM_CPU_MODEL 3 78#define KVM_S390_VM_CPU_MODEL 3
79#define KVM_S390_VM_MIGRATION 4
73 80
74/* kvm attributes for mem_ctrl */ 81/* kvm attributes for mem_ctrl */
75#define KVM_S390_VM_MEM_ENABLE_CMMA 0 82#define KVM_S390_VM_MEM_ENABLE_CMMA 0
@@ -151,6 +158,11 @@ struct kvm_s390_vm_cpu_subfunc {
151#define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2 158#define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2
152#define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3 159#define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3
153 160
161/* kvm attributes for migration mode */
162#define KVM_S390_VM_MIGRATION_STOP 0
163#define KVM_S390_VM_MIGRATION_START 1
164#define KVM_S390_VM_MIGRATION_STATUS 2
165
154/* for KVM_GET_REGS and KVM_SET_REGS */ 166/* for KVM_GET_REGS and KVM_SET_REGS */
155struct kvm_regs { 167struct kvm_regs {
156 /* general purpose regs for s390 */ 168 /* general purpose regs for s390 */
diff --git a/tools/arch/x86/include/asm/cpufeatures.h b/tools/arch/x86/include/asm/cpufeatures.h
index 2701e5f8145b..14f0f2913364 100644
--- a/tools/arch/x86/include/asm/cpufeatures.h
+++ b/tools/arch/x86/include/asm/cpufeatures.h
@@ -196,6 +196,7 @@
196 196
197#define X86_FEATURE_HW_PSTATE ( 7*32+ 8) /* AMD HW-PState */ 197#define X86_FEATURE_HW_PSTATE ( 7*32+ 8) /* AMD HW-PState */
198#define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */ 198#define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */
199#define X86_FEATURE_SME ( 7*32+10) /* AMD Secure Memory Encryption */
199 200
200#define X86_FEATURE_INTEL_PPIN ( 7*32+14) /* Intel Processor Inventory Number */ 201#define X86_FEATURE_INTEL_PPIN ( 7*32+14) /* Intel Processor Inventory Number */
201#define X86_FEATURE_INTEL_PT ( 7*32+15) /* Intel Processor Trace */ 202#define X86_FEATURE_INTEL_PT ( 7*32+15) /* Intel Processor Trace */
@@ -286,6 +287,7 @@
286#define X86_FEATURE_PAUSEFILTER (15*32+10) /* filtered pause intercept */ 287#define X86_FEATURE_PAUSEFILTER (15*32+10) /* filtered pause intercept */
287#define X86_FEATURE_PFTHRESHOLD (15*32+12) /* pause filter threshold */ 288#define X86_FEATURE_PFTHRESHOLD (15*32+12) /* pause filter threshold */
288#define X86_FEATURE_AVIC (15*32+13) /* Virtual Interrupt Controller */ 289#define X86_FEATURE_AVIC (15*32+13) /* Virtual Interrupt Controller */
290#define X86_FEATURE_VIRTUAL_VMLOAD_VMSAVE (15*32+15) /* Virtual VMLOAD VMSAVE */
289 291
290/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */ 292/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */
291#define X86_FEATURE_AVX512VBMI (16*32+ 1) /* AVX512 Vector Bit Manipulation instructions*/ 293#define X86_FEATURE_AVX512VBMI (16*32+ 1) /* AVX512 Vector Bit Manipulation instructions*/
diff --git a/tools/arch/x86/include/asm/disabled-features.h b/tools/arch/x86/include/asm/disabled-features.h
index 5dff775af7cd..c10c9128f54e 100644
--- a/tools/arch/x86/include/asm/disabled-features.h
+++ b/tools/arch/x86/include/asm/disabled-features.h
@@ -21,11 +21,13 @@
21# define DISABLE_K6_MTRR (1<<(X86_FEATURE_K6_MTRR & 31)) 21# define DISABLE_K6_MTRR (1<<(X86_FEATURE_K6_MTRR & 31))
22# define DISABLE_CYRIX_ARR (1<<(X86_FEATURE_CYRIX_ARR & 31)) 22# define DISABLE_CYRIX_ARR (1<<(X86_FEATURE_CYRIX_ARR & 31))
23# define DISABLE_CENTAUR_MCR (1<<(X86_FEATURE_CENTAUR_MCR & 31)) 23# define DISABLE_CENTAUR_MCR (1<<(X86_FEATURE_CENTAUR_MCR & 31))
24# define DISABLE_PCID 0
24#else 25#else
25# define DISABLE_VME 0 26# define DISABLE_VME 0
26# define DISABLE_K6_MTRR 0 27# define DISABLE_K6_MTRR 0
27# define DISABLE_CYRIX_ARR 0 28# define DISABLE_CYRIX_ARR 0
28# define DISABLE_CENTAUR_MCR 0 29# define DISABLE_CENTAUR_MCR 0
30# define DISABLE_PCID (1<<(X86_FEATURE_PCID & 31))
29#endif /* CONFIG_X86_64 */ 31#endif /* CONFIG_X86_64 */
30 32
31#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS 33#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
@@ -49,7 +51,7 @@
49#define DISABLED_MASK1 0 51#define DISABLED_MASK1 0
50#define DISABLED_MASK2 0 52#define DISABLED_MASK2 0
51#define DISABLED_MASK3 (DISABLE_CYRIX_ARR|DISABLE_CENTAUR_MCR|DISABLE_K6_MTRR) 53#define DISABLED_MASK3 (DISABLE_CYRIX_ARR|DISABLE_CENTAUR_MCR|DISABLE_K6_MTRR)
52#define DISABLED_MASK4 0 54#define DISABLED_MASK4 (DISABLE_PCID)
53#define DISABLED_MASK5 0 55#define DISABLED_MASK5 0
54#define DISABLED_MASK6 0 56#define DISABLED_MASK6 0
55#define DISABLED_MASK7 0 57#define DISABLED_MASK7 0