summaryrefslogtreecommitdiff
path: root/share/mk
diff options
context:
space:
mode:
authorBrandon Bergren <bdragon@FreeBSD.org>2020-09-22 23:49:30 +0000
committerBrandon Bergren <bdragon@FreeBSD.org>2020-09-22 23:49:30 +0000
commitb75abea4d0879c9e650928edf74ed90a0a790dfe (patch)
tree37b087b7c8c22cfc5be34efa37d1ab0e68057280 /share/mk
parent2be2e7e549294af3efd0832a7d8970ad07994be0 (diff)
downloadsrc-test2-b75abea4d0879c9e650928edf74ed90a0a790dfe.tar.gz
src-test2-b75abea4d0879c9e650928edf74ed90a0a790dfe.zip
[PowerPC64LE] Set up powerpc.powerpc64le architecture
This is the initial set up for PowerPC64LE. The current plan is for this arch to remain experimental for FreeBSD 13. This started as a weekend learning project for me and kinda snowballed from there. (More to follow momentarily.) Reviewed by: imp (earlier version), emaste Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D26399
Notes
Notes: svn path=/head/; revision=366032
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.cpu.mk2
-rw-r--r--share/mk/bsd.endian.mk1
-rw-r--r--share/mk/local.meta.sys.mk2
-rw-r--r--share/mk/src.opts.mk6
-rw-r--r--share/mk/sys.mk2
5 files changed, 7 insertions, 6 deletions
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index 923dcf49bdda..cc907d79d03e 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -128,7 +128,7 @@ _CPUCFLAGS = -Wa,-me500 -msoft-float
. else
_CPUCFLAGS = -mcpu=${CPUTYPE} -mno-powerpc64
. endif
-. elif ${MACHINE_ARCH} == "powerpc64"
+. elif ${MACHINE_ARCH:Mpowerpc64*} != ""
_CPUCFLAGS = -mcpu=${CPUTYPE}
. elif ${MACHINE_CPUARCH} == "mips"
# mips[1234], mips32, mips64, and all later releases need to have mips
diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk
index 03c997e1e59b..667ee174c184 100644
--- a/share/mk/bsd.endian.mk
+++ b/share/mk/bsd.endian.mk
@@ -4,6 +4,7 @@
${MACHINE_ARCH} == "amd64" || \
${MACHINE_ARCH} == "i386" || \
(${MACHINE} == "arm" && ${MACHINE_ARCH:Marm*eb*} == "") || \
+ ${MACHINE_ARCH} == "powerpc64le" || \
${MACHINE_CPUARCH} == "riscv" || \
${MACHINE_ARCH:Mmips*el*} != ""
TARGET_ENDIANNESS= 1234
diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk
index 0212d00ee1d9..aaf6ecc5fe58 100644
--- a/share/mk/local.meta.sys.mk
+++ b/share/mk/local.meta.sys.mk
@@ -17,7 +17,7 @@ MK_INSTALL_AS_USER= yes
TARGET_ARCHES_arm?= arm armv6 armv7
TARGET_ARCHES_arm64?= aarch64
TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipsn32el
-TARGET_ARCHES_powerpc?= powerpc powerpc64 powerpcspe
+TARGET_ARCHES_powerpc?= powerpc powerpc64 powerpc64le powerpcspe
TARGET_ARCHES_riscv?= riscv64 riscv64sf
# some corner cases
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index b0efef7d4564..d71b05d3ec99 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -354,14 +354,14 @@ BROKEN_OPTIONS+=MLX5TOOL
BROKEN_OPTIONS+=HYPERV
.endif
-# NVME is only aarch64, x86 and powerpc64
+# NVME is only aarch64, x86 and powerpc64*
.if ${__T} != "aarch64" && ${__T} != "amd64" && ${__T} != "i386" && \
- ${__T} != "powerpc64"
+ ${__T:Mpowerpc64*} == ""
BROKEN_OPTIONS+=NVME
.endif
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \
- ${__T} == "powerpc64"
+ ${__T:Mpowerpc64*} != ""
__DEFAULT_YES_OPTIONS+=OPENMP
.else
__DEFAULT_NO_OPTIONS+=OPENMP
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index f064c7eda41d..b3843bb779b7 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -13,7 +13,7 @@ unix ?= We run FreeBSD, not UNIX.
# and/or endian. This is called MACHINE_CPU in NetBSD, but that's used
# for something different in FreeBSD.
#
-__TO_CPUARCH=C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v[67])?(eb)?/arm/:C/powerpc(64|spe)/powerpc/:C/riscv64(sf)?/riscv/
+__TO_CPUARCH=C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v[67])?(eb)?/arm/:C/powerpc(64|64le|spe)/powerpc/:C/riscv64(sf)?/riscv/
MACHINE_CPUARCH=${MACHINE_ARCH:${__TO_CPUARCH}}
.endif