head	1.31;
access;
symbols
	RELENG_8_4:1.31.0.2
	RELENG_9_1_0_RELEASE:1.29.2.1.4.2
	RELENG_9_1:1.29.2.1.0.4
	RELENG_9_1_BP:1.29.2.1
	RELENG_8_3_0_RELEASE:1.25.2.2.6.1
	RELENG_8_3:1.25.2.2.0.6
	RELENG_8_3_BP:1.25.2.2
	RELENG_9_0_0_RELEASE:1.29.2.1.2.1
	RELENG_9_0:1.29.2.1.0.2
	RELENG_9_0_BP:1.29.2.1
	RELENG_9:1.29.0.2
	RELENG_9_BP:1.29
	RELENG_8_2_0_RELEASE:1.25.2.2.4.1
	RELENG_8_2:1.25.2.2.0.4
	RELENG_8_2_BP:1.25.2.2
	RELENG_8_1_0_RELEASE:1.25.2.2.2.1
	RELENG_8_1:1.25.2.2.0.2
	RELENG_8_1_BP:1.25.2.2
	RELENG_8_0_0_RELEASE:1.25.2.1.2.1
	RELENG_8_0:1.25.2.1.0.2
	RELENG_8_0_BP:1.25.2.1
	RELENG_8:1.25.0.2
	RELENG_8_BP:1.25
	old_RELENG_6_3:1.18.0.10
	old_RELENG_6_3_BP:1.18
	old_RELENG_7:1.19.0.2
	old_RELENG_7_BP:1.19
	old_RELENG_6_2_0_RELEASE:1.18
	old_RELENG_6_2:1.18.0.8
	old_RELENG_6_2_BP:1.18
	old_RELENG_6_1_0_RELEASE:1.18
	old_RELENG_6_1:1.18.0.6
	old_RELENG_6_1_BP:1.18
	old_RELENG_6_0_0_RELEASE:1.18
	old_RELENG_6_0:1.18.0.4
	old_RELENG_6_0_BP:1.18
	old_RELENG_6:1.18.0.2
	old_RELENG_6_BP:1.18
	old_RELENG_5_BP:1.16
	old_RELENG_5_2_1_RELEASE:1.11
	old_RELENG_5_2_0_RELEASE:1.11
	old_RELENG_5_2:1.11.0.2
	old_RELENG_5_2_BP:1.11
	old_RELENG_5_1_0_RELEASE:1.10
	old_RELENG_5_1:1.10.0.4
	old_RELENG_5_1_BP:1.10
	old_RELENG_5_0_0_RELEASE:1.10
	old_RELENG_5_0:1.10.0.2
	old_RELENG_5_0_BP:1.10
	old_KSE_MILESTONE_2:1.5
	old_KSE_PRE_MILESTONE_2:1.5;
locks; strict;
comment	@# @;


1.31
date	2012.11.17.01.51.19;	author svnexp;	state Exp;
branches
	1.31.2.1;
next	1.30;

1.30
date	2012.11.07.02.14.03;	author dteske;	state Exp;
branches;
next	1.29;

1.29
date	2011.05.29.14.27.11;	author andreast;	state Exp;
branches
	1.29.2.1;
next	1.28;

1.28
date	2011.05.28.08.50.38;	author julian;	state Exp;
branches;
next	1.27;

1.27
date	2010.07.12.00.49.22;	author nwhitehorn;	state Exp;
branches;
next	1.26;

1.26
date	2010.02.20.16.28.37;	author nwhitehorn;	state Exp;
branches;
next	1.25;

1.25
date	2009.02.21.15.04.31;	author ru;	state Exp;
branches
	1.25.2.1;
next	1.24;

1.24
date	2008.06.25.21.33.28;	author ru;	state Exp;
branches;
next	1.23;

1.23
date	2008.02.23.17.48.23;	author marcel;	state Exp;
branches;
next	1.22;

1.22
date	2008.02.11.12.30.32;	author raj;	state Exp;
branches;
next	1.21;

1.21
date	2007.12.26.19.15.58;	author marcel;	state Exp;
branches;
next	1.20;

