Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src move the spl*() and IPL_* definitions to intr.h.
details: https://anonhg.NetBSD.org/src/rev/81ca81e08658
branches: trunk
changeset: 510425:81ca81e08658
user: chs <chs%NetBSD.org@localhost>
date: Mon May 28 21:06:18 2001 +0000
description:
move the spl*() and IPL_* definitions to intr.h.
diffstat:
distrib/sets/lists/comp/md.sun3 | 3 +-
sys/arch/sun3/include/Makefile | 3 +-
sys/arch/sun3/include/intr.h | 117 ++++++++++++++++++++++++++++++++++++++++
sys/arch/sun3/include/param.h | 5 +-
sys/arch/sun3/include/psl.h | 111 +-------------------------------------
5 files changed, 124 insertions(+), 115 deletions(-)
diffs (291 lines):
diff -r 0ac965a286bf -r 81ca81e08658 distrib/sets/lists/comp/md.sun3
--- a/distrib/sets/lists/comp/md.sun3 Mon May 28 20:56:54 2001 +0000
+++ b/distrib/sets/lists/comp/md.sun3 Mon May 28 21:06:18 2001 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: md.sun3,v 1.44 2001/04/15 17:14:28 kleink Exp $
+# $NetBSD: md.sun3,v 1.45 2001/05/28 21:06:19 chs Exp $
./usr/include/sun3 comp-c-include
./usr/include/sun3/_G_config.h comp-c-include
./usr/include/sun3/ansi.h comp-c-include
@@ -29,6 +29,7 @@
./usr/include/sun3/int_limits.h comp-c-include
./usr/include/sun3/int_mwgwtypes.h comp-c-include
./usr/include/sun3/int_types.h comp-c-include
+./usr/include/sun3/intr.h comp-c-include
./usr/include/sun3/kbd.h comp-c-include
./usr/include/sun3/kbio.h comp-c-include
./usr/include/sun3/kcore.h comp-c-include
diff -r 0ac965a286bf -r 81ca81e08658 sys/arch/sun3/include/Makefile
--- a/sys/arch/sun3/include/Makefile Mon May 28 20:56:54 2001 +0000
+++ b/sys/arch/sun3/include/Makefile Mon May 28 21:06:18 2001 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.14 2001/04/15 17:13:18 kleink Exp $
+# $NetBSD: Makefile,v 1.15 2001/05/28 21:06:19 chs Exp $
KDIR= /sys/arch/sun3/include
INCSDIR= /usr/include/sun3
@@ -11,6 +11,7 @@
fbio.h float.h frame.h \
idprom.h ieee.h ieeefp.h \
int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
+ intr.h \
kbd.h kbio.h kcore.h \
leds.h limits.h lock.h \
math.h mc68851.h mon.h \
diff -r 0ac965a286bf -r 81ca81e08658 sys/arch/sun3/include/intr.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sun3/include/intr.h Mon May 28 21:06:18 2001 +0000
@@ -0,0 +1,117 @@
+/* $NetBSD: intr.h,v 1.1 2001/05/28 21:06:19 chs Exp $ */
+
+/*-
+ * Copyright (c) 1996 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Gordon W. Ross.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _SUN3_INTR_H_
+#define _SUN3_INTR_H_ 1
+
+#include <machine/psl.h>
+
+/*
+ * These are identical to the values used by hp300, but are not meaningful
+ * to sun3 code at this time.
+ */
+#define IPL_NONE 0 /* disable only this interrupt */
+#define IPL_BIO 1 /* disable block I/O interrupts */
+#define IPL_NET 2 /* disable network interrupts */
+#define IPL_TTY 3 /* disable terminal interrupts */
+#define IPL_TTYNOBUF 4 /* IPL_TTY + higher ISR priority */
+#define IPL_SERIAL 4 /* disable serial interrupts */
+#define IPL_CLOCK 5 /* disable clock interrupts */
+#define IPL_HIGH 6 /* disable all interrupts */
+
+#if defined(_KERNEL) && !defined(_LOCORE)
+
+/*
+ * Define inline functions for PSL manipulation.
+ * These are as close to macros as one can get.
+ * When not optimizing gcc will call the locore.s
+ * functions by the same names, so breakpoints on
+ * these functions will work normally, etc.
+ * (See the GCC extensions info document.)
+ */
+
+static __inline int _getsr __P((void));
+
+/* Get current sr value. */
+static __inline int
+_getsr(void)
+{
+ int rv;
+
+ __asm __volatile ("clrl %0; movew %%sr,%0" : "&=d" (rv));
+ return (rv);
+}
+
+/*
+ * The rest of this is sun3 specific, because other ports may
+ * need to do special things in spl0() (i.e. simulate SIR).
+ * Suns have a REAL interrupt register, so spl0() and splx(s)
+ * have no need to check for any simulated interrupts, etc.
+ */
+
+#define spl0() _spl0() /* we have real software interrupts */
+#define splx(x) _spl(x)
+
+/* IPL used by soft interrupts: netintr(), softclock() */
+#define spllowersoftclock() spl1()
+#define splsoftclock() splraise1()
+#define splsoftnet() splraise1()
+
+/* Highest block device (strategy) IPL. */
+#define splbio() splraise2()
+
+/* Highest network interface IPL. */
+#define splnet() splraise3()
+
+/* Highest tty device IPL. */
+#define spltty() splraise4()
+
+/* Highest network, tty, or disk IPL. */
+#define splvm() _splraise(PSL_S|PSL_IPL4)
+
+/* Intersil clock hardware interrupts (hard-wired at 5) */
+#define splclock() splraise5()
+#define splstatclock() splclock()
+
+/* Block out all interrupts (except NMI of course). */
+#define splhigh() spl7()
+#define splsched() spl7()
+#define spllock() spl7()
+
+#endif /* KERNEL && !_LOCORE */
+#endif /* _SUN3_INTR_H_ */
diff -r 0ac965a286bf -r 81ca81e08658 sys/arch/sun3/include/param.h
--- a/sys/arch/sun3/include/param.h Mon May 28 20:56:54 2001 +0000
+++ b/sys/arch/sun3/include/param.h Mon May 28 21:06:18 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: param.h,v 1.52 2001/05/28 20:56:54 chs Exp $ */
+/* $NetBSD: param.h,v 1.53 2001/05/28 21:06:18 chs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -82,8 +82,7 @@
#if defined(_KERNEL) && !defined(_LOCORE)
-/* XXX - Does this really belong here? -gwr */
-#include <machine/psl.h>
+#include <machine/intr.h>
extern void _delay __P((unsigned));
#define delay(us) _delay((us)<<8)
diff -r 0ac965a286bf -r 81ca81e08658 sys/arch/sun3/include/psl.h
--- a/sys/arch/sun3/include/psl.h Mon May 28 20:56:54 2001 +0000
+++ b/sys/arch/sun3/include/psl.h Mon May 28 21:06:18 2001 +0000
@@ -1,112 +1,3 @@
-/* $NetBSD: psl.h,v 1.19 2001/04/13 23:30:06 thorpej Exp $ */
-
-/*-
- * Copyright (c) 1996 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Gordon W. Ross.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SUN3_PSL_H_
-#define _SUN3_PSL_H_
+/* $NetBSD: psl.h,v 1.20 2001/05/28 21:06:19 chs Exp $ */
#include <m68k/psl.h>
-
-/* Could define this in the common <m68k/psl.h> instead. */
-
-#if defined(_KERNEL) && !defined(_LOCORE)
-
-/*
- * Define inline functions for PSL manipulation.
- * These are as close to macros as one can get.
- * When not optimizing gcc will call the locore.s
- * functions by the same names, so breakpoints on
- * these functions will work normally, etc.
- * (See the GCC extensions info document.)
- */
-
-static __inline int _getsr __P((void));
-
-/* Get current sr value. */
-static __inline int
-_getsr(void)
-{
- register int rv;
-
- __asm __volatile ("clrl %0; movew %%sr,%0" : "&=d" (rv));
- return (rv);
-}
-
-/*
- * The rest of this is sun3 specific, because other ports may
- * need to do special things in spl0() (i.e. simulate SIR).
- * Suns have a REAL interrupt register, so spl0() and splx(s)
- * have no need to check for any simulated interrupts, etc.
- */
-
-#define spl0() _spl0() /* we have real software interrupts */
-#define splx(x) _spl(x)
-
-/* IPL used by soft interrupts: netintr(), softclock() */
-#define spllowersoftclock() spl1()
-#define splsoftclock() splraise1()
-#define splsoftnet() splraise1()
-
-/* Highest block device (strategy) IPL. */
-#define splbio() splraise2()
-
-/* Highest network interface IPL. */
-#define splnet() splraise3()
-
-/* Highest tty device IPL. */
-#define spltty() splraise4()
-
-/*
- * Requirement: imp >= (highest network, tty, or disk IPL)
- * This is used mostly in the VM code.
- * Note that the VM code runs at spl7 during kernel
- * initialization, and later at spl0, so we have to
- * use splraise to avoid enabling interrupts early.
- */
-#define splvm() _splraise(PSL_S|PSL_IPL4)
-
-/* Intersil clock hardware interrupts (hard-wired at 5) */
-#define splclock() splraise5()
-#define splstatclock() splclock()
-
-/* Block out all interrupts (except NMI of course). */
-#define splhigh() spl7()
-#define splsched() spl7()
-#define spllock() spl7()
-
-#endif /* KERNEL && !_LOCORE */
-#endif /* _SUN3_PSL_H_ */
Home |
Main Index |
Thread Index |
Old Index