Skip to content

Commit 14ec8ce

Browse files
committed
tools headers: Sync arm64 headers with the kernel source
To pick up the changes in this cset: efe676a arm64: proton-pack: Add new CPUs 'k' values for branch mitigation e18c09b arm64: Add support for HIP09 Spectre-BHB mitigation a9b5bd8 arm64: cputype: Add MIDR_CORTEX_A76AE 53a52a0 arm64: cputype: Add comments about Qualcomm Kryo 5XX and 6XX cores 401c333 arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD 86edf6b smccc/kvm_guest: Enable errata based on implementation CPUs 0bc9a9e KVM: arm64: Work around x1e's CNTVOFF_EL2 bogosity This addresses these perf build warnings: Warning: Kernel ABI header differences: diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h But the following two changes cannot be applied since they introduced new build errors in util/arm-spe.c. So it still has the warning after this change. c8c2647 arm64: Make  _midr_in_range_list() an exported function e312129 arm64: Modify _midr_range() functions to read MIDR/REVIDR internally Please see tools/include/uapi/README for further details. Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] Signed-off-by: Namhyung Kim <[email protected]> perf build: [WIP] Fix arm-spe build errors Signed-off-by: Namhyung Kim <[email protected]>
1 parent 619f55c commit 14ec8ce

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,13 @@
7575
#define ARM_CPU_PART_CORTEX_A76 0xD0B
7676
#define ARM_CPU_PART_NEOVERSE_N1 0xD0C
7777
#define ARM_CPU_PART_CORTEX_A77 0xD0D
78+
#define ARM_CPU_PART_CORTEX_A76AE 0xD0E
7879
#define ARM_CPU_PART_NEOVERSE_V1 0xD40
7980
#define ARM_CPU_PART_CORTEX_A78 0xD41
8081
#define ARM_CPU_PART_CORTEX_A78AE 0xD42
8182
#define ARM_CPU_PART_CORTEX_X1 0xD44
8283
#define ARM_CPU_PART_CORTEX_A510 0xD46
84+
#define ARM_CPU_PART_CORTEX_X1C 0xD4C
8385
#define ARM_CPU_PART_CORTEX_A520 0xD80
8486
#define ARM_CPU_PART_CORTEX_A710 0xD47
8587
#define ARM_CPU_PART_CORTEX_A715 0xD4D
@@ -119,16 +121,19 @@
119121
#define QCOM_CPU_PART_KRYO 0x200
120122
#define QCOM_CPU_PART_KRYO_2XX_GOLD 0x800
121123
#define QCOM_CPU_PART_KRYO_2XX_SILVER 0x801
124+
#define QCOM_CPU_PART_KRYO_3XX_GOLD 0x802
122125
#define QCOM_CPU_PART_KRYO_3XX_SILVER 0x803
123126
#define QCOM_CPU_PART_KRYO_4XX_GOLD 0x804
124127
#define QCOM_CPU_PART_KRYO_4XX_SILVER 0x805
128+
#define QCOM_CPU_PART_ORYON_X1 0x001
125129

126130
#define NVIDIA_CPU_PART_DENVER 0x003
127131
#define NVIDIA_CPU_PART_CARMEL 0x004
128132

129133
#define FUJITSU_CPU_PART_A64FX 0x001
130134

131135
#define HISI_CPU_PART_TSV110 0xD01
136+
#define HISI_CPU_PART_HIP09 0xD02
132137
#define HISI_CPU_PART_HIP12 0xD06
133138

134139
#define APPLE_CPU_PART_M1_ICESTORM 0x022
@@ -159,11 +164,13 @@
159164
#define MIDR_CORTEX_A76 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A76)
160165
#define MIDR_NEOVERSE_N1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N1)
161166
#define MIDR_CORTEX_A77 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A77)
167+
#define MIDR_CORTEX_A76AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A76AE)
162168
#define MIDR_NEOVERSE_V1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V1)
163169
#define MIDR_CORTEX_A78 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78)
164170
#define MIDR_CORTEX_A78AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE)
165171
#define MIDR_CORTEX_X1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1)
166172
#define MIDR_CORTEX_A510 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A510)
173+
#define MIDR_CORTEX_X1C MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1C)
167174
#define MIDR_CORTEX_A520 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A520)
168175
#define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710)
169176
#define MIDR_CORTEX_A715 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A715)
@@ -196,13 +203,26 @@
196203
#define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO)
197204
#define MIDR_QCOM_KRYO_2XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_GOLD)
198205
#define MIDR_QCOM_KRYO_2XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_SILVER)
206+
#define MIDR_QCOM_KRYO_3XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_GOLD)
199207
#define MIDR_QCOM_KRYO_3XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_SILVER)
200208
#define MIDR_QCOM_KRYO_4XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_GOLD)
201209
#define MIDR_QCOM_KRYO_4XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_SILVER)
210+
#define MIDR_QCOM_ORYON_X1 MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_ORYON_X1)
211+
212+
/*
213+
* NOTES:
214+
* - Qualcomm Kryo 5XX Prime / Gold ID themselves as MIDR_CORTEX_A77
215+
* - Qualcomm Kryo 5XX Silver IDs itself as MIDR_QCOM_KRYO_4XX_SILVER
216+
* - Qualcomm Kryo 6XX Prime IDs itself as MIDR_CORTEX_X1
217+
* - Qualcomm Kryo 6XX Gold IDs itself as ARM_CPU_PART_CORTEX_A78
218+
* - Qualcomm Kryo 6XX Silver IDs itself as MIDR_CORTEX_A55
219+
*/
220+
202221
#define MIDR_NVIDIA_DENVER MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_DENVER)
203222
#define MIDR_NVIDIA_CARMEL MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_CARMEL)
204223
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
205224
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
225+
#define MIDR_HISI_HIP09 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP09)
206226
#define MIDR_HISI_HIP12 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP12)
207227
#define MIDR_APPLE_M1_ICESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM)
208228
#define MIDR_APPLE_M1_FIRESTORM MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM)
@@ -291,6 +311,14 @@ static inline u32 __attribute_const__ read_cpuid_id(void)
291311
return read_cpuid(MIDR_EL1);
292312
}
293313

314+
struct target_impl_cpu {
315+
u64 midr;
316+
u64 revidr;
317+
u64 aidr;
318+
};
319+
320+
bool cpu_errata_set_target_impl(u64 num, void *impl_cpus);
321+
294322
static inline u64 __attribute_const__ read_cpuid_mpidr(void)
295323
{
296324
return read_cpuid(MPIDR_EL1);

0 commit comments

Comments
 (0)