diff options
| author | Andrew Turner <andrew@FreeBSD.org> | 2026-07-14 15:07:30 +0000 |
|---|---|---|
| committer | Andrew Turner <andrew@FreeBSD.org> | 2026-07-14 15:47:15 +0000 |
| commit | f1e8b0ff4e13b52c5e41a5eea3e686410af3dd0b (patch) | |
| tree | 12edc61adfdf77fa73f697d2118a143d2cc1a2e5 | |
| parent | 4c9f648852629d757165796bb3cd97bb84a0e483 (diff) | |
bsd.cpu.mk: Add a workaround for erratum 843419
Add a workaround for the Arm Cortex-A53 erratum 843419. This has been
targeted when the build is either unoptimised for any CPU/architecture
or targets the Cortex-A53 or ARMv8.0 architecture.
PR: 296240
PR: 296395
Reported by: Hal Murray <halmurray+freebsd@sonic.net>
Reported by: Andreas Schuh <x55839@icloud.com>
Reviewed by: cognet, mmel
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D58212
| -rw-r--r-- | share/mk/bsd.cpu.mk | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index 33587b6ba25a..b743d3e71a36 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -6,7 +6,7 @@ .if !defined(CPUTYPE) || empty(CPUTYPE) _CPUCFLAGS = . if ${MACHINE_CPUARCH} == "aarch64" -MACHINE_CPU = arm64 +MACHINE_CPU = arm64 cortexa53 . elif ${MACHINE_CPUARCH} == "amd64" MACHINE_CPU = amd64 sse2 sse mmx . elif ${MACHINE_CPUARCH} == "arm" @@ -124,6 +124,14 @@ _CPUCFLAGS = -mcpu=${CPUTYPE} . elif ${MACHINE_ARCH:Mpowerpc64*} != "" _CPUCFLAGS = -mcpu=${CPUTYPE} . elif ${MACHINE_CPUARCH} == "aarch64" +MACHINE_CPU = arm64 +. if ${CPUTYPE} == "generic" +MACHINE_CPU += cortexa53 +. elif ${CPUTYPE} == "armv8-a" +MACHINE_CPU += cortexa53 +. elif ${CPUTYPE:M*cortex-a53*} != "" +MACHINE_CPU += cortexa53 +. endif . if ${CPUTYPE:Marmv*} != "" # Use -march when the CPU type is an architecture value, e.g. armv8.1-a _CPUCFLAGS = -march=${CPUTYPE} @@ -302,6 +310,14 @@ MACHINE_CPU = riscv . endif .endif +########## arm64/aarch64 +.if ${MACHINE_CPUARCH} == "aarch64" +# Add the Cortex-A53 erratum 843419 workaround if we are targeting it. +. if ${MACHINE_CPU:Mcortexa53} != "" +LDFLAGS += -Wl,--fix-cortex-a53-843419 +. endif +.endif + ########## arm .if ${MACHINE_CPUARCH} == "arm" MACHINE_CPU += arm |
