Commit 2594faaf authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'perf-tools-fixes-for-v6.7-1-2023-11-29' of...

Merge tag 'perf-tools-fixes-for-v6.7-1-2023-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools

Pull perf tools fixes from Namhyung Kim:
 "Assorted build fixes including:

   - fix compile errors in printf() with u64 on 32-bit systesm

   - sync kernel headers to the tool copies

   - update arm64 sysreg generation for tarballs

   - disable compile warnings on __packed attribute"

* tag 'perf-tools-fixes-for-v6.7-1-2023-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools:
  tools: Disable __packed attribute compiler warning due to -Werror=attributes
  perf build: Ensure sysreg-defs Makefile respects output dir
  tools perf: Add arm64 sysreg files to MANIFEST
  tools/perf: Update tools's copy of mips syscall table
  tools/perf: Update tools's copy of s390 syscall table
  tools/perf: Update tools's copy of powerpc syscall table
  tools/perf: Update tools's copy of x86 syscall table
  tools headers: Update tools's copy of s390/asm headers
  tools headers: Update tools's copy of arm64/asm headers
  tools headers: Update tools's copy of x86/asm headers
  tools headers: Update tools's copy of socket.h header
  tools headers UAPI: Update tools's copy of unistd.h header
  tools headers UAPI: Update tools's copy of vhost.h header
  tools headers UAPI: Update tools's copy of mount.h header
  tools headers UAPI: Update tools's copy of kvm.h header
  tools headers UAPI: Update tools's copy of fscrypt.h header
  tools headers UAPI: Update tools's copy of drm headers
  perf lock contention: Fix a build error on 32-bit
  perf kwork: Fix a build error on 32-bit
parents 6172a518 57686a72
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -79,13 +79,15 @@
#define ARM_CPU_PART_CORTEX_A78AE	0xD42
#define ARM_CPU_PART_CORTEX_X1		0xD44
#define ARM_CPU_PART_CORTEX_A510	0xD46
#define ARM_CPU_PART_CORTEX_A520	0xD80
#define ARM_CPU_PART_CORTEX_A710	0xD47
#define ARM_CPU_PART_CORTEX_A715	0xD4D
#define ARM_CPU_PART_CORTEX_X2		0xD48
#define ARM_CPU_PART_NEOVERSE_N2	0xD49
#define ARM_CPU_PART_CORTEX_A78C	0xD4B

#define APM_CPU_PART_POTENZA		0x000
#define APM_CPU_PART_XGENE		0x000
#define APM_CPU_VAR_POTENZA		0x00

#define CAVIUM_CPU_PART_THUNDERX	0x0A1
#define CAVIUM_CPU_PART_THUNDERX_81XX	0x0A2
@@ -148,6 +150,7 @@
#define MIDR_CORTEX_A78AE	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE)
#define MIDR_CORTEX_X1	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1)
#define MIDR_CORTEX_A510 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A510)
#define MIDR_CORTEX_A520 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A520)
#define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710)
#define MIDR_CORTEX_A715 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A715)
#define MIDR_CORTEX_X2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X2)
+32 −0
Original line number Diff line number Diff line
@@ -505,6 +505,38 @@ struct kvm_smccc_filter {
#define KVM_HYPERCALL_EXIT_SMC		(1U << 0)
#define KVM_HYPERCALL_EXIT_16BIT	(1U << 1)

/*
 * Get feature ID registers userspace writable mask.
 *
 * From DDI0487J.a, D19.2.66 ("ID_AA64MMFR2_EL1, AArch64 Memory Model
 * Feature Register 2"):
 *
 * "The Feature ID space is defined as the System register space in
 * AArch64 with op0==3, op1=={0, 1, 3}, CRn==0, CRm=={0-7},
 * op2=={0-7}."
 *
 * This covers all currently known R/O registers that indicate
 * anything useful feature wise, including the ID registers.
 *
 * If we ever need to introduce a new range, it will be described as
 * such in the range field.
 */
#define KVM_ARM_FEATURE_ID_RANGE_IDX(op0, op1, crn, crm, op2)		\
	({								\
		__u64 __op1 = (op1) & 3;				\
		__op1 -= (__op1 == 3);					\
		(__op1 << 6 | ((crm) & 7) << 3 | (op2));		\
	})

#define KVM_ARM_FEATURE_ID_RANGE	0
#define KVM_ARM_FEATURE_ID_RANGE_SIZE	(3 * 8 * 8)

struct reg_mask_range {
	__u64 addr;		/* Pointer to mask array */
	__u32 range;		/* Requested range */
	__u32 reserved[13];
};

#endif

#endif /* __ARM_KVM_H__ */
+6 −4
Original line number Diff line number Diff line
@@ -36,11 +36,13 @@ enum perf_event_arm_regs {
	PERF_REG_ARM64_LR,
	PERF_REG_ARM64_SP,
	PERF_REG_ARM64_PC,
	PERF_REG_ARM64_MAX,

	/* Extended/pseudo registers */
	PERF_REG_ARM64_VG = 46, // SVE Vector Granule

	PERF_REG_ARM64_MAX = PERF_REG_ARM64_PC + 1,
	PERF_REG_ARM64_EXTENDED_MAX = PERF_REG_ARM64_VG + 1
	PERF_REG_ARM64_VG = 46,				/* SVE Vector Granule */
	PERF_REG_ARM64_EXTENDED_MAX
};

#define PERF_REG_EXTENDED_MASK	(1ULL << PERF_REG_ARM64_VG)

#endif /* _ASM_ARM64_PERF_REGS_H */
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ endif
arm64_tools_dir = $(top_srcdir)/arch/arm64/tools
arm64_sysreg_tbl = $(arm64_tools_dir)/sysreg
arm64_gen_sysreg = $(arm64_tools_dir)/gen-sysreg.awk
arm64_generated_dir = $(top_srcdir)/tools/arch/arm64/include/generated
arm64_generated_dir = $(OUTPUT)arch/arm64/include/generated
arm64_sysreg_defs = $(arm64_generated_dir)/asm/sysreg-defs.h

all: $(arm64_sysreg_defs)
+16 −0
Original line number Diff line number Diff line
@@ -159,6 +159,22 @@ struct kvm_s390_vm_cpu_subfunc {
	__u8 reserved[1728];
};

#define KVM_S390_VM_CPU_PROCESSOR_UV_FEAT_GUEST	6
#define KVM_S390_VM_CPU_MACHINE_UV_FEAT_GUEST	7

#define KVM_S390_VM_CPU_UV_FEAT_NR_BITS	64
struct kvm_s390_vm_cpu_uv_feat {
	union {
		struct {
			__u64 : 4;
			__u64 ap : 1;		/* bit 4 */
			__u64 ap_intr : 1;	/* bit 5 */
			__u64 : 58;
		};
		__u64 feat;
	};
};

/* kvm attributes for crypto */
#define KVM_S390_VM_CRYPTO_ENABLE_AES_KW	0
#define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW	1
Loading