head	1.15;
access;
symbols
	RELENG_8_4:1.15.0.2
	RELENG_9_1_0_RELEASE:1.7.2.1.4.2
	RELENG_9_1:1.7.2.1.0.4
	RELENG_9_1_BP:1.7.2.1
	RELENG_8_3_0_RELEASE:1.3.2.1.8.1
	RELENG_8_3:1.3.2.1.0.8
	RELENG_8_3_BP:1.3.2.1
	RELENG_9_0_0_RELEASE:1.7.2.1.2.1
	RELENG_9_0:1.7.2.1.0.2
	RELENG_9_0_BP:1.7.2.1
	RELENG_9:1.7.0.2
	RELENG_9_BP:1.7
	RELENG_8_2_0_RELEASE:1.3.2.1.6.1
	RELENG_8_2:1.3.2.1.0.6
	RELENG_8_2_BP:1.3.2.1
	RELENG_8_1_0_RELEASE:1.3.2.1.4.1
	RELENG_8_1:1.3.2.1.0.4
	RELENG_8_1_BP:1.3.2.1
	RELENG_8_0_0_RELEASE:1.3.2.1.2.1
	RELENG_8_0:1.3.2.1.0.2
	RELENG_8_0_BP:1.3.2.1
	RELENG_8:1.3.0.2
	RELENG_8_BP:1.3;
locks; strict;
comment	@# @;


1.15
date	2013.02.11.03.15.00;	author svnexp;	state Exp;
branches
	1.15.2.1;
next	1.14;

1.14
date	2013.02.06.00.43.40;	author svnexp;	state Exp;
branches;
next	1.13;

1.13
date	2013.01.20.00.57.34;	author svnexp;	state Exp;
branches;
next	1.12;

1.12
date	2012.12.15.21.48.43;	author svnexp;	state Exp;
branches;
next	1.11;

1.11
date	2012.11.17.01.51.14;	author svnexp;	state Exp;
branches;
next	1.10;

1.10
date	2012.09.09.11.40.37;	author ae;	state Exp;
branches;
next	1.9;

1.9
date	2012.05.27.16.27.04;	author kientzle;	state Exp;
branches;
next	1.8;

1.8
date	2012.05.17.10.11.18;	author gber;	state Exp;
branches;
next	1.7;

1.7
date	2010.08.23.01.37.55;	author imp;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	2010.08.23.01.33.27;	author imp;	state Exp;
branches;
next	1.5;

1.5
date	2010.06.13.12.46.32;	author raj;	state Exp;
branches;
next	1.4;

1.4
date	2010.05.25.15.21.39;	author raj;	state Exp;
branches;
next	1.3;

1.3
date	2008.11.27.16.53.01;	author raj;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2008.11.19.17.34.28;	author raj;	state Exp;
branches;
next	1.1;

1.1
date	2008.10.14.10.11.14;	author raj;	state Exp;
branches;
next	;

1.15.2.1
date	2013.02.11.03.15.00;	author svnexp;	state dead;
branches;
next	1.15.2.2;

1.15.2.2
date	2013.03.28.13.04.00;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.7.2.1.2.1
	1.7.2.1.4.1;
next	1.7.2.2;

1.7.2.2
date	2012.11.17.11.36.46;	author svnexp;	state Exp;
branches;
next	1.7.2.3;

1.7.2.3
date	2012.11.18.17.11.47;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.7.2.1.2.2;

1.7.2.1.2.2
date	2012.11.17.08.36.45;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.7.2.1.4.2;

1.7.2.1.4.2
date	2012.11.17.08.47.35;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.3.2.1.2.1
	1.3.2.1.4.1
	1.3.2.1.6.1
	1.3.2.1.8.1;
next	1.3.2.2;

1.3.2.2
date	2012.11.17.10.36.26;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.3.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.3.2.1.8.2;

1.3.2.1.8.2
date	2012.11.17.08.25.06;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.15
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/246647
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# $FreeBSD: head/sys/boot/arm/uboot/Makefile 246647 2013-02-11 02:15:26Z kientzle $

.include <bsd.own.mk>

