summaryrefslogtreecommitdiff
path: root/sys/arch/mvme68k/stand
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-02-17 18:42:07 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-02-17 18:42:07 +0000
commit5b9bd30fe6b44fbae7ef327fbb4a7ea3390ac4c1 (patch)
tree74ebcea6fa8742b4d3cce14511c68c5e70667ba3 /sys/arch/mvme68k/stand
parentc08507e1938fc34b95315ffde083468e6ab0585d (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/Makefile3
-rw-r--r--sys/arch/mvme68k/stand/netboot/if_ie.c6
-rw-r--r--sys/arch/mvme68k/stand/netboot/if_le.c5
-rw-r--r--sys/arch/mvme68k/stand/netboot/if_lereg.h4
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 */