From 709016c356e5a71f0a5c32a0f9b06fe0139b3c88 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 26 May 2014 05:32:38 -0700 Subject: [PATCH] PDP10, PDP11, VAX: Revert effort to Avoid returning "Line Unit" test failed after DMC/DMR master clear if a line is not attached. To be addressed more thoroughly later. --- PDP11/pdp11_dmc.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/PDP11/pdp11_dmc.c b/PDP11/pdp11_dmc.c index 2f91d6ec..56f6a006 100644 --- a/PDP11/pdp11_dmc.c +++ b/PDP11/pdp11_dmc.c @@ -2309,12 +2309,18 @@ while ((control = controller->control_out)) { controller->control_out = NULL; dmc_setreg(controller, 0, 0, DBG_RGC); if (controller->dev_type == DMR) { - /* Indicates microdiagnostics complete */ - if (((*controller->csrs->sel0 & DMC_SEL0_M_UDIAG) != 0) ^ - (dmc_microdiag[controller->index])) - dmc_setreg(controller, 2, 0x8000, DBG_RGC);/* Microdiagnostics Complete */ - else - dmc_setreg(controller, 2, 0x4000, DBG_RGC); /* Microdiagnostics Inhibited */ + if (dmc_is_attached(controller->unit)) { + /* Indicates microdiagnostics complete */ + if (((*controller->csrs->sel0 & DMC_SEL0_M_UDIAG) != 0) ^ + (dmc_microdiag[controller->index])) + dmc_setreg(controller, 2, 0x8000, DBG_RGC);/* Microdiagnostics Complete */ + else + dmc_setreg(controller, 2, 0x4000, DBG_RGC); /* Microdiagnostics Inhibited */ + } + else { + /* Indicate M8203 (Line Unit) test failed */ + dmc_setreg(controller, 2, 0x0200, DBG_RGC); + } } else { /* preserve contents of BSEL3 if DMC-11 */