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