1.20
date	2007.12.17.22.18.07;	author marcel;	state Exp;
branches;
next	1.19;

1.19
date	2006.03.17.18.54.36;	author ru;	state Exp;
branches;
next	1.18;

1.18
date	2004.12.21.12.32.15;	author ru;	state Exp;
branches;
next	1.17;

1.17
date	2004.08.18.11.31.00;	author grehan;	state Exp;
branches;
next	1.16;

1.16
date	2004.08.16.15.45.25;	author marius;	state Exp;
branches;
next	1.15;

1.15
date	2004.08.02.03.06.21;	author grehan;	state Exp;
branches;
next	1.14;

1.14
date	2004.07.08.12.52.35;	author grehan;	state Exp;
branches;
next	1.13;

1.13
date	2004.02.09.21.54.54;	author grehan;	state Exp;
branches;
next	1.12;

1.12
date	2003.12.10.09.16.22;	author grehan;	state Exp;
branches;
next	1.11;

1.11
date	2003.08.16.02.48.20;	author obrien;	state Exp;
branches;
next	1.10;

1.10
date	2002.07.10.12.13.16;	author benno;	state Exp;
branches;
next	1.9;

1.9
date	2002.06.07.11.49.56;	author benno;	state Exp;
branches;
next	1.8;

1.8
date	2002.05.10.09.26.34;	author obrien;	state Exp;
branches;
next	1.7;

1.7
date	2001.10.07.13.22.25;	author benno;	state Exp;
branches;
next	1.6;

1.6
date	2001.09.12.10.25.50;	author ru;	state Exp;
branches;
next	1.5;

1.5
date	2001.06.21.00.08.23;	author peter;	state Exp;
branches;
next	1.4;

1.4
date	2001.06.14.01.23.57;	author peter;	state Exp;
branches;
next	1.3;

1.3
date	2001.03.27.11.59.22;	author ru;	state Exp;
branches;
next	1.2;

1.2
date	2000.11.10.06.39.57;	author benno;	state Exp;
branches;
next	1.1;

1.1
date	2000.10.16.10.46.16;	author obrien;	state Exp;
branches;
next	;

1.31.2.1
date	2012.11.17.01.51.19;	author svnexp;	state dead;
branches;
next	1.31.2.2;

1.31.2.2
date	2013.03.28.13.04.03;	author svnexp;	state Exp;
branches;
next	;

1.29.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.29.2.1.2.1
	1.29.2.1.4.1;
next	1.29.2.2;

1.29.2.2
date	2012.11.17.11.36.48;	author svnexp;	state Exp;
branches;
next	1.29.2.3;

1.29.2.3
date	2013.08.09.15.01.43;	author svnexp;	state Exp;
branches;
next	;

1.29.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.29.2.1.2.2;

1.29.2.1.2.2
date	2012.11.17.08.36.46;	author svnexp;	state Exp;
branches;
next	;

1.29.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.29.2.1.4.2;

1.29.2.1.4.2
date	2012.11.17.08.47.36;	author svnexp;	state Exp;
branches;
next	;

1.25.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.25.2.1.2.1;
next	1.25.2.2;

1.25.2.2
date	2010.03.01.00.35.30;	author nwhitehorn;	state Exp;
branches
	1.25.2.2.2.1
	1.25.2.2.4.1
	1.25.2.2.6.1;
next	1.25.2.3;

1.25.2.3
date	2012.11.17.10.36.28;	author svnexp;	state Exp;
branches;
next	;

1.25.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.25.2.2.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.25.2.2.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.25.2.2.6.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.25.2.2.6.2;

1.25.2.2.6.2
date	2012.11.17.08.25.08;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.31
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/boot/powerpc/ofw/Makefile 242688 2012-11-07 02:14:03Z dteske $

.include <bsd.own.mk>
MK_SSP=		no

PROG=		loader
NEWVERSWHAT=	"Open Firmware loader" ${MACHINE_ARCH}
BINDIR?=	/boot
INSTALLFLAGS=	-b

# Architecture-specific loader code
SRCS=		conf.c metadata.c vers.c start.c
SRCS+=		ucmpdi2.c

