Remove old-style boot device recognition.
This commit is contained in:
parent
9658271f9d
commit
c6b6f3883a
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: esp_obio.c,v 1.4 1998/11/19 21:49:17 thorpej Exp $ */
|
||||
/* $NetBSD: esp_obio.c,v 1.5 2000/01/11 12:59:45 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -174,12 +174,6 @@ espattach_obio(parent, self, aux)
|
||||
return;
|
||||
}
|
||||
|
||||
if (oba->oba_bp != NULL && strcmp(oba->oba_bp->name, "esp") == 0 &&
|
||||
oba->oba_bp->val[0] == -1 &&
|
||||
oba->oba_bp->val[1] == sc->sc_dev.dv_unit)
|
||||
bootpath_store(1, oba->oba_bp + 1);
|
||||
|
||||
|
||||
/*
|
||||
* Set up glue for MI code early; we use some of it here.
|
||||
*/
|
||||
@ -281,8 +275,6 @@ espattach_obio(parent, self, aux)
|
||||
|
||||
/* Turn on target selection using the `dma' method */
|
||||
ncr53c9x_dmaselect = 1;
|
||||
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: fd.c,v 1.68 1999/11/21 15:23:01 pk Exp $ */
|
||||
/* $NetBSD: fd.c,v 1.69 2000/01/11 12:59:45 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1993, 1994, 1995 Charles M. Hannum.
|
||||
@ -145,7 +145,7 @@ int fdcmatch_obio __P((struct device *, struct cfdata *, void *));
|
||||
void fdcattach_mainbus __P((struct device *, struct device *, void *));
|
||||
void fdcattach_obio __P((struct device *, struct device *, void *));
|
||||
|
||||
void fdcattach __P((struct fdc_softc *, int, struct bootpath *));
|
||||
void fdcattach __P((struct fdc_softc *, int));
|
||||
|
||||
struct cfattach fdc_mainbus_ca = {
|
||||
sizeof(struct fdc_softc), fdcmatch_mainbus, fdcattach_mainbus
|
||||
@ -339,7 +339,6 @@ fdcmatch_obio(parent, match, aux)
|
||||
*/
|
||||
struct fdc_attach_args {
|
||||
int fa_drive;
|
||||
struct bootpath *fa_bootpath;
|
||||
struct fd_type *fa_deftype;
|
||||
};
|
||||
|
||||
@ -398,7 +397,6 @@ fdcattach_mainbus(parent, self, aux)
|
||||
{
|
||||
struct fdc_softc *fdc = (void *)self;
|
||||
struct mainbus_attach_args *ma = aux;
|
||||
struct bootpath *bp;
|
||||
|
||||
fdc->sc_bustag = ma->ma_bustag;
|
||||
|
||||
@ -420,24 +418,7 @@ fdcattach_mainbus(parent, self, aux)
|
||||
fdc->sc_reg = (caddr_t)bh;
|
||||
}
|
||||
|
||||
bp = NULL;
|
||||
if (ma->ma_bp != NULL && strcmp(ma->ma_bp->name, OBP_FDNAME) == 0) {
|
||||
int v0 = ma->ma_bp->val[0];
|
||||
int v1 = ma->ma_bp->val[1];
|
||||
/*
|
||||
* We can get the bootpath in several different
|
||||
* formats! The faked v1 bootpath looks like /fd@0,0.
|
||||
* The v2 bootpath is either just /fd0, in which case
|
||||
* `bp->val[0]' will have been set to -1, or /fd@x,y
|
||||
* where <x,y> is the prom address specifier.
|
||||
*/
|
||||
if (((v0 == ma->ma_iospace) && (v1 == (int)ma->ma_paddr)) ||
|
||||
((v0 == -1) && (v1 == 0)) || /* v2: /fd0 */
|
||||
((v0 == 0) && (v1 == 0)) /* v1: /fd@0,0 */ )
|
||||
bp = ma->ma_bp;
|
||||
}
|
||||
|
||||
fdcattach(fdc, ma->ma_pri, bp);
|
||||
fdcattach(fdc, ma->ma_pri);
|
||||
}
|
||||
|
||||
void
|
||||
@ -448,7 +429,6 @@ fdcattach_obio(parent, self, aux)
|
||||
struct fdc_softc *fdc = (void *)self;
|
||||
union obio_attach_args *uoba = aux;
|
||||
struct sbus_attach_args *sa = &uoba->uoba_sbus;
|
||||
struct bootpath *bp;
|
||||
|
||||
fdc->sc_bustag = sa->sa_bustag;
|
||||
|
||||
@ -470,29 +450,14 @@ fdcattach_obio(parent, self, aux)
|
||||
fdc->sc_reg = (caddr_t)bh;
|
||||
}
|
||||
|
||||
bp = NULL;
|
||||
if (sa->sa_bp != NULL && strcmp(sa->sa_bp->name, OBP_FDNAME) == 0) {
|
||||
int v0 = sa->sa_bp->val[0];
|
||||
int v1 = sa->sa_bp->val[1];
|
||||
/*
|
||||
* floppy controller on obio (such as on the sun4m),
|
||||
* e.g.: `/obio0/SUNW,fdtwo@0,700000'.
|
||||
* We use "slot, offset" to determine if this is the
|
||||
* right one.
|
||||
*/
|
||||
if ((v0 != sa->sa_slot) || (v1 != sa->sa_offset))
|
||||
bp = sa->sa_bp;
|
||||
}
|
||||
|
||||
if (sa->sa_nintr != 0)
|
||||
fdcattach(fdc, sa->sa_pri, bp);
|
||||
fdcattach(fdc, sa->sa_pri);
|
||||
}
|
||||
|
||||
void
|
||||
fdcattach(fdc, pri, bp)
|
||||
fdcattach(fdc, pri)
|
||||
struct fdc_softc *fdc;
|
||||
int pri;
|
||||
struct bootpath *bp;
|
||||
{
|
||||
struct fdc_attach_args fa;
|
||||
char code;
|
||||
@ -566,16 +531,12 @@ fdcattach(fdc, pri, bp)
|
||||
|
||||
printf(" softpri %d: chip 8207%c\n", PIL_FDSOFT, code);
|
||||
|
||||
fa.fa_bootpath = bp;
|
||||
|
||||
/* physical limit: four drives per controller. */
|
||||
for (fa.fa_drive = 0; fa.fa_drive < 4; fa.fa_drive++) {
|
||||
fa.fa_deftype = NULL; /* unknown */
|
||||
fa.fa_deftype = &fd_types[0]; /* XXX */
|
||||
(void)config_found(&fdc->sc_dev, (void *)&fa, fdprint);
|
||||
}
|
||||
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
int
|
||||
@ -683,12 +644,6 @@ fdattach(parent, self, aux)
|
||||
fd->sc_dk.dk_driver = &fddkdriver;
|
||||
disk_attach(&fd->sc_dk);
|
||||
|
||||
/*
|
||||
* We're told if we're the boot device in fdcattach().
|
||||
*/
|
||||
if (fa->fa_bootpath)
|
||||
fa->fa_bootpath->dev = &fd->sc_dv;
|
||||
|
||||
/*
|
||||
* Establish a mountroot_hook anyway in case we booted
|
||||
* with RB_ASKNAME and get selected as the boot device.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_ie_obio.c,v 1.12 1999/11/13 00:32:12 thorpej Exp $ */
|
||||
/* $NetBSD: if_ie_obio.c,v 1.13 2000/01/11 12:59:46 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997 The NetBSD Foundation, Inc.
|
||||
@ -282,7 +282,6 @@ ie_obio_attach(parent, self, aux)
|
||||
bus_space_handle_t bh;
|
||||
bus_dma_segment_t seg;
|
||||
int rseg;
|
||||
struct bootpath *bp;
|
||||
paddr_t pa;
|
||||
struct intrhand *ih;
|
||||
u_long iebase;
|
||||
@ -410,9 +409,4 @@ extern void myetheraddr(u_char *); /* should be elsewhere */
|
||||
ih = bus_intr_establish(oba->oba_bustag,
|
||||
oba->oba_pri, 0,
|
||||
i82586_intr, sc);
|
||||
|
||||
bp = oba->oba_bp;
|
||||
if (bp != NULL && strcmp(bp->name, "ie") == 0 &&
|
||||
sc->sc_dev.dv_unit == bp->val[1])
|
||||
bp->dev = &sc->sc_dev;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_le_obio.c,v 1.5 1998/08/29 20:49:37 pk Exp $ */
|
||||
/* $NetBSD: if_le_obio.c,v 1.6 2000/01/11 12:59:46 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -172,12 +172,6 @@ leattach_obio(parent, self, aux)
|
||||
return;
|
||||
}
|
||||
|
||||
if (oba->oba_bp != NULL &&
|
||||
strcmp(oba->oba_bp->name, le_cd.cd_name) == 0 &&
|
||||
sc->sc_dev.dv_unit == oba->oba_bp->val[1])
|
||||
oba->oba_bp->dev = &sc->sc_dev;
|
||||
|
||||
|
||||
if (bus_dmamem_alloc(lesc->sc_dmatag, MEMSIZE, NBPG, 0,
|
||||
&seg, 1, &rseg,
|
||||
BUS_DMA_NOWAIT | BUS_DMA_24BIT) != 0) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: obio.c,v 1.46 1999/06/28 22:40:15 pk Exp $ */
|
||||
/* $NetBSD: obio.c,v 1.47 2000/01/11 12:59:46 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997,1998 The NetBSD Foundation, Inc.
|
||||
@ -202,7 +202,7 @@ obioattach(parent, self, aux)
|
||||
sc->sc_dmatag = ma->ma_dmatag;
|
||||
sc->sc_intr2ipl = intr_obio2ipl;
|
||||
|
||||
sbus_attach_common(sc, "obio", ma->ma_node, ma->ma_bp, special4m);
|
||||
sbus_attach_common(sc, "obio", ma->ma_node, special4m);
|
||||
} else {
|
||||
printf("obio on this machine?\n");
|
||||
}
|
||||
@ -266,7 +266,6 @@ obiosearch(parent, cf, aux)
|
||||
struct obio4_busattachargs *oap = aux;
|
||||
union obio_attach_args uoba;
|
||||
struct obio4_attach_args *oba = &uoba.uoba_oba4;
|
||||
struct bootpath *bp;
|
||||
|
||||
/* Check whether we're looking for a specifically named device */
|
||||
if (oap->name != NULL && strcmp(oap->name, cf->cf_driver->cd_name) != 0)
|
||||
@ -297,12 +296,6 @@ obiosearch(parent, cf, aux)
|
||||
oba->oba_paddr = cf->cf_loc[0];
|
||||
oba->oba_pri = cf->cf_loc[1];
|
||||
|
||||
bp = oap->ma->ma_bp;
|
||||
if (bp != NULL && strcmp(bp->name, "obio") == 0)
|
||||
oba->oba_bp = bp + 1;
|
||||
else
|
||||
oba->oba_bp = NULL;
|
||||
|
||||
if ((*cf->cf_attach->ca_match)(parent, cf, &uoba) == 0)
|
||||
return (0);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: sbus.c,v 1.35 1999/04/14 09:50:01 pk Exp $ */
|
||||
/* $NetBSD: sbus.c,v 1.36 2000/01/11 12:59:46 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -311,7 +311,7 @@ sbus_attach_mainbus(parent, self, aux)
|
||||
printf(": clock = %s MHz\n", clockfreq(sc->sc_clockfreq));
|
||||
|
||||
sbus_sc = sc;
|
||||
sbus_attach_common(sc, "sbus", node, ma->ma_bp, NULL);
|
||||
sbus_attach_common(sc, "sbus", node, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -352,7 +352,7 @@ sbus_attach_iommu(parent, self, aux)
|
||||
|
||||
sbus_sc = sc;
|
||||
sbuserr_handler = sbus_error;
|
||||
sbus_attach_common(sc, "sbus", node, ia->iom_bp, NULL);
|
||||
sbus_attach_common(sc, "sbus", node, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
@ -378,15 +378,14 @@ sbus_attach_xbox(parent, self, aux)
|
||||
sc->sc_clockfreq = getpropint(node, "clock-frequency", 25*1000*1000);
|
||||
printf(": clock = %s MHz\n", clockfreq(sc->sc_clockfreq));
|
||||
|
||||
sbus_attach_common(sc, "sbus", node, xa->xa_bp, NULL);
|
||||
sbus_attach_common(sc, "sbus", node, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
sbus_attach_common(sc, busname, busnode, bp, specials)
|
||||
sbus_attach_common(sc, busname, busnode, specials)
|
||||
struct sbus_softc *sc;
|
||||
char *busname;
|
||||
int busnode;
|
||||
struct bootpath *bp;
|
||||
const char * const *specials;
|
||||
{
|
||||
int node0, node, error;
|
||||
@ -413,12 +412,6 @@ sbus_attach_common(sc, busname, busnode, bp, specials)
|
||||
sc->sc_burst &= ~SBUS_BURST_64;
|
||||
}
|
||||
|
||||
/* Propagate bootpath */
|
||||
if (bp != NULL && strcmp(bp->name, busname) == 0)
|
||||
bp++;
|
||||
else
|
||||
bp = NULL;
|
||||
|
||||
/*
|
||||
* Collect address translations from the OBP.
|
||||
*/
|
||||
@ -451,7 +444,7 @@ sbus_attach_common(sc, busname, busnode, bp, specials)
|
||||
}
|
||||
|
||||
if (sbus_setup_attach_args(sc, sbt, sc->sc_dmatag,
|
||||
node, bp, &sa) != 0) {
|
||||
node, &sa) != 0) {
|
||||
panic("sbus_attach: %s: incomplete", sp);
|
||||
}
|
||||
(void) config_found(&sc->sc_dev, (void *)&sa, sbus_print);
|
||||
@ -471,7 +464,7 @@ sbus_attach_common(sc, busname, busnode, bp, specials)
|
||||
continue;
|
||||
|
||||
if (sbus_setup_attach_args(sc, sbt, sc->sc_dmatag,
|
||||
node, bp, &sa) != 0) {
|
||||
node, &sa) != 0) {
|
||||
printf("sbus_attach: %s: incomplete\n", name);
|
||||
continue;
|
||||
}
|
||||
@ -481,12 +474,11 @@ sbus_attach_common(sc, busname, busnode, bp, specials)
|
||||
}
|
||||
|
||||
int
|
||||
sbus_setup_attach_args(sc, bustag, dmatag, node, bp, sa)
|
||||
sbus_setup_attach_args(sc, bustag, dmatag, node, sa)
|
||||
struct sbus_softc *sc;
|
||||
bus_space_tag_t bustag;
|
||||
bus_dma_tag_t dmatag;
|
||||
int node;
|
||||
struct bootpath *bp;
|
||||
struct sbus_attach_args *sa;
|
||||
{
|
||||
int n, error;
|
||||
@ -500,7 +492,6 @@ sbus_setup_attach_args(sc, bustag, dmatag, node, bp, sa)
|
||||
sa->sa_bustag = bustag;
|
||||
sa->sa_dmatag = dmatag;
|
||||
sa->sa_node = node;
|
||||
sa->sa_bp = bp;
|
||||
|
||||
error = getprop(node, "reg", sizeof(struct sbus_reg),
|
||||
&sa->sa_nreg, (void **)&sa->sa_reg);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: si.c,v 1.53 1999/10/21 13:46:06 pk Exp $ */
|
||||
/* $NetBSD: si.c,v 1.54 2000/01/11 12:59:47 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||
@ -372,7 +372,6 @@ si_attach(parent, self, aux)
|
||||
ncr_sc->sc_intr_on = si_vme_intr_on;
|
||||
ncr_sc->sc_intr_off = si_vme_intr_off;
|
||||
}
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -385,7 +384,6 @@ sw_attach(parent, self, aux)
|
||||
union obio_attach_args *uoba = aux;
|
||||
struct obio4_attach_args *oba = &uoba->uoba_oba4;
|
||||
bus_space_handle_t bh;
|
||||
struct bootpath *bp;
|
||||
|
||||
sc->sc_dmatag = oba->oba_dmatag;
|
||||
|
||||
@ -425,18 +423,7 @@ sw_attach(parent, self, aux)
|
||||
|
||||
printf(" pri %d\n", oba->oba_pri);
|
||||
|
||||
/*
|
||||
* If the boot path is "sw" or "si" at the moment and it's me, then
|
||||
* walk out pointer to the sub-device, ready for the config
|
||||
* below.
|
||||
*/
|
||||
bp = oba->oba_bp;
|
||||
if (bp != NULL && strcmp(bp->name, "sw") == 0 &&
|
||||
bp->val[0] == -1 && bp->val[1] == ncr_sc->sc_dev.dv_unit)
|
||||
bootpath_store(1, bp + 1);
|
||||
|
||||
si_attach_common(parent, sc);
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: vme_machdep.c,v 1.21 1999/11/13 00:32:12 thorpej Exp $ */
|
||||
/* $NetBSD: vme_machdep.c,v 1.22 2000/01/11 12:59:47 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -77,7 +77,6 @@ struct sparcvme_softc {
|
||||
volatile u_int32_t *sc_ioctags; /* VME IO-cache tag registers */
|
||||
volatile u_int32_t *sc_iocflush;/* VME IO-cache flush registers */
|
||||
int (*sc_vmeintr) __P((void *));
|
||||
struct bootpath *sc_bp;
|
||||
};
|
||||
struct sparcvme_softc *sparcvme_sc;/*XXX*/
|
||||
|
||||
@ -297,11 +296,6 @@ vmeattach_mainbus(parent, self, aux)
|
||||
sc->sc_bustag = ma->ma_bustag;
|
||||
sc->sc_dmatag = ma->ma_dmatag;
|
||||
|
||||
if (ma->ma_bp != NULL && strcmp(ma->ma_bp->name, "vme") == 0) {
|
||||
sc->sc_bp = ma->ma_bp + 1;
|
||||
bootpath_store(1, sc->sc_bp);
|
||||
}
|
||||
|
||||
/* VME interrupt entry point */
|
||||
sc->sc_vmeintr = vmeintr4;
|
||||
|
||||
@ -329,7 +323,6 @@ vmeattach_mainbus(parent, self, aux)
|
||||
printf("\n");
|
||||
(void)config_found(self, &vba, 0);
|
||||
|
||||
bootpath_store(1, NULL);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: autoconf.h,v 1.31 1999/02/14 12:26:16 pk Exp $ */
|
||||
/* $NetBSD: autoconf.h,v 1.32 2000/01/11 13:00:36 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -131,7 +131,6 @@ struct mainbus_attach_args {
|
||||
int ma_size; /* register physical size */
|
||||
int ma_pri; /* priority (IPL) */
|
||||
void *ma_promvaddr; /* PROM virtual address, if any */
|
||||
struct bootpath *ma_bp; /* used for locating boot device */
|
||||
};
|
||||
|
||||
/* Attach arguments presented to devices by obio_attach() (sun4 only) */
|
||||
@ -141,7 +140,6 @@ struct obio4_attach_args {
|
||||
bus_dma_tag_t oba_dmatag;
|
||||
bus_addr_t oba_paddr; /* register physical address */
|
||||
int oba_pri; /* interrupt priority (IPL) */
|
||||
struct bootpath *oba_bp; /* used for locating boot device */
|
||||
};
|
||||
|
||||
union obio_attach_args {
|
||||
@ -198,7 +196,9 @@ struct bootpath {
|
||||
struct device *dev; /* device that recognised this component */
|
||||
};
|
||||
|
||||
#if 0
|
||||
struct bootpath *bootpath_store __P((int, struct bootpath *));
|
||||
#endif
|
||||
int sd_crazymap __P((int));
|
||||
|
||||
/* Parse a disk string into a dev_t, return device struct pointer */
|
||||
@ -212,14 +212,3 @@ void bootstrap __P((void));
|
||||
struct device *getdevunit __P((char *, int));
|
||||
void *findzs __P((int));
|
||||
int romgetcursoraddr __P((int **, int **));
|
||||
#if 0
|
||||
/* Pass a string to the FORTH interpreter. May fail silently. */
|
||||
void rominterpret __P((char *));
|
||||
int firstchild __P((int));
|
||||
int nextsibling __P((int));
|
||||
void callrom __P((void));
|
||||
int findroot __P((void));
|
||||
int findnode __P((int, const char *));
|
||||
int opennode __P((char *));
|
||||
int node_has_property __P((int, const char *));
|
||||
#endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: autoconf.c,v 1.127 2000/01/09 20:53:30 pk Exp $ */
|
||||
/* $NetBSD: autoconf.c,v 1.128 2000/01/11 13:01:53 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1996
|
||||
@ -121,6 +121,7 @@ int nbootpath;
|
||||
static void bootpath_build __P((void));
|
||||
static void bootpath_fake __P((struct bootpath *, char *));
|
||||
static void bootpath_print __P((struct bootpath *));
|
||||
static struct bootpath *bootpath_store __P((int, struct bootpath *));
|
||||
int find_cpus __P((void));
|
||||
|
||||
/*
|
||||
@ -650,12 +651,7 @@ bootpath_print(bp)
|
||||
|
||||
/*
|
||||
* save or read a bootpath pointer from the boothpath store.
|
||||
*
|
||||
* XXX. required because of SCSI... we don't have control over the "sd"
|
||||
* device, so we can't set boot device there. we patch in with
|
||||
* dk_establish(), and use this to recover the bootpath.
|
||||
*/
|
||||
|
||||
struct bootpath *
|
||||
bootpath_store(storep, bp)
|
||||
int storep;
|
||||
@ -670,23 +666,6 @@ bootpath_store(storep, bp)
|
||||
|
||||
return (retval);
|
||||
}
|
||||
/* TEMP: */
|
||||
struct bootpath *altbootpath_store(int, struct bootpath *);
|
||||
struct bootpath *
|
||||
altbootpath_store(storep, bp)
|
||||
int storep;
|
||||
struct bootpath *bp;
|
||||
{
|
||||
static struct bootpath *save;
|
||||
struct bootpath *retval;
|
||||
|
||||
retval = save;
|
||||
if (storep)
|
||||
save = bp;
|
||||
|
||||
return (retval);
|
||||
}
|
||||
/* END TEMP */
|
||||
|
||||
/*
|
||||
* Set up the sd target mappings for non SUN4 PROMs.
|
||||
@ -831,8 +810,6 @@ cpu_configure()
|
||||
(void)spl0();
|
||||
}
|
||||
|
||||
struct device *altbootdev;
|
||||
|
||||
void
|
||||
cpu_rootconf()
|
||||
{
|
||||
@ -842,29 +819,8 @@ cpu_rootconf()
|
||||
|
||||
bp = nbootpath == 0 ? NULL : &bootpath[nbootpath-1];
|
||||
bootdv = bp == NULL ? NULL : bp->dev;
|
||||
bootpartition = bp == NULL ? 0 : bp->val[2];
|
||||
bootpartition = bootdv == NULL ? 0 : bp->val[2];
|
||||
|
||||
#if 1
|
||||
/*
|
||||
* Old bootpath code no longer works now that SCSI autoconfiguration
|
||||
* can be delayed. device_register() is the One True Way.
|
||||
*/
|
||||
bootdv = altbootdev;
|
||||
#else
|
||||
if (bootdv != altbootdev) {
|
||||
int c;
|
||||
printf("device_register boot device mismatch\n");
|
||||
printf("\tbootdv=%s\n",
|
||||
bootdv==NULL?"NOT FOUND":bootdv->dv_xname);
|
||||
printf("\taltbootdev=%s\n",
|
||||
altbootdev==NULL?"NOT FOUND":altbootdev->dv_xname);
|
||||
printf("RETURN to continue ");
|
||||
cnpollc(1);
|
||||
while ((c = cngetc()) != '\r' && c != '\n');
|
||||
printf("\n");
|
||||
cnpollc(0);
|
||||
}
|
||||
#endif
|
||||
setroot(bootdv, bootpartition);
|
||||
}
|
||||
|
||||
@ -1016,7 +972,7 @@ extern struct sparc_bus_space_tag mainbus_space_tag;
|
||||
namebuf, sizeof(namebuf)));
|
||||
|
||||
/* Establish the first component of the boot path */
|
||||
altbootpath_store(1, bootpath);
|
||||
bootpath_store(1, bootpath);
|
||||
|
||||
/*
|
||||
* Locate and configure the ``early'' devices. These must be
|
||||
@ -1039,14 +995,12 @@ extern struct sparc_bus_space_tag mainbus_space_tag;
|
||||
ma.ma_bustag = &mainbus_space_tag;
|
||||
ma.ma_dmatag = &mainbus_dma_tag;
|
||||
ma.ma_name = "obio";
|
||||
ma.ma_bp = bootpath;
|
||||
if (config_found(dev, (void *)&ma, mbprint) == NULL)
|
||||
panic("obio missing");
|
||||
|
||||
ma.ma_bustag = &mainbus_space_tag;
|
||||
ma.ma_dmatag = &mainbus_dma_tag;
|
||||
ma.ma_name = "vme";
|
||||
ma.ma_bp = bootpath;
|
||||
(void)config_found(dev, (void *)&ma, mbprint);
|
||||
return;
|
||||
}
|
||||
@ -1127,9 +1081,6 @@ extern struct sparc_bus_space_tag mainbus_space_tag;
|
||||
if (getprop_address1(node, &ma.ma_promvaddr) != 0)
|
||||
continue;
|
||||
|
||||
/* Start at the beginning of the bootpath */
|
||||
ma.ma_bp = bootpath;
|
||||
|
||||
if (config_found(dev, (void *)&ma, mbprint) == NULL)
|
||||
panic(sp);
|
||||
}
|
||||
@ -1177,9 +1128,6 @@ extern struct sparc_bus_space_tag mainbus_space_tag;
|
||||
if (getprop_address1(node, &ma.ma_promvaddr) != 0)
|
||||
continue;
|
||||
|
||||
/* Start at the beginning of the bootpath */
|
||||
ma.ma_bp = bootpath;
|
||||
|
||||
(void) config_found(dev, (void *)&ma, mbprint);
|
||||
}
|
||||
#endif /* SUN4C || SUN4M */
|
||||
@ -1651,18 +1599,23 @@ nail_bootdev(dev, bp)
|
||||
struct device *dev;
|
||||
struct bootpath *bp;
|
||||
{
|
||||
/*bp->dev = dev; -* got it! */
|
||||
if (altbootdev != NULL)
|
||||
|
||||
if (bp->dev != NULL)
|
||||
panic("device_register: already got a boot device: %s",
|
||||
altbootdev->dv_xname);
|
||||
altbootdev = dev;
|
||||
bp->dev->dv_xname);
|
||||
|
||||
/*
|
||||
* Clear current bootpath component, so we don't spuriously
|
||||
* Mark this bootpath component by linking it to the matched
|
||||
* device. We pick up the device pointer in cpu_rootconf().
|
||||
*/
|
||||
bp->dev = dev;
|
||||
|
||||
/*
|
||||
* Then clear the current bootpath component, so we don't spuriously
|
||||
* match similar instances on other busses, e.g. a disk on
|
||||
* another SCSI bus with the same target.
|
||||
*/
|
||||
altbootpath_store(1, NULL);
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1670,7 +1623,7 @@ device_register(dev, aux)
|
||||
struct device *dev;
|
||||
void *aux;
|
||||
{
|
||||
struct bootpath *bp = altbootpath_store(0, NULL);
|
||||
struct bootpath *bp = bootpath_store(0, NULL);
|
||||
char *dvname = dev->dv_cfdata->cf_driver->cd_name;
|
||||
|
||||
/*
|
||||
@ -1719,7 +1672,7 @@ device_register(dev, aux)
|
||||
strcpy(bootpath[nbootpath].name, "fd");
|
||||
nbootpath++;
|
||||
}
|
||||
altbootpath_store(1, bp + 1);
|
||||
bootpath_store(1, bp + 1);
|
||||
return;
|
||||
}
|
||||
} else if (strcmp(dvname, "le") == 0) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: disksubr.c,v 1.23 1999/02/14 12:42:33 pk Exp $ */
|
||||
/* $NetBSD: disksubr.c,v 1.24 2000/01/11 13:01:52 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994, 1995 Gordon W. Ross
|
||||
@ -61,72 +61,12 @@ static int disklabel_bsd_to_sun __P((struct disklabel *, char *));
|
||||
|
||||
extern struct device *bootdv;
|
||||
|
||||
/*
|
||||
* find the boot device (if it was a disk). we must check to see if
|
||||
* unit info in saved bootpath structure matches unit info in our softc.
|
||||
* note that knowing the device name (e.g. "xd0") is not useful... we
|
||||
* must check the drive number (or target/lun, in the case of SCSI).
|
||||
* (XXX is it worth ifdef'ing this?)
|
||||
*/
|
||||
|
||||
void
|
||||
dk_establish(dk, dev)
|
||||
struct disk *dk;
|
||||
struct device *dev;
|
||||
{
|
||||
struct bootpath *bp = bootpath_store(0, NULL); /* restore bootpath! */
|
||||
struct scsibus_softc *sbsc;
|
||||
int target, lun;
|
||||
|
||||
if (bp == NULL)
|
||||
return;
|
||||
|
||||
/*
|
||||
* scsi: sd,cd
|
||||
*/
|
||||
if (strncmp("sd", dev->dv_xname, 2) == 0 ||
|
||||
strncmp("cd", dev->dv_xname, 2) == 0) {
|
||||
|
||||
sbsc = (struct scsibus_softc *)dev->dv_parent;
|
||||
|
||||
target = bp->val[0];
|
||||
lun = bp->val[1];
|
||||
|
||||
if (CPU_ISSUN4 && dev->dv_xname[0] == 's' &&
|
||||
target == 0 && sbsc->sc_link[0][0] == NULL) {
|
||||
/*
|
||||
* disk unit 0 is magic: if there is actually no
|
||||
* target 0 scsi device, the PROM will call
|
||||
* target 3 `sd0'.
|
||||
* XXX - what if someone puts a tape at target 0?
|
||||
*/
|
||||
target = 3; /* remap to 3 */
|
||||
lun = 0;
|
||||
}
|
||||
|
||||
if (CPU_ISSUN4C && dev->dv_xname[0] == 's')
|
||||
target = sd_crazymap(target);
|
||||
|
||||
if (sbsc->sc_link[target][lun] != NULL &&
|
||||
sbsc->sc_link[target][lun]->device_softc == (void *)dev) {
|
||||
bp->dev = dev; /* got it! */
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* xd,xy
|
||||
*/
|
||||
if (strncmp("xd", dev->dv_xname, 2) == 0 ||
|
||||
strncmp("xy", dev->dv_xname, 2) == 0) {
|
||||
|
||||
/* XXX - dv_unit may not be the driver number.. */
|
||||
if (dev->dv_unit == bp->val[0] &&
|
||||
strncmp(bp->name, dev->dv_xname, 2) == 0) {
|
||||
bp->dev = dev; /* got it! */
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: iommu.c,v 1.37 2000/01/07 10:54:11 pk Exp $ */
|
||||
/* $NetBSD: iommu.c,v 1.38 2000/01/11 13:01:52 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1996
|
||||
@ -173,7 +173,6 @@ iommu_attach(parent, self, aux)
|
||||
struct iommu_softc *sc = (struct iommu_softc *)self;
|
||||
struct mainbus_attach_args *ma = aux;
|
||||
int node;
|
||||
struct bootpath *bp;
|
||||
bus_space_handle_t bh;
|
||||
u_int pbase, pa;
|
||||
int i, mmupcrsave, s;
|
||||
@ -306,12 +305,6 @@ iommu_attach(parent, self, aux)
|
||||
sc->sc_pagesize,
|
||||
sc->sc_range >> 20);
|
||||
|
||||
/* Propagate bootpath */
|
||||
if (ma->ma_bp != NULL && strcmp(ma->ma_bp->name, "iommu") == 0)
|
||||
bp = ma->ma_bp + 1;
|
||||
else
|
||||
bp = NULL;
|
||||
|
||||
iommu_dvmamap = extent_create("iommudvma",
|
||||
IOMMU_DVMA_BASE, IOMMU_DVMA_END,
|
||||
M_DEVBUF, 0, 0, EX_NOWAIT);
|
||||
@ -332,7 +325,6 @@ iommu_attach(parent, self, aux)
|
||||
ia.iom_dmatag = &iommu_dma_tag;
|
||||
|
||||
ia.iom_node = node;
|
||||
ia.iom_bp = bp;
|
||||
|
||||
ia.iom_reg = NULL;
|
||||
getprop(node, "reg", sizeof(struct sbus_reg),
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: iommuvar.h,v 1.4 1998/09/19 15:47:18 pk Exp $ */
|
||||
/* $NetBSD: iommuvar.h,v 1.5 2000/01/11 13:01:52 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -52,7 +52,6 @@ struct iommu_attach_args {
|
||||
int iom_node; /* PROM handle */
|
||||
struct iommu_reg *iom_reg;
|
||||
int iom_nreg;
|
||||
struct bootpath *iom_bp; /* used for locating boot device */
|
||||
};
|
||||
|
||||
void iommu_enter __P((bus_addr_t, paddr_t));
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: dma_sbus.c,v 1.3 1998/09/05 17:28:57 pk Exp $ */
|
||||
/* $NetBSD: dma_sbus.c,v 1.4 2000/01/11 12:59:43 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -152,7 +152,6 @@ dmaattach_sbus(parent, self, aux)
|
||||
struct dma_softc *dsc = (void *)self;
|
||||
struct lsi64854_softc *sc = &dsc->sc_lsi64854;
|
||||
bus_space_handle_t bh;
|
||||
/*XXX*/ struct bootpath *bp;
|
||||
bus_space_tag_t sbt;
|
||||
int sbusburst, burst;
|
||||
int node;
|
||||
@ -222,19 +221,6 @@ dmaattach_sbus(parent, self, aux)
|
||||
sc->sc_channel = L64854_CHANNEL_SCSI;
|
||||
}
|
||||
|
||||
|
||||
/* Propagate bootpath */
|
||||
bp = NULL;
|
||||
if (sa->sa_bp != NULL) {
|
||||
char *bpname = sa->sa_bp->name;
|
||||
if (strcmp(bpname, "espdma") == 0)
|
||||
/* We call everything "dma" */
|
||||
bpname = "dma";
|
||||
|
||||
if (strcmp(bpname, self->dv_cfdata->cf_driver->cd_name) == 0)
|
||||
bp = sa->sa_bp + 1;
|
||||
}
|
||||
|
||||
sbus_establish(&dsc->sc_sd, &sc->sc_dev);
|
||||
sbt = dma_alloc_bustag(dsc);
|
||||
lsi64854_attach(sc);
|
||||
@ -243,7 +229,7 @@ dmaattach_sbus(parent, self, aux)
|
||||
for (node = firstchild(sa->sa_node); node; node = nextsibling(node)) {
|
||||
struct sbus_attach_args sa;
|
||||
sbus_setup_attach_args((struct sbus_softc *)parent,
|
||||
sbt, sc->sc_dmatag, node, bp, &sa);
|
||||
sbt, sc->sc_dmatag, node, &sa);
|
||||
(void) config_found(&sc->sc_dev, (void *)&sa, dmaprint_sbus);
|
||||
sbus_destroy_attach_args(&sa);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: esp_sbus.c,v 1.7 1999/11/21 15:01:51 pk Exp $ */
|
||||
/* $NetBSD: esp_sbus.c,v 1.8 2000/01/11 12:59:43 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -75,16 +75,6 @@ struct esp_softc {
|
||||
int sc_pri; /* SBUS priority */
|
||||
};
|
||||
|
||||
/*
|
||||
* Is this esp on the bootpath?
|
||||
* We may get two forms of the bootpath:
|
||||
* (1) ../sbus@.../esp@<offset>,<slot>/sd@.. (PROM v3 style)
|
||||
* (2) /sbus0/esp0/sd@.. (PROM v2 style)
|
||||
*/
|
||||
#define SAME_ESP(sc, bp, sa) \
|
||||
((bp->val[0] == sa->sa_slot && bp->val[1] == sa->sa_offset) || \
|
||||
(bp->val[0] == -1 && bp->val[1] == sc->sc_dev.dv_unit))
|
||||
|
||||
void espattach_sbus __P((struct device *, struct device *, void *));
|
||||
void espattach_dma __P((struct device *, struct device *, void *));
|
||||
int espmatch_sbus __P((struct device *, struct cfdata *, void *));
|
||||
@ -236,10 +226,6 @@ espattach_sbus(parent, self, aux)
|
||||
esc->sc_sd.sd_reset = (void *) ncr53c9x_reset;
|
||||
sbus_establish(&esc->sc_sd, &sc->sc_dev);
|
||||
|
||||
if (sa->sa_bp != NULL && strcmp("esp", sa->sa_bp->name) == 0 &&
|
||||
SAME_ESP(sc, sa->sa_bp, sa))
|
||||
bootpath_store(1, sa->sa_bp + 1);
|
||||
|
||||
if (strcmp("ptscII", sa->sa_name) == 0) {
|
||||
espattach(esc, &esp_sbus_glue1);
|
||||
} else {
|
||||
@ -303,10 +289,6 @@ espattach_dma(parent, self, aux)
|
||||
esc->sc_sd.sd_reset = (void *) ncr53c9x_reset;
|
||||
sbus_establish(&esc->sc_sd, parent);
|
||||
|
||||
if (sa->sa_bp != NULL && strcmp("esp", sa->sa_bp->name) == 0 &&
|
||||
SAME_ESP(sc, sa->sa_bp, sa))
|
||||
bootpath_store(1, sa->sa_bp + 1);
|
||||
|
||||
espattach(esc, &esp_sbus_glue);
|
||||
}
|
||||
|
||||
@ -423,8 +405,6 @@ espattach(esc, gluep)
|
||||
|
||||
/* Turn on target selection using the `dma' method */
|
||||
ncr53c9x_dmaselect = 1;
|
||||
|
||||
bootpath_store(1, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_le.c,v 1.9 1999/11/21 15:01:51 pk Exp $ */
|
||||
/* $NetBSD: if_le.c,v 1.10 2000/01/11 12:59:43 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -158,10 +158,6 @@ lematch_sbus(parent, cf, aux)
|
||||
return (strcmp(cf->cf_driver->cd_name, sa->sa_name) == 0);
|
||||
}
|
||||
|
||||
#define SAME_LANCE(bp, sa) \
|
||||
((bp->val[0] == sa->sa_slot && bp->val[1] == sa->sa_offset) || \
|
||||
(bp->val[0] == -1 && bp->val[1] == sc->sc_dev.dv_unit))
|
||||
|
||||
void
|
||||
leattach_sbus(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
@ -220,10 +216,6 @@ leattach_sbus(parent, self, aux)
|
||||
lesc->sc_sd.sd_reset = (void *)lance_reset;
|
||||
sbus_establish(&lesc->sc_sd, &sc->sc_dev);
|
||||
|
||||
if (sa->sa_bp != NULL && strcmp(sa->sa_bp->name, le_cd.cd_name) == 0 &&
|
||||
SAME_LANCE(sa->sa_bp, sa))
|
||||
sa->sa_bp->dev = &sc->sc_dev;
|
||||
|
||||
if (sc->sc_mem == 0) {
|
||||
bus_dma_segment_t seg;
|
||||
int rseg, error;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_le_lebuffer.c,v 1.4 1999/11/21 15:01:51 pk Exp $ */
|
||||
/* $NetBSD: if_le_lebuffer.c,v 1.5 2000/01/11 12:59:43 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -163,10 +163,6 @@ lematch_lebuffer(parent, cf, aux)
|
||||
}
|
||||
|
||||
|
||||
#define SAME_LANCE(bp, sa) \
|
||||
(bp->val[0] == sa->sa_slot && bp->val[1] == sa->sa_offset)
|
||||
|
||||
|
||||
void
|
||||
leattach_lebuffer(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
@ -205,10 +201,6 @@ leattach_lebuffer(parent, self, aux)
|
||||
lesc->sc_sd.sd_reset = (void *)lance_reset;
|
||||
sbus_establish(&lesc->sc_sd, parent);
|
||||
|
||||
if (sa->sa_bp != NULL && strcmp(sa->sa_bp->name, le_cd.cd_name) == 0 &&
|
||||
SAME_LANCE(sa->sa_bp, sa))
|
||||
sa->sa_bp->dev = &sc->sc_dev;
|
||||
|
||||
sc->sc_supmedia = lemedia;
|
||||
sc->sc_nsupmedia = NLEMEDIA;
|
||||
sc->sc_defaultmedia = lemedia[0];
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_le_ledma.c,v 1.6 1999/11/21 15:01:51 pk Exp $ */
|
||||
/* $NetBSD: if_le_ledma.c,v 1.7 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
@ -338,9 +338,6 @@ lematch_ledma(parent, cf, aux)
|
||||
}
|
||||
|
||||
|
||||
#define SAME_LANCE(bp, sa) \
|
||||
(bp->val[0] == sa->sa_slot && bp->val[1] == sa->sa_offset)
|
||||
|
||||
void
|
||||
leattach_ledma(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
@ -400,10 +397,6 @@ leattach_ledma(parent, self, aux)
|
||||
lesc->sc_sd.sd_reset = (void *)lance_reset;
|
||||
sbus_establish(&lesc->sc_sd, parent);
|
||||
|
||||
if (sa->sa_bp != NULL && strcmp(sa->sa_bp->name, le_cd.cd_name) == 0 &&
|
||||
SAME_LANCE(sa->sa_bp, sa))
|
||||
sa->sa_bp->dev = &sc->sc_dev;
|
||||
|
||||
sc->sc_mediachange = lemediachange;
|
||||
sc->sc_mediastatus = lemediastatus;
|
||||
sc->sc_supmedia = lemedia;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: lebuffer.c,v 1.5 1998/08/29 20:38:38 pk Exp $ */
|
||||
/* $NetBSD: lebuffer.c,v 1.6 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -99,7 +99,6 @@ lebufattach(parent, self, aux)
|
||||
int sbusburst;
|
||||
bus_space_tag_t sbt;
|
||||
bus_space_handle_t bh;
|
||||
struct bootpath *bp;
|
||||
|
||||
sc->sc_bustag = sa->sa_bustag;
|
||||
sc->sc_dmatag = sa->sa_dmatag;
|
||||
@ -139,12 +138,6 @@ lebufattach(parent, self, aux)
|
||||
|
||||
sbus_establish(&sc->sc_sd, &sc->sc_dev);
|
||||
|
||||
/* Propagate bootpath */
|
||||
if (sa->sa_bp != NULL)
|
||||
bp = sa->sa_bp + 1;
|
||||
else
|
||||
bp = NULL;
|
||||
|
||||
/* Allocate a bus tag */
|
||||
sbt = (bus_space_tag_t)
|
||||
malloc(sizeof(struct sparc_bus_space_tag), M_DEVBUF, M_NOWAIT);
|
||||
@ -163,7 +156,7 @@ lebufattach(parent, self, aux)
|
||||
for (node = firstchild(node); node; node = nextsibling(node)) {
|
||||
struct sbus_attach_args sa;
|
||||
sbus_setup_attach_args((struct sbus_softc *)parent,
|
||||
sbt, sc->sc_dmatag, node, bp, &sa);
|
||||
sbt, sc->sc_dmatag, node, &sa);
|
||||
(void)config_found(&sc->sc_dev, (void *)&sa, lebufprint);
|
||||
sbus_destroy_attach_args(&sa);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: qec.c,v 1.9 1999/06/24 19:56:51 pk Exp $ */
|
||||
/* $NetBSD: qec.c,v 1.10 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -115,7 +115,6 @@ qecattach(parent, self, aux)
|
||||
int sbusburst;
|
||||
bus_space_tag_t sbt;
|
||||
bus_space_handle_t bh;
|
||||
struct bootpath *bp;
|
||||
int error;
|
||||
|
||||
sc->sc_bustag = sa->sa_bustag;
|
||||
@ -190,12 +189,6 @@ qecattach(parent, self, aux)
|
||||
panic("%s: error getting ranges property", self->dv_xname);
|
||||
}
|
||||
|
||||
/* Propagate bootpath */
|
||||
if (sa->sa_bp != NULL)
|
||||
bp = sa->sa_bp + 1;
|
||||
else
|
||||
bp = NULL;
|
||||
|
||||
/* Allocate a bus tag */
|
||||
sbt = (bus_space_tag_t)
|
||||
malloc(sizeof(struct sparc_bus_space_tag), M_DEVBUF, M_NOWAIT);
|
||||
@ -229,7 +222,7 @@ qecattach(parent, self, aux)
|
||||
for (node = firstchild(node); node; node = nextsibling(node)) {
|
||||
struct sbus_attach_args sa;
|
||||
sbus_setup_attach_args((struct sbus_softc *)parent,
|
||||
sbt, sc->sc_dmatag, node, bp, &sa);
|
||||
sbt, sc->sc_dmatag, node, &sa);
|
||||
(void)config_found(&sc->sc_dev, (void *)&sa, qecprint);
|
||||
sbus_destroy_attach_args(&sa);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: sbusvar.h,v 1.9 1998/09/06 21:23:58 eeh Exp $ */
|
||||
/* $NetBSD: sbusvar.h,v 1.10 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -95,13 +95,11 @@ struct sbus_attach_args {
|
||||
u_int32_t *sa_promvaddrs;/* PROM-supplied virtual addresses -- 32-bit */
|
||||
int sa_npromvaddrs; /* Number of PROM VAs */
|
||||
#define sa_promvaddr sa_promvaddrs[0]
|
||||
|
||||
struct bootpath *sa_bp; /* used for locating boot device */
|
||||
};
|
||||
|
||||
/* sbus_attach_internal() is also used from obio.c */
|
||||
void sbus_attach_common __P((struct sbus_softc *, char *, int,
|
||||
struct bootpath *, const char * const *));
|
||||
const char * const *));
|
||||
int sbus_print __P((void *, const char *));
|
||||
|
||||
void sbus_establish __P((struct sbusdev *, struct device *));
|
||||
@ -111,7 +109,6 @@ int sbus_setup_attach_args __P((
|
||||
bus_space_tag_t,
|
||||
bus_dma_tag_t,
|
||||
int, /*node*/
|
||||
struct bootpath *,
|
||||
struct sbus_attach_args *));
|
||||
|
||||
void sbus_destroy_attach_args __P((struct sbus_attach_args *));
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: xbox.c,v 1.2 1998/07/27 19:13:06 pk Exp $ */
|
||||
/* $NetBSD: xbox.c,v 1.3 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -138,7 +138,6 @@ xbox_attach(parent, self, aux)
|
||||
{
|
||||
struct xbox_softc *sc = (struct xbox_softc *)self;
|
||||
struct sbus_attach_args *sa = aux;
|
||||
struct bootpath *bp = sa->sa_bp;
|
||||
int node = sa->sa_node;
|
||||
struct xbox_attach_args xa;
|
||||
char *cp;
|
||||
@ -156,12 +155,6 @@ xbox_attach(parent, self, aux)
|
||||
|
||||
printf("\n");
|
||||
|
||||
/* Propagate bootpath */
|
||||
if (bp != NULL && strcmp(bp->name, "xbox") == 0)
|
||||
bp++;
|
||||
else
|
||||
bp = NULL;
|
||||
|
||||
/*
|
||||
* Now pretend to be another Sbus.
|
||||
*/
|
||||
@ -170,7 +163,6 @@ xbox_attach(parent, self, aux)
|
||||
xa.xa_node = node;
|
||||
xa.xa_bustag = sa->sa_bustag;
|
||||
xa.xa_dmatag = sa->sa_dmatag;
|
||||
xa.xa_bp = bp;
|
||||
|
||||
(void) config_found(&sc->sc_dev, (void *)&xa, xbox_print);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: xboxvar.h,v 1.1 1998/04/18 19:00:18 pk Exp $ */
|
||||
/* $NetBSD: xboxvar.h,v 1.2 2000/01/11 12:59:44 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
@ -47,6 +47,5 @@ struct xbox_attach_args {
|
||||
bus_dma_tag_t xa_dmatag;
|
||||
char *xa_name; /* PROM node name */
|
||||
int xa_node; /* PROM handle */
|
||||
struct bootpath *xa_bp; /* used for locating boot device */
|
||||
};
|
||||
#endif /* _XBOX_VAR_H */
|
||||
|
Loading…
Reference in New Issue
Block a user