aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2003-03-12 16:44:57 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2003-03-12 16:44:57 +0000
commit725439da0e29036012a1fa518bc9c031d1f0810d (patch)
tree0fa5b4c738f18f4e17c79c814c9472e81820696a
parente89abd09c85f03af5525ccb3df7626cbf675c6f2 (diff)
downloadxen-725439da0e29036012a1fa518bc9c031d1f0810d.tar.gz
xen-725439da0e29036012a1fa518bc9c031d1f0810d.tar.bz2
xen-725439da0e29036012a1fa518bc9c031d1f0810d.zip
bitkeeper revision 1.122.1.9 (3e6f6409XuZqtQw_I8D1ecR7Q4MmRg)
Added "nosmp" Xen command line option.
-rw-r--r--xen/arch/i386/setup.c8
-rw-r--r--xen/common/kernel.c3
2 files changed, 8 insertions, 3 deletions
diff --git a/xen/arch/i386/setup.c b/xen/arch/i386/setup.c
index f4f62c2b02..1e5f35a73e 100644
--- a/xen/arch/i386/setup.c
+++ b/xen/arch/i386/setup.c
@@ -292,7 +292,7 @@ void __init start_of_day(void)
extern void initialize_keytable();
extern void initialize_serial(void);
extern void initialize_keyboard(void);
-
+ extern int opt_nosmp;
unsigned long low_mem_size;
/*
@@ -327,7 +327,11 @@ void __init start_of_day(void)
#ifndef CONFIG_SMP
APIC_init_uniprocessor();
#else
- smp_boot_cpus(); /*
+ if( opt_nosmp )
+ APIC_init_uniprocessor();
+ else
+ smp_boot_cpus();
+ /*
* Does loads of stuff, including kicking the local
* APIC, and the IO APIC after other CPUs are booted.
* Each IRQ is preferably handled by IO-APIC, but
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 344eae59c2..28eaae9b51 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -41,7 +41,7 @@ unsigned int opt_ser_baud = 9600; /* default baud for COM1 */
unsigned int opt_dom0_mem = 16000; /* default kbytes for DOM0 */
unsigned int opt_ne_base = 0; /* NE2k NICs cannot be probed */
unsigned char opt_ifname[10] = "eth0";
-int opt_noht=0, opt_noacpi=0;
+int opt_noht=0, opt_noacpi=0, opt_nosmp;
enum { OPT_IP, OPT_STR, OPT_UINT, OPT_BOOL };
static struct {
unsigned char *name;
@@ -55,6 +55,7 @@ static struct {
{ "ifname", OPT_STR, &opt_ifname },
{ "noht", OPT_BOOL, &opt_noht },
{ "noacpi", OPT_BOOL, &opt_noacpi },
+ { "nosmp", OPT_BOOL, &opt_nosmp },
{ NULL, 0, NULL }
};