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
This commit is contained in:
parent
41ad8109a3
commit
d237fa1cf5
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user