Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/vax/boot/boot Set correct adapter addresses if none...



details:   https://anonhg.NetBSD.org/src/rev/f67e1e398642
branches:  trunk
changeset: 486404:f67e1e398642
user:      ragge <ragge%NetBSD.org@localhost>
date:      Sun May 21 09:45:34 2000 +0000

description:
Set correct adapter addresses if none is given.

diffstat:

 sys/arch/vax/boot/boot/devopen.c |  14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diffs (57 lines):

diff -r 8448adda169f -r f67e1e398642 sys/arch/vax/boot/boot/devopen.c
--- a/sys/arch/vax/boot/boot/devopen.c  Sun May 21 09:44:16 2000 +0000
+++ b/sys/arch/vax/boot/boot/devopen.c  Sun May 21 09:45:34 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: devopen.c,v 1.3 2000/05/20 13:35:07 ragge Exp $ */
+/*     $NetBSD: devopen.c,v 1.4 2000/05/21 09:45:34 ragge Exp $ */
 /*
  * Copyright (c) 1997 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -124,8 +124,10 @@
        bootrpb.unit = unit;
        bootrpb.devtyp = dev;
 
+       nexaddr = bootrpb.adpphy;
        switch (vax_cputype) {
        case VAX_750:
+               csrbase = (nexaddr == 0xf30000 ? 0xffe000 : 0xfbe000);
                if (adapt < 0)
                        break;
                nexaddr = (NEX750 + NEXSIZE * adapt);
@@ -133,6 +135,7 @@
                break;
        case VAX_780:
        case VAX_8600:
+               csrbase = 0x2007e000 + 0x40000 * ((nexaddr & 0x1e000) >> 13);
                if (adapt < 0)
                        break;
                nexaddr = ((int)NEX780 + NEXSIZE * adapt);
@@ -141,14 +144,13 @@
        case VAX_8200:
        case VAX_8800:
        case VAX_TYP_8PS:
-               nexaddr = bootrpb.adpphy;
+               csrbase = 0; /* _may_ be a KDB */
                if (ctlr < 0)
                        break;
                if (adapt < 0)
                        nexaddr = (bootrpb.adpphy & 0xff000000) + BI_NODE(ctlr);
                else
                        nexaddr = BI_BASE(ctlr, adapt);
-               csrbase = 0; /* _may_ be a KDB */
                break;
 #ifdef notyet
        case VAX_6200:
@@ -165,6 +167,12 @@
                break;
        }
 
+#ifdef DEV_DEBUG
+       printf("rpb.type %d rpb.unit %d rpb.csr %lx rpb.adp %lx\n",
+           bootrpb.devtyp, bootrpb.unit, bootrpb.csrphy, bootrpb.adpphy);
+       printf("adapter %d ctlr %d unit %d part %d\n", adapt, ctlr, unit, part);
+#endif
+
        return (*dp->dv_open)(f, adapt, ctlr, unit, part);
 
 usage:



Home | Main Index | Thread Index | Old Index