PROG=		ubldr
NEWVERSWHAT=	"U-Boot loader" ${MACHINE_ARCH}
BINDIR?=	/boot
INSTALLFLAGS=	-b
WARNS?=		1
# Address at which ubldr will be loaded.
# This varies for different boards and SOCs.
UBLDR_LOADADDR?=	0x1000000

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

.if !defined(LOADER_NO_DISK_SUPPORT)
LOADER_DISK_SUPPORT?=	yes
.else
LOADER_DISK_SUPPORT=	no
.endif
LOADER_UFS_SUPPORT?=	yes
LOADER_CD9660_SUPPORT?=	no
LOADER_EXT2FS_SUPPORT?=	no
.if ${MK_NAND} != "no"
LOADER_NANDFS_SUPPORT?= yes
.else
LOADER_NANDFS_SUPPORT?= no
.endif
LOADER_NET_SUPPORT?=	yes
LOADER_NFS_SUPPORT?=	yes
LOADER_TFTP_SUPPORT?=	no
LOADER_GZIP_SUPPORT?=	no
LOADER_BZIP2_SUPPORT?=	no
.if ${MK_FDT} != "no"
LOADER_FDT_SUPPORT=	yes
.else
LOADER_FDT_SUPPORT=	no
.endif

.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_NANDFS_SUPPORT} == "yes"
CFLAGS+=	-DLOADER_NANDFS_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 ${LOADER_FDT_SUPPORT} == "yes"
CFLAGS+=	-I${.CURDIR}/../../fdt
CFLAGS+=	-I${.OBJDIR}/../../fdt
CFLAGS+=	-DLOADER_FDT_SUPPORT
LIBFDT=		${.OBJDIR}/../../fdt/libfdt.a
.endif

.if !defined(NO_FORTH)
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/arm
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

# 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

LDFLAGS=	-nostdlib -static
LDFLAGS+=	-T ldscript.generated
LDFLAGS+=	-T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}

# Pull in common loader code
.PATH:		${.CURDIR}/../../uboot/common
.include	"${.CURDIR}/../../uboot/common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../uboot/common

# U-Boot standalone support library
LIBUBOOT=	${.OBJDIR}/../../uboot/lib/libuboot.a
CFLAGS+=	-I${.CURDIR}/../../uboot/lib
CFLAGS+=	-I${.OBJDIR}/../../uboot/lib

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

# clang doesn't understand %D as a specifier to printf
NO_WERROR.clang=

DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand

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

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

${PROG}: ldscript.generated ${.CURDIR}/ldscript.${MACHINE_CPUARCH}

ldscript.generated::
	rm -f ldscript.generated.tmp
	echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >ldscript.generated.tmp
	if diff ldscript.generated ldscript.generated.tmp > /dev/null; then \
		true; \
	else \
		rm -f ldscript.generated; \
		mv ldscript.generated.tmp ldscript.generated; \
	fi

.PATH: ${.CURDIR}/../../forth
FILES=	loader.help

.include <bsd.prog.mk>
@


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


1.15.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 95
# $FreeBSD: releng/8.4/sys/boot/arm/uboot/Makefile 185375 2008-11-27 16:53:01Z raj $

PROG=		ubldr
NEWVERSWHAT=	"U-Boot loader" ${MACHINE_ARCH}
BINDIR?=	/boot
INSTALLFLAGS=	-b
WARNS?=		1

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

LOADER_DISK_SUPPORT?=	yes
LOADER_UFS_SUPPORT?=	yes
LOADER_CD9660_SUPPORT?=	no
LOADER_EXT2FS_SUPPORT?=	no
LOADER_NET_SUPPORT?=	yes
LOADER_NFS_SUPPORT?=	yes
LOADER_TFTP_SUPPORT?=	no
LOADER_GZIP_SUPPORT?=	no
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 !defined(NO_FORTH)
# Enable BootForth
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/arm
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

# 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

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

# Pull in common loader code
.PATH:		${.CURDIR}/../../uboot/common
.include	"${.CURDIR}/../../uboot/common/Makefile.inc"
CFLAGS+=	-I${.CURDIR}/../../uboot/common

# U-Boot standalone support library
LIBUBOOT=	${.OBJDIR}/../../uboot/lib/libuboot.a
CFLAGS+=	-I${.CURDIR}/../../uboot/lib
CFLAGS+=	-I${.OBJDIR}/../../uboot/lib

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

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

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

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

