Skip to content

Commit dfb9b69

Browse files
author
Ingo Molnar
committed
Merge tag 'perf-urgent-for-mingo-5.6-20200214' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent fixes from Arnaldo Carvalho de Melo: BPF: Arnaldo Carvalho de Melo: - Fix script used to obtain kernel make directives to work with new kbuild used for building BPF programs. maps: Jiri Olsa: - Fixup kmap->kmaps backpointer in kernel maps. arm64: John Garry: - Add arm64 version of get_cpuid() to get proper, arm64 specific output from 'perf list' and other tools. perf top: Kim Phillips: - Update kernel idle symbols so that output in AMD systems is in line with other systems. perf stat: Kim Phillips: - Don't report a null stalled cycles per insn metric. tools headers: Arnaldo Carvalho de Melo: - Sync tools/ headers with the kernel sources to get things like syscall numbers and new arguments so that 'perf trace' can decode and use them in tracepoint filters, e.g. prctl's new PR_{G,S}ET_IO_FLUSHER options. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2 parents f861854 + 6276594 commit dfb9b69

File tree

25 files changed

+353
-78
lines changed

25 files changed

+353
-78
lines changed

tools/arch/arm64/include/uapi/asm/kvm.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,18 @@ struct kvm_vcpu_events {
220220
#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2)
221221
#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1)
222222

223-
/* EL0 Virtual Timer Registers */
223+
/*
224+
* EL0 Virtual Timer Registers
225+
*
226+
* WARNING:
227+
* KVM_REG_ARM_TIMER_CVAL and KVM_REG_ARM_TIMER_CNT are not defined
228+
* with the appropriate register encodings. Their values have been
229+
* accidentally swapped. As this is set API, the definitions here
230+
* must be used, rather than ones derived from the encodings.
231+
*/
224232
#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
225-
#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
226233
#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
234+
#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
227235

228236
/* KVM-as-firmware specific pseudo-registers */
229237
#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)

tools/arch/arm64/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
#define __ARCH_WANT_NEW_STAT
2020
#define __ARCH_WANT_SET_GET_RLIMIT
2121
#define __ARCH_WANT_TIME32_SYSCALLS
22+
#define __ARCH_WANT_SYS_CLONE3
2223

2324
#include <asm-generic/unistd.h>

tools/arch/x86/include/asm/cpufeatures.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@
220220
#define X86_FEATURE_ZEN ( 7*32+28) /* "" CPU is AMD family 0x17 (Zen) */
221221
#define X86_FEATURE_L1TF_PTEINV ( 7*32+29) /* "" L1TF workaround PTE inversion */
222222
#define X86_FEATURE_IBRS_ENHANCED ( 7*32+30) /* Enhanced IBRS */
223+
#define X86_FEATURE_MSR_IA32_FEAT_CTL ( 7*32+31) /* "" MSR IA32_FEAT_CTL configured */
223224

224225
/* Virtualization flags: Linux defined, word 8 */
225226
#define X86_FEATURE_TPR_SHADOW ( 8*32+ 0) /* Intel TPR Shadow */
@@ -357,6 +358,7 @@
357358
/* Intel-defined CPU features, CPUID level 0x00000007:0 (EDX), word 18 */
358359
#define X86_FEATURE_AVX512_4VNNIW (18*32+ 2) /* AVX-512 Neural Network Instructions */
359360
#define X86_FEATURE_AVX512_4FMAPS (18*32+ 3) /* AVX-512 Multiply Accumulation Single precision */
361+
#define X86_FEATURE_FSRM (18*32+ 4) /* Fast Short Rep Mov */
360362
#define X86_FEATURE_AVX512_VP2INTERSECT (18*32+ 8) /* AVX-512 Intersect for D/Q */
361363
#define X86_FEATURE_MD_CLEAR (18*32+10) /* VERW clears CPU buffers */
362364
#define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */

tools/arch/x86/include/asm/disabled-features.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,6 @@
1010
* cpu_feature_enabled().
1111
*/
1212

13-
#ifdef CONFIG_X86_INTEL_MPX
14-
# define DISABLE_MPX 0
15-
#else
16-
# define DISABLE_MPX (1<<(X86_FEATURE_MPX & 31))
17-
#endif
18-
1913
#ifdef CONFIG_X86_SMAP
2014
# define DISABLE_SMAP 0
2115
#else
@@ -74,7 +68,7 @@
7468
#define DISABLED_MASK6 0
7569
#define DISABLED_MASK7 (DISABLE_PTI)
7670
#define DISABLED_MASK8 0
77-
#define DISABLED_MASK9 (DISABLE_MPX|DISABLE_SMAP)
71+
#define DISABLED_MASK9 (DISABLE_SMAP)
7872
#define DISABLED_MASK10 0
7973
#define DISABLED_MASK11 0
8074
#define DISABLED_MASK12 0

tools/include/uapi/asm-generic/mman-common.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#define PROT_WRITE 0x2 /* page can be written */
1212
#define PROT_EXEC 0x4 /* page can be executed */
1313
#define PROT_SEM 0x8 /* page may be used for atomic ops */
14+
/* 0x10 reserved for arch-specific use */
15+
/* 0x20 reserved for arch-specific use */
1416
#define PROT_NONE 0x0 /* page can not be accessed */
1517
#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
1618
#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */

tools/include/uapi/asm-generic/unistd.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -851,8 +851,13 @@ __SYSCALL(__NR_pidfd_open, sys_pidfd_open)
851851
__SYSCALL(__NR_clone3, sys_clone3)
852852
#endif
853853

854+
#define __NR_openat2 437
855+
__SYSCALL(__NR_openat2, sys_openat2)
856+
#define __NR_pidfd_getfd 438
857+
__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
858+
854859
#undef __NR_syscalls
855-
#define __NR_syscalls 436
860+
#define __NR_syscalls 439
856861

857862
/*
858863
* 32 bit systems traditionally used different

tools/include/uapi/drm/i915_drm.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,7 @@ typedef struct _drm_i915_sarea {
395395
#define DRM_IOCTL_I915_GEM_PWRITE DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PWRITE, struct drm_i915_gem_pwrite)
396396
#define DRM_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct drm_i915_gem_mmap)
397397
#define DRM_IOCTL_I915_GEM_MMAP_GTT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_mmap_gtt)
398+
#define DRM_IOCTL_I915_GEM_MMAP_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_mmap_offset)
398399
#define DRM_IOCTL_I915_GEM_SET_DOMAIN DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SET_DOMAIN, struct drm_i915_gem_set_domain)
399400
#define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish)
400401
#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling)
@@ -793,6 +794,37 @@ struct drm_i915_gem_mmap_gtt {
793794
__u64 offset;
794795
};
795796

797+
struct drm_i915_gem_mmap_offset {
798+
/** Handle for the object being mapped. */
799+
__u32 handle;
800+
__u32 pad;
801+
/**
802+
* Fake offset to use for subsequent mmap call
803+
*
804+
* This is a fixed-size type for 32/64 compatibility.
805+
*/
806+
__u64 offset;
807+
808+
/**
809+
* Flags for extended behaviour.
810+
*
811+
* It is mandatory that one of the MMAP_OFFSET types
812+
* (GTT, WC, WB, UC, etc) should be included.
813+
*/
814+
__u64 flags;
815+
#define I915_MMAP_OFFSET_GTT 0
816+
#define I915_MMAP_OFFSET_WC 1
817+
#define I915_MMAP_OFFSET_WB 2
818+
#define I915_MMAP_OFFSET_UC 3
819+
820+
/*
821+
* Zero-terminated chain of extensions.
822+
*
823+
* No current extensions defined; mbz.
824+
*/
825+
__u64 extensions;
826+
};
827+
796828
struct drm_i915_gem_set_domain {
797829
/** Handle for the object */
798830
__u32 handle;

tools/include/uapi/linux/fcntl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#define _UAPI_LINUX_FCNTL_H
44

55
#include <asm/fcntl.h>
6+
#include <linux/openat2.h>
67

78
#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
89
#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
@@ -100,5 +101,4 @@
100101

101102
#define AT_RECURSIVE 0x8000 /* Apply to the entire subtree */
102103

103-
104104
#endif /* _UAPI_LINUX_FCNTL_H */

tools/include/uapi/linux/fscrypt.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#ifndef _UAPI_LINUX_FSCRYPT_H
99
#define _UAPI_LINUX_FSCRYPT_H
1010

11+
#include <linux/ioctl.h>
1112
#include <linux/types.h>
1213

1314
/* Encryption policy flags */
@@ -109,11 +110,22 @@ struct fscrypt_key_specifier {
109110
} u;
110111
};
111112

