summaryrefslogtreecommitdiff
path: root/sys/arch/mips64
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-04-26 17:02:41 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-04-26 17:02:41 +0000
commit9d95aa779435c2d53dd82d80f4d001cc35845543 (patch)
treea7eb70f4ec5cacf0e0f5076c3347f18b3dad29e2 /sys/arch/mips64
parentb70ce41c22de7e2281a07553ebb61643145ed28a (diff)
Do not invoke arcbios routines from the moment our page tables are set up,
to the moment we reboot, for we do not know what it can do behind our back; this means the built-in ethernet address has to be read from the arcbios environment earlier.
Diffstat (limited to 'sys/arch/mips64')
-rw-r--r--sys/arch/mips64/include/arcbios.h3
-rw-r--r--sys/arch/mips64/mips64/arcbios.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/mips64/include/arcbios.h b/sys/arch/mips64/include/arcbios.h
index 42bc74fc849..70876bd462d 100644
--- a/sys/arch/mips64/include/arcbios.h
+++ b/sys/arch/mips64/include/arcbios.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: arcbios.h,v 1.6 2004/10/20 12:49:15 pefo Exp $ */
+/* $OpenBSD: arcbios.h,v 1.7 2007/04/26 17:02:38 miod Exp $ */
/*-
* Copyright (c) 1996 M. Warner Losh. All rights reserved.
*
@@ -370,6 +370,7 @@ typedef struct arc_param_blk_64
#define ArcBios (ArcBiosBase->firmware_vect)
extern int bios_is_32bit;
+extern char bios_enaddr[20];
int bios_getchar(void);
void bios_putchar(char);
diff --git a/sys/arch/mips64/mips64/arcbios.c b/sys/arch/mips64/mips64/arcbios.c
index 0afb7f3d9f9..07fe748fa26 100644
--- a/sys/arch/mips64/mips64/arcbios.c
+++ b/sys/arch/mips64/mips64/arcbios.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: arcbios.c,v 1.8 2006/03/09 23:06:20 miod Exp $ */
+/* $OpenBSD: arcbios.c,v 1.9 2007/04/26 17:02:40 miod Exp $ */
/*-
* Copyright (c) 1996 M. Warner Losh. All rights reserved.
* Copyright (c) 1996-2004 Opsycon AB. All rights reserved.
@@ -41,6 +41,11 @@
#endif
int bios_is_32bit = 1;
+/*
+ * If we can not get the onboard ethernet address to override this bogus
+ * value, ether_ifattach() will pick a valid address.
+ */
+char bios_enaddr[20] = "ff:ff:ff:ff:ff:ff";
extern int physmem; /* Total physical memory size */
extern int rsvdmem; /* Total reserved memory size */