head	1.39;
access;
symbols
	RELENG_8_4:1.39.0.2
	RELENG_9_1_0_RELEASE:1.37.2.2.2.2
	RELENG_9_1:1.37.2.2.0.2
	RELENG_9_1_BP:1.37.2.2
	RELENG_8_3_0_RELEASE:1.35.2.1.8.1
	RELENG_8_3:1.35.2.1.0.8
	RELENG_8_3_BP:1.35.2.1
	RELENG_9_0_0_RELEASE:1.37.2.1.2.1
	RELENG_9_0:1.37.2.1.0.2
	RELENG_9_0_BP:1.37.2.1
	RELENG_9:1.37.0.2
	RELENG_9_BP:1.37
	RELENG_7_4_0_RELEASE:1.32.24.1
	RELENG_8_2_0_RELEASE:1.35.2.1.6.1
	RELENG_7_4:1.32.0.24
	RELENG_7_4_BP:1.32
	RELENG_8_2:1.35.2.1.0.6
	RELENG_8_2_BP:1.35.2.1
	RELENG_8_1_0_RELEASE:1.35.2.1.4.1
	RELENG_8_1:1.35.2.1.0.4
	RELENG_8_1_BP:1.35.2.1
	RELENG_7_3_0_RELEASE:1.32.22.1
	RELENG_7_3:1.32.0.22
	RELENG_7_3_BP:1.32
	RELENG_8_0_0_RELEASE:1.35.2.1.2.1
	RELENG_8_0:1.35.2.1.0.2
	RELENG_8_0_BP:1.35.2.1
	RELENG_8:1.35.0.2
	RELENG_8_BP:1.35
	RELENG_7_2_0_RELEASE:1.32.20.1
	RELENG_7_2:1.32.0.20
	RELENG_7_2_BP:1.32
	RELENG_7_1_0_RELEASE:1.32.18.1
	RELENG_6_4_0_RELEASE:1.32.16.1
	RELENG_7_1:1.32.0.18
	RELENG_7_1_BP:1.32
	RELENG_6_4:1.32.0.16
	RELENG_6_4_BP:1.32
	RELENG_7_0_0_RELEASE:1.32
	RELENG_6_3_0_RELEASE:1.32
	RELENG_7_0:1.32.0.14
	RELENG_7_0_BP:1.32
	RELENG_6_3:1.32.0.12
	RELENG_6_3_BP:1.32
	RELENG_7:1.32.0.10
	RELENG_7_BP:1.32
	RELENG_6_2_0_RELEASE:1.32
	RELENG_6_2:1.32.0.8
	RELENG_6_2_BP:1.32
	RELENG_5_5_0_RELEASE:1.29.2.1
	RELENG_5_5:1.29.2.1.0.2
	RELENG_5_5_BP:1.29.2.1
	RELENG_6_1_0_RELEASE:1.32
	RELENG_6_1:1.32.0.6
	RELENG_6_1_BP:1.32
	RELENG_6_0_0_RELEASE:1.32
	RELENG_6_0:1.32.0.4
	RELENG_6_0_BP:1.32
	RELENG_6:1.32.0.2
	RELENG_6_BP:1.32
	RELENG_5_4_0_RELEASE:1.29
	RELENG_5_4:1.29.0.6
	RELENG_5_4_BP:1.29
	RELENG_4_11_0_RELEASE:1.8.2.6
	RELENG_4_11:1.8.2.6.0.16
	RELENG_4_11_BP:1.8.2.6
	RELENG_5_3_0_RELEASE:1.29
	RELENG_5_3:1.29.0.4
	RELENG_5_3_BP:1.29
	RELENG_5:1.29.0.2
	RELENG_5_BP:1.29
	RELENG_4_10_0_RELEASE:1.8.2.6
	RELENG_4_10:1.8.2.6.0.14
	RELENG_4_10_BP:1.8.2.6
	RELENG_5_2_1_RELEASE:1.17
	RELENG_5_2_0_RELEASE:1.17
	RELENG_5_2:1.17.0.6
	RELENG_5_2_BP:1.17
	RELENG_4_9_0_RELEASE:1.8.2.6
	RELENG_4_9:1.8.2.6.0.12
	RELENG_4_9_BP:1.8.2.6
	RELENG_5_1_0_RELEASE:1.17
	RELENG_5_1:1.17.0.4
	RELENG_5_1_BP:1.17
	RELENG_4_8_0_RELEASE:1.8.2.6
	RELENG_4_8:1.8.2.6.0.10
	RELENG_4_8_BP:1.8.2.6
	RELENG_5_0_0_RELEASE:1.17
	RELENG_5_0:1.17.0.2
	RELENG_5_0_BP:1.17
	RELENG_4_7_0_RELEASE:1.8.2.6
	RELENG_4_7:1.8.2.6.0.8
	RELENG_4_7_BP:1.8.2.6
	RELENG_4_6_2_RELEASE:1.8.2.6
	RELENG_4_6_1_RELEASE:1.8.2.6
	RELENG_4_6_0_RELEASE:1.8.2.6
	RELENG_4_6:1.8.2.6.0.6
	RELENG_4_6_BP:1.8.2.6
	RELENG_4_5_0_RELEASE:1.8.2.6
	RELENG_4_5:1.8.2.6.0.4
	RELENG_4_5_BP:1.8.2.6
	RELENG_4_4_0_RELEASE:1.8.2.6
	RELENG_4_4:1.8.2.6.0.2
	RELENG_4_4_BP:1.8.2.6
	KSE_MILESTONE_2:1.15
	KSE_PRE_MILESTONE_2:1.15
	RELENG_4_3_0_RELEASE:1.8.2.5
	RELENG_4_3:1.8.2.5.0.2
	RELENG_4_3_BP:1.8.2.5
	RELENG_4_2_0_RELEASE:1.8.2.2
	RELENG_4_1_1_RELEASE:1.8.2.2
	PRE_SMPNG:1.12
	RELENG_4_1_0_RELEASE:1.8.2.2
	RELENG_3_5_0_RELEASE:1.6.2.2
	RELENG_4_0_0_RELEASE:1.8
	RELENG_4:1.8.0.2
	RELENG_4_BP:1.8
	RELENG_3_4_0_RELEASE:1.6.2.2
	RELENG_3_3_0_RELEASE:1.6.2.2
	RELENG_3_2_PAO:1.6.0.4
	RELENG_3_2_PAO_BP:1.6
	RELENG_3_2_0_RELEASE:1.6
	POST_VFS_BIO_NFS_PATCH:1.6
	PRE_VFS_BIO_NFS_PATCH:1.6
	POST_SMP_VMSHARE:1.6
	PRE_SMP_VMSHARE:1.6
	POST_NEWBUS:1.6
	PRE_NEWBUS:1.6
	RELENG_3_1_0_RELEASE:1.6
	RELENG_3:1.6.0.2
	RELENG_3_BP:1.6
	RELENG_3_0_0_RELEASE:1.4
	v1:1.1.1.1
	RNORDIER:1.1.1;
