diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2006-10-29 14:48:00 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2006-10-29 14:48:00 +0000 |
commit | 447d3d43c9071d76e2b1cd03b4836e63f81517b1 (patch) | |
tree | 32df966333c32acf083d215ff9ebb1aae99ca8fe /sys/arch | |
parent | c39db9d92be8db9f2d33e296ff81effc3cefa369 (diff) |
Disable cache before jumping into the kernel, makes bootloader more reliable.
ok miod@
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/landisk/stand/boot/devs.c | 3 | ||||
-rw-r--r-- | sys/arch/landisk/stand/boot/libsa.h | 3 | ||||
-rw-r--r-- | sys/arch/landisk/stand/boot/srt0.S | 12 |
3 files changed, 15 insertions, 3 deletions
diff --git a/sys/arch/landisk/stand/boot/devs.c b/sys/arch/landisk/stand/boot/devs.c index baa6698e717..4534cbf80a7 100644 --- a/sys/arch/landisk/stand/boot/devs.c +++ b/sys/arch/landisk/stand/boot/devs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: devs.c,v 1.3 2006/10/16 21:22:59 drahn Exp $ */ +/* $OpenBSD: devs.c,v 1.4 2006/10/29 14:47:59 drahn Exp $ */ /* * Copyright (c) 2006 Michael Shalayeff @@ -76,6 +76,7 @@ run_loadfile(u_long *marks, int howto) entry = marks[MARK_ENTRY]; cache_flush(); + cache_disable(); printf("entry point at 0x%x\n", (int)entry); printf("start at 0x%x\n", (int)marks[MARK_START]); diff --git a/sys/arch/landisk/stand/boot/libsa.h b/sys/arch/landisk/stand/boot/libsa.h index 8f961db3ba0..75a640911ab 100644 --- a/sys/arch/landisk/stand/boot/libsa.h +++ b/sys/arch/landisk/stand/boot/libsa.h @@ -1,4 +1,4 @@ -/* $OpenBSD: libsa.h,v 1.2 2006/10/11 23:06:46 drahn Exp $ */ +/* $OpenBSD: libsa.h,v 1.3 2006/10/29 14:47:59 drahn Exp $ */ /* * Copyright (c) 2006 Michael Shalayeff @@ -33,3 +33,4 @@ void scif_init(unsigned int); int scif_getc(void); void scif_putc(int); void cache_flush(void); +void cache_disable(void); diff --git a/sys/arch/landisk/stand/boot/srt0.S b/sys/arch/landisk/stand/boot/srt0.S index a1b8d2166c6..247513760bc 100644 --- a/sys/arch/landisk/stand/boot/srt0.S +++ b/sys/arch/landisk/stand/boot/srt0.S @@ -1,4 +1,4 @@ -/* $OpenBSD: srt0.S,v 1.2 2006/10/11 23:06:46 drahn Exp $ */ +/* $OpenBSD: srt0.S,v 1.3 2006/10/29 14:47:59 drahn Exp $ */ /* $NetBSD: boot.S,v 1.1 2006/09/01 21:26:18 uwe Exp $ */ /*- @@ -140,6 +140,16 @@ ENTRY(cache_flush) rts nop +/* + * void cache_disable(void); + */ +ENTRY(cache_disable) + mov #1, r4 + mov #6, r0 + trapa #0x3f + rts + nop + .align 2 .L.boot_magic1: .long 0x20031125 |