From 60c84b0fe4a3e6f6aad744d57b7da82df89e719a Mon Sep 17 00:00:00 2001 From: "Huawei Technologies Co., Ltd" Date: Thu, 29 Oct 2020 19:24:48 +0800 Subject: [PATCH 1/3] Bugfix: hw/acpi: Use max_cpus instead of cpus when build PPTT table The field "cpus" is the initial number of CPU for guest, and the field "max_cpus" is the max number of CPU after CPU hotplug. When building PPTT for guest, we should take all CPUs into account, otherwise the "smp_sockets" is wrong. Fixes: 7cfcd8c8a2fe ("build smt processor structure to support smt topology") Signed-off-by: Keqian Zhu --- ...se-max_cpus-instead-of-cpus-when-bui.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Bugfix-hw-acpi-Use-max_cpus-instead-of-cpus-when-bui.patch diff --git a/Bugfix-hw-acpi-Use-max_cpus-instead-of-cpus-when-bui.patch b/Bugfix-hw-acpi-Use-max_cpus-instead-of-cpus-when-bui.patch new file mode 100644 index 00000000..dc0263a0 --- /dev/null +++ b/Bugfix-hw-acpi-Use-max_cpus-instead-of-cpus-when-bui.patch @@ -0,0 +1,33 @@ +From 905c910373b5e6362181f227a1564eb3bef5a353 Mon Sep 17 00:00:00 2001 +From: kevinZhu +Date: Thu, 29 Oct 2020 19:24:48 +0800 +Subject: [PATCH] Bugfix: hw/acpi: Use max_cpus instead of cpus when build PPTT + table + +The field "cpus" is the initial number of CPU for guest, and the field + "max_cpus" is the max number of CPU after CPU hotplug. When building PPTT for + guest, we should take all CPUs into account, otherwise the "smp_sockets" is + wrong. + +Fixes: 7cfcd8c8a2fe ("build smt processor structure to support smt topology") +Signed-off-by: Keqian Zhu +--- + hw/acpi/aml-build.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c +index 8a3b51c835..f01669df57 100644 +--- a/hw/acpi/aml-build.c ++++ b/hw/acpi/aml-build.c +@@ -167,7 +167,7 @@ void build_pptt(GArray *table_data, BIOSLinker *linker, int possible_cpus) + struct offset_status offset; + const MachineState *ms = MACHINE(qdev_get_machine()); + unsigned int smp_cores = ms->smp.cores; +- unsigned int smp_sockets = ms->smp.cpus / (smp_cores * ms->smp.threads); ++ unsigned int smp_sockets = ms->smp.max_cpus / (smp_cores * ms->smp.threads); + + acpi_data_push(table_data, sizeof(AcpiTableHeader)); + +-- +2.27.0 + -- Gitee From cb9f72ee0ea0585257453257b6bffdb3fbb6a7ee Mon Sep 17 00:00:00 2001 From: Euler Robot Date: Tue, 8 Dec 2020 16:46:05 +0800 Subject: [PATCH 2/3] spec: Update patch and changelog with !28 Bugfix: hw/acpi: Use max_cpus instead of cpus when build PPTT table Signed-off-by: Alex Chen --- qemu.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qemu.spec b/qemu.spec index 6972275d..6ce23b45 100644 --- a/qemu.spec +++ b/qemu.spec @@ -303,6 +303,7 @@ Patch0290: sm501-Clean-up-local-variables-in-sm501_2d_operation.patch Patch0291: sm501-Replace-hand-written-implementation-with-pixma.patch Patch0292: pci-check-bus-pointer-before-dereference.patch Patch0293: hw-ide-check-null-block-before-_cancel_dma_sync.patch +Patch0294: Bugfix-hw-acpi-Use-max_cpus-instead-of-cpus-when-bui.patch BuildRequires: flex BuildRequires: bison @@ -649,6 +650,9 @@ getent passwd qemu >/dev/null || \ %endif %changelog +* Thu Oct 29 2020 Huawei Technologies Co., Ltd +- Bugfix: hw/acpi: Use max_cpus instead of cpus when build PPTT table + * Wed Oct 14 2020 Prasad J Pandit - pci: check bus pointer before dereference - hw/ide: check null block before _cancel_dma_sync -- Gitee From a126ec43617ea56b91a6fcb5116a57462f297f41 Mon Sep 17 00:00:00 2001 From: Euler Robot Date: Tue, 8 Dec 2020 16:46:05 +0800 Subject: [PATCH 3/3] spec: Update release version with !28 increase release verison by one Signed-off-by: Euler Robot --- qemu.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu.spec b/qemu.spec index 6ce23b45..a71198f8 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,6 +1,6 @@ Name: qemu Version: 4.1.0 -Release: 33 +Release: 34 Epoch: 2 Summary: QEMU is a generic and open source machine emulator and virtualizer License: GPLv2 and BSD and MIT and CC-BY -- Gitee