locks; strict;
comment	@# @;


1.39
date	2012.11.17.01.51.16;	author svnexp;	state Exp;
branches
	1.39.2.1;
next	1.38;

1.38
date	2012.02.28.18.30.18;	author dim;	state Exp;
branches;
next	1.37;

1.37
date	2011.02.20.19.33.47;	author dim;	state Exp;
branches
	1.37.2.1;
next	1.36;

1.36
date	2010.06.03.17.42.32;	author ed;	state Exp;
branches;
next	1.35;

1.35
date	2008.12.30.09.40.50;	author luigi;	state Exp;
branches
	1.35.2.1;
next	1.34;

1.34
date	2008.12.03.14.53.59;	author luigi;	state Exp;
branches;
next	1.33;

1.33
date	2008.12.02.14.57.48;	author luigi;	state Exp;
branches;
next	1.32;

1.32
date	2005.04.25.17.41.35;	author ru;	state Exp;
branches
	1.32.2.1
	1.32.10.1
	1.32.16.1
	1.32.18.1
	1.32.20.1
	1.32.22.1
	1.32.24.1;
next	1.31;

1.31
date	2004.12.21.08.47.13;	author ru;	state Exp;
branches;
next	1.30;

1.30
date	2004.08.27.00.18.03;	author obrien;	state Exp;
branches;
next	1.29;

1.29
date	2004.04.28.21.31.19;	author ru;	state Exp;
branches
	1.29.2.1;
next	1.28;

1.28
date	2004.04.28.20.49.17;	author ru;	state Exp;
branches;
next	1.27;

1.27
date	2004.04.28.16.16.16;	author ru;	state Exp;
branches;
next	1.26;

1.26
date	2004.04.27.19.07.35;	author phk;	state Exp;
branches;
next	1.25;

1.25
date	2004.04.25.20.36.43;	author obrien;	state Exp;
branches;
next	1.24;

1.24
date	2004.04.25.19.50.19;	author obrien;	state Exp;
branches;
next	1.23;

1.23
date	2004.02.09.14.11.56;	author ru;	state Exp;
branches;
next	1.22;

1.22
date	2004.02.06.21.58.30;	author ru;	state Exp;
branches;
next	1.21;

1.21
date	2004.02.06.12.58.31;	author ru;	state Exp;
branches;
next	1.20;

1.20
date	2004.01.06.18.46.35;	author obrien;	state Exp;
branches;
next	1.19;

1.19
date	2003.12.08.19.02.06;	author obrien;	state Exp;
branches;
next	1.18;

1.18
date	2003.12.08.17.51.39;	author bms;	state Exp;
branches;
next	1.17;

1.17
date	2002.09.17.01.48.54;	author peter;	state Exp;
branches;
next	1.16;

1.16
date	2002.01.10.21.40.33;	author jhb;	state Exp;
branches;
next	1.15;

1.15
date	2001.07.21.14.32.41;	author rnordier;	state Exp;
branches;
next	1.14;

1.14
date	2000.10.02.17.30.22;	author rnordier;	state Exp;
branches;
next	1.13;

1.13
date	2000.10.02.17.23.14;	author rnordier;	state Exp;
branches;
next	1.12;

1.12
date	2000.08.03.10.24.54;	author jhb;	state Exp;
branches;
next	1.11;

1.11
date	2000.08.03.09.14.00;	author jhb;	state Exp;
branches;
next	1.10;

1.10
date	2000.07.12.18.11.54;	author jhb;	state Exp;
branches;
next	1.9;

1.9
date	2000.05.23.12.18.48;	author jhb;	state Exp;
branches;
next	1.8;

1.8
date	99.08.28.00.39.59;	author peter;	state Exp;
branches
	1.8.2.1;
next	1.7;

1.7
date	99.06.19.21.40.54;	author rnordier;	state Exp;
branches;
next	1.6;

1.6
date	98.10.19.19.13.52;	author rnordier;	state Exp;
branches
	1.6.2.1;
next	1.5;

1.5
date	98.10.17.14.20.25;	author rnordier;	state Exp;
branches;
next	1.4;

1.4
date	98.10.13.18.29.18;	author rnordier;	state Exp;
branches;
next	1.3;

1.3
date	98.10.09.17.19.51;	author rnordier;	state Exp;
branches;
next	1.2;

1.2
date	98.10.05.19.20.36;	author rnordier;	state Exp;
branches;
next	1.1;

1.1
date	98.10.05.10.08.37;	author rnordier;	state Exp;
branches
	1.1.1.1;
next	;

1.39.2.1
date	2012.11.17.01.51.16;	author svnexp;	state dead;
branches;
next	1.39.2.2;

1.39.2.2
date	2013.03.28.13.04.01;	author svnexp;	state Exp;
branches;
next	;

1.37.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.37.2.1.2.1;
next	1.37.2.2;

1.37.2.2
date	2012.03.13.18.39.57;	author dim;	state Exp;
branches
	1.37.2.2.2.1;
