summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1995-10-28 11:14:22 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1995-10-28 11:14:22 +0000
commitda0ee89e4eb18bbe3c71583ddac3857bd4cd5023 (patch)
tree66eec61d7eac87d0c0ea524477fce8f4de1a6f71 /sys/arch
parent1daa93ab3622bda73b2eda756bc6b0bfd1b345a8 (diff)
fixed 162 reset code from dale
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/mvme68k/mvme68k/locore.s10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/mvme68k/mvme68k/locore.s b/sys/arch/mvme68k/mvme68k/locore.s
index b2c88a95167..0686489cb2c 100644
--- a/sys/arch/mvme68k/mvme68k/locore.s
+++ b/sys/arch/mvme68k/mvme68k/locore.s
@@ -1927,13 +1927,19 @@ Lbootnot040:
not147:
movl #0xfff40000,a0 | MVME16x: "struct vme2reg *"
- movl a0@(60),d0
+ movl a0@(0x60),d0
movl d0,d1
andl #0x40000000,d1 | is VME2_TCTL_SCON set?
beq 1f | not SCON. may not use SRESET.
orw #0x00800000,d0 | ok, assert VME2_TCTL_SRST
- movl d0,a0@(60)
+ movl d0,a0@(0x60)
1:
+ | lets try the local bus reset
+ movl #0xfff40000,a0 | MVME16x: "struct vme2reg *"
+ movl a0@(0x104),d0
+ orw #0x00000080,d0
+ movl d0,a0@(0x104)
+ | lets try jumping off to rom.
movl #0xff800000,a0 | if we get here, SRESET did not work.
movl a0@(4),a0 | try jumping directly to the ROM.
jsr a0@