svn commit: r255783 - head/sys/kern
Justin T. Gibbs
gibbs at FreeBSD.org
Sun Sep 22 02:46:14 UTC 2013
Author: gibbs
Date: Sun Sep 22 02:46:13 2013
New Revision: 255783
URL: http://svnweb.freebsd.org/changeset/base/255783
Log:
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)
Modified:
head/sys/kern/subr_smp.c
Modified: head/sys/kern/subr_smp.c
==============================================================================
--- head/sys/kern/subr_smp.c Sun Sep 22 02:14:54 2013 (r255782)
+++ head/sys/kern/subr_smp.c Sun Sep 22 02:46:13 2013 (r255783)
@@ -225,6 +225,7 @@ generic_stop_cpus(cpuset_t map, u_int ty
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 ty
*/
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 ty
}
}
+#if defined(__amd64__) || defined(__i386__)
if (type == IPI_SUSPEND)
mtx_unlock_spin(&smp_ipi_mtx);
+#endif
stopping_cpu = NOCPU;
return (1);
More information about the svn-src-all
mailing list