+ register struct uba_ctlr *um;
+ register struct uba_device *ui;
+ register struct uba_driver *ud;
+#define phys(a,b) ((b)(((int)(a))&0x7fffffff))
+
+ for (um = ubminit; ud = phys(um->um_driver, struct uba_driver *); um++)
+ *phys(ud->ud_probe, short *) &= ~0xc00;
+ for (ui = ubdinit; ud = phys(ui->ui_driver, struct uba_driver *); ui++)
+ *phys(ud->ud_probe, short *) &= ~0xc00;
+}
+
+/*
+ * Find devices on a UNIBUS.
+ * Uses per-driver routine to set <br,cvec> into <r11,r10>,
+ * and then fills in the tables, with help from a per-driver
+ * slave initialization routine.
+ */
+unifind(vubp, pubp, vumem, pumem)
+ struct uba_regs *vubp, *pubp;
+ caddr_t vumem, pumem;
+{
+#ifndef lint
+ register int br, cvec; /* MUST BE r11, r10 */
+#else
+ /*
+ * Lint doesn't realize that these
+ * can be initialized asynchronously
+ * when devices interrupt.
+ */
+ register int br = 0, cvec = 0;
+#endif
+ register struct uba_device *ui;
+ register struct uba_ctlr *um;
+ u_short *reg, addr;
+ struct uba_hd *uhp;