Better 4/100 support.
This commit is contained in:
parent
b199d3272d
commit
c897fc5127
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: GENERIC,v 1.4 1995/01/25 05:35:07 cgd Exp $
|
||||
# $NetBSD: GENERIC,v 1.5 1995/03/01 21:11:43 pk Exp $
|
||||
|
||||
# Kernel for Theo's wimpy sparcstation IPC
|
||||
|
||||
|
@ -31,6 +31,7 @@ options KERNFS # kernel data-structure filesystem
|
|||
#options UMAPFS # uid/gid remapping filesystem
|
||||
#options LFS # Log-based filesystem (still experimental)
|
||||
#options PORTAL # portal filesystem (still experimental)
|
||||
options CD9660 # ISO 9660 + Rock Ridge file system
|
||||
|
||||
# Networking options
|
||||
options INET
|
||||
|
@ -46,7 +47,7 @@ options LKM
|
|||
# Options for SPARCstation hardware
|
||||
options COMPAT_SUNOS # compatibility with SunOS binaries
|
||||
|
||||
config netbsd root nfs swap nfs
|
||||
config netbsd swap generic
|
||||
|
||||
mainbus0 at root
|
||||
cpu0 at mainbus0
|
||||
|
@ -61,15 +62,19 @@ auxreg0 at mainbus0
|
|||
clock0 at mainbus0
|
||||
clock0 at obio0 addr 0xf2000000
|
||||
oclock0 at obio0 addr 0xf3000000
|
||||
oclock0 at obio0 addr 0x03000000 # 4/100
|
||||
memreg0 at mainbus0
|
||||
memreg0 at obio0 addr 0xf4000000
|
||||
memreg0 at obio0 addr 0x04000000 # 4/100
|
||||
timer0 at mainbus0
|
||||
timer0 at obio0 addr 0xef000000
|
||||
|
||||
zs0 at mainbus0
|
||||
zs0 at obio0 addr 0xf1000000 level 12 flags 0x103
|
||||
zs0 at obio0 addr 0x01000000 level 12 flags 0x103 # 4/100
|
||||
zs1 at mainbus0
|
||||
zs1 at obio0 addr 0xf0000000 level 12 flags 0x103
|
||||
zs1 at obio0 addr 0x00000000 level 12 flags 0x103 # 4/100
|
||||
zs2 at obio0 addr 0xe0000000 level 12 flags 0x103
|
||||
|
||||
# FSBE/S or sun4m
|
||||
|
@ -92,6 +97,7 @@ le* at sbus? slot ? offset ?
|
|||
le0 at obio0 addr 0xf9000000 level 6
|
||||
|
||||
ie0 at obio0 addr 0xf6000000 level 6
|
||||
ie0 at obio0 addr 0x06000000 level 6 # 4/100
|
||||
ie1 at vmes0 addr 0xffe88000 level 5 vect 0x75
|
||||
ie2 at vmes0 addr 0xff31ff02 level 5 vect 0x76
|
||||
ie3 at vmes0 addr 0xff35ff02 level 5 vect 0x77
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: GENERIC_SCSI3,v 1.4 1995/01/25 05:35:08 cgd Exp $
|
||||
# $NetBSD: GENERIC_SCSI3,v 1.5 1995/03/01 21:11:46 pk Exp $
|
||||
|
||||
# Kernel for Theo's wimpy sparcstation IPC
|
||||
|
||||
|
@ -31,6 +31,7 @@ options KERNFS # kernel data-structure filesystem
|
|||
#options UMAPFS # uid/gid remapping filesystem
|
||||
#options LFS # Log-based filesystem (still experimental)
|
||||
#options PORTAL # portal filesystem (still experimental)
|
||||
options CD9660 # ISO 9660 + Rock Ridge file system
|
||||
|
||||
# Networking options
|
||||
options INET
|
||||
|
@ -46,7 +47,7 @@ options LKM
|
|||
# Options for SPARCstation hardware
|
||||
options COMPAT_SUNOS # compatibility with SunOS binaries
|
||||
|
||||
config netbsd root nfs swap nfs
|
||||
config netbsd swap generic
|
||||
|
||||
mainbus0 at root
|
||||
cpu0 at mainbus0
|
||||
|
@ -61,15 +62,19 @@ auxreg0 at mainbus0
|
|||
clock0 at mainbus0
|
||||
clock0 at obio0 addr 0xf2000000
|
||||
oclock0 at obio0 addr 0xf3000000
|
||||
oclock0 at obio0 addr 0x03000000 # 4/100
|
||||
memreg0 at mainbus0
|
||||
memreg0 at obio0 addr 0xf4000000
|
||||
memreg0 at obio0 addr 0x04000000 # 4/100
|
||||
timer0 at mainbus0
|
||||
timer0 at obio0 addr 0xef000000
|
||||
|
||||
zs0 at mainbus0
|
||||
zs0 at obio0 addr 0xf1000000 level 12 flags 0x103
|
||||
zs0 at obio0 addr 0x01000000 level 12 flags 0x103 # 4/100
|
||||
zs1 at mainbus0
|
||||
zs1 at obio0 addr 0xf0000000 level 12 flags 0x103
|
||||
zs1 at obio0 addr 0x00000000 level 12 flags 0x103 # 4/100
|
||||
zs2 at obio0 addr 0xe0000000 level 12 flags 0x103
|
||||
|
||||
# FSBE/S or sun4m
|
||||
|
@ -92,6 +97,7 @@ le* at sbus? slot ? offset ?
|
|||
le0 at obio0 addr 0xf9000000 level 6
|
||||
|
||||
ie0 at obio0 addr 0xf6000000 level 6
|
||||
ie0 at obio0 addr 0x06000000 level 6 # 4/100
|
||||
ie1 at vmes0 addr 0xffe88000 level 5 vect 0x75
|
||||
ie2 at vmes0 addr 0xff31ff02 level 5 vect 0x76
|
||||
ie3 at vmes0 addr 0xff35ff02 level 5 vect 0x77
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: files.sparc.newconf,v 1.24 1995/02/22 21:32:34 pk Exp $
|
||||
# $NetBSD: files.sparc.newconf,v 1.25 1995/03/01 21:11:50 pk Exp $
|
||||
|
||||
# @(#)files.sparc 8.1 (Berkeley) 7/19/93
|
||||
# sparc-specific configuration info
|
||||
|
@ -10,9 +10,9 @@ maxusers 2 8 64
|
|||
|
||||
device mainbus at root {}
|
||||
|
||||
device obio at mainbus { [addr = 0], [level = -1] }
|
||||
device vmel at mainbus { [addr = 0], [level = -1], [vect = -1] }
|
||||
device vmes at mainbus { [addr = 0], [level = -1], [vect = -1] }
|
||||
device obio at mainbus { [addr = -1], [level = -1] }
|
||||
device vmel at mainbus { [addr = -1], [level = -1], [vect = -1] }
|
||||
device vmes at mainbus { [addr = -1], [level = -1], [vect = -1] }
|
||||
file arch/sparc/dev/obio.c obio vmel vmes
|
||||
|
||||
device audio at mainbus
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dma.c,v 1.8 1995/02/01 12:37:21 pk Exp $ */
|
||||
/* $NetBSD: dma.c,v 1.9 1995/03/01 21:09:19 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994 Peter Galbavy. All rights reserved.
|
||||
|
@ -97,9 +97,6 @@ dmamatch(parent, vcf, aux)
|
|||
return (0);
|
||||
if (ca->ca_bustype == BUS_SBUS)
|
||||
return (1);
|
||||
if (cputyp == CPU_SUN4 && ca->ca_bustype == BUS_OBIO &&
|
||||
cpumod == SUN4_100)
|
||||
return 0; /* see 4/110 comment in cpu.c */
|
||||
ra->ra_len = NBPG;
|
||||
return (probeget(ra->ra_vaddr, 1) != -1);
|
||||
}
|
||||
|
@ -355,7 +352,7 @@ dmaintr(sc)
|
|||
*sc->sc_dmalen -= trans;
|
||||
*sc->sc_dmaaddr += trans;
|
||||
|
||||
if (*sc->sc_dmalen ||
|
||||
if (*sc->sc_dmalen == 0 ||
|
||||
sc->sc_esp->sc_phase != sc->sc_esp->sc_prevphase)
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: esp.c,v 1.18 1995/02/01 12:37:24 pk Exp $ */
|
||||
/* $NetBSD: esp.c,v 1.19 1995/03/01 21:09:27 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994 Peter Galbavy
|
||||
|
@ -226,9 +226,6 @@ espmatch(parent, vcf, aux)
|
|||
return (0);
|
||||
if (ca->ca_bustype == BUS_SBUS)
|
||||
return (1);
|
||||
if (cputyp == CPU_SUN4 && ca->ca_bustype == BUS_OBIO &&
|
||||
cpumod == SUN4_100)
|
||||
return 0; /* see 4/110 comment in cpu.c */
|
||||
ra->ra_len = NBPG;
|
||||
return (probeget(ra->ra_vaddr, 1) != -1);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: obio.c,v 1.11 1995/02/01 12:37:26 pk Exp $ */
|
||||
/* $NetBSD: obio.c,v 1.12 1995/03/01 21:09:35 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1993, 1994 Theo de Raadt
|
||||
|
@ -131,6 +131,19 @@ busattach(parent, self, args, bustype)
|
|||
for (cf = cfdata; cf->cf_driver; cf++) {
|
||||
if (cf->cf_fstate == FSTATE_FOUND)
|
||||
continue;
|
||||
if (bustype == BUS_OBIO && cputyp == CPU_SUN4) {
|
||||
/*
|
||||
* On the 4/100 obio addresses must be mapped at
|
||||
* 0x0YYYYYYY, but alias higher up (we avoid the
|
||||
* alias condition because it causes pmap difficulties)
|
||||
* XXX: We also assume that 4/[23]00 obio addresses
|
||||
* must be 0xZYYYYYYY, where (Z != 0)
|
||||
*/
|
||||
if (cpumod==SUN4_100 && (cf->cf_loc[0] & 0xf0000000))
|
||||
continue;
|
||||
if (cpumod!=SUN4_100 && !(cf->cf_loc[0] & 0xf0000000))
|
||||
continue;
|
||||
}
|
||||
for (p = cf->cf_parents; *p >= 0; p++)
|
||||
if (self->dv_cfdata == &cfdata[*p]) {
|
||||
oca.ca_ra.ra_iospace = -1;
|
||||
|
@ -138,7 +151,7 @@ busattach(parent, self, args, bustype)
|
|||
oca.ca_ra.ra_len = 0;
|
||||
oca.ca_ra.ra_nreg = 1;
|
||||
tmp = NULL;
|
||||
if (oca.ca_ra.ra_paddr)
|
||||
if (oca.ca_ra.ra_paddr != (void *)-1)
|
||||
tmp = bus_tmp(oca.ca_ra.ra_paddr,
|
||||
bustype);
|
||||
oca.ca_ra.ra_vaddr = tmp;
|
||||
|
@ -149,7 +162,11 @@ busattach(parent, self, args, bustype)
|
|||
oca.ca_ra.ra_intr[0].int_vec = -1;
|
||||
oca.ca_ra.ra_nintr = 1;
|
||||
oca.ca_ra.ra_name = cf->cf_driver->cd_name;
|
||||
oca.ca_ra.ra_bp = ca->ca_ra.ra_bp;
|
||||
if (ca->ca_ra.ra_bp != NULL &&
|
||||
strcmp(ca->ca_ra.ra_bp->name, "sbus") == 0)
|
||||
oca.ca_ra.ra_bp = ca->ca_ra.ra_bp + 1;
|
||||
else
|
||||
oca.ca_ra.ra_bp = NULL;
|
||||
oca.ca_bustype = bustype;
|
||||
|
||||
if ((*cf->cf_driver->cd_match)(self, cf, &oca) == 0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: zs.c,v 1.23 1995/02/01 12:37:29 pk Exp $ */
|
||||
/* $NetBSD: zs.c,v 1.24 1995/03/01 21:09:40 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1992, 1993
|
||||
|
@ -216,9 +216,6 @@ zsmatch(parent, vcf, aux)
|
|||
return (0);
|
||||
if (ca->ca_bustype==BUS_MAIN && cputyp!=CPU_SUN4)
|
||||
return (getpropint(ra->ra_node, "slave", -2) == cf->cf_unit);
|
||||
if (cf->cf_unit == 2 && cputyp == CPU_SUN4 &&
|
||||
ca->ca_bustype == BUS_OBIO && cpumod == SUN4_100)
|
||||
return 0; /* see 4/110 comment in cpu.c */
|
||||
ra->ra_len = NBPG;
|
||||
return (probeget(ra->ra_vaddr, 1) != -1);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: autoconf.c,v 1.23 1995/02/16 21:42:50 pk Exp $ */
|
||||
/* $NetBSD: autoconf.c,v 1.24 1995/03/01 21:18:57 pk Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1992, 1993
|
||||
|
@ -394,6 +394,18 @@ configure()
|
|||
for (cf = cfdata; memregcf==NULL && cf->cf_driver; cf++) {
|
||||
if (cf->cf_driver != &memregcd)
|
||||
continue;
|
||||
/*
|
||||
* On the 4/100 obio addresses must be mapped at
|
||||
* 0x0YYYYYYY, but alias higher up (we avoid the
|
||||
* alias condition because it causes pmap difficulties)
|
||||
* XXX: We also assume that 4/[23]00 obio addresses
|
||||
* must be 0xZYYYYYYY, where (Z != 0)
|
||||
* make sure we get the correct memreg cfdriver!
|
||||
*/
|
||||
if (cpumod==SUN4_100 && (cf->cf_loc[0] & 0xf0000000))
|
||||
continue;
|
||||
if (cpumod!=SUN4_100 && !(cf->cf_loc[0] & 0xf0000000))
|
||||
continue;
|
||||
for (p = cf->cf_parents; memregcf==NULL && *p >= 0; p++)
|
||||
if (cfdata[*p].cf_driver == &obiocd)
|
||||
memregcf = cf;
|
||||
|
|
Loading…
Reference in New Issue