diff options
Diffstat (limited to 'sys/arch/mvme88k/stand/bugcrt/bugcrt.c')
-rw-r--r-- | sys/arch/mvme88k/stand/bugcrt/bugcrt.c | 18 |
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; |