next	1.37.2.3;

1.37.2.3
date	2012.11.17.11.36.47;	author svnexp;	state Exp;
branches;
next	;

1.37.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.37.2.1.2.2;

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

1.37.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.37.2.2.2.2;

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

1.35.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.35.2.1.2.1
	1.35.2.1.4.1
	1.35.2.1.6.1
	1.35.2.1.8.1;
next	1.35.2.2;

1.35.2.2
date	2012.11.17.10.36.27;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.35.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.35.2.1.8.2;

1.35.2.1.8.2
date	2012.11.17.08.25.07;	author svnexp;	state Exp;
branches;
next	;

1.32.2.1
date	2012.11.17.07.42.37;	author svnexp;	state Exp;
branches;
next	;

1.32.10.1
date	2012.11.17.08.04.52;	author svnexp;	state Exp;
branches;
next	;

1.32.16.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.32.18.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.32.20.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.32.22.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.32.24.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.32.24.2;

1.32.24.2
date	2012.11.17.08.17.05;	author svnexp;	state Exp;
branches;
next	;

1.29.2.1
date	2005.04.21.15.51.44;	author obrien;	state Exp;
branches;
next	;

1.8.2.1
date	2000.07.06.23.04.24;	author obrien;	state Exp;
branches;
next	1.8.2.2;

1.8.2.2
date	2000.07.17.21.27.26;	author jhb;	state Exp;
branches;
next	1.8.2.3;

1.8.2.3
date	2000.12.19.00.32.19;	author rnordier;	state Exp;
branches;
next	1.8.2.4;

1.8.2.4
date	2000.12.28.13.15.11;	author ps;	state Exp;
branches;
next	1.8.2.5;

1.8.2.5
date	2000.12.28.21.52.32;	author ps;	state Exp;
branches;
next	1.8.2.6;

1.8.2.6
date	2001.07.21.14.35.37;	author rnordier;	state Exp;
branches;
next	1.8.2.7;

1.8.2.7
date	2012.11.17.07.25.20;	author svnexp;	state Exp;
branches;
next	;

1.6.2.1
date	99.06.26.21.31.54;	author rnordier;	state Exp;
branches;
next	1.6.2.2;

1.6.2.2
date	99.08.29.16.20.41;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	98.10.05.10.08.37;	author rnordier;	state Exp;
branches;
next	;


desc
@@


1.39
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/boot/i386/boot0/Makefile 232263 2012-02-28 18:30:18Z dim $

PROG?=	boot0
STRIP=
BINMODE=${NOBINMODE}
NO_MAN=
SRCS=	${PROG}.S

# Additional options that you can specify with make OPTS="..."
# (these only apply to boot0.S)
#
#	-DVOLUME_SERIAL	support volume serial number (NT, XP, Vista)
#	-DSIO		do I/O using COM1:
#	-DPXE		fallback to INT18/PXE with F6
#	-DCHECK_DRIVE	enable checking drive number
#	-DONLY_F_KEYS	accept only Fx keys in console
#	-DTEST		print drive number on entry
#
OPTS ?= -DVOLUME_SERIAL -DPXE
CFLAGS += ${OPTS}

# Flags used in the boot0.S code:
#   0x0f	all valid partitions enabled.
#   0x80	'packet', use BIOS EDD (LBA) extensions instead of CHS
#		to read from disk. boot0.S does not check that the extensions
#		are supported, but all modern BIOSes should have them.
#   0x40	'noupdate', disable writing boot0 back to disk so that
#		the current selection is not preserved across reboots.
#   0x20	'setdrv', override the drive number supplied by the bios
#		with the one in the boot sector.

# Default boot flags:
BOOT_BOOT0_FLAGS?=	0x8f

# The number of timer ticks to wait for a keypress before assuming the default
# selection.  Since there are 18.2 ticks per second, the default value of
# 0xb6 (182d) corresponds to 10 seconds.
BOOT_BOOT0_TICKS?=	0xb6

# The base address that we the boot0 code to to run it.  Don't change this
# unless you are glutton for punishment.
BOOT_BOOT0_ORG?=	0x600

# Comm settings for boot0sio.
# Bit(s) Description
# 7-5    data rate (110,150,300,600,1200,2400,4800,9600 bps)
# 4-3    parity (00 or 10 = none, 01 = odd, 11 = even)
# 2      stop bits (set = 2, clear = 1)
# 1-0    data bits (00 = 5, 01 = 6, 10 = 7, 11 = 8)
.if !defined(BOOT_BOOT0_COMCONSOLE_SPEED)
BOOT_COMCONSOLE_SPEED?=	9600
.if ${BOOT_COMCONSOLE_SPEED} == 9600
BOOT_BOOT0_COMCONSOLE_SPEED=	"7 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 4800
BOOT_BOOT0_COMCONSOLE_SPEED=	"6 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 2400
BOOT_BOOT0_COMCONSOLE_SPEED=	"5 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 1200
BOOT_BOOT0_COMCONSOLE_SPEED=	"4 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 600
BOOT_BOOT0_COMCONSOLE_SPEED=	"3 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 300
BOOT_BOOT0_COMCONSOLE_SPEED=	"2 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 150
BOOT_BOOT0_COMCONSOLE_SPEED=	"1 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 110
BOOT_BOOT0_COMCONSOLE_SPEED=	"0 << 5 + 3"
.else
BOOT_BOOT0_COMCONSOLE_SPEED=	"7 << 5 + 3"
.endif
.endif

CFLAGS+=-DFLAGS=${BOOT_BOOT0_FLAGS} \
	-DTICKS=${BOOT_BOOT0_TICKS} \
	-DCOMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED}

LDFLAGS=-e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-N,-S,--oformat,binary

.include <bsd.prog.mk>

# XXX: clang integrated-as doesn't grok .codeNN directives yet
CFLAGS.boot0.S=		${CLANG_NO_IAS}
CFLAGS.boot0ext.S=	${CLANG_NO_IAS}
CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
@


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


