ddl@husc6.HARVARD.EDU (Dan Lanciani) (09/11/86)
Subject: autoconf repeatedly finds the same mass-storage device
Index: sys/vax/autoconf.c 4.3BSD
Description:
The vax autoconfiguration system will incorrectly find mass-
storage devices more than once if a kernel is used on a machine
with fewer devices than it expects AND at least one of the
devices actually present is at a "standard" address.
Repeat-By:
Configure a kernel for two uda devices. Boot it on a machine
with only one uda50 at one of the standard addresses. Watch as
the uda50 is found twice: once at the address you configured
and again at a "standard" address when the second, configured
address fails.
Fix:
Apply the following context diff to autoconf.c:
*** autoconf.c.bad Thu Sep 11 03:20:40 1986
--- autoconf.c Thu Sep 11 03:20:56 1986
***************
*** 686,691 ****
--- 686,693 ----
continue;
}
printf("vec %o, ipl %x\n", cvec, br);
+ while (--i >= 0)
+ ualloc[ubaoff(addr+i)] = 1;
um->um_alive = 1;
um->um_ubanum = numuba;
um->um_hd = &uba_hd[numuba];