Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/nathanw_sa]: src/sys/arch/amiga/include make the defopted "LEV6_DEFER" w...



details:   https://anonhg.NetBSD.org/src/rev/d36c7d34269b
branches:  nathanw_sa
changeset: 504689:d36c7d34269b
user:      is <is%NetBSD.org@localhost>
date:      Sun May 27 20:22:58 2001 +0000

description:
make the defopted "LEV6_DEFER" work for LKMs, too.

diffstat:

 sys/arch/amiga/include/psl.h |  74 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diffs (78 lines):

diff -r 98776329730d -r d36c7d34269b sys/arch/amiga/include/psl.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/amiga/include/psl.h      Sun May 27 20:22:58 2001 +0000
@@ -0,0 +1,74 @@
+/*     $NetBSD: psl.h,v 1.19.8.2 2001/05/27 20:22:58 is Exp $  */
+
+#ifndef _MACHINE_PSL_H_
+#define _MACHINE_PSL_H_
+
+#include <m68k/psl.h>
+
+#if defined(_KERNEL) && !defined(_LOCORE)
+
+#if !defined(_LKM)
+#include "opt_lev6_defer.h"
+#endif
+
+#define        spl0()                  _spl0() /* we have real software interrupts */
+
+#define splnone()              spl0()
+#define        spllowersoftclock()     spl1()
+
+#define splsoftclock()         splraise1()
+#define splsoftnet()           splraise1()
+#define splbio()               splraise3()
+#define splnet()               splraise3()
+
+/*
+ * splserial hack, idea by Jason Thorpe.
+ * drivers which need it (at the present only the coms) raise the variable to
+ * their serial interrupt level.
+ *
+ * serialspl is statically initialized in machdep.c at the moment; should 
+ * be some driver independent file.
+ *
+ * XXX should serialspl be volatile? I think not; it is intended to be set only
+ * during xxx_attach() time, and will be used only later.
+ *     -is
+ */
+
+extern u_int16_t       amiga_serialspl;
+#define splserial()    _splraise(amiga_serialspl)
+#define spltty()       splraise4()
+#define        splvm()         splraise4()
+
+#ifndef _LKM
+
+#ifndef LEV6_DEFER
+#define splclock()     splraise6()
+#define splstatclock() splraise6()
+#define splhigh()      spl7()
+#define splsched()     spl7()
+#define spllock()      spl7()
+#else
+#define splclock()     splraise4()
+#define splstatclock() splraise4()
+#define splhigh()      splraise4()
+#define splsched()     splraise4()
+#define spllock()      splraise4()
+#endif
+
+#else  /* _LKM */
+
+extern int _spllkm6(void);
+extern int _spllkm7(void);
+
+#define splclock()     _spllkm6()
+#define splstatclock() _spllkm6()
+#define spllock()      _spllkm7()
+#define splhigh()      _spllkm7()
+#define splsched()     _spllkm7()
+
+#endif /* _LKM */
+
+#define splx(s)                _spl(s)
+
+#endif /* KERNEL && !_LOCORE */
+#endif /* _MACHINE_PSL_H_ */



Home | Main Index | Thread Index | Old Index