diff options
Diffstat (limited to 'arch/x86/xen/smp.c')
| -rw-r--r-- | arch/x86/xen/smp.c | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index e79dbb95482..041d4fe9dfe 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -32,6 +32,7 @@  #include <xen/page.h>  #include <xen/events.h> +#include <xen/hvc-console.h>  #include "xen-ops.h"  #include "mmu.h" @@ -207,6 +208,15 @@ static void __init xen_smp_prepare_cpus(unsigned int max_cpus)  	unsigned cpu;  	unsigned int i; +	if (skip_ioapic_setup) { +		char *m = (max_cpus == 0) ? +			"The nosmp parameter is incompatible with Xen; " \ +			"use Xen dom0_max_vcpus=1 parameter" : +			"The noapic parameter is incompatible with Xen"; + +		xen_raw_printk(m); +		panic(m); +	}  	xen_init_lock_cpu(0);  	smp_store_cpu_info(0); @@ -522,7 +532,6 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)  	WARN_ON(xen_smp_intr_init(0));  	xen_init_lock_cpu(0); -	xen_init_spinlocks();  }  static int __cpuinit xen_hvm_cpu_up(unsigned int cpu)  |