Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc64/include Have CLKF_BASEPRI() always return f...
details: https://anonhg.NetBSD.org/src/rev/43fedf366d08
branches: trunk
changeset: 526960:43fedf366d08
user: eeh <eeh%NetBSD.org@localhost>
date: Tue May 14 21:21:45 2002 +0000
description:
Have CLKF_BASEPRI() always return false for now to prevent hardclock
from being blocked by softclock.
diffstat:
sys/arch/sparc64/include/cpu.h | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diffs (32 lines):
diff -r 1ded0637ec97 -r 43fedf366d08 sys/arch/sparc64/include/cpu.h
--- a/sys/arch/sparc64/include/cpu.h Tue May 14 20:03:53 2002 +0000
+++ b/sys/arch/sparc64/include/cpu.h Tue May 14 21:21:45 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu.h,v 1.30 2002/02/09 04:50:13 eeh Exp $ */
+/* $NetBSD: cpu.h,v 1.31 2002/05/14 21:21:45 eeh Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -146,7 +146,22 @@
};
#define CLKF_USERMODE(framep) (((framep)->t.tf_tstate & TSTATE_PRIV) == 0)
+/*
+ * XXX Disable CLKF_BASEPRI() for now. If we use a counter-timer for
+ * the clock, the interrupt remains blocked until the interrupt handler
+ * returns and we write to the clear interrupt register. If we use
+ * %tick for the clock, we could get multiple interrupts, but the
+ * currently enabled INTR_INTERLOCK will prevent the interrupt from being
+ * posted twice anyway.
+ *
+ * Switching to %tick for all machines and disabling INTR_INTERLOCK
+ * in locore.s would allow us to take advantage of CLKF_BASEPRI().
+ */
+#if 0
#define CLKF_BASEPRI(framep) (((framep)->t.tf_oldpil) == 0)
+#else
+#define CLKF_BASEPRI(framep) (0)
+#endif
#define CLKF_PC(framep) ((framep)->t.tf_pc)
/* Since some files in sys/kern do not know BIAS, I'm using 0x7ff here */
#define CLKF_INTR(framep) \
Home |
Main Index |
Thread Index |
Old Index