From 2242af42cf09cd130794db9b72eccf5bf500b9bc Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Tue, 5 Mar 2002 06:13:22 +0000 Subject: [PATCH] Call ast() only when we're handling a user trap. --- sys/ia64/ia64/interrupt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c index 62786f3a071..9559bcb8131 100644 --- a/sys/ia64/ia64/interrupt.c +++ b/sys/ia64/ia64/interrupt.c @@ -123,7 +123,8 @@ interrupt(u_int64_t vector, struct trapframe *framep) critical_exit(); #ifdef SMP } else if (vector == mp_ipi_vector[IPI_AST]) { - ast(framep); + if ((framep->tf_cr_ipsr & IA64_PSR_CPL) == IA64_PSR_CPL_USER) + ast(framep); } else if (vector == mp_ipi_vector[IPI_RENDEZVOUS]) { smp_rendezvous_action(); } else if (vector == mp_ipi_vector[IPI_STOP]) {