rick@seismo.CSS.GOV (Rick Adams) (03/17/87)
Index: sys/vax/autoconf.c 4.3BSD
Description:
4.3 BSD only supports 4 MBAs.
Repeat-By:
Get a lot of MBAs and try and configure them.
Fix:
Apply the following patch. This will support 6 MBAS. For more than
that, you must make similar changes. The changes are straightforward.
Finding the places to change is a bit of a treasure hunt.
*** /tmp/,RCSt1024908 Tue Mar 17 14:43:24 1987
--- /sys/vax/locore.s Thu Feb 19 19:21:53 1987
***************
*** 145,150 ****
--- 145,154 ----
PANIC("wtimo");
#if NMBA > 0
+ SCBVEC(mba5int):
+ PUSHR; incl _intrcnt+I_MBA5; pushl $5; brb 1f
+ SCBVEC(mba4int):
+ PUSHR; incl _intrcnt+I_MBA4; pushl $4; brb 1f
SCBVEC(mba3int):
PUSHR; incl _intrcnt+I_MBA3; pushl $3; brb 1f
SCBVEC(mba2int):
*** /tmp/,RCSt1024908 Tue Mar 17 14:43:31 1987
--- /sys/vax/autoconf.c Wed Feb 25 18:08:57 1987
***************
*** 58,66 ****
* as necessary.
*/
#if NMBA > 0
! int (*mbaintv[4])() = { Xmba0int, Xmba1int, Xmba2int, Xmba3int };
! #if NMBA > 4
! Need to expand the table for more than 4 massbus adaptors
#endif
#endif
#if defined(VAX780) || defined(VAX8600)
--- 58,72 ----
* as necessary.
*/
#if NMBA > 0
! int (*mbaintv[6])() = { Xmba0int, Xmba1int, Xmba2int, Xmba3int ,Xmba4int, Xmba5int};
! #if NMBA > 6
! These sources only support 6 massbus adaptors. The limit
! can be found in the following places:
! the above table.
! autoconf.c
! locore.s
! ../vaxmba/mbavar.h
! /usr/src/etc/config/mkglue.c
#endif
#endif
#if defined(VAX780) || defined(VAX8600)
*** /tmp/,RCSt1024939 Tue Mar 17 14:44:36 1987
--- /sys/vaxmba/mbavar.h Tue Feb 24 14:58:54 1987
***************
*** 137,143 ****
int nummba;
#if NMBA > 0
struct mba_hd mba_hd[NMBA];
! extern Xmba0int(), Xmba1int(), Xmba2int(), Xmba3int();
extern struct mba_device mbdinit[];
extern struct mba_slave mbsinit[];
--- 137,143 ----
int nummba;
#if NMBA > 0
struct mba_hd mba_hd[NMBA];
! extern Xmba0int(), Xmba1int(), Xmba2int(), Xmba3int(), Xmba4int(), Xmba5int();
extern struct mba_device mbdinit[];
extern struct mba_slave mbsinit[];
*** /tmp/,RCSt1025056 Tue Mar 17 14:48:29 1987
--- /usr/src/etc/config/mkglue.c Tue Feb 24 13:45:54 1987
***************
*** 111,117 ****
static char *vaxinames[] = {
"clock", "cnr", "cnx", "tur", "tux",
! "mba0", "mba1", "mba2", "mba3",
"uba0", "uba1", "uba2", "uba3"
};
static struct stdintrs {
--- 111,117 ----
static char *vaxinames[] = {
"clock", "cnr", "cnx", "tur", "tux",
! "mba0", "mba1", "mba2", "mba3", "mba4", "mba5",
"uba0", "uba1", "uba2", "uba3"
};
static struct stdintrs {