.PATH: ${.CURDIR}/../../forth
FILES=	loader.help

.include <bsd.prog.mk>
@


1.14
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/246369
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/sys/boot/arm/uboot/Makefile 246369 2013-02-05 20:03:58Z andrew $
d121 1
a121 1
loader.help: help.common help.uboot
@


1.13
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/245677
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/sys/boot/arm/uboot/Makefile 245677 2013-01-19 22:12:57Z andrew $
d115 2
a116 2
DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND} ${LIBGCC}
LDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand -lgcc
@


1.12
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/244278
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/sys/boot/arm/uboot/Makefile 244278 2012-12-15 21:47:05Z andrew $
d115 2
a116 2
DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand
@


1.11
log
@Switching exporter and resync
@
text
@d1 1
a1 1
# $FreeBSD: head/sys/boot/arm/uboot/Makefile 240277 2012-09-09 11:40:37Z ae $
d112 3
@


1.10
log
@SVN rev 240277 on 2012-09-09 11:40:37Z by ae

Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr.
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.9
log
@SVN rev 236159 on 2012-05-27 16:27:04Z by kientzle

Allow the load address used by ARM ubldr to be set via Make argument.

In particular, this simplifies scripts that build system
images.
@
text
@d17 1
d19 3
@


1.8
log
@SVN rev 235537 on 2012-05-17 10:11:18Z by gber

Import work done under project/nand (@@235533) into head.

The NAND Flash environment consists of several distinct components:
  - NAND framework (drivers harness for NAND controllers and NAND chips)
  - NAND simulator (NANDsim)
  - NAND file system (NAND FS)
  - Companion tools and utilities
  - Documentation (manual pages)

This work is still experimental. Please use with caution.

Obtained from: Semihalf
Supported by:  FreeBSD Foundation, Juniper Networks
@
text
@d10 3
d91 3
a93 1
LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
d118 12
@


1.7
log
@SVN rev 211676 on 2010-08-23 01:37:55Z by imp

It turns out that the OUTPUT_FORMAT should do the right thing for both endians...
@
text
@d18 5
d46 3
@


1.7.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.7.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/arm/uboot/Makefile 211676 2010-08-23 01:37:55Z imp $
@