1.39.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 79
# $FreeBSD: releng/8.4/sys/boot/i386/boot0/Makefile 186598 2008-12-30 09:40:50Z luigi $

PROG?=	boot0
STRIP=
BINMODE=${NOBINMODE}
NO_MAN=
SRCS=	${PROG}.S

# Additional options that you can specify with make OPTS="..."
# (these only apply to boot0.S)
#
#	-DVOLUME_SERIAL	support volume serial number (NT, XP, Vista)
#	-DSIO		do I/O using COM1:
#	-DPXE		fallback to INT18/PXE with F6
#	-DCHECK_DRIVE	enable checking drive number
#	-DONLY_F_KEYS	accept only Fx keys in console
#	-DTEST		print drive number on entry
#
OPTS ?= -DVOLUME_SERIAL -DPXE
CFLAGS += ${OPTS}

# Flags used in the boot0.S code:
#   0x0f	all valid partitions enabled.
#   0x80	'packet', use BIOS EDD (LBA) extensions instead of CHS
#		to read from disk. boot0.S does not check that the extensions
#		are supported, but all modern BIOSes should have them.
#   0x40	'noupdate', disable writing boot0 back to disk so that
#		the current selection is not preserved across reboots.
#   0x20	'setdrv', override the drive number supplied by the bios
#		with the one in the boot sector.

# Default boot flags:
BOOT_BOOT0_FLAGS?=	0x8f

# The number of timer ticks to wait for a keypress before assuming the default
# selection.  Since there are 18.2 ticks per second, the default value of
# 0xb6 (182d) corresponds to 10 seconds.
BOOT_BOOT0_TICKS?=	0xb6

# The base address that we the boot0 code to to run it.  Don't change this
# unless you are glutton for punishment.
BOOT_BOOT0_ORG?=	0x600

# Comm settings for boot0sio.
# Bit(s) Description
# 7-5    data rate (110,150,300,600,1200,2400,4800,9600 bps)
# 4-3    parity (00 or 10 = none, 01 = odd, 11 = even)
# 2      stop bits (set = 2, clear = 1)
# 1-0    data bits (00 = 5, 01 = 6, 10 = 7, 11 = 8)
.if !defined(BOOT_BOOT0_COMCONSOLE_SPEED)
BOOT_COMCONSOLE_SPEED?=	9600
.if ${BOOT_COMCONSOLE_SPEED} == 9600
BOOT_BOOT0_COMCONSOLE_SPEED=	"7 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 4800
BOOT_BOOT0_COMCONSOLE_SPEED=	"6 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 2400
BOOT_BOOT0_COMCONSOLE_SPEED=	"5 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 1200
BOOT_BOOT0_COMCONSOLE_SPEED=	"4 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 600
BOOT_BOOT0_COMCONSOLE_SPEED=	"3 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 300
BOOT_BOOT0_COMCONSOLE_SPEED=	"2 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 150
BOOT_BOOT0_COMCONSOLE_SPEED=	"1 << 5 + 3"
.elif ${BOOT_COMCONSOLE_SPEED} == 110
BOOT_BOOT0_COMCONSOLE_SPEED=	"0 << 5 + 3"
.else
BOOT_BOOT0_COMCONSOLE_SPEED=	"7 << 5 + 3"
.endif
.endif

CFLAGS+=-DFLAGS=${BOOT_BOOT0_FLAGS} \
	-DTICKS=${BOOT_BOOT0_TICKS} \
	-DCOMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED}

LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-S,--oformat,binary

.include <bsd.prog.mk>
@


1.38
log
@SVN rev 232263 on 2012-02-28 18:30:18Z by dim

Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after:	2 weeks
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.37
log
@SVN rev 218893 on 2011-02-20 19:33:47Z by dim

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.
@
text
@a21 6
.if ${CC:T:Mclang} == "clang"
# XXX: clang integrated-as doesn't grok .codeNN directives yet
CFLAGS+=	${.IMPSRC:T:Mboot0.S:C/^.+$/-no-integrated-as/}
CFLAGS+=	${.IMPSRC:T:Mboot0ext.S:C/^.+$/-no-integrated-as/}
.endif

d80 5
@


1.37.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.37.2.2
log
@SVN rev 232930 on 2012-03-13 18:39:57Z by dim

MFC r232263:

Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp
@
text
@d22 6
a85 5

# XXX: clang integrated-as doesn't grok .codeNN directives yet
CFLAGS.boot0.S=		${CLANG_NO_IAS}
CFLAGS.boot0ext.S=	${CLANG_NO_IAS}
CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
@


1.37.2.3
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/i386/boot0/Makefile 232930 2012-03-13 18:39:57Z dim $
@


1.37.2.2.2.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.37.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/i386/boot0/Makefile 232930 2012-03-13 18:39:57Z dim $
@


1.37.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.37.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/i386/boot0/Makefile 218893 2011-02-20 19:33:47Z dim $
@


1.36
log
@SVN rev 208789 on 2010-06-03 17:42:32Z by ed

Use -Wl,-N instead of the undocumented -N option for GCC.

GCC forwards the -N flag directly to ld. This flag is not documented and
not supported by (for example) Clang. Just use -Wl,-N.

Submitted by:	Pawel Worach
@
text
@d22 6
@


1.35
log
@SVN rev 186598 on 2008-12-30 09:40:50Z by luigi

A number of small changes to make the 'save choice to disk' safer,
and re-enable it as default.

In particular:

+ re-enable the 'update' flag in the Makefile (of course!);

+ commit Warner's patch "orb $NOUPDATE,_FLAGS(%bp)"
  to avoid writing to disk in case of a timeout/default choice;

+ fix an off-by-one count in the partition scan code that would
  print the wrong name for unknown partitions;

+ unconditionally change the boot prompt to 'Boot:' instead of 'Default:'
  to make room for the extra code/checks/messages. Some of the changes
  listed below are also made to save space;

