summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386/boot0/Makefile
blob: dbfdb50521716a3bf3c2c3c4fe58cc7f2943e683 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# $FreeBSD$

FILES=	${BOOT}
CLEANFILES= ${BOOT} ${BOOT}.out ${BOOT}.o

BOOT?=	boot0

# 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?=	0xf

# 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.  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

AFLAGS+=--defsym FLAGS=${BOOT_BOOT0_FLAGS} \
	--defsym TICKS=${BOOT_BOOT0_TICKS} \
	--defsym COMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED}

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

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

.include <bsd.prog.mk>
OpenPOWER on IntegriCloud