Make the boot blocks compile (and work!) again.

This commit is contained in:
thorpej 1995-08-04 07:55:34 +00:00
parent be13d8f6bf
commit 4313e3aa62
15 changed files with 235 additions and 74 deletions

View File

@ -1,7 +1,12 @@
# $NetBSD: Makefile,v 1.15 1995/02/21 09:16:34 mycroft Exp $
# $NetBSD: Makefile,v 1.16 1995/08/04 07:55:34 thorpej Exp $
# @(#)Makefile 8.1 (Berkeley) 6/10/93
NOPROG= noprog
NOMAN= noman
SUBDIR= libsa
# RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long
RELOC= FFF00000
@ -20,15 +25,15 @@ DOBJS= ${DSRCS:N*.h:R:S/$/.o/g}
S= ${.CURDIR}/../../..
.PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
.PATH: ${S}/stand ${S}/lib/libsa
.PATH: ${S}/stand
INCPATH=-I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa
### find out what to use for libkern
KERNREL=
.include "$S/lib/libkern/Makefile.inc"
LIBKERN= ${KERNLIB}
.include "$S/lib/libsa/Makefile.inc"
.include "${.CURDIR}/libsa/Makefile.inc"
LIBSA= ${SA_LIB}
LIBS= ${OBJS} libdrive.a ${LIBSA} ${LIBKERN}
@ -123,7 +128,7 @@ installboot: ${.CURDIR}/installboot.sh
# utilities
clean cleandir:
clean::
rm -f *.o *.exe *.i errs make.out
rm -f a.out pboot cat ls tboot tcopy
rm -f boot[a-z]? boot[a-wyz][a-z].c conf[a-wyz][a-z].c
@ -143,6 +148,7 @@ install: mkboot installboot ${ALL}
ln ${DESTDIR}/usr/mdec/rdboot ${DESTDIR}/usr/mdec/sdboot
rm -f ${DESTDIR}/usr/mdec/bootsd
ln ${DESTDIR}/usr/mdec/sdboot ${DESTDIR}/usr/mdec/bootsd
install -d -m 755 -o bin -g bin ${DESTDIR}/usr/mdec/rbootd
install -c -o bin -g bin -m 444 netboot.lif ${DESTDIR}/usr/mdec/rbootd/SYS_NBOOT
install -c -o bin -g bin -m 644 tapeboot.lif ${DESTDIR}/usr/mdec/bootct
# install -o bin -g bin -m 755 -d ${DESTDIR}/sys/hpdist/tp
@ -150,7 +156,5 @@ install: mkboot installboot ${ALL}
# install -o bin -g bin -m 444 tapeboot.lif ${DESTDIR}/sys/hpdist/tp
# install -o bin -g bin -m 444 diskboot.lif ${DESTDIR}/sys/hpdist/tp
.include <bsd.dep.mk>
.include <bsd.obj.mk>
# XXX This should not be necessary.
.include <bsd.prog.mk>
.include <bsd.subdir.mk>

View File

@ -1,4 +1,4 @@
/* $NetBSD: autoconf.c,v 1.7 1994/10/26 07:27:00 cgd Exp $ */
/* $NetBSD: autoconf.c,v 1.8 1995/08/04 07:55:35 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -42,11 +42,12 @@
* @(#)autoconf.c 8.1 (Berkeley) 6/10/93
*/
#include <hp300/stand/samachdep.h>
#include <hp300/stand/rominfo.h>
#include <sys/param.h>
#include <sys/reboot.h>
#include <hp300/stand/samachdep.h>
#include <hp300/stand/rominfo.h>
#include <hp300/dev/device.h>
#include <hp300/dev/grfvar.h>
#include <hp300/dev/grfreg.h>

View File