1.7.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 243243
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r243243 | ae | 2012-11-18 17:09:29 +0000 (Sun, 18 Nov 2012) | 135 lines
## SVN ##
## SVN ## MFC 239054,239057,239058,239060,239066,239067,239068,239070,239073,
## SVN ##     239087,239088,239127,239210,239211,239230,239231,239232,239243,
## SVN ##     239292,239293,239294,239325,240272,240273,240274,240275,240276,
## SVN ##     240277,240335,240481,241023,241047,241053,241065,241068,241069,
## SVN ##     241070,241164,241809,241876
## SVN ##
## SVN ## 239054:
## SVN ##   Create the interface to work with various partition tables from the
## SVN ##   loader(8). The following partition tables are supported: BSD label, GPT,
## SVN ##   MBR, EBR and VTOC8.
## SVN ## 239057:
## SVN ##   Remove unused variables.
## SVN ## 239058:
## SVN ##   Introduce new API to work with disks from the loader's drivers.
## SVN ##   It uses new API from the part.c to work with partition tables.
## SVN ## 239060:
## SVN ##   When GPT signature is invalid in the primary GPT header, then try to
## SVN ##   read backup GPT header.
## SVN ## 239066:
## SVN ##   Add offset field to the i386_devdesc structure to be compatible with
## SVN ##   disk_devdesc structure. Update biosdisk driver to the new disk API.
## SVN ## 239067:
## SVN ##   Remove unneeded flag.
## SVN ## 239068:
## SVN ##   Teach the ZFS use new partitions API when probing.
## SVN ##   Note: now ZFS does probe only for partitions with type "freebsd-zfs"
## SVN ##   and "freebsd".
## SVN ## 239070:
## SVN ##   Add simple test program that uses the partition tables handling code.
## SVN ##   It is useful to test and debug how boot loader handles partition tables
## SVN ##   metadata.
## SVN ## 239073:
## SVN ##   Bump USERBOOT_VERSION.
## SVN ## 239087:
## SVN ##   Add to the debug output the offset from the parent partitioning scheme.
## SVN ## 239088:
## SVN ##   Fix start offset calculation for the EBR partitions.
## SVN ## 239127:
## SVN ##   As it turned out, there are some installations, where BSD label
## SVN ##   contains partitions with type zero. And it has worked.
## SVN ##   So, allow detect these partitions.
## SVN ## 239210:
## SVN ##   Add more debug messages.
## SVN ## 239211:
## SVN ##   Add another debug message.
## SVN ## 239230:
## SVN ##   Unbreak booting from the true dedicated disks.
## SVN ##   When we open the disk, check the type of partition table, that has
## SVN ##   been detected. If this is BSD label, then we assume this is DD mode.
## SVN ## 239231:
## SVN ##   Remove colons from the debug message, device name returned by the
## SVN ##   disk_fmtdev() already has the colons.
## SVN ## 239232:
## SVN ##   Restore the old behaviour. If requested partition is a BSD slice,
## SVN ##   but d_partition isn't explicitly set, then try to open BSD label and its
## SVN ##   first partition.
## SVN ## 239243:
## SVN ##   After r239066, reinitialize v86.ctl and v86.addr for int 13 EDD probing
## SVN ##   in sys/boot/i386/libi386/biosdisk.c.  Otherwise, when DISK_DEBUG is
## SVN ##   enabled, the DEBUG() macros will clobber those fields, and cause the
## SVN ##   probing to always fail mysteriously when debugging is enabled.
## SVN ## 239292:
## SVN ##   Explicitly terminate the string after strncpy(3).
## SVN ## 239293:
## SVN ##   Rework r239232 to unbreak ZFS detection on MBR slices.
## SVN ## 239294:
## SVN ##   Some BIOSes return incorrect number of sectors, make checks less
## SVN ##   strictly, to do not lost some partitions.
## SVN ## 239325:
## SVN ##   Add comment why the code has been disabled.
## SVN ## 240272:
## SVN ##   Make struct uboot_devdesc compatible with struct disk_devdesc.
## SVN ## 240273:
## SVN ##   Use disk_fmtdev() and disk_parsedev() functions from the new DISK API.
## SVN ## 240274:
## SVN ##   Update uboot's disk driver to use new DISK API.
## SVN ## 240275:
## SVN ##   Build disk.c only when DISK_SUPPORT is enabled.
## SVN ## 240276:
## SVN ##   Update according to the change of struct uboot_devdesc.
## SVN ## 240277:
## SVN ##   Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr.
## SVN ## 240335:
## SVN ##   Slightly reduce an overhead for the open() call in the zfsloader.
## SVN ##   libstand(3) tries to detect file system in the predefined order,
## SVN ##   but zfsloader usually is used for the booting from ZFS, and there is
## SVN ##   no need to try detect several file system types for each open() call.
## SVN ## 240481:
## SVN ##   The MBR data is not necessarily aligned.  This is a problem on ARM.
## SVN ## 241023:
## SVN ##   Make the loader a bit smarter, when it tries to open disk and the slice
## SVN ##   number is not exactly specified. When the disk has MBR, also try to read
## SVN ##   BSD label after ptable_getpart() call. When the disk has GPT, also set
## SVN ##   d_partition to 255.  Mostly, this is how it worked before.
## SVN ## 241047:
## SVN ##   Disable splitfs support, since we aren't support floppies for a long
## SVN ##   time. This slightly reduces an overhead, when loader tries to open
## SVN ##   file that doesn't exist.
## SVN ## 241053:
## SVN ##   Almost each time when loader opens a file, this leads to calling
## SVN ##   disk_open(). Very often this is called several times for one file.
## SVN ##   This leads to reading partition table metadata for each call. To
## SVN ##   reduce the number of disk I/O we have a simple block cache, but it
## SVN ##   is very dumb and more than half of I/O operations related to reading
## SVN ##   metadata, misses this cache.
## SVN ##
## SVN ##   Introduce new cache layer to resolve this problem. It is independent
## SVN ##   and doesn't need initialization like bcache, and will work by default
## SVN ##   for all loaders which use the new DISK API. A successful disk_open()
## SVN ##   call to each new disk or partition produces new entry in the cache.
## SVN ##   Even more, when disk was already open, now opening of any nested
## SVN ##   partitions does not require reading top level partition table.
## SVN ##   So, if without this cache, partition table metadata was read around
## SVN ##   20-50 times during boot, now it reads only once. This affects the booting
## SVN ##   from GPT and MBR from the UFS.
## SVN ## 241065:
## SVN ##   Fix disk_cleanup() to work without DISK_DEBUG too.
## SVN ## 241068:
## SVN ##   Reduce the number of attempts to detect proper kld format for the amd64
## SVN ##   loader.
## SVN ## 241069:
## SVN ##   Remember the file format of the last loaded module and try to use it for
## SVN ##   next files.
## SVN ## 241070:
## SVN ##   Fix the style.
## SVN ## 241164:
## SVN ##   Replace all references to loader_callbacks_v1 with loader_callbacks.
## SVN ## 241809:
## SVN ##   Add the flags parameter to the disk_open() function and DISK_F_NOCACHE
## SVN ##   flag, that disables the caching of partition tables metadata.
## SVN ##   Use this flag for floppies in the libi386/biosdisk driver.
## SVN ## 241876:
## SVN ##   When loader tries to open GPT partition, but partition table is not GPT,
## SVN ##   then try automatically detect an appropriate partition type.
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/arm/uboot/Makefile 243243 2012-11-18 17:09:29Z ae $
a13 1
.if !defined(LOADER_NO_DISK_SUPPORT)
a14 3
.else
LOADER_DISK_SUPPORT=	no
.endif
@


