kvm tools: Enable SMP support

This patch enables SMP support:

[    0.155072] Brought up 3 CPUs
[    0.155074] Total of 3 processors activated (15158.58 BogoMIPS).

virtio-console was being loaded no matter the cmdline options
and it was causing some hangs (have to look into that).

I'll send this patch to a larger audience once someone
else can confirm it actually works/doesn't work.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Sasha Levin
2011-05-07 02:51:11 +03:00
committed by Will Deacon
parent 0657f33db8
commit 1621292e73
2 changed files with 5 additions and 8 deletions
+2
View File
@@ -378,6 +378,8 @@ int kvm_cpu__start(struct kvm_cpu *cpu)
kvm_cpu__run(cpu);
switch (cpu->kvm_run->exit_reason) {
case KVM_EXIT_UNKNOWN:
break;
case KVM_EXIT_DEBUG:
kvm_cpu__show_registers(cpu);
kvm_cpu__show_code(cpu);
+3 -8
View File
@@ -372,12 +372,6 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix)
if (nrcpus < 1 || nrcpus > KVM_NR_CPUS)
die("Number of CPUs %d is out of [1;%d] range", nrcpus, KVM_NR_CPUS);
/* FIXME: Remove as only SMP gets fully supported */
if (nrcpus > 1) {
warning("Limiting CPUs to 1, true SMP is not yet implemented");
nrcpus = 1;
}
if (ram_size < MIN_RAM_SIZE_MB)
die("Not enough memory specified: %lluMB (min %lluMB)", ram_size, MIN_RAM_SIZE_MB);
@@ -410,7 +404,7 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix)
kvm->nrcpus = nrcpus;
memset(real_cmdline, 0, sizeof(real_cmdline));
strcpy(real_cmdline, "notsc nolapic noacpi pci=conf1 console=ttyS0 ");
strcpy(real_cmdline, "notsc noapic noacpi pci=conf1 console=ttyS0 ");
if (kernel_cmdline)
strlcat(real_cmdline, kernel_cmdline, sizeof(real_cmdline));
@@ -452,7 +446,8 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix)
pci__init();
virtio_console__init(kvm);
if (active_console == CONSOLE_VIRTIO)
virtio_console__init(kvm);
if (virtio_rng)
virtio_rng__init(kvm);