summaryrefslogtreecommitdiffstats
path: root/sys/alpha/include
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2001-04-21 21:44:39 +0000
committergallatin <gallatin@FreeBSD.org>2001-04-21 21:44:39 +0000
commitd237fa1cf59249348d6d1e2c95b4e885ff8a5779 (patch)
tree202c9fc8a1416b47d99b183be07ae6734c377e66 /sys/alpha/include
parent41ad8109a35a10eae22884634dd3af7292f6d0d3 (diff)
downloadFreeBSD-src-d237fa1cf59249348d6d1e2c95b4e885ff8a5779.zip
FreeBSD-src-d237fa1cf59249348d6d1e2c95b4e885ff8a5779.tar.gz
Block out all interrupts, even machine checks, for critical_enter()
This is will be required to prevent lowering the ipl when a critical_enter() is present in the interrupt path when handling a machine check. reviewed by: jhb
Diffstat (limited to 'sys/alpha/include')
-rw-r--r--sys/alpha/include/alpha_cpu.h1
-rw-r--r--sys/alpha/include/cpufunc.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/alpha/include/alpha_cpu.h b/sys/alpha/include/alpha_cpu.h
index eab0dc2..a235a81 100644
--- a/sys/alpha/include/alpha_cpu.h
+++ b/sys/alpha/include/alpha_cpu.h
@@ -103,6 +103,7 @@ struct alpha_pcb {
#define ALPHA_PSL_IPL_IO 0x0004 /* I/O dev ints disabled */
#define ALPHA_PSL_IPL_CLOCK 0x0005 /* clock ints disabled */
#define ALPHA_PSL_IPL_HIGH 0x0006 /* all but mchecks disabled */
+#define ALPHA_PSL_IPL_MCES 0x0007 /* all interrupts disabled */
#define ALPHA_PSL_MUST_BE_ZERO 0xfffffffffffffff0
diff --git a/sys/alpha/include/cpufunc.h b/sys/alpha/include/cpufunc.h
index d47652c..51a1fdc 100644
--- a/sys/alpha/include/cpufunc.h
+++ b/sys/alpha/include/cpufunc.h
@@ -48,7 +48,7 @@ breakpoint(void)
static __inline critical_t
critical_enter(void)
{
- return (alpha_pal_swpipl(ALPHA_PSL_IPL_HIGH));
+ return (alpha_pal_swpipl(ALPHA_PSL_IPL_MCES));
}
static __inline void
OpenPOWER on IntegriCloud