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