This repository has been archived by the owner. It is now read-only.
Browse files

Fix ia64 and mips kernel builds due to XENHVM=>GENERIC integration in

revision 255744.

	IPI_SUSPEND is only available on amd64 and i386.  Protect
	new uses of this constant with #ifdefs to avoid impacting
	other platforms.

Approved by:	re (blanket Xen)
  • Loading branch information...
gibbs gibbs
gibbs authored and gibbs committed Sep 22, 2013
1 parent d9f8e5d commit f749b57e894fe8edc4ac41bdb13df3198fad2cfb
Showing with 4 additions and 0 deletions.
  1. +4 −0 sys/kern/subr_smp.c
@@ -225,6 +225,7 @@ generic_stop_cpus(cpuset_t map, u_int type)
CTR2(KTR_SMP, "stop_cpus(%s) with %u type",
cpusetobj_strprint(cpusetbuf, &map), type);
+#if defined(__amd64__) || defined(__i386__)
* When suspending, ensure there are are no IPIs in progress.
* IPIs that have been issued, but not yet delivered (e.g.
@@ -234,6 +235,7 @@ generic_stop_cpus(cpuset_t map, u_int type)
if (type == IPI_SUSPEND)
if (stopping_cpu != PCPU_GET(cpuid))
while (atomic_cmpset_int(&stopping_cpu, NOCPU,
@@ -262,8 +264,10 @@ generic_stop_cpus(cpuset_t map, u_int type)
+#if defined(__amd64__) || defined(__i386__)
if (type == IPI_SUSPEND)
stopping_cpu = NOCPU;
return (1);

0 comments on commit f749b57

Please sign in to comment.