[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.8 09/18] pc: leave max apic_id_limit only in l
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH for-2.8 09/18] pc: leave max apic_id_limit only in legacy cpu hotplug code |
Date: |
Fri, 5 Aug 2016 11:46:08 +0200 |
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 <address@hidden>
---
hw/acpi/cpu_hotplug.c | 7 ++++++-
hw/i386/pc.c | 7 -------
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c
index c2ab9b8..f15a240 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));
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b1fadce..1ca5323 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -776,7 +776,6 @@ static FWCfgState *bochs_bios_init(AddressSpace *as,
PCMachineState *pcms)
numa_fw_cfg[0] = cpu_to_le64(nb_numa_nodes);
for (i = 0; i < max_cpus; i++) {
unsigned int apic_id = x86_cpu_apic_id_from_index(i);
- assert(apic_id < pcms->apic_id_limit);
j = numa_get_node_for_cpu(i);
if (j < nb_numa_nodes) {
numa_fw_cfg[apic_id + 1] = cpu_to_le64(j);
@@ -1188,12 +1187,6 @@ void pc_cpus_init(PCMachineState *pcms)
* This is used for FW_CFG_MAX_CPUS. See comments on bochs_bios_init().
*/
pcms->apic_id_limit = x86_cpu_apic_id_from_index(max_cpus - 1) + 1;
- 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);
- }
-
pcms->possible_cpus = g_malloc0(sizeof(CPUArchIdList) +
sizeof(CPUArchId) * max_cpus);
for (i = 0; i < max_cpus; i++) {
--
2.7.4
- [Qemu-devel] [PATCH for-2.8 01/18] numa: reduce code duplication by adding helper numa_get_node_for_cpu(), (continued)
- [Qemu-devel] [PATCH for-2.8 01/18] numa: reduce code duplication by adding helper numa_get_node_for_cpu(), Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 03/18] tests: acpi: extend cphp testcase with numa check, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 02/18] acpi: provide _PXM method for CPU devices if QEMU is started numa enabled, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 05/18] pc: acpi: x2APIC support for MADT table, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 04/18] linux-headers: update to v4.8-rc1, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 06/18] pc: acpi: x2APIC support for SRAT table, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 08/18] acpi: cphp: force switch to modern cpu hotplug if APIC ID > 254, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 10/18] pc: apic_common: extend APIC ID property to 32bit, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 11/18] pc: apic_common: restore APIC ID to initial ID on reset, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 07/18] acpi: cphp: support x2APIC entry in cpu._MAT, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 09/18] pc: leave max apic_id_limit only in legacy cpu hotplug code,
Igor Mammedov <=
- [Qemu-devel] [PATCH for-2.8 12/18] pc: apic_common: reset APIC ID to initial ID when switching into x2APIC mode, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 13/18] pc: kvm_apic: pass APIC ID depending on xAPIC/x2APIC mode, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 14/18] pc: clarify FW_CFG_MAX_CPUS usage comment, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 16/18] pc: add 'etc/boot-cpus' fw_cfg file for machine with more than 255 CPUs, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 15/18] increase MAX_CPUMASK_BITS from 255 to 288, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 17/18] pc: add 2.8 machine, Igor Mammedov, 2016/08/05
- [Qemu-devel] [PATCH for-2.8 18/18] pc: q35: bump max_cpus to 288, Igor Mammedov, 2016/08/05
- Re: [Qemu-devel] [PATCH for-2.8 00/18] pc: q35: x2APIC support in kvm_apic mode, Chao Gao, 2016/08/08