From 188898bbd93f2679a762bf106a01e576be8031db Mon Sep 17 00:00:00 2001 From: Michael Shalayeff Date: Sat, 26 Jul 2003 04:14:57 +0000 Subject: on syscall exit restore old cpl if there is a need; move call for softints processing towards after that --- sys/arch/hppa/hppa/trap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sys/arch/hppa') diff --git a/sys/arch/hppa/hppa/trap.c b/sys/arch/hppa/hppa/trap.c index df7da2c7861..78c6dd9509d 100644 --- a/sys/arch/hppa/hppa/trap.c +++ b/sys/arch/hppa/hppa/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.66 2003/06/17 04:39:39 jfb Exp $ */ +/* $OpenBSD: trap.c,v 1.67 2003/07/26 04:14:56 mickey Exp $ */ /* * Copyright (c) 1998-2003 Michael Shalayeff @@ -626,15 +626,17 @@ syscall(struct trapframe *frame) scdebug_ret(p, code, oerror, rval); #endif userret(p, frame->tf_iioq_head, 0); - splx(cpl); /* process softints */ #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) ktrsysret(p, code, oerror, rval[0]); #endif #ifdef DIAGNOSTIC - if (cpl != oldcpl) + if (cpl != oldcpl) { printf("WARNING: SPL (0x%x) NOT LOWERED ON " "syscall(0x%x, 0x%x, 0x%x, 0x%x...) EXIT, PID %d\n", cpl, code, args[0], args[1], args[2], p->p_pid); + cpl = oldcpl; + } #endif + splx(cpl); /* process softints */ } -- cgit v1.2.3