@ -1,4 +1,4 @@
/* $NetBSD: conf.c,v 1.6 1995/02/19 19:17:04 mycroft Exp $ */
/* $NetBSD: conf.c,v 1.7 1995/08/04 07:55:37 thorpej Exp $ */
/*
* Copyright (c) 1982, 1986, 1990, 1993
@ -71,30 +71,38 @@
* Device configuration
*/
#ifdef TAPEBOOT
#define ctstrategy nullsys
#define ctopen nodev
#define ctclose nullsys
#define ctstrategy \
(int (*) __P((void *, int, daddr_t, u_int, char *, u_int *)))nullsys
#define ctopen (int (*) __P((struct open_file *, ...)))nodev
#define ctclose (int (*) __P((struct open_file *)))nullsys
#else
extern int ctstrategy __P((void *, int, daddr_t, u_int, char *, u_int));
extern int ctopen __P((struct open_file *, ...));
extern int ctclose __P((struct open_file *));
int ctstrategy __P((void *, int, daddr_t, u_int, char *, u_int *));
int ctopen __P((struct open_file *, ...));
int ctclose __P((struct open_file *));
#endif
#define ctioctl noioctl
#define ctioctl noioctl
extern int rdstrategy __P((void *, int, daddr_t, u_int, char *, u_int));
extern int rdopen __P((struct open_file *, ...));
#define rdioctl noioctl
int rdstrategy __P((void *, int, daddr_t, u_int, char *, u_int *));
int rdopen __P((struct open_file *, ...));
#define rdclose (int (*) __P((struct open_file *)))nullsys
#define rdioctl noioctl
extern int sdstrategy __P((void *, int, daddr_t, u_int, char *, u_int));
extern int sdopen __P((struct open_file *, ...));
#define sdioctl noioctl
int sdstrategy __P((void *, int, daddr_t, u_int, char *, u_int *));
int sdopen __P((struct open_file *, ...));
#define sdclose (int (*) __P((struct open_file *)))nullsys
#define sdioctl noioctl
#define xxstrategy \
(int (*) __P((void *, int, daddr_t, u_int, char *, u_int *)))nullsys
#define xxopen (int (*) __P((struct open_file *, ...)))nodev
#define xxclose (int (*) __P((struct open_file *)))nullsys
struct devsw devsw[] = {
{ "ct", ctstrategy, ctopen, ctclose, ctioctl }, /*0*/
{ "??", nullsys, nodev, nullsys, noioctl }, /*1*/
{ "rd", rdstrategy, rdopen, nullsys, rdioctl }, /*2*/
{ "??", nullsys, nodev, nullsys, noioctl }, /*3*/
{ "sd", sdstrategy, sdopen, nullsys, sdioctl }, /*4*/
{ "??", xxstrategy, xxopen, xxclose, noioctl }, /*1*/
{ "rd", rdstrategy, rdopen, rdclose, rdioctl }, /*2*/
{ "??", xxstrategy, xxopen, xxclose, noioctl }, /*3*/
{ "sd", sdstrategy, sdopen, sdclose, sdioctl }, /*4*/
};
int ndevs = (sizeof(devsw)/sizeof(devsw[0]));

View File

@ -1,4 +1,4 @@
/* $NetBSD: cons.c,v 1.6 1994/10/26 07:27:09 cgd Exp $ */
/* $NetBSD: cons.c,v 1.7 1995/08/04 07:55:38 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -44,17 +44,9 @@
#include <sys/param.h>
#include <dev/cons.h>
#include "samachdep.h"
#ifdef ITECONSOLE
int iteprobe(), iteinit(), itegetchar(), iteputchar();
#endif
#ifdef DCACONSOLE
int dcaprobe(), dcainit(), dcagetchar(), dcaputchar();
#endif
#ifdef DCMCONSOLE
int dcmprobe(), dcminit(), dcmgetchar(), dcmputchar();
#endif
#include <hp300/stand/consdefs.h>
#include <hp300/stand/samachdep.h>
struct consdev constab[] = {
#ifdef ITECONSOLE
@ -92,14 +84,18 @@ cninit()
cngetc()
{
/* Note: the dev_t arguments are not used! */
if (cn_tab)
return((*cn_tab->cn_getc)());
return((*cn_tab->cn_getc)(0));
return(0);
}
cnputc(c)
int c;
{
/* Note: the dev_t arguments are not used! */
#ifdef ROMPRF
extern int userom;
@ -108,5 +104,5 @@ cnputc(c)
else
#endif
if (cn_tab)
(*cn_tab->cn_putc)(c);
(*cn_tab->cn_putc)(0, c);
}

View File

