summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/hppa/dev/cpu.c9
-rw-r--r--sys/arch/hppa/include/cpu.h7
2 files changed, 12 insertions, 4 deletions
diff --git a/sys/arch/hppa/dev/cpu.c b/sys/arch/hppa/dev/cpu.c
index 51f199f900f..a11877b8f68 100644
--- a/sys/arch/hppa/dev/cpu.c
+++ b/sys/arch/hppa/dev/cpu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.c,v 1.37 2010/06/26 23:33:32 jsing Exp $ */
+/* $OpenBSD: cpu.c,v 1.38 2010/12/30 14:10:14 jsing Exp $ */
/*
* Copyright (c) 1998-2003 Michael Shalayeff
@@ -269,4 +269,11 @@ cpu_hatch(void)
SCHED_LOCK(s);
cpu_switchto(NULL, sched_chooseproc());
}
+
+void
+cpu_unidle(struct cpu_info *ci)
+{
+ if (ci != curcpu())
+ hppa_ipi_send(ci, HPPA_IPI_NOP);
+}
#endif
diff --git a/sys/arch/hppa/include/cpu.h b/sys/arch/hppa/include/cpu.h
index 6e362534089..39a58850084 100644
--- a/sys/arch/hppa/include/cpu.h
+++ b/sys/arch/hppa/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.76 2010/09/28 20:27:54 miod Exp $ */
+/* $OpenBSD: cpu.h,v 1.77 2010/12/30 14:10:14 jsing Exp $ */
/*
* Copyright (c) 2000-2004 Michael Shalayeff
@@ -135,8 +135,6 @@ curcpu(void)
#define CPU_INFO_FOREACH(cii, ci) \
for (cii = 0, ci = &cpu_info[0]; cii < ncpus; cii++, ci++)
-#define cpu_unidle(ci)
-
/* types */
enum hppa_cpu_type {
hpcxs, hpcxt, hpcxta, hpcxl, hpcxl2, hpcxu, hpcxu2, hpcxw
@@ -240,6 +238,9 @@ int cpu_dump(void);
void cpu_boot_secondary_processors(void);
void cpu_hw_init(void);
void cpu_hatch(void);
+void cpu_unidle(struct cpu_info *);
+#else
+#define cpu_unidle(ci)
#endif
#endif