113+
/*
114+
* Payload of Linux keyring key of type "fscrypt-provisioning", referenced by
115+
* fscrypt_add_key_arg::key_id as an alternative to fscrypt_add_key_arg::raw.
116+
*/
117+
struct fscrypt_provisioning_key_payload {
118+
__u32 type;
119+
__u32 __reserved;
120+
__u8 raw[];
121+
};
122+
112123
/* Struct passed to FS_IOC_ADD_ENCRYPTION_KEY */
113124
struct fscrypt_add_key_arg {
114125
struct fscrypt_key_specifier key_spec;
115126
__u32 raw_size;
116-
__u32 __reserved[9];
127+
__u32 key_id;
128+
__u32 __reserved[8];
117129
__u8 raw[];
118130
};
119131

tools/include/uapi/linux/kvm.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,6 +1009,7 @@ struct kvm_ppc_resize_hpt {
10091009
#define KVM_CAP_PPC_GUEST_DEBUG_SSTEP 176
10101010
#define KVM_CAP_ARM_NISV_TO_USER 177
10111011
#define KVM_CAP_ARM_INJECT_EXT_DABT 178
1012+
#define KVM_CAP_S390_VCPU_RESETS 179
10121013

10131014
#ifdef KVM_CAP_IRQ_ROUTING
10141015

@@ -1473,6 +1474,10 @@ struct kvm_enc_region {
14731474
/* Available with KVM_CAP_ARM_SVE */
14741475
#define KVM_ARM_VCPU_FINALIZE _IOW(KVMIO, 0xc2, int)
14751476

1477+
/* Available with KVM_CAP_S390_VCPU_RESETS */
1478+
#define KVM_S390_NORMAL_RESET _IO(KVMIO, 0xc3)
1479+
#define KVM_S390_CLEAR_RESET _IO(KVMIO, 0xc4)
1480+
14761481
/* Secure Encrypted Virtualization command */
14771482
enum sev_cmd_id {
14781483
/* Guest initialization commands */

0 commit comments

Comments
 (0)