summaryrefslogtreecommitdiff
path: root/hw/acpi/cpu_hotplug.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2016-10-19 14:05:34 +0200
committerEduardo Habkost <ehabkost@redhat.com>2016-10-24 17:29:15 -0200
commit6a91cf04a1177f47a18d3c25873513a1ebfc2fcb (patch)
tree744166d8311cc23d930aa0a2752638fd6f3e0ff5 /hw/acpi/cpu_hotplug.c
parentf9dc175d84802e9a00161bc8d4356b90d6c52125 (diff)
downloadqemu-6a91cf04a1177f47a18d3c25873513a1ebfc2fcb.tar.gz
pc: Leave max apic_id_limit only in legacy cpu hotplug code
That's enough to make old code that depends on it to prevent QEMU starting with more than 255 CPUs. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'hw/acpi/cpu_hotplug.c')
-rw-r--r--hw/acpi/cpu_hotplug.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c
index c2ab9b8b2c..f15a2402fc 100644
--- a/hw/acpi/cpu_hotplug.c
+++ b/hw/acpi/cpu_hotplug.c
@@ -15,6 +15,7 @@
#include "qapi/error.h"
#include "qom/cpu.h"
#include "hw/i386/pc.h"
+#include "qemu/error-report.h"
#define CPU_EJECT_METHOD "CPEJ"
#define CPU_MAT_METHOD "CPMA"
@@ -236,7 +237,11 @@ void build_legacy_cpu_hotplug_aml(Aml *ctx, MachineState *machine,
/* The current AML generator can cover the APIC ID range [0..255],
* inclusive, for VCPU hotplug. */
QEMU_BUILD_BUG_ON(ACPI_CPU_HOTPLUG_ID_LIMIT > 256);
- g_assert(pcms->apic_id_limit <= ACPI_CPU_HOTPLUG_ID_LIMIT);
+ if (pcms->apic_id_limit > ACPI_CPU_HOTPLUG_ID_LIMIT) {
+ error_report("max_cpus is too large. APIC ID of last CPU is %u",
+ pcms->apic_id_limit - 1);
+ exit(1);
+ }
/* create PCI0.PRES device and its _CRS to reserve CPU hotplug MMIO */
dev = aml_device("PCI0." stringify(CPU_HOTPLUG_RESOURCE_DEVICE));