Hello Pierre, Ilya, I have a question on the s390x "topology" feature and examples.
Mainly, is this feature supposed to be KVM accelerator-only, or also available when using the TCG accelerator? (docs/devel/s390-cpu-topology.rst vs https://www.qemu.org/docs/master/system/s390x/cpu-topology.html) I see stsi-topology.c in target/s390x/kvm/ , so that part is clearly KVM-specific, but in hw/s390x/cpu-topology.c I read: " * - The first part in this file is taking care of all common functions * used by KVM and TCG to create and modify the topology. * * - The second part, building the topology information data for the * guest with CPU and KVM specificity will be implemented inside * the target/s390/kvm sub tree. " In the docs/devel/s390-cpu-topology.rst I see the example command: qemu-system-s390x \ -enable-kvm \ -cpu z14,ctop=on \ -smp 1,drawers=3,books=3,sockets=2,cores=2,maxcpus=36 \ -device z14-s390x-cpu,core-id=19,entitlement=high \ -device z14-s390x-cpu,core-id=11,entitlement=low \ -device z14-s390x-cpu,core-id=12,entitlement=high \ ... which uses KVM only. In https://www.qemu.org/docs/master/system/s390x/cpu-topology.html I read: "Prerequisites: To use the CPU topology, you need to run with KVM on a s390x host that uses the Linux kernel v6.0 or newer (which provide the so-called KVM_CAP_S390_CPU_TOPOLOGY capability that allows QEMU to signal the CPU topology facility via the so-called STFLE bit 11 to the VM). " So I would assume this is KVM-only, but then in the "Examples" section below I see the example: " $ qemu-system-s390x -m 2G \ -cpu gen16b,ctop=on \ -smp cpus=5,sockets=8,cores=4,maxcpus=32 \ -device host-s390x-cpu,core-id=14 \ " and " qemu-system-s390x -m 2G \ -cpu gen16b,ctop=on \ -smp cpus=1,sockets=8,cores=4,maxcpus=32 \ \ -device gen16b-s390x-cpu,drawer-id=1,book-id=1,socket-id=2,core-id=1 \ -device gen16b-s390x-cpu,drawer-id=1,book-id=1,socket-id=2,core-id=2 \ -device gen16b-s390x-cpu,drawer-id=1,book-id=1,socket-id=2,core-id=3 \ \ -device gen16b-s390x-cpu,drawer-id=0,book-id=0,socket-id=0,core-id=9 \ -device gen16b-s390x-cpu,drawer-id=0,book-id=0,socket-id=0,core-id=14 \ \ -device gen16b-s390x-cpu,core-id=4,dedicated=on,entitlement=high " We received questions about this, so I hope you can shed some light, maybe it would be good to just update the web page to include -accel kvm or -enable-kvm everywhere for clarity? Thanks for your help on this, Claudio -- Claudio Fontana Engineering Manager Virtualization, SUSE Labs Core SUSE Software Solutions Italy Srl