Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/mvmeppc/mvmeppc Implement mvme160x platform-specifi...
details: https://anonhg.NetBSD.org/src/rev/12314480edb5
branches: trunk
changeset: 550050:12314480edb5
user: scw <scw%NetBSD.org@localhost>
date: Mon Jul 28 21:45:13 2003 +0000
description:
Implement mvme160x platform-specific reset using a semi-documented
register of the IBC.
diffstat:
sys/arch/mvmeppc/mvmeppc/machdep.c | 8 ++++----
sys/arch/mvmeppc/mvmeppc/platform_160x.c | 13 +++++++++++--
2 files changed, 15 insertions(+), 6 deletions(-)
diffs (64 lines):
diff -r 38c0c3b69c26 -r 12314480edb5 sys/arch/mvmeppc/mvmeppc/machdep.c
--- a/sys/arch/mvmeppc/mvmeppc/machdep.c Mon Jul 28 21:33:57 2003 +0000
+++ b/sys/arch/mvmeppc/mvmeppc/machdep.c Mon Jul 28 21:45:13 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.15 2003/07/28 09:25:28 scw Exp $ */
+/* $NetBSD: machdep.c,v 1.16 2003/07/28 21:45:13 scw Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.15 2003/07/28 09:25:28 scw Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.16 2003/07/28 21:45:13 scw Exp $");
#include "opt_compat_netbsd.h"
#include "opt_mvmetype.h"
@@ -393,9 +393,9 @@
printf("rebooting...\n\n");
-#if 0
(*platform->reset)();
-#endif
+
+ printf("Oops! Board reset failed!\n");
for (;;)
continue;
diff -r 38c0c3b69c26 -r 12314480edb5 sys/arch/mvmeppc/mvmeppc/platform_160x.c
--- a/sys/arch/mvmeppc/mvmeppc/platform_160x.c Mon Jul 28 21:33:57 2003 +0000
+++ b/sys/arch/mvmeppc/mvmeppc/platform_160x.c Mon Jul 28 21:45:13 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: platform_160x.c,v 1.3 2003/07/28 14:55:46 chs Exp $ */
+/* $NetBSD: platform_160x.c,v 1.4 2003/07/28 21:45:14 scw Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: platform_160x.c,v 1.3 2003/07/28 14:55:46 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: platform_160x.c,v 1.4 2003/07/28 21:45:14 scw Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -142,6 +142,15 @@
static void
p160x_reset(void)
{
+ /*
+ * The mvme160x programmer's manual makes reference to an
+ * "IBC Port 92" register which can be used to reset the board.
+ * Unfortunately, I can't find any documentation for this
+ * register.
+ * Fortunately, it appears that simply setting bit-0 does
+ * the trick...
+ */
+ outb(0x80000092, inb(0x80000092) | 1);
}
static void
Home |
Main Index |
Thread Index |
Old Index