@ -0,0 +1,56 @@
/* $NetBSD: consdefs.h,v 1.1 1995/08/04 07:55:39 thorpej Exp $ */
/*
* Copyright (c) 1982, 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.
*/
/*
* Console routine prototypes.
*/
#ifdef ITECONSOLE
void iteprobe __P((struct consdev *));
void iteinit __P((struct consdev *));
int itegetchar __P((dev_t));
void iteputchar __P((dev_t, int));
#endif
#ifdef DCACONSOLE
void dcaprobe __P((struct consdev *));
void dcainit __P((struct consdev *));
int dcagetchar __P((dev_t));
void dcaputchar __P((dev_t, int));
#endif
#ifdef DCMCONSOLE
void dcmprobe __P((struct consdev *));
void dcminit __P((struct consdev *));
int dcmgetchar __P((dev_t));
void dcmputchar __P((dev_t, int));
#endif

View File

@ -1,4 +1,4 @@
/* $NetBSD: dca.c,v 1.5 1994/10/26 07:27:13 cgd Exp $ */
/* $NetBSD: dca.c,v 1.6 1995/08/04 07:55:40 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -42,10 +42,12 @@
#ifdef DCACONSOLE
#include <sys/param.h>
#include <hp300/dev/dcareg.h>
#include <machine/cpu.h>
#include <dev/cons.h>
#include <hp300/dev/dcareg.h>
#include <hp300/stand/consdefs.h>
/* If not using 4.4 devs */
#ifndef dca_reset
#define dca_id dca_irid
@ -54,6 +56,7 @@
struct dcadevice *dcacnaddr = 0;
void
dcaprobe(cp)
struct consdev *cp;
{
@ -84,6 +87,7 @@ dcaprobe(cp)
#endif
}
void
dcainit(cp)
struct consdev *cp;
{
@ -98,8 +102,11 @@ dcainit(cp)
dca->dca_cfcr = CFCR_8BITS;
}
/* ARGSUSED */
#ifndef SMALL
dcagetchar()
int
dcagetchar(dev)
dev_t dev;
{
register struct dcadevice *dca = dcacnaddr;
short stat;
@ -111,13 +118,18 @@ dcagetchar()
return(c);
}
#else
dcagetchar()
int
dcagetchar(dev)
dev_t dev;
{
return(0);
}
#endif
dcaputchar(c)
/* ARGSUSED */
void
dcaputchar(dev, c)
dev_t dev;
register int c;
{
register struct dcadevice *dca = dcacnaddr;

View File

@ -1,4 +1,4 @@
/* $NetBSD: dcm.c,v 1.5 1994/10/26 07:27:14 cgd Exp $ */
/* $NetBSD: dcm.c,v 1.6 1995/08/04 07:55:41 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -43,11 +43,14 @@
#ifdef DCMCONSOLE
#include <sys/param.h>
#include <dev/cons.h>
#include <hp300/dev/device.h>
#include <hp300/dev/dcmreg.h>
#include <hp300/stand/consdefs.h>
struct dcmdevice *dcmcnaddr = NULL;
void
dcmprobe(cp)
struct consdev *cp;
{
@ -78,6 +81,7 @@ dcmprobe(cp)
}
}
void
dcminit(cp)
struct consdev *cp;
{
@ -96,8 +100,11 @@ dcminit(cp)
DELAY(15000);
}
/* ARGSUSED */
#ifndef SMALL
dcmgetchar()
int
dcmgetchar(dev)
dev_t dev;
{
register struct dcmdevice *dcm = dcmcnaddr;
register struct dcmrfifo *fifo;
@ -120,13 +127,18 @@ dcmgetchar()
return(c);
}
#else
dcmgetchar()
int
dcmgetchar(dev)
dev_t dev;
{
return(0);
}
#endif
dcmputchar(c)
/* ARGSUSED */
void
dcmputchar(dev, c)
dev_t dev;
register int c;
{
register struct dcmdevice *dcm = dcmcnaddr;

View File

@ -1,4 +1,4 @@
/* $NetBSD: devopen.c,v 1.3 1994/10/26 07:27:16 cgd Exp $ */
/* $NetBSD: devopen.c,v 1.4 1995/08/04 07:55:42 thorpej Exp $ */
/*-
* Copyright (c) 1993 John Brezak
@ -54,7 +54,9 @@ Usage: device(adaptor, controller, drive, partition)file\n\
");
}
devlookup(char *d, int len)
devlookup(d, len)
const char *d;
int len;
{
struct devsw *dp = devsw;
int i;
@ -79,13 +81,16 @@ devlookup(char *d, int len)
* [A-Za-z]*[0-9]*[A-Za-z]:file
* dev unit part
*/
devparse(char *fname, int *dev, int *adapt, int *ctlr, int *unit, int *part, char **file)
devparse(fname, dev, adapt, ctlr, unit, part, file)
const char *fname;
int *dev, *adapt, *ctlr, *unit, *part;
char **file;
{
int *argp, i;
char *s, *args[4];
/* get device name and make lower case */
for (s = fname; *s && *s != '/' && *s != ':' && *s != '('; s++)
for (s = (char *)fname; *s && *s != '/' && *s != ':' && *s != '('; s++)
if (isupper(*s)) *s = tolower(*s);
/* first form */
@ -130,7 +135,7 @@ devparse(char *fname, int *dev, int *adapt, int *ctlr, int *unit, int *part, cha
int unit;
/* isolate device */
for (s = fname; *s != ':' && !isdigit(*s); s++);
for (s = (char *)fname; *s != ':' && !isdigit(*s); s++);
/* lookup device and get index */
if ((*dev = devlookup(fname, s - fname)) < 0)
@ -155,7 +160,7 @@ devparse(char *fname, int *dev, int *adapt, int *ctlr, int *unit, int *part, cha
/* no device present */
else
*file = fname;
*file = (char *)fname;
/* return the remaining unparsed part as the file to boot */
return(0);
@ -170,7 +175,7 @@ devparse(char *fname, int *dev, int *adapt, int *ctlr, int *unit, int *part, cha
devopen(f, fname, file)
struct open_file *f;
char *fname;
const char *fname;
char **file;
{
int n, error;

View File

@ -1,4 +1,4 @@
/* $NetBSD: if_le.c,v 1.3 1995/02/20 00:12:11 mycroft Exp $ */
/* $NetBSD: if_le.c,v 1.4 1995/08/04 07:55:43 thorpej Exp $ */
/*
* Copyright (c) 1993 Adam Glass
@ -37,8 +37,7 @@
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <lib/libnetboot/netboot.h>
#include <lib/libnetboot/netif.h>
#include <lib/libsa/netif.h>
#include <hp300/dev/device.h>
#include <hp300/dev/if_lereg.h>

View File

@ -1,4 +1,4 @@
/* $NetBSD: ite.c,v 1.7 1994/10/26 07:27:29 cgd Exp $ */
/* $NetBSD: ite.c,v 1.8 1995/08/04 07:55:45 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -45,7 +45,6 @@
/*
* Standalone Internal Terminal Emulator (CRT and keyboard)
*/
#include <hp300/stand/samachdep.h>
#ifdef ITECONSOLE
@ -54,6 +53,8 @@
#include <hp300/dev/device.h>
#include <hp300/dev/itevar.h>
#include <hp300/dev/grfreg.h>
#include <hp300/stand/consdefs.h>
#include <hp300/stand/samachdep.h>
extern int nodev();
extern u_char ite_readbyte();
@ -164,6 +165,7 @@ iteconfig()
int whichconsole = -1;
#endif
void
iteprobe(cp)
struct consdev *cp;
{
@ -176,7 +178,7 @@ iteprobe(cp)
#endif
if (itecons != -1)
return(1);
return;
iteconfig();
unit = -1;
@ -202,6 +204,7 @@ iteprobe(cp)
cp->cn_pri = pri;
}
void
iteinit(cp)
struct consdev *cp;
{
@ -209,7 +212,7 @@ iteinit(cp)
struct ite_softc *ip;
if (itecons != -1)
return(1);
return;
ip = &ite_softc[ite];
@ -225,7 +228,10 @@ iteinit(cp)
kbdinit();
}
iteputchar(c)
/* ARGSUSED */
void
iteputchar(dev, c)
dev_t dev;
register int c;
{
register struct ite_softc *ip = &ite_softc[itecons];
@ -291,7 +297,10 @@ ite_clrtoeol(ip, sp, y, x)
(*sp->ite_cursor)(ip, DRAW_CURSOR);
}
itegetchar()
/* ARGSUSED */
int
itegetchar(dev)
dev_t dev;
{
#ifdef SMALL
return (0);

View File

@ -0,0 +1,35 @@
# $NetBSD: Makefile,v 1.1 1995/08/04 07:55:49 thorpej Exp $
LIB= sa
.PATH: ${.CURDIR}/../../../../lib/libsa
DEBUGFLAGS=-DNETIF_DEBUG
CFLAGS+=-DSTANDALONE -DCOMPAT_UFS ${DEBUGFLAGS}
CFLAGS+=-I${.CURDIR}/../../../.. -I${.CURDIR}/../../../../lib/libsa
# stand routines
SRCS= alloc.c bcopy.c exit.c exec.c getfile.c gets.c globals.c \
printf.c strerror.c
# io routines
SRCS+= close.c dev.c disklabel.c ioctl.c lseek.c open.c read.c \
stat.c write.c
# network routines
SRCS+= arp.c ether.c in_cksum.c net.c netif.c rpc.c
# network info services
SRCS+= bootp.c rarp.c
# boot filesystems
SRCS+= ufs.c nfs.c
NOPROFILE=
NOPIC=
OBJMACHINE=
install:
.include <bsd.lib.mk>

View File

@ -0,0 +1,23 @@
# $NetBSD: Makefile.inc,v 1.1 1995/08/04 07:55:50 thorpej Exp $
# NOTE: $S must correspond to the top of the 'sys' tree
SA_DIR= $S/arch/hp300/stand/libsa
.if exists($(SA_DIR)/obj.${MACHINE})
SA_LIBDIR= $(SA_DIR)/obj.${MACHINE}
.else
SA_LIBDIR= $(SA_DIR)
.endif
SA_LIB= $(SA_LIBDIR)/libsa.a
$(SA_LIB): .NOTMAIN __always_make_sa_lib
@echo making sure the stand-alone library is up to date...
@(cd $(SA_DIR) ; make)
clean:: .NOTMAIN __always_make_sa_lib
@echo cleaning the stand-alone library objects
@(cd $(SA_DIR) ; make clean)
__always_make_sa_lib: .NOTMAIN

View File

@ -323,7 +323,7 @@ main()
bootdev = -1; /* network */
printf("\n>> NetBSD NETWORK BOOT HP9000/%s CPU [%s]\n",
getmachineid(), "$Revision: 1.3 $");
getmachineid(), "$Revision: 1.4 $");
s = netif_open(NULL); /* XXX machdep may be "le" */
if (s < 0)

View File

@ -1,4 +1,4 @@
/* $NetBSD: pboot.c,v 1.5 1995/02/21 09:06:15 mycroft Exp $ */
/* $NetBSD: pboot.c,v 1.6 1995/08/04 07:55:47 thorpej Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993
@ -36,7 +36,7 @@
*/
#ifndef lint
static char rcsid[] = "$NetBSD: pboot.c,v 1.5 1995/02/21 09:06:15 mycroft Exp $";
static char rcsid[] = "$NetBSD: pboot.c,v 1.6 1995/08/04 07:55:47 thorpej Exp $";
#endif /* not lint */
#include <sys/param.h>
@ -70,7 +70,7 @@ main()
int currname = 0;
printf("\n>> NetBSD BOOT HP9000/%s CPU [%s]\n",
getmachineid(), "$Revision: 1.5 $");
getmachineid(), "$Revision: 1.6 $");
bdev = B_TYPE(bootdev);
badapt = B_ADAPTOR(bootdev);

View File

@ -1,4 +1,4 @@
/* $NetBSD: rd.c,v 1.7 1994/10/26 07:27:52 cgd Exp $ */
/* $NetBSD: rd.c,v 1.8 1995/08/04 07:55:48 thorpej Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -318,14 +318,15 @@ rdopen(f, ctlr, unit, part)
return (0);
}
rdstrategy(rs, func, dblk, size, buf, rsize)
register struct rd_softc *rs;
rdstrategy(devdata, func, dblk, size, buf, rsize)
void *devdata;
int func;
daddr_t dblk;
u_int size;
char *buf;
u_int *rsize;
{
struct rd_softc *rs = devdata;
register int ctlr = rs->sc_ctlr;
register int unit = rs->sc_unit;
daddr_t blk = (dblk + rs->sc_pinfo.offset[rs->sc_part]);