diff --git a/PDP11/pdp11_defs.h b/PDP11/pdp11_defs.h index be96c3cf..cd22da38 100644 --- a/PDP11/pdp11_defs.h +++ b/PDP11/pdp11_defs.h @@ -512,7 +512,9 @@ struct pdp_dib { int32 vloc; /* locator */ int32 vec; /* value */ int32 (*ack[VEC_DEVMAX])(void); /* ack routines */ - uint32 ulnt; /* IO length per-unit */ + uint32 ulnt; /* IO length per-device */ + /* Only need to be populated */ + /* when numunits != num devices */ }; typedef struct pdp_dib DIB; diff --git a/PDP11/pdp11_dl.c b/PDP11/pdp11_dl.c index f13a0813..5b04f420 100644 --- a/PDP11/pdp11_dl.c +++ b/PDP11/pdp11_dl.c @@ -160,7 +160,7 @@ DEVICE dli_dev = { 1, 10, 31, 1, 8, 8, NULL, NULL, &dlx_reset, NULL, &dlx_attach, &dlx_detach, - &dli_dib, DEV_UBUS | DEV_QBUS | DEV_DISABLE | DEV_DIS + &dli_dib, DEV_UBUS | DEV_QBUS | DEV_DISABLE | DEV_DIS | DEV_MUX }; /* DLO data structures @@ -219,7 +219,7 @@ DEVICE dlo_dev = { DLX_LINES, 10, 31, 1, 8, 8, NULL, NULL, &dlx_reset, NULL, NULL, NULL, - NULL, DEV_UBUS | DEV_QBUS | DEV_DISABLE | DEV_DIS | DEV_MUX + NULL, DEV_UBUS | DEV_QBUS | DEV_DISABLE | DEV_DIS }; /* Terminal input routines */ diff --git a/PDP11/pdp11_rh.c b/PDP11/pdp11_rh.c index a7c4e8fa..2fe4f17f 100644 --- a/PDP11/pdp11_rh.c +++ b/PDP11/pdp11_rh.c @@ -245,7 +245,7 @@ MTAB mba0_mod[] = { DIB mba1_dib = { IOBA_AUTO, IOLN_TU, &mba_rd, &mba_wr, - 1, IVCL (TU), VEC_AUTO, { &mba1_inta } + 1, IVCL (TU), VEC_AUTO, { &mba1_inta }, IOLN_TU }; UNIT mba1_unit = { UDATA (NULL, 0, 0) }; @@ -280,7 +280,7 @@ MTAB mba1_mod[] = { DIB mba2_dib = { IOBA_AUTO, IOLN_RS, &mba_rd, &mba_wr, - 1, IVCL (RS), VEC_AUTO, { &mba2_inta } + 1, IVCL (RS), VEC_AUTO, { &mba2_inta }, IOLN_RS }; UNIT mba2_unit = { UDATA (NULL, 0, 0) }; diff --git a/PDP11/pdp11_rq.c b/PDP11/pdp11_rq.c index 04bfc00f..7bef0a40 100644 --- a/PDP11/pdp11_rq.c +++ b/PDP11/pdp11_rq.c @@ -1028,7 +1028,7 @@ MSC rqb_ctx = { 1 }; DIB rqb_dib = { IOBA_AUTO, IOLN_RQ, &rq_rd, &rq_wr, - 1, IVCL (RQ), 0, { &rq_inta } + 1, IVCL (RQ), 0, { &rq_inta }, IOLN_RQ }; UNIT rqb_unit[] = { @@ -1103,7 +1103,7 @@ MSC rqc_ctx = { 2 }; DIB rqc_dib = { IOBA_AUTO, IOLN_RQ, &rq_rd, &rq_wr, - 1, IVCL (RQ), 0, { &rq_inta } + 1, IVCL (RQ), 0, { &rq_inta }, IOLN_RQ }; UNIT rqc_unit[] = { @@ -1178,7 +1178,7 @@ MSC rqd_ctx = { 3 }; DIB rqd_dib = { IOBA_AUTO, IOLN_RQ, &rq_rd, &rq_wr, - 1, IVCL (RQ), 0, { &rq_inta } + 1, IVCL (RQ), 0, { &rq_inta }, IOLN_RQ }; UNIT rqd_unit[] = { diff --git a/PDP11/pdp11_xq.c b/PDP11/pdp11_xq.c index 5c679bc3..f285c5c1 100644 --- a/PDP11/pdp11_xq.c +++ b/PDP11/pdp11_xq.c @@ -400,7 +400,7 @@ REG xqa_reg[] = { }; DIB xqb_dib = { IOBA_AUTO, IOLN_XQ, &xq_rd, &xq_wr, - 1, IVCL (XQ), 0, { &xq_int } }; + 1, IVCL (XQ), 0, { &xq_int }, IOLN_XQ }; UNIT xqb_unit[] = { { UDATA (&xq_svc, UNIT_IDLE|UNIT_ATTABLE|UNIT_DISABLE, 2047) }, /* receive timer */ diff --git a/PDP11/pdp11_xu.c b/PDP11/pdp11_xu.c index 76fb3f1e..87fa78a0 100644 --- a/PDP11/pdp11_xu.c +++ b/PDP11/pdp11_xu.c @@ -134,7 +134,7 @@ char *xu_description (DEVICE *dptr); #define IOLN_XU 010 DIB xua_dib = { IOBA_AUTO, IOLN_XU, &xu_rd, &xu_wr, -1, IVCL (XU), VEC_AUTO, {&xu_int}, IOLN_XU }; + 1, IVCL (XU), VEC_AUTO, {&xu_int}, IOLN_XU }; UNIT xua_unit[] = { { UDATA (&xu_svc, UNIT_IDLE|UNIT_ATTABLE|UNIT_DISABLE, 0) }, /* receive timer */ @@ -231,10 +231,8 @@ DEVICE xu_dev = { &xu_description }; -#define IOLN_XU 010 - DIB xub_dib = { IOBA_AUTO, IOLN_XU, &xu_rd, &xu_wr, - 1, IVCL (XU), 0, { &xu_int }, IOLN_XU }; + 1, IVCL (XU), 0, { &xu_int }, IOLN_XU }; UNIT xub_unit[] = { { UDATA (&xu_svc, UNIT_IDLE|UNIT_ATTABLE|UNIT_DISABLE, 0) } /* receive timer */