summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/machdep.c16
-rw-r--r--sys/arch/amd64/include/cpu.h8
2 files changed, 17 insertions, 7 deletions
diff --git a/sys/arch/amd64/amd64/machdep.c b/sys/arch/amd64/amd64/machdep.c
index 867e86a4f9a..7c464b5a3a3 100644
--- a/sys/arch/amd64/amd64/machdep.c
+++ b/sys/arch/amd64/amd64/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.53 2007/01/15 23:19:05 jsg Exp $ */
+/* $OpenBSD: machdep.c,v 1.54 2007/02/01 20:42:17 art Exp $ */
/* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */
/*-
@@ -844,6 +844,20 @@ sys_sigreturn(struct proc *p, void *v, register_t *retval)
return (EJUSTRETURN);
}
+/*
+ * Notify the current process (p) that it has a signal pending,
+ * process as soon as possible.
+ */
+void
+signotify(struct proc *p)
+{
+ aston(p);
+#ifdef MULTIPROCESSOR
+ if (p->p_cpu != curcpu() && p->p_cpu != NULL)
+ x86_send_ipi(p->p_cpu, X86_IPI_NOP);
+#endif
+}
+
int waittime = -1;
struct pcb dumppcb;
diff --git a/sys/arch/amd64/include/cpu.h b/sys/arch/amd64/include/cpu.h
index cf4f6ced4a6..4c95f710946 100644
--- a/sys/arch/amd64/include/cpu.h
+++ b/sys/arch/amd64/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.23 2006/12/24 20:30:35 miod Exp $ */
+/* $OpenBSD: cpu.h,v 1.24 2007/02/01 20:42:17 art Exp $ */
/* $NetBSD: cpu.h,v 1.1 2003/04/26 18:39:39 fvdl Exp $ */
/*-
@@ -229,11 +229,7 @@ extern u_int32_t cpus_attached;
*/
#define need_proftick(p) ((p)->p_flag |= P_OWEUPC, aston(p))
-/*
- * Notify the current process (p) that it has a signal pending,
- * process as soon as possible.
- */
-#define signotify(p) aston(p)
+void signotify(struct proc *);
/*
* We need a machine-independent name for this.