+ rearrange and fix comments for known partition types. Right now we
  explicitly recognise *BSD, Linux, FAT16 (type 6, used on many USB keys),
  NTFS (type 7), FAT32 (type 11).
  Depending on other options we also recognise Extended (type 5),
  FAT12 (type 1) and FAT16 < 32MB (type 4).

+ Add an entry "F6 PXE" when the code is built with -DPXE (which is
  a default now). Technically, F6 boots through INT18, so the prompt 'PXE'
  is a bit misleading. Unfortunately the name INT18
  is too long and does not fit in - we could use ROM perhaps.
  The reason I picked 'PXE' is that on many (I believe) new systems
  INT18 calls PXE.

Apart from the choice of the name for PXE/ROM/INT18, this should close
pending issues on the 1-sector boot0 code and we should be able to
move the code to RELENG_7 when it reopens.

No boot0cfg changes are necessary.

MFC after:	3 weeks
@
text
@d77 1
a77 1
LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-S,--oformat,binary
@


1.35.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.35.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/i386/boot0/Makefile 186598 2008-12-30 09:40:50Z luigi $
@


1.35.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.35.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/i386/boot0/Makefile 186598 2008-12-30 09:40:50Z luigi $
@


1.35.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.35.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.35.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.34
log
@SVN rev 185579 on 2008-12-03 14:53:59Z by luigi

Another, hopefully final set of changes to boot0 and boot0cfg.

boot0.S changes:

+ import a patch from Christoph Mallon to rearrange the various
  print functions and save another couple of bytes;

+ implement the suggestion in PR 70531 to enable booting from
  any valid partition because even the extended partitions that
  were previously in our kill list may contain a valid boot loader.
  This simplifies the code and saves some bytes;

+ followwing up PR 127764, implement conditional code to preserve
  the 'Volume ID' which might be used by other OS (NT, XP, Vista)
  and is located at offset 0x1b8. This requires a relocation of the
  parameter block within the boot sector -- there is no other
  possible workaround.
  To address this, boot0cfg has been updated to handle both
  versions of the boot code;

+ slightly rearrange the strings printed in the menus to make
  the code buildable with all options. Given the tight memory
  budget, this means that with certain options we need to
  shrink or remove certain labels.

and especially:

	make -DVOLUME_LABEL -DPXE the default options.

  This means that the newly built boot0 block will preserve the
  Volume ID, and has the (hidden) option F6 to boot from INT18/PXE.
  I think the extra functionality is well worth the change.

  The most visible difference here is that the 'Default: ' string
  now becomes 'Boot: ' (it can be reverted to the old value
  but then we need to nuke 1/2 partition name or entries to
  make up for the extra room).

boot0cfg changes:

+ modify the code to recognise the new boot0 structure (with the
  relocated options block to make room for the Volume id).

+ add two options, '-i xxxx-xxxx' to set the volume ID, -e c
  to modify the character printed in case of bad input

PR:		127764 70531
Submitted by:	Christoph Mallon (portions)
MFC after:	4 weeks
@
text
@d33 1
a33 1
BOOT_BOOT0_FLAGS?=	0xcf
@


1.33
log
@SVN rev 185562 on 2008-12-02 14:57:48Z by luigi

This commits brings in a lot of documentation and some enhancement
of the boot0.S code, with a number of compile-time selectable options,
the most interesting one being the ability to select PXE booting.

The code is completely compatible with the previous one, and with
the boot0cfg program. Even the actual code is largely unmodified,
with only minor rearrangements or fixes to make room for the new
features.

The behaviour of the standard build differs from the previous
version in the following, minor things:

+ 'noupdate' is the default, which means the code does not
  write back the selection to disk. You can enable the feature
  at runtime with boot0cfg, or changing the flags in the Makefile.

+ a drive number of 0x00 (floppy, or USB in floppy emulation) is
  now accepted as valid. Previously, it was overridden with 0x80,
  meaning that the partition table coming from the media was
  used to access sectors on a possibly different media.
  You can revert to the previous mode building with -DCHECK_DRIVE,
  and you can always use the 'setdrv' option in boot0cfg

+ certain FAT or NTFS partitions are listed as WIN instead of DOS.

+ the 'bel' character on a bad selection is replaced by a '#' to
  make it clear that the system is not hang even if the machine
  does not have a speaker. This can be reverted back at compile
  time, or at runtime with an upcoming boot0cfg option.

Additional features are available as compile time options,
and may be become the default if deemed useful. In particular:

+ INT18/PXE boot (make -DPXE)
  This option enables booting through INT 18h (which on certain
  BIOSes can be hooked to PXE) by pressing F6. There is unfortunately
  no room to print the additional menu option.
  Also, to make room for the code, the 'Default: ' string is
  changed to 'Boot: '

+ print current drive number (make -DTEST)
  Prints a line indicating the current drive number.
  This is useful to figure out what is going on for machines/bioses
  which remap drives in sometimes surprising ways.

+ disable numeric keys in console mode (make -DONLY_F_KEYS)
  Not really a significant option, but it is needed to make
  room for the -DTEST mode.

+ disable floppy support (make -DCHECK_DRIVE)
  Revert to the old behaviour of only accepting 0x80 and above
  as valid drive numbers.

MFC after:	6 weeks
@
text
@d12 1
d19 1
@


1.32
log
@Allow BOOT_BOOT0_COMCONSOLE_SPEED to be derived from BOOT_COMCONSOLE_SPEED
at compile time.
@
text
@d9 23
a31 5
# The default set of flags compiled into boot0.  This enables update (writing
# the modified boot0 back to disk after running so that the selection made is
# saved), packet mode (detect and use the BIOS EDD extensions if we try to
# boot past the 1024 cylinder liimt), and booting from all valid slices.
BOOT_BOOT0_FLAGS?=	0x8f
@


1.32.10.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/boot/i386/boot0/Makefile 145515 2005-04-25 17:41:35Z ru $
@


1.32.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/boot/i386/boot0/Makefile 145515 2005-04-25 17:41:35Z ru $
@


