Use MACHINE_CPUARCH when checking for arm64

Use MACHINE_CPUARCH with arm64 (aarch64) when we build code that could run
on any 64-bit Arm instruction set. This will simplify checks in downstream
consumers targeting prototype instruction sets.

The only place we check for MACHINE_ARCH == aarch64 is when building the
device tree blobs. As these are targeting current generation ISAs.

Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D26370
This commit is contained in:
Andrew Turner 2020-09-14 16:12:28 +00:00
parent 5fb8eca870
commit 2a6803de1c
8 changed files with 9 additions and 9 deletions

View File

@ -82,7 +82,7 @@ CFLAGS += -DHAVE_SSE2
ARCH_C += zfs_fletcher_avx512.c
CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
.endif
.if ${MACHINE_ARCH} == "aarch64"
.if ${MACHINE_CPUARCH} == "aarch64"
ARCH_C += zfs_fletcher_aarch64_neon.c
.endif

View File

@ -187,7 +187,7 @@ ARCH_C += zfs_fletcher_avx512.c
CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \
-DHAVE_AVX512BW
.endif
.if ${MACHINE_ARCH} == "aarch64"
.if ${MACHINE_CPUARCH} == "aarch64"
ARCH_C += zfs_fletcher_aarch64_neon.c
.endif

View File

@ -7,10 +7,10 @@ INCS= pmc.h pmclog.h pmcformat.h
CFLAGS+= -I${SRCTOP}/${RELDIR:H}/libpmcstat
.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
${MACHINE_ARCH} == "i386"
.if ${MACHINE_ARCH} == "aarch64"
.if ${MACHINE_CPUARCH} == "aarch64"
EVENT_ARCH="arm64"
.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
EVENT_ARCH="x86"

View File

@ -1,6 +1,6 @@
# $FreeBSD$
.if ${MACHINE_ARCH} == "aarch64" || \
.if ${MACHINE_CPUARCH} == "aarch64" || \
${MACHINE_ARCH} == "amd64" || \
${MACHINE_ARCH} == "i386" || \
(${MACHINE} == "arm" && ${MACHINE_ARCH:Marm*eb*} == "") || \

View File

@ -187,7 +187,7 @@ CWARNFLAGS+= -Wno-error=aggressive-loop-optimizations \
.endif
# GCC's own arm_neon.h triggers various warnings
.if ${MACHINE_ARCH} == "aarch64"
.if ${MACHINE_CPUARCH} == "aarch64"
CWARNFLAGS+= -Wno-system-headers
.endif
.endif # gcc

View File

@ -22,7 +22,7 @@ SYSDIR= ${S}
.for _dts in ${DTS}
# DTB for aarch64 needs to preserve the immediate parent of the .dts, because
# these DTS are vendored and should be installed into their vendored directory.
.if ${MACHINE_ARCH} == "aarch64"
.if ${MACHINE_CPUARCH} == "aarch64"
DTB+= ${_dts:R:S/$/.dtb/}
.else
DTB+= ${_dts:T:R:S/$/.dtb/}

View File

@ -57,7 +57,7 @@ LIBADD.mqueue_test+= rt
.if ${MACHINE_ARCH} == "amd64" || \
${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "aarch64"
${MACHINE_CPUARCH} == "aarch64"
ATF_TESTS_C+= libkern_crc32
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
LDADD.libkern_crc32+= ${SRCTOP}/sys/libkern/x86/crc32_sse42.c

View File

@ -5,7 +5,7 @@ PROG= gcore
SRCS= elfcore.c gcore.c
LIBADD= sbuf util
.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
${MACHINE_ARCH} == "powerpc64"
SRCS+= elf32core.c
.endif