svn commit: r187966 - head/sys/i386/xen

Bjoern A. Zeeb bz at FreeBSD.org
Sat Jan 31 13:40:28 PST 2009


Author: bz
Date: Sat Jan 31 21:40:27 2009
New Revision: 187966
URL: http://svn.freebsd.org/changeset/base/187966

Log:
  Bring over the code from sys/i386/i386/mp_machdep.c, r187880
  to make XEN config compile again:
  - Allocate apic vectors on a per-cpu basis.

Modified:
  head/sys/i386/xen/mp_machdep.c

Modified: head/sys/i386/xen/mp_machdep.c
==============================================================================
--- head/sys/i386/xen/mp_machdep.c	Sat Jan 31 20:47:27 2009	(r187965)
+++ head/sys/i386/xen/mp_machdep.c	Sat Jan 31 21:40:27 2009	(r187966)
@@ -137,6 +137,7 @@ struct cpu_info {
 	int	cpu_disabled:1;
 } static cpu_info[MAX_APIC_ID + 1];
 int cpu_apic_ids[MAXCPU];
+int apic_cpuids[MAX_APIC_ID + 1];
 
 /* Holds pending bitmap based IPIs per CPU */
 static volatile u_int cpu_ipi_pending[MAXCPU];
@@ -284,6 +285,7 @@ cpu_mp_start(void)
 		KASSERT(boot_cpu_id == PCPU_GET(apic_id),
 		    ("BSP's APIC ID doesn't match boot_cpu_id"));
 	cpu_apic_ids[0] = boot_cpu_id;
+	apic_cpuids[boot_cpu_id] = 0;
 
 	assign_cpu_ids();
 
@@ -707,6 +709,7 @@ assign_cpu_ids(void)
 
 		if (mp_ncpus < MAXCPU) {
 			cpu_apic_ids[mp_ncpus] = i;
+			apic_cpuids[i] = mp_ncpus;
 			mp_ncpus++;
 		} else
 			cpu_info[i].cpu_disabled = 1;


More information about the svn-src-head mailing list