diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-02-17 18:42:07 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-02-17 18:42:07 +0000 |
commit | 5b9bd30fe6b44fbae7ef327fbb4a7ea3390ac4c1 (patch) | |
tree | 74ebcea6fa8742b4d3cce14511c68c5e70667ba3 /sys/arch/mvme68k/stand | |
parent | c08507e1938fc34b95315ffde083468e6ab0585d (diff) |
Move ethernet buffers higher in memory, just below our text, to allow
larger bsd.rd to load correctly. Tested on MVME147 (if_le) and MVME167 (if_ie).
Diffstat (limited to 'sys/arch/mvme68k/stand')
-rw-r--r-- | sys/arch/mvme68k/stand/netboot/Makefile | 3 | ||||
-rw-r--r-- | sys/arch/mvme68k/stand/netboot/if_ie.c | 6 | ||||
-rw-r--r-- | sys/arch/mvme68k/stand/netboot/if_le.c | 5 | ||||
-rw-r--r-- | sys/arch/mvme68k/stand/netboot/if_lereg.h | 4 |
4 files changed, 10 insertions, 8 deletions
diff --git a/sys/arch/mvme68k/stand/netboot/Makefile b/sys/arch/mvme68k/stand/netboot/Makefile index 967c9eb97b3..473badbaf03 100644 --- a/sys/arch/mvme68k/stand/netboot/Makefile +++ b/sys/arch/mvme68k/stand/netboot/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.14 2006/01/10 07:36:32 miod Exp $ +# $OpenBSD: Makefile,v 1.15 2009/02/17 18:42:06 miod Exp $ SIZE?= size @@ -7,6 +7,7 @@ DEFS= -DSUN_BOOTPARAMS -DRELOC=${STAGE2_RELOC} INCPATH=-I${.CURDIR} -I${.CURDIR}/../libsa -I${.CURDIR}/../libbug \ -I${S} -I${S}/lib/libsa CFLAGS+= -O2 ${DEFS} ${INCPATH} ${COPTS} +CFLAGS+=-DSTAGE2_RELOC=${STAGE2_RELOC} CLEANFILES+=netboot netboot.bin .include "${S}/arch/mvme68k/stand/bugcrt/Makefile.inc" diff --git a/sys/arch/mvme68k/stand/netboot/if_ie.c b/sys/arch/mvme68k/stand/netboot/if_ie.c index baa7f08ef6c..0fb27fbe9a7 100644 --- a/sys/arch/mvme68k/stand/netboot/if_ie.c +++ b/sys/arch/mvme68k/stand/netboot/if_ie.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ie.c,v 1.12 2003/08/20 00:26:00 deraadt Exp $ */ +/* $OpenBSD: if_ie.c,v 1.13 2009/02/17 18:42:06 miod Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -422,8 +422,8 @@ ie_init(struct iodesc *desc, void *machdep_hint) bzero(&ie_softc, sizeof(ie_softc)); ie_softc.sc_reg = (struct iereg *) ie_config[desc->io_netif->nif_unit].phys_addr; - /* printf("buffer @0x%x\n", RELOC - 0x20000);*/ - ie_softc.sc_mem = (struct iemem *) 0x3e0000; + /* use 64KB below our code as buffers */ + ie_softc.sc_mem = (struct iemem *)(STAGE2_RELOC - 0x10000); ie_reset(desc->io_netif, desc->myea); printf("device: %s%d attached to %s\n", nif->nif_driver->netif_bname, nif->nif_unit, ether_sprintf(desc->myea)); diff --git a/sys/arch/mvme68k/stand/netboot/if_le.c b/sys/arch/mvme68k/stand/netboot/if_le.c index 53944a16d31..083eb8f1b89 100644 --- a/sys/arch/mvme68k/stand/netboot/if_le.c +++ b/sys/arch/mvme68k/stand/netboot/if_le.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_le.c,v 1.10 2003/08/20 00:26:00 deraadt Exp $ */ +/* $OpenBSD: if_le.c,v 1.11 2009/02/17 18:42:06 miod Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -427,7 +427,6 @@ le_init(desc, machdep_hint) struct iodesc *desc; void *machdep_hint; { - u_long eram = 4*1024*1024; struct netif *nif = desc->io_netif; if (le_debug) @@ -436,7 +435,7 @@ le_init(desc, machdep_hint) bzero(&le_softc, sizeof(le_softc)); le_softc.sc_r1 = (struct lereg1 *) le_config[desc->io_netif->nif_unit].phys_addr; - le_softc.sc_r2 = (struct lereg2 *) (eram - (1024 * 1024)); + le_softc.sc_r2 = (struct lereg2 *)(STAGE2_RELOC - LEMEMSIZE); le_reset(desc->io_netif, desc->myea); printf("device: %s%d attached to %s\n", nif->nif_driver->netif_bname, nif->nif_unit, ether_sprintf(desc->myea)); diff --git a/sys/arch/mvme68k/stand/netboot/if_lereg.h b/sys/arch/mvme68k/stand/netboot/if_lereg.h index 24b382990ff..3952102768d 100644 --- a/sys/arch/mvme68k/stand/netboot/if_lereg.h +++ b/sys/arch/mvme68k/stand/netboot/if_lereg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_lereg.h,v 1.5 2003/06/02 23:27:51 millert Exp $ */ +/* $OpenBSD: if_lereg.h,v 1.6 2009/02/17 18:42:06 miod Exp $ */ /*- * Copyright (c) 1982, 1992, 1993 @@ -40,6 +40,8 @@ #define LETBUFLOG2 0 #define LE_TLEN (LETBUFLOG2 << 13) +#define LEMEMSIZE 16384 /* memory needed to fulfill above settings */ + /* Local Area Network Controller for Ethernet (LANCE) registers */ struct lereg1 { volatile u_short ler1_rdp; /* register data port */ |