Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/pmax/pmax Fix netbooting on the 2100/3100. Partiall...
details: https://anonhg.NetBSD.org/src/rev/97a3601a5e6d
branches: trunk
changeset: 499517:97a3601a5e6d
user: ad <ad%NetBSD.org@localhost>
date: Tue Nov 21 14:21:36 2000 +0000
description:
Fix netbooting on the 2100/3100. Partially from Thilo Manske
<Thilo.Manske%HEH.Uni-Oldenburg.DE@localhost> in PR 11212.
diffstat:
sys/arch/pmax/pmax/autoconf.c | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diffs (74 lines):
diff -r d0f440abf69d -r 97a3601a5e6d sys/arch/pmax/pmax/autoconf.c
--- a/sys/arch/pmax/pmax/autoconf.c Tue Nov 21 14:19:10 2000 +0000
+++ b/sys/arch/pmax/pmax/autoconf.c Tue Nov 21 14:21:36 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: autoconf.c,v 1.54 2000/07/24 11:44:33 ad Exp $ */
+/* $NetBSD: autoconf.c,v 1.55 2000/11/21 14:21:36 ad Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.54 2000/07/24 11:44:33 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.55 2000/11/21 14:21:36 ad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -56,6 +56,7 @@
#include <machine/sysconf.h>
#include <pmax/dev/device.h>
+#include <pmax/pmax/pmaxtype.h>
#include <dev/tc/tcvar.h>
@@ -67,6 +68,7 @@
#include "tz.h"
#include "xasc_ioasic.h"
#include "xasc_pmaz.h"
+#include "opt_dec_3100.h"
struct intrhand intrtab[MAX_DEV_NCOOKIES];
struct device *booted_device;
@@ -111,6 +113,7 @@
booted_slot = booted_unit = booted_partition = 0;
booted_protocol = NULL;
+#ifdef DEC_3100
if (cp[0] == 'r' && cp[1] == 'z' && cp[2] == '(') {
cp += 3;
if (*cp >= '0' && *cp <= '9')
@@ -126,6 +129,16 @@
booted_protocol = "SCSI";
return;
}
+ if (strncmp(cp, "tftp(", 5) == 0) {
+ booted_protocol = "BOOTP";
+ return;
+ }
+ if (strncmp(cp, "mop(", 4) == 0) {
+ booted_protocol = "MOP";
+ return;
+ }
+#endif
+
if (cp[0] >= '0' && cp[0] <= '9' && cp[1] == '/') {
booted_slot = cp[0] - '0';
if (cp[2] == 'r' && cp[3] == 'z'
@@ -275,6 +288,14 @@
if (netboot && strcmp(cd->cd_name, "le") == 0) {
struct tc_attach_args *ta = aux;
+#ifdef DEC_3100
+ /* Only one Ethernet interface on 3100. */
+ if (systype == DS_PMAX) {
+ booted_device = dev;
+ found = 1;
+ return;
+ }
+#endif
if (parent == ioasicdev ||
ta->ta_slot == booted_slot) {
booted_device = dev;
Home |
Main Index |
Thread Index |
Old Index