summaryrefslogtreecommitdiff
path: root/sys/arch/mvmeppc/stand/tftpboot
diff options
context:
space:
mode:
authorSteve Murphree <smurph@cvs.openbsd.org>2001-06-26 21:58:11 +0000
committerSteve Murphree <smurph@cvs.openbsd.org>2001-06-26 21:58:11 +0000
commit416f561c78b0eca90fdb484e72a96080b0825dca (patch)
treed310db0254b85229b90b9d90e79cabfbbcb6101a /sys/arch/mvmeppc/stand/tftpboot
parent77682e0d8d22531ed2952aaab30aae7c69483b3d (diff)
Initial import of mvmeppc.
Diffstat (limited to 'sys/arch/mvmeppc/stand/tftpboot')
-rw-r--r--sys/arch/mvmeppc/stand/tftpboot/Makefile45
-rw-r--r--sys/arch/mvmeppc/stand/tftpboot/boot.c120
-rw-r--r--sys/arch/mvmeppc/stand/tftpboot/version.c8
3 files changed, 173 insertions, 0 deletions
diff --git a/sys/arch/mvmeppc/stand/tftpboot/Makefile b/sys/arch/mvmeppc/stand/tftpboot/Makefile
new file mode 100644
index 00000000000..7c248c806bf
--- /dev/null
+++ b/sys/arch/mvmeppc/stand/tftpboot/Makefile
@@ -0,0 +1,45 @@
+# $OpenBSD: Makefile,v 1.1 2001/06/26 21:58:09 smurph Exp $
+
+SIZE?= size
+STRIP?= strip
+
+S= ${.CURDIR}/../../../..
+DEFS= -DSUN_BOOTPARAMS
+#-DNETIF_DEBUG
+INCPATH=-I${.CURDIR} -I${.CURDIR}/../libsa -I${.CURDIR}/../libbug \
+ -I${S} -I${S}/lib/libsa
+CFLAGS=-O2 ${DEFS} ${INCPATH} ${COPTS}
+CLEANFILES+=tftpboot tftpboot.bin
+
+.include "${S}/arch/mvmeppc/stand/bugcrt/Makefile.inc"
+.include "${S}/arch/mvmeppc/stand/libbug/Makefile.inc"
+.include "${S}/arch/mvmeppc/stand/libsa/Makefile.inc"
+.include "${S}/arch/mvmeppc/stand/libz/Makefile.inc"
+
+SRCS= boot.c version.c
+#SRCS+= if_ie.c
+#SRCS+= if_le.c
+OBJS= ${SRCS:S/.c/.o/g}
+LIBS= ${LIBSA} ${LIBBUG} ${LIBZ} ${LIBGCC}
+LDFLAGS+= -s -X -N -Ttext ${STAGE1_RELOC} -e _start
+#LDFLAGS+= -nostdlib -s -N -Ttext ${RELOC}
+
+all: tftpboot.bin
+
+tftpboot: ${OBJS} ${SINGLE} ${LIBS}
+ ${LD} ${LDFLAGS} \
+ ${SINGLE} ${OBJS} ${LIBS} -o $@
+# @${SIZE} $@
+
+tftpboot.bin: tftpboot
+ ${STRIP} tftpboot
+ dd ibs=96 skip=1 if=tftpboot of=$@
+# dd ibs=38 skip=1 if=tftpboot of=$@
+ chown ${LIBOWN}.${LIBGRP} tftpboot.bin
+ chmod ${LIBMODE} tftpboot.bin
+
+install:
+ ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ tftpboot.bin ${DESTDIR}${MDEC_DIR}/tftpboot
+
+.include <bsd.prog.mk>
diff --git a/sys/arch/mvmeppc/stand/tftpboot/boot.c b/sys/arch/mvmeppc/stand/tftpboot/boot.c
new file mode 100644
index 00000000000..004be9af878
--- /dev/null
+++ b/sys/arch/mvmeppc/stand/tftpboot/boot.c
@@ -0,0 +1,120 @@
+/* $OpenBSD: boot.c,v 1.1 2001/06/26 21:58:10 smurph Exp $ */
+/*-
+ * Copyright (c) 1995 Theo de Raadt
+ * Copyright (c) 2001 Steve Murphree, Jr.
+ * 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 Theo de Raadt
+ * 4. The name of the Author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+ *
+ * Copyright (c) 1982, 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.
+ *
+ * @(#)boot.c 8.1 (Berkeley) 6/10/93
+ */
+
+#include <sys/param.h>
+#include <sys/reboot.h>
+#include <machine/prom.h>
+
+#include "stand.h"
+#include "libsa.h"
+
+
+/*
+ * Boot device is derived from ROM provided information.
+ */
+#define LOADADDR 0x10000
+
+extern char *version;
+char line[80];
+
+main()
+{
+ char *cp, *file;
+ int ask = 0, howto, ret;
+
+ /* cycle in the correct args */
+ bugargs.arg_start = bugargs.nbarg_start;
+ bugargs.arg_end = bugargs.nbarg_end;
+ *bugargs.arg_end = 0; /* ensure */
+
+ bootdev_type = BUGDEV_NET;
+
+ printf("\n>> OpenBSD/mvmeppc netboot [%s]\n", version);
+
+ ret = parse_args(&file, &howto);
+
+ for (;;) {
+ if (ask) {
+ printf("boot: ");
+ gets(line);
+ if (line[0]) {
+ bugargs.arg_start = line;
+ cp = line;
+ while (cp < (line + sizeof(line) - 1) && *cp)
+ cp++;
+ bugargs.arg_end = cp;
+ ret =parse_args(&file, &howto);
+ }
+ }
+ if (ret) {
+ printf("boot: -q returning to MVME-Bug\n");
+ break;
+ }
+ exec_mvme(file, howto);
+ printf("boot: %s: %s\n", file, strerror(errno));
+ ask = 1;
+ }
+}
diff --git a/sys/arch/mvmeppc/stand/tftpboot/version.c b/sys/arch/mvmeppc/stand/tftpboot/version.c
new file mode 100644
index 00000000000..6d76885e63d
--- /dev/null
+++ b/sys/arch/mvmeppc/stand/tftpboot/version.c
@@ -0,0 +1,8 @@
+/* $OpenBSD: version.c,v 1.1 2001/06/26 21:58:10 smurph Exp $ */
+
+/*
+ * make a random change to this file when you want the bootblock
+ * revision to increase. like change this q to an x, or something.
+ */
+
+char *version = "$Revision: 1.1 $";