summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/stand/bugcrt/bugcrt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/mvme88k/stand/bugcrt/bugcrt.c')
-rw-r--r--sys/arch/mvme88k/stand/bugcrt/bugcrt.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/arch/mvme88k/stand/bugcrt/bugcrt.c b/sys/arch/mvme88k/stand/bugcrt/bugcrt.c
index 24ab2812579..4d4be412d8b 100644
--- a/sys/arch/mvme88k/stand/bugcrt/bugcrt.c
+++ b/sys/arch/mvme88k/stand/bugcrt/bugcrt.c
@@ -1,12 +1,13 @@
-/* $OpenBSD: bugcrt.c,v 1.3 1998/08/22 09:16:47 smurph Exp $ */
+/* $OpenBSD: bugcrt.c,v 1.4 1998/12/15 06:12:50 smurph Exp $ */
#include <sys/types.h>
#include <machine/prom.h>
struct mvmeprom_args bugargs = { 1 }; /* not BSS */
asm (".text");
- asm (".long 0x003ffff8");
- asm (".long _start");
+ /* pseudo reset vector */
+ asm (".long 0x00Af0000"); /* initial sp value */
+ asm (".long _start"); /* initial ip value */
start()
{
register int dev_lun asm (MVMEPROM_REG_DEVLUN);
@@ -24,10 +25,10 @@ start()
/* Do not use r10 to enable the SFU1. This wipes out
the netboot args. Not cool at all... r25 seems free. */
-asm ("# enable SFU1");
-asm (" ldcr r25,cr1");
-asm (" xor r25,r25,0x8");
-asm (" stcr r25,cr1");
+asm ("| enable SFU1");
+asm (" ldcr r25,cr1");
+asm (" xor r25,r25,0x8");
+asm (" stcr r25,cr1");
bugargs.dev_lun = dev_lun;
bugargs.ctrl_lun = ctrl_lun;
@@ -41,7 +42,8 @@ asm (" stcr r25,cr1");
bugargs.nbarg_end = nbarg_end;
*bugargs.arg_end = 0;
- bzero(&edata, (&end - &edata));
+ memset(&edata, 0, ((int)&end - (int)&edata));
+
id = mvmeprom_brdid();
bugargs.cputyp = id->model;