initial import of bebox kernel loader.

This commit is contained in:
sakamoto 1998-01-16 04:07:35 +00:00
parent ea7c4f2cab
commit 538f1fec20
3 changed files with 113 additions and 0 deletions

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 1998/01/16 04:07:35 sakamoto Exp $
SUBDIR= boot
.include <bsd.subdir.mk>

View File

@ -0,0 +1,64 @@
# $NetBSD: Makefile,v 1.1 1998/01/16 04:17:35 sakamoto Exp $
S= ${.CURDIR}/../../../..
BASE= boot
PROG= ${BASE}.pef
NEWVERSWHAT= "BOOT"
SRCS= srt0.s boot.c clock.c com.c conf.c cons.c cpu.c crt.c devopen.c
SRCS+= fd.c filesystem.c io.c monitor.c ns16550.c prf.c tgets.c vreset.c
SRCS+= inkernel.c
CLEANFILES+= vers.c vers.o netbsd.gz ${BASE} elf2pef
CPPFLAGS= -I${.CURDIR}/../../.. -I${S} -I${S}/lib/libsa
CPPFLAGS+= -DDBMONITOR -DRELOC=${RELOC} -DENTRY=${ENTRY}
CPPFLAGS+= -DCONS_VGA
#CPPFLAGS+= -DCONS_SERIAL
#CPPFLAGS+= -DCOMSPEED=38400 -DCOMPORT=0
CPPFLAGS+= -DUSE_SCAN
AFLAGS= -x assembler-with-cpp -traditional-cpp
NOMAN=
STRIPFLAG=
BINMODE= 444
ENTRY= 0x3100
RELOC= 0x700000
KERNEL?= ${S}/arch/bebox/compile/GENERIC/netbsd
### find out what to use for libkern
KERN_AS= library
.include "${S}/lib/libkern/Makefile.inc"
LIBKERN= ${KERNLIB}
### find out what to use for libz
Z_AS= library
.include "${S}/lib/libz/Makefile.inc"
LIBZ= ${ZLIB}
### find out what to use for libsa
SA_AS= library
SAMISCMAKEFLAGS= SA_USE_CREAD=yes
.include "${S}/lib/libsa/Makefile.inc"
LIBSA= ${SALIB}
${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} elf2pef
sh ${.CURDIR}/../newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
${COMPILE.c} vers.c
${LD} -o ${BASE} -n -T ld.script -Ttext ${RELOC} ${OBJS} \
${LIBSA} ${LIBZ} ${LIBKERN} vers.o
.if exists (${KERNEL})
cat ${KERNEL} | gzip -9 > ${.CURDIR}/netbsd.gz
${.CURDIR}/elf2pef ${BASE} $@ ${.CURDIR}/netbsd.gz
.else
${.CURDIR}/elf2pef ${BASE} $@
.endif
elf2pef: elf2pef.c pef.h
${HOST_CC} -O -DENTRY=${ENTRY} -I${.CURDIR} -o $@ ${.CURDIR}/elf2pef.c
.include <bsd.prog.mk>

View File

@ -0,0 +1,44 @@
#!/bin/sh -
#
# $NetBSD: newvers.sh,v 1.1 1998/01/16 04:07:36 sakamoto Exp $
#
# Copyright (c) 1984, 1986, 1990, 1993
# The Regents of the University of California. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the University of
# California, Berkeley and its contributors.
# 4. Neither the name of the University nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
u=${USER-root} h=`hostname` t=`date`
r=`head -1 $1 | awk ' { print $3 } '`
echo "char bootprog_name[] = \"NetBSD/bebox ${2}\";" > vers.c
echo "char bootprog_rev[] = \"${r}\";" >> vers.c
echo "char bootprog_date[] = \"${t}\";" >> vers.c
echo "char bootprog_maker[] = \"${u}@${h}\";" >> vers.c