diff options
author | briggs <briggs@cvs.openbsd.org> | 1996-02-20 05:38:46 +0000 |
---|---|---|
committer | briggs <briggs@cvs.openbsd.org> | 1996-02-20 05:38:46 +0000 |
commit | e975a0a5924fe5f4ed8329164adf371e255e6fea (patch) | |
tree | c821803359c43bfdbaa8b58c11546500e83f431d /sys/arch/mac68k | |
parent | 1079ede622eaed2a151bd314237bfd00180aabe9 (diff) |
A few more things from NetBSD:
- Move spl stuff from param.h to psl.h. Prototype delay() in param.h.
- param.h: Fix #includes.
- param.h: Move splimp to 2 and spltty to 1.
Diffstat (limited to 'sys/arch/mac68k')
-rw-r--r-- | sys/arch/mac68k/include/param.h | 52 | ||||
-rw-r--r-- | sys/arch/mac68k/include/psl.h | 53 |
2 files changed, 58 insertions, 47 deletions
diff --git a/sys/arch/mac68k/include/param.h b/sys/arch/mac68k/include/param.h index 17db7eb4781..021eb051798 100644 --- a/sys/arch/mac68k/include/param.h +++ b/sys/arch/mac68k/include/param.h @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.21 1995/08/13 01:52:16 briggs Exp $ */ +/* $NetBSD: param.h,v 1.24 1996/02/17 14:50:40 briggs Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -80,7 +80,7 @@ #define _MACHINE_PARAM_H_ 1 #ifndef PSL_IPL -#include "machine/psl.h" +#include <machine/psl.h> #endif /* PSL_IPL */ /* @@ -179,51 +179,11 @@ #define mac68k_btop(x) ((unsigned)(x) >> PGSHIFT) #define mac68k_ptob(x) ((unsigned)(x) << PGSHIFT) -/* - * spl functions; all but spl0 are done in-line - */ - -#define _spl(s) \ -({ \ - register int _spl_r; \ -\ - __asm __volatile ("clrl %0; movew sr,%0; movew %1,sr" : \ - "&=d" (_spl_r) : "di" (s)); \ - _spl_r; \ -}) - -/* spl0 requires checking for software interrupts */ -#define spl1() _spl(PSL_S|PSL_IPL1) -#define spl2() _spl(PSL_S|PSL_IPL2) -#define spl3() _spl(PSL_S|PSL_IPL3) -#define spl4() _spl(PSL_S|PSL_IPL4) -#define spl5() _spl(PSL_S|PSL_IPL5) -#define spl6() _spl(PSL_S|PSL_IPL6) -#define spl7() _spl(PSL_S|PSL_IPL7) - -/* These should be used for: - 1) ensuring mutual exclusion (why use processor level?) - 2) allowing faster devices to take priority - - Note that on the mac, most things are masked at spl1, almost - everything at spl2, and everything but the panic switch and - power at spl4. - */ -#define splsoftclock() spl1() /* disallow softclock */ -#define splsoftnet() spl1() /* disallow network */ -#define splclock() spl1() /* disallow clock interrupt */ -#define spltty() spl1() /* disallow tty (softserial&adb) interrupts */ -#define splbio() spl2() /* disallow block I/O */ -#define splnet() spl2() /* disallow network */ -#define splimp() spl2() /* disallow imput */ -#define splhigh() spl7() /* disallow everything */ -#define splsched() spl7() /* disallow scheduling */ - -#define splstatclock() spl2() /* This should be splclock... */ - -/* watch out for side effects */ -#define splx(s) ((s) & PSL_IPL ? _spl(s) : spl0()) +#include <machine/psl.h> +#if defined(_KERNEL) && !defined(_LOCORE) +void delay __P((unsigned)); #define DELAY(ms) delay(ms) +#endif /* _KERNEL && !_LOCORE */ #endif /* _MACHINE_PARAM_H_ */ diff --git a/sys/arch/mac68k/include/psl.h b/sys/arch/mac68k/include/psl.h index 327f09514ed..a2bb48afb9e 100644 --- a/sys/arch/mac68k/include/psl.h +++ b/sys/arch/mac68k/include/psl.h @@ -1,3 +1,54 @@ -/* $NetBSD: psl.h,v 1.4 1994/10/26 08:46:42 cgd Exp $ */ +/* $NetBSD: psl.h,v 1.5 1996/02/17 14:50:42 briggs Exp $ */ +#ifndef PSL_C #include <m68k/psl.h> + +#if defined(_KERNEL) && !defined(_LOCORE) +/* + * spl functions; all but spl0 are done in-line + */ + +#define _spl(s) \ +({ \ + register int _spl_r; \ +\ + __asm __volatile ("clrl %0; movew sr,%0; movew %1,sr" : \ + "&=d" (_spl_r) : "di" (s)); \ + _spl_r; \ +}) + +/* spl0 requires checking for software interrupts */ +#define spl1() _spl(PSL_S|PSL_IPL1) +#define spl2() _spl(PSL_S|PSL_IPL2) +#define spl3() _spl(PSL_S|PSL_IPL3) +#define spl4() _spl(PSL_S|PSL_IPL4) +#define spl5() _spl(PSL_S|PSL_IPL5) +#define spl6() _spl(PSL_S|PSL_IPL6) +#define spl7() _spl(PSL_S|PSL_IPL7) + +/* These should be used for: + 1) ensuring mutual exclusion (why use processor level?) + 2) allowing faster devices to take priority + + Note that on the mac, most things are masked at spl1, almost + everything at spl2, and everything but the panic switch and + power at spl4. + */ +#define splsoftclock() spl1() /* disallow softclock */ +#define splsoftnet() spl1() /* disallow network */ +#define splclock() spl1() /* disallow clock interrupt */ +#define spltty() spl1() /* disallow tty (softserial&adb) interrupts */ +#define splbio() spl2() /* disallow block I/O */ +#define splnet() spl2() /* disallow network */ +#define splimp() spl2() /* disallow imput */ +#define splhigh() spl7() /* disallow everything */ +#define splsched() spl7() /* disallow scheduling */ + +#define splstatclock() spl2() /* This should be splclock... */ + +/* watch out for side effects */ +#define splx(s) ((s) & PSL_IPL ? _spl(s) : spl0()) + +#endif /* _KERNEL && !_LOCORE */ + +#endif /* ndef PSL_C */ |