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. 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] https://lore.kernel.org/qemu-devel/ypwsthpiza3mf...@redhat.com/ v4->v5: - tweak the error message (Markus) - v4: https://lore.kernel.org/qemu-devel/20210723073122.7720-1-wangyana...@huawei.com/ v3->v4: - fix the typos - v3: https://lore.kernel.org/qemu-devel/20210723020002.18456-1-wangyana...@huawei.com/ v2->v3: - improve the error message - v2: https://lore.kernel.org/qemu-devel/20210722154326.1464-1-wangyana...@huawei.com/ v1->v2: - move the check to machine_set_smp - update qemu-option.hx - v1: https://lore.kernel.org/qemu-devel/20210722021512.2600-1-wangyana...@huawei.com/ Yanan Wang (1): machine: Disallow specifying topology parameters as zero hw/core/machine.c | 14 ++++++++++++++ qapi/machine.json | 6 +++--- qemu-options.hx | 12 +++++++----- 3 files changed, 24 insertions(+), 8 deletions(-) -- 2.19.1