diff options
author | Brandon Bergren <bdragon@FreeBSD.org> | 2020-09-22 23:49:30 +0000 |
---|---|---|
committer | Brandon Bergren <bdragon@FreeBSD.org> | 2020-09-22 23:49:30 +0000 |
commit | b75abea4d0879c9e650928edf74ed90a0a790dfe (patch) | |
tree | 37b087b7c8c22cfc5be34efa37d1ab0e68057280 /share/mk | |
parent | 2be2e7e549294af3efd0832a7d8970ad07994be0 (diff) | |
download | src-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.mk | 2 | ||||
-rw-r--r-- | share/mk/bsd.endian.mk | 1 | ||||
-rw-r--r-- | share/mk/local.meta.sys.mk | 2 | ||||
-rw-r--r-- | share/mk/src.opts.mk | 6 | ||||
-rw-r--r-- | share/mk/sys.mk | 2 |
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 |