1.7.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.7.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/arm/uboot/Makefile 211676 2010-08-23 01:37:55Z imp $
@


1.7.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.7.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/arm/uboot/Makefile 211676 2010-08-23 01:37:55Z imp $
@


1.6
log
@SVN rev 211675 on 2010-08-23 01:33:27Z by imp

MF tbemd: differentiate between arm and armeb
@
text
@d80 1
a80 1
LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_ARCH}
@


1.5
log
@SVN rev 209125 on 2010-06-13 12:46:32Z by raj

Fix conditional FDT support in loader(8).
@
text
@d80 1
a80 1
LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.arm
@


1.4
log
@SVN rev 208538 on 2010-05-25 15:21:39Z by raj

Initial loader(8) support for Flattened Device Tree.

o This is disabled by default for now, and can be enabled using WITH_FDT at
  build time.

o Tested with ARM and PowerPC.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
@
text
@d3 2
d23 1
a23 1
.if defined(WITH_FDT)
@


1.3
log
@SVN rev 185375 on 2008-11-27 16:53:01Z by raj

Let ARM loader(8) build with the man page.
@
text
@d21 5
d54 6
d93 2
a94 2
DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBUBOOT} -lstand
@


1.3.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.3.2.2
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/arm/uboot/Makefile 185375 2008-11-27 16:53:01Z raj $
@


1.3.2.1.8.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.3.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/arm/uboot/Makefile 185375 2008-11-27 16:53:01Z raj $
@


1.3.2.1.6.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.3.2.1.4.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.3.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.2
log
@SVN rev 185099 on 2008-11-19 17:34:28Z by raj

Initial storage functionality for U-Boot support library.

- Only non-sliced bsdlabel style partitioning is currently supported (but provisions
  are made towards GPT support, which should follow soon)
- Enable storage support in loader on ARM

Obtained from:	Semihalf
@
text
@a6 1
NO_MAN=
d63 1
a63 1
CLEANFILES+=	vers.c ${PROG}.help
d88 1
a88 1
${PROG}.help: help.common help.uboot
d93 1
a93 1
FILES=	${PROG}.help
@


1.1
log
@SVN rev 183878 on 2008-10-14 10:11:14Z by raj

Initial support of loader(8) for ARM machines running U-Boot.

This uses the common U-Boot support lib (sys/boot/uboot, already used on
FreeBSD/powerpc), and assumes the underlying firmware has the modern API for
stand-alone apps enabled in the config (CONFIG_API).

Only netbooting is supported at the moment.

Obtained from:	Marvell, Semihalf
@
text
@d13 2
a14 2
LOADER_DISK_SUPPORT?=	no
LOADER_UFS_SUPPORT?=	no
@

