Skip to content

Commit 91bdba8

Browse files
committed
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon: - TLB invalidation workaround for Qualcomm Kryo-4xx "gold" CPUs - Fix broken dependency in the vDSO Makefile - Fix pointer authentication overrides in ISAR2 ID register * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs arm64: cpufeature: remove duplicate ID_AA64ISAR2_EL1 entry arm64: vdso: fix makefile dependency on vdso.so
2 parents 359ee4f + 51f559d commit 91bdba8

File tree

6 files changed

+10
-8
lines changed

6 files changed

+10
-8
lines changed

Documentation/arm64/silicon-errata.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,9 @@ stable kernels.
189189
+----------------+-----------------+-----------------+-----------------------------+
190190
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
191191
+----------------+-----------------+-----------------+-----------------------------+
192+
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1286807 |
193+
+----------------+-----------------+-----------------+-----------------------------+
194+
192195
+----------------+-----------------+-----------------+-----------------------------+
193196
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
194197
+----------------+-----------------+-----------------+-----------------------------+

arch/arm64/kernel/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ obj-$(CONFIG_ARM64_MTE) += mte.o
7575
obj-y += vdso-wrap.o
7676
obj-$(CONFIG_COMPAT_VDSO) += vdso32-wrap.o
7777

78+
# Force dependency (vdso*-wrap.S includes vdso.so through incbin)
79+
$(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so
80+
$(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so
81+
7882
obj-y += probes/
7983
head-y := head.o
8084
extra-y += $(head-y) vmlinux.lds

arch/arm64/kernel/cpu_errata.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,8 @@ static const struct arm64_cpu_capabilities arm64_repeat_tlbi_list[] = {
208208
#ifdef CONFIG_ARM64_ERRATUM_1286807
209209
{
210210
ERRATA_MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0),
211+
/* Kryo4xx Gold (rcpe to rfpe) => (r0p0 to r3p0) */
212+
ERRATA_MIDR_RANGE(MIDR_QCOM_KRYO_4XX_GOLD, 0xc, 0xe, 0xf, 0xe),
211213
},
212214
#endif
213215
{},

arch/arm64/kernel/cpufeature.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,6 @@ static const struct __ftr_reg_entry {
654654
ARM64_FTR_REG(SYS_ID_AA64ISAR0_EL1, ftr_id_aa64isar0),
655655
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR1_EL1, ftr_id_aa64isar1,
656656
&id_aa64isar1_override),
657-
ARM64_FTR_REG(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2),
658657
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2,
659658
&id_aa64isar2_override),
660659

@@ -810,7 +809,7 @@ static void __init sort_ftr_regs(void)
810809
* to sys_id for subsequent binary search in get_arm64_ftr_reg()
811810
* to work correctly.
812811
*/
813-
BUG_ON(arm64_ftr_regs[i].sys_id < arm64_ftr_regs[i - 1].sys_id);
812+
BUG_ON(arm64_ftr_regs[i].sys_id <= arm64_ftr_regs[i - 1].sys_id);
814813
}
815814
}
816815

arch/arm64/kernel/vdso/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ GCOV_PROFILE := n
5252
targets += vdso.lds
5353
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
5454

55-
# Force dependency (incbin is bad)
56-
$(obj)/vdso.o : $(obj)/vdso.so
57-
5855
# Link rule for the .so file, .lds has to be first
5956
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
6057
$(call if_changed,vdsold_and_vdso_check)

arch/arm64/kernel/vdso32/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,6 @@ obj-vdso := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso)
131131
targets += vdso.lds
132132
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
133133

134-
# Force dependency (vdso.s includes vdso.so through incbin)
135-
$(obj)/vdso.o: $(obj)/vdso.so
136-
137134
include/generated/vdso32-offsets.h: $(obj)/vdso.so.dbg FORCE
138135
$(call if_changed,vdsosym)
139136

0 commit comments

Comments
 (0)