From 2bee79b5e7d4cb4170bf7eb3650c99a1a49443c1 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 24 Jun 2019 11:08:09 -0700 Subject: [PATCH] PDP11, VAX: Properly initialize extended unit structures - Extra queue and timer units on RQB, RQC, and RQD are now properly initialized. - PDP11 unit numbers are numbered: device RQ 0-3 device RQB 4-7 device RQC 8-11 device RQD 12-15 --- PDP11/pdp11_rq.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/PDP11/pdp11_rq.c b/PDP11/pdp11_rq.c index 7accc640..1e87311a 100644 --- a/PDP11/pdp11_rq.c +++ b/PDP11/pdp11_rq.c @@ -2986,15 +2986,15 @@ if (!plugs_inited ) { char uname[16]; plugs_inited = TRUE; - dptr->units[RQ_TIMER].action = &rq_tmrsvc; - dptr->units[RQ_TIMER].flags = UNIT_IDLE|UNIT_DIS; - sprintf (uname, "%s-TIMER", dptr->name); - sim_set_uname (&dptr->units[RQ_TIMER], uname); - dptr->units[RQ_QUEUE].action = &rq_quesvc; - dptr->units[RQ_QUEUE].flags = UNIT_DIS; - sprintf (uname, "%s-QUESVC", dptr->name); - sim_set_uname (&dptr->units[RQ_QUEUE], uname); for (i = 0; i < RQ_NUMCT; i++) { + rq_devmap[i]->units[RQ_TIMER].action = &rq_tmrsvc; + rq_devmap[i]->units[RQ_TIMER].flags = UNIT_IDLE|UNIT_DIS; + sprintf (uname, "%s-TIMER", rq_devmap[i]->name); + sim_set_uname (&rq_devmap[i]->units[RQ_TIMER], uname); + rq_devmap[i]->units[RQ_QUEUE].action = &rq_quesvc; + rq_devmap[i]->units[RQ_QUEUE].flags = UNIT_DIS; + sprintf (uname, "%s-QUESVC", rq_devmap[i]->name); + sim_set_uname (&rq_devmap[i]->units[RQ_QUEUE], uname); for (d = 0; d < rq_devmap[i]->numunits - 2; d++) { if (d >= RQ_NUMDR) { rq_devmap[i]->units[d] = rq_devmap[i]->units[0]; @@ -3005,9 +3005,8 @@ if (!plugs_inited ) { #if defined (VM_VAX) d; /* VAX default units */ #else - u; /* PDP11 unique unit numbers */ + (d < RQ_NUMDR) ? u++ : d; /* PDP11 unique unit numbers */ #endif - ++u; } } }