diff options
Diffstat (limited to 'sys/arch/vax/vax/autoconf.c')
-rw-r--r-- | sys/arch/vax/vax/autoconf.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/sys/arch/vax/vax/autoconf.c b/sys/arch/vax/vax/autoconf.c index ca7153c4732..82d551c8439 100644 --- a/sys/arch/vax/vax/autoconf.c +++ b/sys/arch/vax/vax/autoconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: autoconf.c,v 1.30 2008/07/21 04:35:54 todd Exp $ */ +/* $OpenBSD: autoconf.c,v 1.31 2008/08/18 23:19:29 miod Exp $ */ /* $NetBSD: autoconf.c,v 1.45 1999/10/23 14:56:05 ragge Exp $ */ /* @@ -51,9 +51,11 @@ #include <machine/ioa.h> #include <machine/ka820.h> #include <machine/ka750.h> -#include <machine/ka650.h> #include <machine/clock.h> #include <machine/rpb.h> +#ifdef VAX60 +#include <vax/mbus/mbusreg.h> +#endif #include <dev/cons.h> @@ -64,14 +66,13 @@ #include <vax/bi/bireg.h> void dumpconf(void); /* machdep.c */ -void gencnslask(void); struct cpu_dep *dep_call; int mastercpu; /* chief of the system */ struct device *bootdv; -int booted_partition; /* defaults to 0 (aka 'a' partition */ +int booted_partition; /* defaults to 0 (aka 'a' partition) */ void cpu_configure() @@ -340,27 +341,29 @@ booted_sd(struct device *dev, void *aux) /* Is this a SCSI device? */ if (jmfr("sd", dev, BDEV_SD) && jmfr("cd", dev, BDEV_SD) && - jmfr("sd", dev, BDEV_SDN) && jmfr("cd", dev, BDEV_SDN)) + jmfr("sd", dev, BDEV_SDN) && jmfr("cd", dev, BDEV_SDN) && + jmfr("sd", dev, BDEV_SDS) && jmfr("cd", dev, BDEV_SDS)) return 0; -#ifdef __NetBSD__ - if (sa->sa_periph->periph_channel->chan_bustype->bustype_type != - SCSIPI_BUSTYPE_SCSI) - return 0; /* ``Cannot happen'' */ -#endif - if (sa->sa_sc_link->target != rpb.unit) return 0; /* Wrong unit */ ppdev = dev->dv_parent->dv_parent; /* VS3100 NCR 53C80 (si) & VS4000 NCR 53C94 (asc) */ - if (((jmfr("ncr", ppdev, BDEV_SD) == 0) || /* old name */ + if (((jmfr("ncr", ppdev, BDEV_SD) == 0) || /* old name */ (jmfr("asc", ppdev, BDEV_SD) == 0) || (jmfr("asc", ppdev, BDEV_SDN) == 0)) && (ppdev->dv_cfdata->cf_loc[0] == rpb.csrphy)) return 1; +#ifdef VAX60 + /* VS35x0 (sii) */ + if (jmfr("sii", ppdev, BDEV_SDS) == 0 && rpb.csrphy == + MBUS_SLOT_BASE(ppdev->dv_parent->dv_cfdata->cf_loc[0])) + return 1; +#endif + return 0; /* Where did we come from??? */ } #endif |