Home | History | Annotate | Line # | Download | only in include
psl.h revision 1.19
      1 /*	$NetBSD: psl.h,v 1.19 2001/05/27 20:22:57 is Exp $	*/
      2 
      3 #ifndef _MACHINE_PSL_H_
      4 #define _MACHINE_PSL_H_
      5 
      6 #include <m68k/psl.h>
      7 
      8 #if defined(_KERNEL) && !defined(_LOCORE)
      9 
     10 #if !defined(_LKM)
     11 #include "opt_lev6_defer.h"
     12 #endif
     13 
     14 #define	spl0()			_spl0()	/* we have real software interrupts */
     15 
     16 #define splnone()		spl0()
     17 #define	spllowersoftclock()	spl1()
     18 
     19 #define splsoftclock()		splraise1()
     20 #define splsoftnet()		splraise1()
     21 #define splbio()		splraise3()
     22 #define splnet()		splraise3()
     23 
     24 /*
     25  * splserial hack, idea by Jason Thorpe.
     26  * drivers which need it (at the present only the coms) raise the variable to
     27  * their serial interrupt level.
     28  *
     29  * serialspl is statically initialized in machdep.c at the moment; should
     30  * be some driver independent file.
     31  *
     32  * XXX should serialspl be volatile? I think not; it is intended to be set only
     33  * during xxx_attach() time, and will be used only later.
     34  *	-is
     35  */
     36 
     37 extern u_int16_t	amiga_serialspl;
     38 #define splserial()	_splraise(amiga_serialspl)
     39 #define spltty()	splraise4()
     40 #define	splvm()		splraise4()
     41 
     42 #ifndef _LKM
     43 
     44 #ifndef LEV6_DEFER
     45 #define splclock()	splraise6()
     46 #define splstatclock()	splraise6()
     47 #define splhigh()	spl7()
     48 #define splsched()	spl7()
     49 #define spllock()	spl7()
     50 #else
     51 #define splclock()	splraise4()
     52 #define splstatclock()	splraise4()
     53 #define splhigh()	splraise4()
     54 #define splsched()	splraise4()
     55 #define spllock()	splraise4()
     56 #endif
     57 
     58 #else	/* _LKM */
     59 
     60 extern int _spllkm6(void);
     61 extern int _spllkm7(void);
     62 
     63 #define splclock()	_spllkm6()
     64 #define splstatclock()	_spllkm6()
     65 #define spllock()	_spllkm7()
     66 #define splhigh()	_spllkm7()
     67 #define splsched()	_spllkm7()
     68 
     69 #endif /* _LKM */
     70 
     71 #define splx(s)		_spl(s)
     72 
     73 #endif	/* KERNEL && !_LOCORE */
     74 #endif	/* _MACHINE_PSL_H_ */
     75