1.32.24.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.32.24.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/boot/i386/boot0/Makefile 145515 2005-04-25 17:41:35Z ru $
@


1.32.22.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.32.20.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.32.18.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.32.16.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.31
log
@Start the dreaded NOFOO -> NO_FOO conversion.

OK'ed by:	core
@
text
@d24 28
a51 5
# Comm settings for boot0sio.  0xE3 => 9600 8-N-1
# XXX: We should create a build-tool or something to convert BOOT_CONSOLE_SPEED
# and BOOT_COMCONSOLE_PORT into the correct values to define on the build
# command line
BOOT_BOOT0_COMCONSOLE_SPEED?=	0xE3
@


1.30
log
@In conjunction with having boot0cfg(8) default boot0 to packet mode.

Submitted by:	Tor.Egge@@cvsup.no.freebsd.org
@
text
@d6 1
a6 1
NOMAN=
@


1.29
log
@Thanks to David's patches, we can now simplify these makefiles
further, and just use PROG directly (without FILES).

Suggested by:	bde
@
text
@d13 1
a13 1
BOOT_BOOT0_FLAGS?=	0xf
@


1.29.2.1
log
@MFC: rev 1.30: default boot0 to packet mode.
@
text
@d13 1
a13 1
BOOT_BOOT0_FLAGS?=	0x8f
@


1.28
log
@- Properly merge boot0sio.s and boot0.s into boot0.S.
  boot0sio.s was repo-copied to boot0.S.

- Rename boot0ext.s to boot0ext.S, to stay consistent
  with other preprocessed asm files around here, and
  for better portability.

Repocopied by:	joe
@
text
@d3 3
a5 3
PROG=	${BOOT}
INTERNALPROG=
FILES=	${BOOT}
d7 1
a7 3
SRCS=	${BOOT}.S

BOOT?=	boot0
@


1.27
log
@Temporary precaution measure until repocopy requests are
processed: don't forget to clean generated .s sources.
@
text
@d7 1
a7 1
SRCS=	${BOOT}.s
d32 3
a34 3
AFLAGS+=--defsym FLAGS=${BOOT_BOOT0_FLAGS} \
	--defsym TICKS=${BOOT_BOOT0_TICKS} \
	--defsym COMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED}
a36 8

CLEANFILES+= boot0.s
boot0.s: boot0_512.s
	cpp -USIO < ${.ALLSRC} > ${.TARGET}

CLEANFILES+= boot0sio.s
boot0sio.s: boot0_512.s
	cpp -DSIO < ${.ALLSRC} > ${.TARGET}
@


1.26
log
@Change from '#' to "//" comment character to allow CPP preprocessing.

Merge boot0.s and boot0sio.s into boot0_512.s controlled by "#ifdef SIO".

Add Makefile magic to generate boot0.s and boot0sio.s from boot0_512.s.

The compile boot0 and boot0sio have unchanged MD5 checksums.
@
text
@d38 3
a40 1
.include <bsd.prog.mk>
d42 3
a44 2
boot0.s:	boot0_512.s
	cpp -USIO < ${.CURDIR}/boot0_512.s > boot0.s
d46 1
a46 2
boot0sio.s:	${.CURDIR}/../boot0/boot0_512.s
	cpp -DSIO < ${.CURDIR}/../boot0/boot0_512.s > boot0sio.s
@


1.25
log
@Use a more compact syntax for passing the "binary" options to 'ld'.
@
text
@d39 6
@


1.24
log
@Simplify the building of our i386 'binary' boot components by directly
producing them using 'ld' options rather than post-processing with 'objcopy'.

Idea by:	Ryan Sommers <ryans@@gamersimpact.com>
@
text
@d36 1
a36 1
LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-S -Wl,--oformat -Wl,binary
@


1.23
log
@- Factor out -nostdlib to an upper level Makefile.inc.

- Now that bsd.prog.mk deals with programs linked with -nostdlib
  better, and has a notion of an "internal" program, use PROG
  where possible.  This has a good impact on the contents of
  .depend files and causes programs to be linked with cc(1).

XXX: boot2 couldn't be converted as it's actually two programs.

Tested on:	i386, amd64
@
text
@d3 1
a3 1
PROG=	${BOOT}.out
a7 1
CLEANFILES= ${BOOT}
d36 1
a36 4
LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG}

${BOOT}: ${BOOT}.out
	objcopy -S -O binary ${BOOT}.out ${.TARGET}
@


1.22
log
@First round of cleanups to sys/boot/ makefiles:

- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on:	i386, amd64
Prodded by:	bde
@
text
@d3 2
d6 3
a8 1
CLEANFILES= ${BOOT} ${BOOT}.out ${BOOT}.o
d37 2
a40 3

${BOOT}.out: ${BOOT}.o
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o ${.TARGET} ${BOOT}.o
@


1.21
log
@Inherit BINDIR from a parent Makefile.inc.
@
text
@d3 2
a4 4
PROG?=		boot0
NOMAN=
STRIP=
BINMODE=	444
d6 1
a6 1
M4?=	m4
d29 3
a31 9
${PROG}: ${PROG}.o
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o ${PROG}.out ${PROG}.o
	objcopy -S -O binary ${PROG}.out ${.TARGET}

${PROG}.o: ${PROG}.s
	${AS} ${AFLAGS} --defsym FLAGS=${BOOT_BOOT0_FLAGS} \
		--defsym TICKS=${BOOT_BOOT0_TICKS} \
		--defsym COMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED} \
		${.IMPSRC} -o ${.TARGET}
d33 5
a37 1
CLEANFILES+= ${PROG}.out ${PROG}.o
@


1.20
log
@Allow one to specify the com port settings for boot0sio.
@
text
@a5 1
BINDIR?=	/boot
@


1.19
log
@Hook boot0sio to the build.  Use 'boot0cfg -b /boot/boot0sio' to use.
@
text
@d26 6
d38 3
a40 1
		--defsym TICKS=${BOOT_BOOT0_TICKS} ${.IMPSRC} -o ${.TARGET}
@


