summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include/cpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/hppa/include/cpu.h')
-rw-r--r--sys/arch/hppa/include/cpu.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/arch/hppa/include/cpu.h b/sys/arch/hppa/include/cpu.h
index fa72e7b52ea..3aef944489b 100644
--- a/sys/arch/hppa/include/cpu.h
+++ b/sys/arch/hppa/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.60 2009/02/01 14:53:04 miod Exp $ */
+/* $OpenBSD: cpu.h,v 1.61 2009/12/29 13:11:40 jsing Exp $ */
/*
* Copyright (c) 2000-2004 Michael Shalayeff
@@ -153,10 +153,15 @@ extern register_t kpsw;
#define CLKF_USERMODE(framep) ((framep)->tf_flags & T_USER)
#define CLKF_SYSCALL(framep) ((framep)->tf_flags & TFF_SYS)
-#define signotify(p) (setsoftast())
-#define need_resched(ci) (want_resched = 1, setsoftast())
+#define signotify(p) setsoftast(p)
+#define need_resched(ci) \
+ do { \
+ want_resched = 1; \
+ if ((ci)->ci_curproc != NULL) \
+ setsoftast((ci)->ci_curproc); \
+ } while (0)
#define clear_resched(ci) want_resched = 0
-#define need_proftick(p) setsoftast()
+#define need_proftick(p) setsoftast(p)
#define PROC_PC(p) ((p)->p_md.md_regs->tf_iioq_head)
#ifndef _LOCORE