arm64 fixes for -rc7
- TLB invalidation workaround for Qualcomm Kryo-4xx "gold" CPUs - Fix broken dependency in the vDSO Makefile - Fix pointer authentication overrides in ISAR2 ID register -----BEGIN PGP SIGNATURE----- iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmJ+TzYQHHdpbGxAa2Vy bmVsLm9yZwAKCRC3rHDchMFjNCROB/4qyO58UAHs8bomUYfz/G+mZp0uxiJ+0MBL 5l+3HKMNf9anKjfVChIThhZV/9yVh6aeiib10P+UPqJVJFTs+JjYJqqdq8Qa+6K3 08zYWNtv2Q260wdo8HpaXvyy7RXQ9j3jQ3pD84xmoKVwVQnmXKjo9RuH7XbgmcS0 9mrgBRHXDkJ4PIzZxs/pgRuPHjAVx9lVNP+gId1awUFXDuMRwdQQyKpVqvnC4csD 70GRdC166Gz+GAmAkKAaB+VaCYr6h6WGcjGVz9ajBe5jDdACVb7VKO9nhqTiKdoe xpaU6i+p+IuGyXRjMcmIzMQSutKdgG6w09ZZ8/UOD/s75AiHWURQ =uJ8F -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
91bdba8536
@ -189,6 +189,9 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
|
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1286807 |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
|
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
@ -75,6 +75,10 @@ obj-$(CONFIG_ARM64_MTE) += mte.o
|
|||||||
obj-y += vdso-wrap.o
|
obj-y += vdso-wrap.o
|
||||||
obj-$(CONFIG_COMPAT_VDSO) += vdso32-wrap.o
|
obj-$(CONFIG_COMPAT_VDSO) += vdso32-wrap.o
|
||||||
|
|
||||||
|
# Force dependency (vdso*-wrap.S includes vdso.so through incbin)
|
||||||
|
$(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so
|
||||||
|
$(obj)/vdso32-wrap.o: $(obj)/vdso32/vdso.so
|
||||||
|
|
||||||
obj-y += probes/
|
obj-y += probes/
|
||||||
head-y := head.o
|
head-y := head.o
|
||||||
extra-y += $(head-y) vmlinux.lds
|
extra-y += $(head-y) vmlinux.lds
|
||||||
|
@ -208,6 +208,8 @@ static const struct arm64_cpu_capabilities arm64_repeat_tlbi_list[] = {
|
|||||||
#ifdef CONFIG_ARM64_ERRATUM_1286807
|
#ifdef CONFIG_ARM64_ERRATUM_1286807
|
||||||
{
|
{
|
||||||
ERRATA_MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0),
|
ERRATA_MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0),
|
||||||
|
/* Kryo4xx Gold (rcpe to rfpe) => (r0p0 to r3p0) */
|
||||||
|
ERRATA_MIDR_RANGE(MIDR_QCOM_KRYO_4XX_GOLD, 0xc, 0xe, 0xf, 0xe),
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{},
|
{},
|
||||||
|
@ -654,7 +654,6 @@ static const struct __ftr_reg_entry {
|
|||||||
ARM64_FTR_REG(SYS_ID_AA64ISAR0_EL1, ftr_id_aa64isar0),
|
ARM64_FTR_REG(SYS_ID_AA64ISAR0_EL1, ftr_id_aa64isar0),
|
||||||
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR1_EL1, ftr_id_aa64isar1,
|
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR1_EL1, ftr_id_aa64isar1,
|
||||||
&id_aa64isar1_override),
|
&id_aa64isar1_override),
|
||||||
ARM64_FTR_REG(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2),
|
|
||||||
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2,
|
ARM64_FTR_REG_OVERRIDE(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2,
|
||||||
&id_aa64isar2_override),
|
&id_aa64isar2_override),
|
||||||
|
|
||||||
@ -810,7 +809,7 @@ static void __init sort_ftr_regs(void)
|
|||||||
* to sys_id for subsequent binary search in get_arm64_ftr_reg()
|
* to sys_id for subsequent binary search in get_arm64_ftr_reg()
|
||||||
* to work correctly.
|
* to work correctly.
|
||||||
*/
|
*/
|
||||||
BUG_ON(arm64_ftr_regs[i].sys_id < arm64_ftr_regs[i - 1].sys_id);
|
BUG_ON(arm64_ftr_regs[i].sys_id <= arm64_ftr_regs[i - 1].sys_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,9 +52,6 @@ GCOV_PROFILE := n
|
|||||||
targets += vdso.lds
|
targets += vdso.lds
|
||||||
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
|
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
|
||||||
|
|
||||||
# Force dependency (incbin is bad)
|
|
||||||
$(obj)/vdso.o : $(obj)/vdso.so
|
|
||||||
|
|
||||||
# Link rule for the .so file, .lds has to be first
|
# Link rule for the .so file, .lds has to be first
|
||||||
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
|
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
|
||||||
$(call if_changed,vdsold_and_vdso_check)
|
$(call if_changed,vdsold_and_vdso_check)
|
||||||
|
@ -131,9 +131,6 @@ obj-vdso := $(c-obj-vdso) $(c-obj-vdso-gettimeofday) $(asm-obj-vdso)
|
|||||||
targets += vdso.lds
|
targets += vdso.lds
|
||||||
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
|
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
|
||||||
|
|
||||||
# Force dependency (vdso.s includes vdso.so through incbin)
|
|
||||||
$(obj)/vdso.o: $(obj)/vdso.so
|
|
||||||
|
|
||||||
include/generated/vdso32-offsets.h: $(obj)/vdso.so.dbg FORCE
|
include/generated/vdso32-offsets.h: $(obj)/vdso.so.dbg FORCE
|
||||||
$(call if_changed,vdsosym)
|
$(call if_changed,vdsosym)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user