1.18
log
@Add a serial console capable version of the FreeBSD boot manager. This has
been lying around my tree(s) for the past year or so. It could do with TLC.

Requested by:	obrien
Sponsored by:	Weyland-Yutani Corporation
@
text
@d3 1
a3 1
PROG=		boot0
d26 3
a28 3
boot0: boot0.o
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
	objcopy -S -O binary boot0.out ${.TARGET}
d30 1
a30 1
boot0.o: boot0.s
d34 1
a34 9
boot0sio: boot0sio.o
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o boot0sio.out boot0sio.o
	objcopy -S -O binary boot0sio.out ${.TARGET}

boot0sio.o: boot0sio.s
	${AS} ${AFLAGS} --defsym FLAGS=${BOOT_BOOT0_FLAGS} \
		--defsym TICKS=${BOOT_BOOT0_TICKS} ${.IMPSRC} -o ${.TARGET}

CLEANFILES+= boot0.out boot0.o boot0sio.out boot0sio.o
@


1.17
log
@Initiate deorbit burn for the i386-only a.out related support.  Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
@
text
@d34 9
a42 1
CLEANFILES+= boot0.out boot0.o
@


1.16
log
@Unrevert revision 1.12.  Revision 1.14 backed this out saying it was
backing out the 1024 sector boot0, but revision 1.12 had nothing to do with
that.  Instead, it documented various compile time options for boot0 and
allowed them to be overridden via make.conf or options on the make
command line.
@
text
@a26 4
.if ${OBJFORMAT} == aout
	${LD} -N -s -T ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
	dd if=boot0.out of=${.TARGET} ibs=32 skip=1
.else
a28 1
.endif
@


1.15
log
@Unset MAINTAINER.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.14 2000/10/02 17:30:22 rnordier Exp $
d11 14
a24 4
B0FLAGS=0xf
B0TICKS=0xb6

ORG=	0x600
d28 1
a28 1
	${LD} -N -s -T ${ORG} -o boot0.out boot0.o
d31 1
a31 1
	${LD} -N -e start -Ttext ${ORG} -o boot0.out boot0.o
d36 2
a37 2
	${AS} ${AFLAGS} --defsym FLAGS=${B0FLAGS} --defsym TICKS=${B0TICKS} \
		${.IMPSRC} -o ${.TARGET}
@


1.14
log
@Go back to occupying just a single sector, reverting r1.17 - r1.20.
Taking over the sector following the MBR causes problems on some
machines, and the actual gains are fairly small in terms of how
the space is presently used.

Since we need a number of further features (eg. handling extended
partitions) that can't be readily accommodated in the basic boot0
design anyway, rather choose to implement the additional stuff
separately and concentrate on compatibility rather than features
here.
@
text
@d1 1
a1 3
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.13 2000/10/02 17:23:14 rnordier Exp $

MAINTAINER=	rnordier
@


1.13
log
@Set MAINTAINER.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.12 2000/08/03 10:24:54 jhb Exp $
d13 4
a16 14
# The default set of flags compiled into boot0.  This enables update (writing
# the modified boot0 back to disk after running so that the selection made is
# saved), packet mode (detect and use the BIOS EDD extensions if we try to
# boot past the 1024 cylinder liimt), and booting from all valid slices.
BOOT_BOOT0_FLAGS?=	0x8f

# The number of timer ticks to wait for a keypress before assuming the default
# selection.  Since there are 18.2 ticks per second, the default value of
# 0xb6 (182d) corresponds to 10 seconds.
BOOT_BOOT0_TICKS?=	0xb6

# The base address that we the boot0 code to to run it.  Don't change this
# unless you are glutton for punishment.
BOOT_BOOT0_ORG?=	0x600
d20 1
a20 1
	${LD} -N -s -T ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
d23 1
a23 1
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
d28 2
a29 2
	${AS} ${AFLAGS} --defsym FLAGS=${BOOT_BOOT0_FLAGS} \
		--defsym TICKS=${BOOT_BOOT0_TICKS} ${.IMPSRC} -o ${.TARGET}
@


1.12
log
@Forced commit to note that actually, the last commit to this file was not
warning fixes, but rather it made pre-existing compile-time knobs tweakable
via make variables.  It also documented the options.
@
text
@d1 3
a3 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.11 2000/08/03 09:14:00 jhb Exp $
@


1.11
log
@Cleanup warnings.  Most of these are signed/unsigned warnings, as well as
some added const's.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.10 2000/07/12 18:11:54 jhb Exp $
@


1.10
log
@The new and improved boot0, v1.1.  This version adds the following:
- Autodetection and support of the BIOS EDD extensions to work around the
  1024 cylinder limit on all but really ancient BIOS's.
- To work around some BIOS's which break when EDD is used with older drives,
  we only attempt to use EDD if the cylinder is > 1023.
- Since this new code required more space than we had left, expand boot0 to
  2 sectors (1024 bytes) in length.
- Add support for boot0 being multiple sectors using predefined constants.
  If boot0 needs to be extended in the future, all that is required is
  bumping the NUM_SECTORS constant.
- Now that we have more room to work with, add a few more fs type
  descriptions while making others more verbose.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.9 2000/05/23 12:18:48 jhb Exp $
d11 14
a24 5
# update, packet mode, and all slices enabled by default
B0FLAGS=0x8f
B0TICKS=0xb6

ORG=	0x600
d28 1
a28 1
	${LD} -N -s -T ${ORG} -o boot0.out boot0.o
d31 1
a31 1
	${LD} -N -e start -Ttext ${ORG} -o boot0.out boot0.o
d36 2
a37 2
	${AS} ${AFLAGS} --defsym FLAGS=${B0FLAGS} --defsym TICKS=${B0TICKS} \
		${.IMPSRC} -o ${.TARGET}
@


