svn commit: r255913 - head/sys/x86/xen

Justin T. Gibbs gibbs at FreeBSD.org
Fri Sep 27 15:17:29 UTC 2013


Author: gibbs
Date: Fri Sep 27 15:17:28 2013
New Revision: 255913
URL: http://svnweb.freebsd.org/changeset/base/255913

Log:
  sys/x86/xen/hvm.c:
  	Set cpu_ops correctly for Xen hypervisors lacking the
  	vector callback feature.
  
  	Set preliminary Xen cpu_ops settings during early HVM
  	initialization.  The old location raced with the startup
  	of APs.
  
  Submitted by:	Roger Pau Monné
  Reviewed by:	gibbs
  Approved by:	re (blanket Xen)

Modified:
  head/sys/x86/xen/hvm.c

Modified: head/sys/x86/xen/hvm.c
==============================================================================
--- head/sys/x86/xen/hvm.c	Fri Sep 27 15:10:36 2013	(r255912)
+++ head/sys/x86/xen/hvm.c	Fri Sep 27 15:17:28 2013	(r255913)
@@ -117,7 +117,7 @@ struct xen_ipi_handler
 enum xen_domain_type xen_domain_type = XEN_NATIVE;
 
 struct cpu_ops xen_hvm_cpu_ops = {
-	.ipi_vectored	= xen_ipi_vectored,
+	.ipi_vectored	= lapic_ipi_vectored,
 	.cpu_init	= xen_hvm_cpu_init,
 	.cpu_resume	= xen_hvm_cpu_resume
 };
@@ -535,7 +535,7 @@ xen_setup_cpus(void)
 		xen_cpu_ipi_init(i);
 
 	/* Set the xen pv ipi ops to replace the native ones */
-	cpu_ops = xen_hvm_cpu_ops;
+	cpu_ops.ipi_vectored = xen_ipi_vectored;
 }
 #endif
 
@@ -699,6 +699,7 @@ xen_hvm_init(enum xen_hvm_init_type init
 			return;
 
 		setup_xen_features();
+		cpu_ops = xen_hvm_cpu_ops;
 		break;
 	case XEN_HVM_INIT_RESUME:
 		if (error != 0)


More information about the svn-src-head mailing list