LOADER_DISK_SUPPORT?=	yes
LOADER_UFS_SUPPORT?=	yes
LOADER_CD9660_SUPPORT?=	yes
LOADER_EXT2FS_SUPPORT?=	no
LOADER_NET_SUPPORT?=	yes
LOADER_NFS_SUPPORT?=	yes
LOADER_TFTP_SUPPORT?=	no
LOADER_GZIP_SUPPORT?=	yes
LOADER_BZIP2_SUPPORT?=	no

.if ${LOADER_DISK_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_DISK_SUPPORT
.endif
.if ${LOADER_UFS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_UFS_SUPPORT
.endif
.if ${LOADER_CD9660_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_CD9660_SUPPORT
.endif
.if ${LOADER_EXT2FS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_EXT2FS_SUPPORT
.endif
.if ${LOADER_GZIP_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_GZIP_SUPPORT
.endif
.if ${LOADER_BZIP2_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
.if ${LOADER_NET_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_NET_SUPPORT
.endif
.if ${LOADER_NFS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_NFS_SUPPORT
.endif
.if ${LOADER_TFTP_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_TFTP_SUPPORT
.endif

.if ${MK_FORTH} != "no"
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

# Avoid the open-close-dance for every file access as some firmwares perform
# an auto-negotiation on every open of the network interface and thus causes
# netbooting to take horribly long.
CFLAGS+=	-DNETIF_OPEN_CLOSE_ONCE

# Always add MI sources
.PATH:		${.CURDIR}/../../common ${.CURDIR}/../../../libkern
.include	"${.CURDIR}/../../common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../..
CFLAGS+=	-I.

CLEANFILES+=	vers.c loader.help

CFLAGS+=	-ffreestanding -msoft-float
# load address. set in linker script
RELOC?=		0x1C00000
CFLAGS+=	-DRELOC=${RELOC}

LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.powerpc

# 64-bit bridge extensions
CFLAGS+= -Wa,-mppc64bridge

# Pull in common loader code
.PATH:		${.CURDIR}/../../ofw/common
.include	"${.CURDIR}/../../ofw/common/Makefile.inc"

# Open Firmware standalone support library
LIBOFW=		${.OBJDIR}/../../ofw/libofw/libofw.a
CFLAGS+=	-I${.CURDIR}/../../ofw/libofw

# where to get libstand from
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/

DPADD=		${LIBFICL} ${LIBOFW} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBOFW} -lstand

vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}

loader.help: help.common help.ofw
	cat ${.ALLSRC} | \
	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}

.PATH: ${.CURDIR}/../../forth
FILES=	loader.help loader.4th support.4th loader.conf
FILES+=	screen.4th frames.4th
FILES+=	beastie.4th brand.4th check-password.4th color.4th delay.4th
FILES+=	menu.4th menu-commands.4th menusets.4th shortcuts.4th version.4th
FILESDIR_loader.conf=	/boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+= loader.rc
.endif

.if !exists(${DESTDIR}/boot/menu.rc)
FILES+= menu.rc
.endif

.include <bsd.prog.mk>
@


1.31.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:04:03 +0000
@
text
@d1 119
@


1.31.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 111
# $FreeBSD: releng/8.4/sys/boot/powerpc/ofw/Makefile 204495 2010-03-01 00:35:30Z nwhitehorn $

.include <bsd.own.mk>
MK_SSP=		no

PROG=		loader
NEWVERSWHAT=	"Open Firmware loader" ${MACHINE_ARCH}
BINDIR?=	/boot
INSTALLFLAGS=	-b

# Architecture-specific loader code
SRCS=		conf.c metadata.c vers.c start.c

LOADER_DISK_SUPPORT?=	yes
LOADER_UFS_SUPPORT?=	yes
LOADER_CD9660_SUPPORT?=	yes
LOADER_EXT2FS_SUPPORT?=	no
LOADER_NET_SUPPORT?=	yes
LOADER_NFS_SUPPORT?=	yes
LOADER_TFTP_SUPPORT?=	no
LOADER_GZIP_SUPPORT?=	yes
LOADER_BZIP2_SUPPORT?=	no

.if ${LOADER_DISK_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_DISK_SUPPORT
.endif
.if ${LOADER_UFS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_UFS_SUPPORT
.endif
.if ${LOADER_CD9660_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_CD9660_SUPPORT
.endif
.if ${LOADER_EXT2FS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_EXT2FS_SUPPORT
.endif
.if ${LOADER_GZIP_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_GZIP_SUPPORT
.endif
.if ${LOADER_BZIP2_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
.if ${LOADER_NET_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_NET_SUPPORT
.endif
.if ${LOADER_NFS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_NFS_SUPPORT
.endif
.if ${LOADER_TFTP_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_TFTP_SUPPORT
.endif

.if ${MK_FORTH} != "no"
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

# Avoid the open-close-dance for every file access as some firmwares perform
# an auto-negotiation on every open of the network interface and thus causes
# netbooting to take horribly long.
CFLAGS+=	-DNETIF_OPEN_CLOSE_ONCE

# Always add MI sources
.PATH:		${.CURDIR}/../../common
.include	"${.CURDIR}/../../common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../common
CFLAGS+=	-I.

CLEANFILES+=	vers.c loader.help

CFLAGS+=	-ffreestanding -msoft-float
# load address. set in linker script
RELOC?=		0x1C00000
CFLAGS+=	-DRELOC=${RELOC}

LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.powerpc

# 64-bit bridge extensions
CFLAGS+= -Wa,-mppc64bridge

# Pull in common loader code
.PATH:		${.CURDIR}/../../ofw/common
.include	"${.CURDIR}/../../ofw/common/Makefile.inc"

# Open Firmware standalone support library
LIBOFW=		${.OBJDIR}/../../ofw/libofw/libofw.a
CFLAGS+=	-I${.CURDIR}/../../ofw/libofw

# where to get libstand from
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/

DPADD=		${LIBFICL} ${LIBOFW} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBOFW} -lstand

vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}

loader.help: help.common help.ofw
	cat ${.ALLSRC} | \
	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}

.PATH: ${.CURDIR}/../../forth
FILES=	loader.help loader.4th support.4th loader.conf
FILESDIR_loader.conf=	/boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+= loader.rc
.endif

.include <bsd.prog.mk>
@


1.30
log
@SVN rev 242688 on 2012-11-07 02:14:03Z by dteske

Hook in new files menusets.4th and manual.

Approved by:	adrian (co-mentor) (implicit)
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.29
log
@SVN rev 222450 on 2011-05-29 14:27:11Z by andreast

Add some missing files. Without we hang in the OF prompt asking for screen.4th.

Approved by:	nwhitehorn (mentor)
@
text
@d108 1
a108 1
FILES+=	menu.4th menu-commands.4th shortcuts.4th version.4th
@


1.29.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.29.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/powerpc/ofw/Makefile 222450 2011-05-29 14:27:11Z andreast $
@


1.29.2.3
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/254146
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/powerpc/ofw/Makefile 254146 2013-08-09 14:17:47Z dteske $
d108 1
a108 1
FILES+=	menu.4th menu-commands.4th menusets.4th shortcuts.4th version.4th
@


1.29.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.29.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/powerpc/ofw/Makefile 222450 2011-05-29 14:27:11Z andreast $
@


1.29.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.29.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/powerpc/ofw/Makefile 222450 2011-05-29 14:27:11Z andreast $
@


1.28
log
@SVN rev 222417 on 2011-05-28 08:50:38Z by julian

New boot loader menus from Devin Teske.
Discussed on hackers and recommended for inclusion into 9.0 at the devsummit.
All support email to devin   dteske at vicor dot ignoreme dot com .

Submitted by:	dteske at vicor dot ignoreme dot com
Reviewed by:	me and many others
@
text
@d106 1
@


1.27
log
@SVN rev 209920 on 2010-07-12 00:49:22Z by nwhitehorn

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.
@
text
@d106 2
d114 4
@


1.26
log
@SVN rev 204129 on 2010-02-20 16:28:37Z by nwhitehorn

Enable NETIF_OPEN_CLOSE_ONCE on PowerPC OFW. This fixes netbooting on
PowerPC Book-S hardware, which had been broken for a very long time.

Submitted by:	Andreas Tobler
MFC after:	1 week
@
text
@d13 1
d66 1
a66 1
.PATH:		${.CURDIR}/../../common
d68 1
a68 1
CFLAGS+=	-I${.CURDIR}/../../common
@


1.25
log
@SVN rev 188895 on 2009-02-21 15:04:31Z by ru

Fix build when WITH_SSP is set explicitly.

Submitted by:	Jeremie Le Hen
@
text
@d59 5
@


1.25.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.25.2.2
log
@SVN rev 204495 on 2010-03-01 00:35:30Z by nwhitehorn

MFC r204129:

Enable NETIF_OPEN_CLOSE_ONCE on PowerPC OFW. This fixes netbooting on
PowerPC Book-S hardware, which had been broken for a very long time.

Submitted by:	Andreas Tobler
@
text
@a58 5
# Avoid the open-close-dance for every file access as some firmwares perform
# an auto-negotiation on every open of the network interface and thus causes
# netbooting to take horribly long.
CFLAGS+=	-DNETIF_OPEN_CLOSE_ONCE

@


1.25.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/boot/powerpc/ofw/Makefile 204495 2010-03-01 00:35:30Z nwhitehorn $
@


1.25.2.2.6.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.25.2.2.6.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/powerpc/ofw/Makefile 204495 2010-03-01 00:35:30Z nwhitehorn $
@


1.25.2.2.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.25.2.2.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.25.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.24
log
@SVN rev 180012 on 2008-06-25 21:33:28Z by ru

Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@@le-hen.org>
@
text
@a2 2
WITHOUT_SSP=

d4 1
@


1.23
log
@We build ficl and libofw with -msoft-float. Build the loader
with -msoft-float too.
@
text
@d3 2
@


1.22
log
@Clean up PowerPC loader(8) build config.

Turn off TFTP support by default: when both TFTP and NFS are enabled in the
loader, strange interactions occur in the pure netbooting scenario (i.e.
loader is TFTP-ed, kernel+world mounted over NFS), leading to very slow access
to the NFS-exported files.

Reviewed by:	grehan
Approved by:	cognet (mentor)
@
text
@d66 1
a66 1
CFLAGS+=	-ffreestanding
@


1.21
log
@"FreeBSD/Open Firmware/PowerPC ..." is confusing and non-standard.
Use "FreeBSD/powerpc Open Firmware ..." instead.
@
text
@d19 1
a19 1
LOADER_TFTP_SUPPORT?=	yes
@


1.20
log
@Forced commit to record that this file was repocopied from
src/sys/boot/powerpc/loader.

Repocopy by: simon@@
@
text
@d6 1
a6 1
NEWVERSWHAT=	"bootstrap loader" "Open Firmware/PowerPC"
@


1.19
log
@Reimplementation of world/kernel build options.  For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
@
text
@@


1.18
log
@NOFORTH -> NO_FORTH
@
text
@d3 2
d51 1
a51 1
.if !defined(NO_FORTH)
@


1.17
log
@Remove NOMAN so loader man pages are installed.

Noticed by:	ru
@
text
@d49 1
a49 1
.if !defined(NOFORTH)
@


1.16
log
@Instead of "OpenFirmware", "openfirmware", etc. use the official spelling
"Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended).

Ok'ed by:	tmm
@
text
@a3 1
NOMAN=
@


1.15
log
@Add PowerPC bridge instruction flag to the assembler to help out
with test code written in the loader.
@
text
@d5 1
a5 1
NEWVERSWHAT=	"bootstrap loader" OpenFirmware/PowerPC
d79 1
a79 1
# OpenFirmware standalone support library
@


1.14
log
@Use a linker script for the loader. This avoids issues with
command-line options, such as misaligning the data segment.
Exposed by the limited PearPC OFW ELF loader, but a good thing in
general.
@
text
@d72 3
@


1.13
log
@Loader makefile cleanup.

Submitted by:  ru
@
text
@d66 1
a66 1
# load address
d69 2
a70 1
LDFLAGS=	-nostdlib -static -Ttext ${RELOC}
@


1.12
log
@- Bring Makefile up to rev with sparc64 in terms of config options and rules
- Move loader relocation up to 0x1C00000. This is in line with OSX bootx,
  and allows more space for boot-time modules/ramdisks without conflicting
  with OpenFirmware's use of RAM
@
text
@d3 1
a3 2
BASE=		loader
PROG=		${BASE}
a4 1
STRIP=
d9 1
a9 1
# architecture-specific loader code
d22 1
a22 1
.if defined(LOADER_DISK_SUPPORT)
d34 7
a40 1
.if defined(LOADER_NET_SUPPORT)
a48 6
.if ${LOADER_GZIP_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_GZIP_SUPPORT
.endif
.if ${LOADER_BZIP2_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_BZIP2_SUPPORT
.endif
a53 1
.if exists(${.OBJDIR}/../../ficl/libficl.a)
a54 3
.else
LIBFICL=	${.CURDIR}/../../ficl/libficl.a
.endif
d57 1
a57 1
# Always add MI sources 
d59 1
a59 1
.include	<${.CURDIR}/../../common/Makefile.inc>
d61 1
a61 1
CFLAGS+=	-I${.CURDIR}/../../.. -I.
d63 1
a63 1
CLEANFILES+=	vers.c ${BASE}.help
d73 1
a73 1
.include	<${.CURDIR}/../../ofw/common/Makefile.inc>
a79 8
#XXX need a better way to do this
LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
.if !exists(${LIBSTAND})
LIBSTAND=	-lstand
.endif
.endif
d82 2
a83 5
LDADD=		${LIBFICL} ${LIBOFW} ${LIBSTAND}

# Debug me!
CFLAGS+=	-g
LDFLAGS+=	-g
d88 1
a88 1
${BASE}.help: help.common help.ofw
d93 1
a93 1
FILES=  ${BASE}.help loader.4th support.4th loader.conf
a99 1
# Cannot use ${OBJS} above this line
a100 9

.if exists(${.CURDIR}/../../../powerpc/include)
beforedepend ${OBJS}: machine

machine:
	ln -sf ${.CURDIR}/../../../powerpc/include machine
.endif

CLEANFILES+=	machine
@


1.11
log
@FICL doesn't build on PowerPC yet, so disable.
@
text
@d11 3
d15 3
d19 4
a22 12

CFLAGS+=	-ffreestanding
# load address
RELOC?=		0x6c0000
CFLAGS+=	-DRELOC=${RELOC}

# architecture-specific loader code
SRCS=		conf.c metadata.c

# Pull in common loader code
.PATH:		${.CURDIR}/../../ofw/common
.include	<${.CURDIR}/../../ofw/common/Makefile.inc>
d27 9
d39 12
d52 10
a61 10
###.if !defined(NOFORTH)
#### Enable BootForth
###BOOT_FORTH=	yes
###CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
###.if exists(${.OBJDIR}/../../ficl/libficl.a)
###LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
###.else
###LIBFICL=	${.CURDIR}/../../ficl/libficl.a
###.endif
###.endif
d69 1
a69 1
CLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help
d71 4
d77 4
d96 1
a96 2
# OpenFirmware is expecting ELF components
CFLAGS+=	-elf
d102 1
a102 1
vers.o:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
a103 1
	${CC} -c vers.c
d106 6
a111 1
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
a112 8
beforeinstall:
.if exists(${.OBJDIR}/loader.help)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
.else
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
.endif
d114 1
a114 2
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
a115 13
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults

${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o
	${LD} ${LDFLAGS} -o ${.TARGET} start.o ${OBJS} \
		vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND}

machine:
	ln -sf ${.CURDIR}/../../../powerpc/include machine
d120 1
d123 5
a127 2
CLEANFILES+=	machine setdefs.h setdef0.c setdef1.c setdef0.o setdef1.o \
		start.o
@


1.10
log
@Add support for passing metadata.
@
text
@d33 10
a42 10
.if !defined(NOFORTH)
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
.if exists(${.OBJDIR}/../../ficl/libficl.a)
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.else
LIBFICL=	${.CURDIR}/../../ficl/libficl.a
.endif
.endif
@


1.9
log
@Uncomment some bits that we now need.
@
text
@d20 1
a20 1
SRCS=		conf.c
@


1.8
log
@-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)
@
text
@d61 6
a66 6
#.if !exists(${LIBSTAND})
#LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
#.if !exists(${LIBSTAND})
#LIBSTAND=	-lstand
#.endif
#.endif
@


1.7
log
@Mega-patch for OpenFirmware loader support.

- Flesh out ofw_readin routine.
- Add OpenFirmware load and exec routines.
- Make sure memory allocation for the kernel is done correctly.
- Change the way the heap is allocated so as to make it easier to deallocate
  when we hand over.
- Add a command to print memory maps similar to the one for ia64.

With this patch, I can now load and hand over to a kernel on my iMac.  There
are some problems with OpenFirmware routines failing after the hand over that
still need to be addressed.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.6 2001/09/12 10:25:50 ru Exp $
d14 1
a51 1
CFLAGS+=	-Wall
@


1.6
log
@Create backup copies using install(1).
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.5 2001/06/21 00:08:23 peter Exp $
d14 4
d52 1
a52 1
LDFLAGS=	-nostdlib -static -Ttext 6c0000
@


1.5
log
@Remove -DNEW_LINKERSET, it is not used here anymore.  This is now native.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.4 2001/06/14 01:23:57 peter Exp $
d9 1
a79 3
.if exists(${DESTDIR}/boot/loader)
	mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old
.endif
@


1.4
log
@Nuke old gensetdefs based linker sets with extreme prejudice
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.3 2001/03/27 11:59:22 ru Exp $
a65 3

# New linker set code
#CFLAGS+=	-DNEW_LINKER_SET
@


1.3
log
@MAN[1-9] -> MAN.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.2 2000/11/10 06:39:57 benno Exp $
d103 2
a104 2
${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o setdef0.o setdef1.o
	${LD} ${LDFLAGS} -o ${.TARGET} setdef0.o start.o ${OBJS} setdef1.o \
a106 4
setdef0.o:	setdefs.h

setdef1.o:	setdefs.h

a116 5

.ORDER: setdefs.h setdef0.c setdef1.c
setdefs.h setdef0.c setdef1.c: ${OBJS}
	@@echo Generating linker sets
	@@gensetdefs ${OBJS}
@


1.2
log
@OpenFirmware/PowerPC loader, part 2.

As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts
and talks to BOOTP/NFS servers.

(main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision
 history)

Reviewed by:	obrien
@
text
@d1 1
a1 1
# $FreeBSD$
a5 1
MAN1=
@


1.1
log
@"Ok, my loader's now up to putting up a prompt.  It probes disks partially
but can't boot from them yet."

Thanks to Stephane Potvin for the some of the code in this set.

Submitted by:	Benno Rice <benno@@jeamland.net>
@
text
@d7 1
d11 2
a12 1
NOGCCERROR=	YES
d17 5
d23 4
d40 4
a43 3
.PATH: ${.CURDIR}/../../common
.include <${.CURDIR}/../../common/Makefile.inc>
CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I.
d71 4
d80 1
a80 2
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \
	    > ${.TARGET}
d88 1
a88 1
	    ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
d91 1
a91 1
	    ${.CURDIR}/${BASE}.help ${DESTDIR}/boot
d95 1
a95 1
	    ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
d98 1
a98 1
	    ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
d100 1
a100 1
	    ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
d102 5
a106 1
	    ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
d108 1
a108 4
${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} powerpc.o vers.o setdef0.o \
    setdef1.o
	${LD} ${LDFLAGS} -o ${.TARGET} setdef0.o powerpc.o ${OBJS} setdef1.o \
	    vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND}
d110 1
a110 1
setdef0.o: setdefs.h
d112 2
a113 1
setdef1.o: setdefs.h
a117 2
# If it's not there, don't consider it a target
.if exists(${.CURDIR}/../../../ofw/include)
a119 5
machine:
	ln -sf ${.CURDIR}/../../../ofw/include machine

.endif

d121 1
a121 1
		powerpc.o
@

