dave@uwvax.ARPA (06/17/84)
Index: /usr/sys/dev/xp.c 2.9bsd Description: When autoconfiguring, the xp driver doesn't kick the controller or wait for it to respond before evaluating whether the drive it is searching for is actually there. Repeat-By: Try configuring a system with two controllers. I used a system with an SI 9400 and an RM03. When configuring the SI drives first the RM03 was not configured because the SI controller said it had four drives instead of the two it actually had. Fix: Send a no-op to the controller (a GO without any operation) and loop for a while to let the controller respond to the query. The line numbers may be different in your version. *** xp.c.orig Fri Jun 8 12:30:13 1984 --- xp.c Sun Jun 10 21:26:15 1984 *************** *** 132,137 for (j = 0; j < 8; j++) { xpaddr->hpcs1.w = 0; xpaddr->hpcs2.w = j; dummy = xpaddr->hpds; if (xpaddr->hpcs2.w & HPCS2_NED) { xpaddr->hpcs2.w = HPCS2_CLR; --- 132,139 ----- for (j = 0; j < 8; j++) { xpaddr->hpcs1.w = 0; xpaddr->hpcs2.w = j; + xpaddr->hpcs1.w = HP_GO; /* testing, testing... */ + { register x = 0; while (++x < 2000); } /* DELAY */ dummy = xpaddr->hpds; if (xpaddr->hpcs2.w & HPCS2_NED) { xpaddr->hpcs2.w = HPCS2_CLR; -- Dave Cohrs @ wisconsin ...!{allegra,heurikon,ihnp4,seismo,sfwin,ucbvax,uwm-evax}!uwvax!dave dave@wisc-rsch.arpa