diff options
-rw-r--r-- | sys/arch/mvme68k/dev/if_ie.c | 6 | ||||
-rw-r--r-- | sys/arch/mvme68k/dev/if_le.c | 6 | ||||
-rw-r--r-- | sys/arch/mvme68k/dev/siopdma.c | 11 | ||||
-rw-r--r-- | sys/arch/mvme68k/dev/wdsc.c | 10 |
4 files changed, 27 insertions, 6 deletions
diff --git a/sys/arch/mvme68k/dev/if_ie.c b/sys/arch/mvme68k/dev/if_ie.c index e6157f1a739..c24c082d865 100644 --- a/sys/arch/mvme68k/dev/if_ie.c +++ b/sys/arch/mvme68k/dev/if_ie.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ie.c,v 1.6 1996/05/10 12:42:23 deraadt Exp $ */ +/* $OpenBSD: if_ie.c,v 1.7 1996/05/29 17:54:11 chuck Exp $ */ /*- * Copyright (c) 1995 Theo de Raadt @@ -450,6 +450,10 @@ ieattach(parent, self, aux) sc->sc_reg = ca->ca_vaddr; ieo = (volatile struct ieob *) sc->sc_reg; + /* Are we the boot device? */ + if (ca->ca_paddr == bootaddr) + bootdv = self; + sc->sc_maddr = etherbuf; /* maddr = vaddr */ pa = pmap_extract(pmap_kernel(), (vm_offset_t)sc->sc_maddr); if (pa == 0) panic("ie pmap_extract"); diff --git a/sys/arch/mvme68k/dev/if_le.c b/sys/arch/mvme68k/dev/if_le.c index 3462c189fbb..34c7aacaf9b 100644 --- a/sys/arch/mvme68k/dev/if_le.c +++ b/sys/arch/mvme68k/dev/if_le.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_le.c,v 1.7 1996/05/10 12:42:24 deraadt Exp $ */ +/* $OpenBSD: if_le.c,v 1.8 1996/05/29 17:54:12 chuck Exp $ */ /*- * Copyright (c) 1982, 1992, 1993 @@ -138,6 +138,10 @@ leattach(parent, self, aux) printf(" pri %d", pri); + /* Are we the boot device? */ + if (ca->ca_paddr == bootaddr) + bootdv = self; + /* connect the interrupt */ lesc->sc_ih.ih_fn = am7990_intr; lesc->sc_ih.ih_arg = sc; diff --git a/sys/arch/mvme68k/dev/siopdma.c b/sys/arch/mvme68k/dev/siopdma.c index 898e7c34b93..6200b96d1c8 100644 --- a/sys/arch/mvme68k/dev/siopdma.c +++ b/sys/arch/mvme68k/dev/siopdma.c @@ -1,4 +1,4 @@ -/* $OpenBSD: siopdma.c,v 1.3 1996/04/28 11:06:20 deraadt Exp $ */ +/* $OpenBSD: siopdma.c,v 1.4 1996/05/29 17:54:12 chuck Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -105,6 +105,7 @@ afscattach(parent, self, auxp) struct siop_softc *sc = (struct siop_softc *)self; struct confargs *ca = auxp; siop_regmap_p rp; + int tmp; extern int cpuspeed; sc->sc_siopp = rp = ca->ca_vaddr; @@ -170,9 +171,15 @@ afscattach(parent, self, auxp) evcnt_attach(&sc->sc_dev, "intr", &sc->sc_intrcnt); /* - * attach all scsi units on us + * attach all scsi units on us, watching for boot device + * (see dk_establish). */ + tmp = bootpart; + if (ca->ca_paddr != bootaddr) + bootpart = -1; /* invalid flag to dk_establish */ config_found(self, &sc->sc_link, afscprint); + bootpart = tmp; /* restore old value */ + } /* diff --git a/sys/arch/mvme68k/dev/wdsc.c b/sys/arch/mvme68k/dev/wdsc.c index f93c9e5af14..f0aa7912023 100644 --- a/sys/arch/mvme68k/dev/wdsc.c +++ b/sys/arch/mvme68k/dev/wdsc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wdsc.c,v 1.2 1996/05/06 21:54:00 deraadt Exp $ */ +/* $OpenBSD: wdsc.c,v 1.3 1996/05/29 17:54:13 chuck Exp $ */ /* * Copyright (c) 1996 Steve Woodford @@ -116,6 +116,7 @@ wdscattach(pdp, dp, auxp) struct confargs *ca = auxp; struct pccreg *pcc = (struct pccreg *)ca->ca_master; int ipl; + int tmp; sc->sc_enintr = wdsc_enintr; sc->sc_dmago = wdsc_dmago; @@ -173,9 +174,14 @@ wdscattach(pdp, dp, auxp) pcc->pcc_sbicirq = ca->ca_ipl | PCC_IRQ_IEN | PCC_IRQ_INT; /* - * Attach all scsi units on us + * Attach all scsi units on us, watching for boot device + * (see dk_establish). */ + tmp = bootpart; + if (ca->ca_paddr != bootaddr) + bootpart = -1; /* invalid flag to dk_establish */ config_found(dp, &sc->sc_link, wdscprint); + bootpart = tmp; /* restore old value */ } /* |