1.9
log
@Clean up all of the 16-bit assembly code in the x86 bootstrap to work
with the new binutils.  Now that we have a decent assembler, all the old
m4 macros are no longer needed.  Instead, straight assembly can be used
since as(1) now understands 16-bit addressing, branches, etc.  Also,
several bugs have been fixed in as(1), allowing boot0.s to be further
cleaned up.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8 1999/08/28 00:39:59 peter Exp $
d11 2
a12 1
B0FLAGS=0xf
@


1.8
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
d25 3
a27 3
boot0.o: boot0.m4 boot0.s
	(cd ${.CURDIR}; ${M4} -DFLAGS=${B0FLAGS} -DTICKS=${B0TICKS} \
		boot0.m4 boot0.s) | ${AS} ${AFLAGS} -o ${.TARGET}
@


1.8.2.1
log
@MFC:  clean up all of the 16-bit assembly code in the x86 bootstrap to work
      with Binutils 2.10.0 -- all the old m4 macros are no longer needed.

Also MFC rev 1.18-22 sys/boot/i386/btx/btx/btx.s (change string and support
                     new instructions).
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8 1999/08/28 00:39:59 peter Exp $
d25 3
a27 3
boot0.o: boot0.s
	${AS} ${AFLAGS} --defsym FLAGS=${B0FLAGS} --defsym TICKS=${B0TICKS} \
		${.IMPSRC} -o ${.TARGET}
@


1.8.2.2
log
@MFC: The new 1024 byte boot0 that supports the EDD BIOS extensions.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8.2.1 2000/07/06 23:04:24 obrien Exp $
d11 1
a11 2
# update, packet mode, and all slices enabled by default
B0FLAGS=0x8f
@


1.8.2.3
log
@MFC: Sync with -current code.  (Configure for LBA at install-time
rather than run-time.)
@
text
@d1 1
a1 3
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8.2.2 2000/07/17 21:27:26 jhb Exp $

MAINTAINER=	rnordier
d11 2
a12 1
B0FLAGS=0xf
@


1.8.2.4
log
@MFC: Allow pre-existing compile-time knobs to be tweakable via make
variables.
@
text
@d1 1
a1 1
# $FreeBSD$
d16 1
a16 14
# The default set of flags compiled into boot0.  This enables update (writing
# the modified boot0 back to disk after running so that the selection made is
# saved), packet mode (detect and use the BIOS EDD extensions if we try to
# boot past the 1024 cylinder liimt), and booting from all valid slices.
BOOT_BOOT0_FLAGS?=	0x8f

# The number of timer ticks to wait for a keypress before assuming the default
# selection.  Since there are 18.2 ticks per second, the default value of
# 0xb6 (182d) corresponds to 10 seconds.
BOOT_BOOT0_TICKS?=	0xb6

# The base address that we the boot0 code to to run it.  Don't change this
# unless you are glutton for punishment.
BOOT_BOOT0_ORG?=	0x600
d20 1
a20 1
	${LD} -N -s -T ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
d23 1
a23 1
	${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
d28 2
a29 2
	${AS} ${AFLAGS} --defsym FLAGS=${BOOT_BOOT0_FLAGS} \
		--defsym TICKS=${BOOT_BOOT0_TICKS} ${.IMPSRC} -o ${.TARGET}
@


1.8.2.5
log
@Revert last commit.  It was not an MFC and I missed the fact that
it was reverted in -current in rev 1.14 by rnordier.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8.2.4 2000/12/28 13:15:11 ps Exp $
d16 14
a29 1
ORG=	0x600
d33 1
a33 1
	${LD} -N -s -T ${ORG} -o boot0.out boot0.o
d36 1
a36 1
	${LD} -N -e start -Ttext ${ORG} -o boot0.out boot0.o
d41 2
a42 2
	${AS} ${AFLAGS} --defsym FLAGS=${B0FLAGS} --defsym TICKS=${B0TICKS} \
		${.IMPSRC} -o ${.TARGET}
@


1.8.2.6
log
@MFC: Unset MAINTAINER.
@
text
@d1 3
a3 1
# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.8.2.5 2000/12/28 21:52:32 ps Exp $
@


1.8.2.7
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/4/sys/boot/i386/boot0/Makefile 80085 2001-07-21 14:35:37Z rnordier $
@


1.7
log
@Provide for enabling/disabling each slice individually.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.6 1998/10/19 19:13:52 rnordier Exp $
@


1.6
log
@Make configurable (a) whether to use int 0x13 extensions; (b) timeout
value.  Ignore failure to update mbr sector.  Disable interrupts while
using extended registers.  Default to F1 not F2.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.5 1998/10/17 14:20:25 rnordier Exp $
d11 1
a11 1
B0FLAGS=0x0
@


1.6.2.1
log
@MFC: active flag handling; sanity check drive number; pass partition
pointer to bootstrap; enable/disable options; etc.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.6 1998/10/19 19:13:52 rnordier Exp $
d11 1
a11 1
B0FLAGS=0xf
@


1.6.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.5
log
@Set BINMODE to 444.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.4 1998/10/13 18:29:18 rnordier Exp $
d11 3
d26 2
a27 2
	(cd ${.CURDIR}; ${M4} boot0.m4 boot0.s) | \
	${AS} ${AFLAGS} -o ${.TARGET}
@


1.4
log
@Don't use an absolute path to objcopy.
Noticed by: Scott Mace <smace@@intt.org>
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.3 1998/10/09 17:19:51 rnordier Exp $
d7 1
@


1.3
log
@Get this building as a.out or ELF.

With thanks to: jdp
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.2 1998/10/05 19:20:36 rnordier Exp $
d18 1
a18 1
	/usr/libexec/elf/objcopy -S -O binary boot0.out ${.TARGET}
@


1.2
log
@Install in /boot.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.1.1.1 1998/10/05 10:08:37 rnordier Exp $
d13 4
d19 1
@


1.1
log
@Initial revision
@
text
@d1 6
a6 1
#	$Id:$
a11 2
all: boot0

d20 1
a20 1
CLEANFILES+= boot0 boot0.out boot0.o
@


1.1.1.1
log
@boot0 is a booteasy (boot manager) workalike with EDD support.
@
text
@@
