Skip to content

Commit 13a2e42

Browse files
committed
Merge tag 'perf-tools-fixes-for-v6.9-2024-04-19' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
Pull perf tools fixes from Namhyung Kim: "A random set of small bug fixes: - Fix perf annotate TUI when used with data type profiling - Work around BPF verifier about sighand lock checking And a set of kernel header synchronization" * tag 'perf-tools-fixes-for-v6.9-2024-04-19' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: tools/include: Sync arm64 asm/cputype.h with the kernel sources tools/include: Sync asm-generic/bitops/fls.h with the kernel sources tools/include: Sync x86 asm/msr-index.h with the kernel sources tools/include: Sync x86 asm/irq_vectors.h with the kernel sources tools/include: Sync x86 CPU feature headers with the kernel sources tools/include: Sync uapi/sound/asound.h with the kernel sources tools/include: Sync uapi/linux/kvm.h and asm/kvm.h with the kernel sources tools/include: Sync uapi/linux/fs.h with the kernel sources tools/include: Sync uapi/drm/i915_drm.h with the kernel sources perf lock contention: Add a missing NULL check perf annotate: Make sure to call symbol__annotate2() in TUI
2 parents 2d41226 + 1cebd7f commit 13a2e42

File tree

19 files changed

+817
-742
lines changed

19 files changed

+817
-742
lines changed

tools/arch/arm64/include/asm/cputype.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
#define ARM_CPU_IMP_HISI 0x48
6262
#define ARM_CPU_IMP_APPLE 0x61
6363
#define ARM_CPU_IMP_AMPERE 0xC0
64+
#define ARM_CPU_IMP_MICROSOFT 0x6D
6465

6566
#define ARM_CPU_PART_AEM_V8 0xD0F
6667
#define ARM_CPU_PART_FOUNDATION 0xD00
@@ -135,6 +136,8 @@
135136

136137
#define AMPERE_CPU_PART_AMPERE1 0xAC3
137138

139+
#define MICROSOFT_CPU_PART_AZURE_COBALT_100 0xD49 /* Based on r0p0 of ARM Neoverse N2 */
140+
138141
#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)
139142
#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)
140143
#define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72)
@@ -193,6 +196,7 @@
193196
#define MIDR_APPLE_M2_BLIZZARD_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_BLIZZARD_MAX)
194197
#define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX)
195198
#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1)
199+
#define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100)
196200

197201
/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */
198202
#define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@
3737
#include <asm/ptrace.h>
3838
#include <asm/sve_context.h>
3939

40-
#define __KVM_HAVE_GUEST_DEBUG
4140
#define __KVM_HAVE_IRQ_LINE
42-
#define __KVM_HAVE_READONLY_MEM
4341
#define __KVM_HAVE_VCPU_EVENTS
4442

4543
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
@@ -76,11 +74,11 @@ struct kvm_regs {
7674

7775
/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
7876
#define KVM_ARM_DEVICE_TYPE_SHIFT 0
79-
#define KVM_ARM_DEVICE_TYPE_MASK GENMASK(KVM_ARM_DEVICE_TYPE_SHIFT + 15, \
80-
KVM_ARM_DEVICE_TYPE_SHIFT)
77+
#define KVM_ARM_DEVICE_TYPE_MASK __GENMASK(KVM_ARM_DEVICE_TYPE_SHIFT + 15, \
78+
KVM_ARM_DEVICE_TYPE_SHIFT)
8179
#define KVM_ARM_DEVICE_ID_SHIFT 16
82-
#define KVM_ARM_DEVICE_ID_MASK GENMASK(KVM_ARM_DEVICE_ID_SHIFT + 15, \
83-
KVM_ARM_DEVICE_ID_SHIFT)
80+
#define KVM_ARM_DEVICE_ID_MASK __GENMASK(KVM_ARM_DEVICE_ID_SHIFT + 15, \
81+
KVM_ARM_DEVICE_ID_SHIFT)
8482

8583
/* Supported device IDs */
8684
#define KVM_ARM_DEVICE_VGIC_V2 0
@@ -162,6 +160,11 @@ struct kvm_sync_regs {
162160
__u64 device_irq_level;
163161
};
164162

163+
/* Bits for run->s.regs.device_irq_level */
164+
#define KVM_ARM_DEV_EL1_VTIMER (1 << 0)
165+
#define KVM_ARM_DEV_EL1_PTIMER (1 << 1)
166+
#define KVM_ARM_DEV_PMU (1 << 2)
167+
165168
/*
166169
* PMU filter structure. Describe a range of events with a particular
167170
* action. To be used with KVM_ARM_VCPU_PMU_V3_FILTER.

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

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
#define __KVM_HAVE_PPC_SMT
2929
#define __KVM_HAVE_IRQCHIP
3030
#define __KVM_HAVE_IRQ_LINE
31-
#define __KVM_HAVE_GUEST_DEBUG
3231

3332
/* Not always available, but if it is, this is the correct offset. */
3433
#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
@@ -733,4 +732,48 @@ struct kvm_ppc_xive_eq {
733732
#define KVM_XIVE_TIMA_PAGE_OFFSET 0
734733
#define KVM_XIVE_ESB_PAGE_OFFSET 4
735734

735+
/* for KVM_PPC_GET_PVINFO */
736+
737+
#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1<<0)
738+
739+
struct kvm_ppc_pvinfo {
740+
/* out */
741+
__u32 flags;
742+
__u32 hcall[4];
743+
__u8 pad[108];
744+
};
745+
746+
/* for KVM_PPC_GET_SMMU_INFO */
747+
#define KVM_PPC_PAGE_SIZES_MAX_SZ 8
748+
749+
struct kvm_ppc_one_page_size {
750+
__u32 page_shift; /* Page shift (or 0) */
751+
__u32 pte_enc; /* Encoding in the HPTE (>>12) */
752+
};
753+
754+
struct kvm_ppc_one_seg_page_size {
755+
__u32 page_shift; /* Base page shift of segment (or 0) */
756+
__u32 slb_enc; /* SLB encoding for BookS */
757+
struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
758+
};
759+
760+
#define KVM_PPC_PAGE_SIZES_REAL 0x00000001
761+
#define KVM_PPC_1T_SEGMENTS 0x00000002
762+
#define KVM_PPC_NO_HASH 0x00000004
763+
764+
struct kvm_ppc_smmu_info {
765+
__u64 flags;
766+
__u32 slb_size;
767+
__u16 data_keys; /* # storage keys supported for data */
768+
__u16 instr_keys; /* # storage keys supported for instructions */
769+
struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
770+
};
771+
772+
/* for KVM_PPC_RESIZE_HPT_{PREPARE,COMMIT} */
773+
struct kvm_ppc_resize_hpt {
774+
__u64 flags;
775+
__u32 shift;
776+
__u32 pad;
777+
};
778+
736779
#endif /* __LINUX_KVM_POWERPC_H */

0 commit comments

Comments
 (0)