/* * Simple checks. Return 1 on fail. */ int jmfr(char *n, struct device *dev, int nr) { if (rpb.devtyp != nr) return 1; return strcmp(n, dev->dv_cfdata->cf_driver->cd_name); } #include <arch/vax/qbus/ubavar.h> int ubtest(void *aux) { paddr_t p; p = kvtophys(((struct uba_attach_args *)aux)->ua_ioh); if (rpb.csrphy != p) return 1; return 0; } #if 1 /* NDE */ int booted_de(struct device *dev, void *aux) { if (jmfr("de", dev, BDEV_DE) || ubtest(aux)) return 0; return 1; } #endif /* NDE */ int booted_le(struct device *dev, void *aux) { if (jmfr("le", dev, BDEV_LE)) return 0; return 1; } int booted_ze(struct device *dev, void *aux) { if (jmfr("ze", dev, BDEV_ZE)) return 0; return 1; } #if 1 /* NQE */ int booted_qe(struct device *dev, void *aux) { if (jmfr("qe", dev, BDEV_QE) || ubtest(aux)) return 0; return 1; }
int booted_qt(device_t dev, void *aux) { if (jmfr("qt", dev, BDEV_QE) || ubtest(aux)) return 0; return 1; }
/* * Simple checks. Return 1 on fail. */ int jmfr(const char *n, device_t dev, int nr) { if (rpb.devtyp != nr) return 1; return !device_is_a(dev, n); } #include <dev/qbus/ubavar.h> int ubtest(void *aux) { paddr_t p; p = kvtophys(((struct uba_attach_args *)aux)->ua_ioh); if (rpb.csrphy != p) return 1; return 0; } #if 1 /* NNI */ #include <dev/bi/bivar.h> int booted_ni(device_t dev, void *aux) { struct bi_attach_args *ba = aux; if (jmfr("ni", dev, BDEV_NI) || (kvtophys(ba->ba_ioh) != rpb.csrphy)) return 0; return 1; } #endif /* NNI */ #if 1 /* NDE */ int booted_de(device_t dev, void *aux) { if (jmfr("de", dev, BDEV_DE) || ubtest(aux)) return 0; return 1; }
int booted_rl(struct device *dev, void *aux) { struct rlc_attach_args *raa = aux; static int ub; if (jmfr("rlc", dev, BDEV_RL) == 0) ub = ubtest(aux); if (ub) return 0; if (jmfr("rl", dev, BDEV_RL)) return 0; if (raa->hwid != rpb.unit) return 0; /* Wrong unit number */ return 1; }