qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] pc: Fix max_cpus
@ 2012-07-23 10:47 riegamaths
  2012-07-23 10:52 ` Andreas Färber
  0 siblings, 1 reply; 3+ messages in thread
From: riegamaths @ 2012-07-23 10:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Stefan Hajnoczi, Dunrong Huang

From: Dunrong Huang <riegamaths@gmail.com>

The VCPU count limit in kernel now is 254, defined by KVM_MAX_VCPUS
in kernel's header files. But the count limit in QEMU is 255,
so QEMU will failed to start if user passes "-enable-kvm" and "-smp 255"
to it.

This patch intruduces a Macro MAX_VCPUS whose value is KVM_MAX_VCPUS
if CONFIG_KVM is defined. If user do not use kvm, set it's value to 255.

Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
---
 hw/pc_piix.c |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 0c0096f..49cda51 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -49,6 +49,16 @@
 
 #define MAX_IDE_BUS 2
 
+#ifndef KVM_MAX_VCPUS
+#define KVM_MAX_VCPUS 254
+#endif
+
+#ifdef CONFIG_KVM
+#define MAX_VCPUS KVM_MAX_VCPUS
+#else
+#define MAX_VCPUS 255
+#endif
+
 static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
 static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
 static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
@@ -354,7 +364,7 @@ static QEMUMachine pc_machine_v1_2 = {
     .alias = "pc",
     .desc = "Standard PC",
     .init = pc_init_pci,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .is_default = 1,
 };
 
@@ -381,7 +391,7 @@ static QEMUMachine pc_machine_v1_1 = {
     .name = "pc-1.1",
     .desc = "Standard PC",
     .init = pc_init_pci,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_1,
         { /* end of list */ }
@@ -416,7 +426,7 @@ static QEMUMachine pc_machine_v1_0 = {
     .name = "pc-1.0",
     .desc = "Standard PC",
     .init = pc_init_pci,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_1_0,
         { /* end of list */ }
@@ -431,7 +441,7 @@ static QEMUMachine pc_machine_v0_15 = {
     .name = "pc-0.15",
     .desc = "Standard PC",
     .init = pc_init_pci,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_15,
         { /* end of list */ }
@@ -463,7 +473,7 @@ static QEMUMachine pc_machine_v0_14 = {
     .name = "pc-0.14",
     .desc = "Standard PC",
     .init = pc_init_pci,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_14, 
         {
@@ -496,7 +506,7 @@ static QEMUMachine pc_machine_v0_13 = {
     .name = "pc-0.13",
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_13,
         {
@@ -533,7 +543,7 @@ static QEMUMachine pc_machine_v0_12 = {
     .name = "pc-0.12",
     .desc = "Standard PC",
     .init = pc_init_pci_no_kvmclock,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_12,
         {
@@ -566,7 +576,7 @@ static QEMUMachine pc_machine_v0_11 = {
     .name = "pc-0.11",
     .desc = "Standard PC, qemu 0.11",
     .init = pc_init_pci_no_kvmclock,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
@@ -587,7 +597,7 @@ static QEMUMachine pc_machine_v0_10 = {
     .name = "pc-0.10",
     .desc = "Standard PC, qemu 0.10",
     .init = pc_init_pci_no_kvmclock,
-    .max_cpus = 255,
+    .max_cpus = MAX_VCPUS,
     .compat_props = (GlobalProperty[]) {
         PC_COMPAT_0_11,
         {
-- 
1.7.8.6

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-07-23 12:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-23 10:47 [Qemu-devel] [PATCH] pc: Fix max_cpus riegamaths
2012-07-23 10:52 ` Andreas Färber
2012-07-23 12:33   ` Dunrong Huang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).