In the SMP configuration, we should either specify a topology
parameter with a reasonable value (equal to or greater than 1)
or just leave it omitted and QEMU will calculate its value.
Configurations which explicitly specify the topology parameters
as zero like "sockets=0" are meaningless, so disallow them.
However; the commit 1e63fe685804d
(machine: pass QAPI struct to mc->smp_parse) has documented that
'0' has the same semantics as omitting a parameter in the qapi
comment for SMPConfiguration. So this patch fixes the doc and
also adds the corresponding sanity check in the smp parsers.
This patch originly comes form [1], and it was suggested that
this patch fixing the doc should be sent for 6.1 to avoid a
deprecation process in the future.
[1] YPWsThPiZa3mF+zp@redhat.com/">https://lore.kernel.org/qemu-devel/YPWsThPiZa3mF+zp@redhat.com/
v3->v4:
- fix the typos
- v3:
20210723020002.18456-1-wangyanan55@huawei.com/">https://lore.kernel.org/qemu-devel/20210723020002.18456-1-wangyanan55@huawei.com/
v2->v3:
- improve the error message
- v2:
20210722154326.1464-1-wangyanan55@huawei.com/">https://lore.kernel.org/qemu-devel/20210722154326.1464-1-wangyanan55@huawei.com/
v1->v2:
- move the check to machine_set_smp
- update qemu-option.hx
- v1:
20210722021512.2600-1-wangyanan55@huawei.com/">https://lore.kernel.org/qemu-devel/20210722021512.2600-1-wangyanan55@huawei.com/
Yanan Wang (1):
machine: Disallow specifying topology parameters as zero
hw/core/machine.c | 15 +++++++++++++++
qapi/machine.json | 6 +++---
qemu-options.hx | 12 +++++++-----
3 files changed, 25 insertions(+), 8 deletions(-)