Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Sep 2013 02:46:14 +0000 (UTC)
From:      "Justin T. Gibbs" <gibbs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r255783 - head/sys/kern
Message-ID:  <201309220246.r8M2kEIN054172@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309220246.r8M2kEIN054172>