summaryrefslogtreecommitdiffstats
path: root/sys/boot/ficl
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-07-12 00:49:22 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-07-12 00:49:22 +0000
commit88c6aef3299b7697de9a97ece63bc1b19b7c35c1 (patch)
treed99dc307dc7218f4c94faf9da092277a7c8ca452 /sys/boot/ficl
parent33836b0d5c1da9a4b3bd4f8eb8ba8496b77ce2b0 (diff)
downloadFreeBSD-src-88c6aef3299b7697de9a97ece63bc1b19b7c35c1.zip
FreeBSD-src-88c6aef3299b7697de9a97ece63bc1b19b7c35c1.tar.gz
Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,
64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all powerpc64 firmwares execute in 32-bit mode.
Diffstat (limited to 'sys/boot/ficl')
-rw-r--r--sys/boot/ficl/Makefile10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/boot/ficl/Makefile b/sys/boot/ficl/Makefile
index a967613..cdc8f7e 100644
--- a/sys/boot/ficl/Makefile
+++ b/sys/boot/ficl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/}
+.PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/:S/powerpc64/powerpc/}
BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \
prefix.c search.c stack.c tools.c vm.c words.c
@@ -14,7 +14,7 @@ CFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2
.if ${MACHINE_ARCH} == "i386"
CFLAGS+= -mno-sse3
.endif
-.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "arm"
+.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "arm"
CFLAGS+= -msoft-float
.endif
.if ${MACHINE} == "pc98"
@@ -45,7 +45,11 @@ SOFTWORDS= softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
CFLAGS+= -m32 -march=i386 -I.
.endif
-CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} \
+.if ${MACHINE_ARCH} == "powerpc64"
+CFLAGS+= -m32 -mcpu=powerpc -I.
+.endif
+
+CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/:S/powerpc64/powerpc/} \
-I${.CURDIR}/../common
softcore.c: ${SOFTWORDS} softcore.awk
OpenPOWER on IntegriCloud