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

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

revision 255744.

sys/kern/subr_smp.c:
	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
View
@@ -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)
mtx_lock_spin(&smp_ipi_mtx);
+#endif
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)
mtx_unlock_spin(&smp_ipi_mtx);
+#endif
stopping_cpu = NOCPU;
return (1);

0 comments on commit f749b57

Please sign in to comment.