Hi, new version of the series with corrections. When facility 11 is available inside the S390x architecture, 2 new instructions are available: PTF and STSI with function code 15. Let's check their availability in QEMU/KVM and their coherence with the CPU topology provided to the QEMU -smp parameter and as argument for the test. To run these tests successfully you will need both the Linux and the QEMU patches, at least the following or newer patches: https://lkml.org/lkml/2021/8/3/201 https://lists.nongnu.org/archive/html/qemu-s390x/2021-07/msg00165.html Then if you have the text you can run directly the unit test or directly start QEMU with: # ./s390x-run s390x/topology.elf \ -smp 5,drawers=2,books=3,sockets=4,cores=4,maxcpus=96 \ -append "-d 2 -b 3 -s 4 -c 4 -m 96" If you do not have the patches you can still use the test but only with the first two topology levels like in: # ./s390x-run s390x/topology.elf \ -smp 5,sockets=24,cores=4,maxcpus=96 \ -append "-s 24 -c 4 -m 96" Of course the declaration of the number of socket and core must be coherent. Regards, Pierre Pierre Morel (4): s390x: lib: Add SCLP toplogy nested level s390x: stsi: Define vm_is_kvm to be used in different tests s390x: topology: Check the Perform Topology Function s390x: topology: Checking Configuration Topology Information lib/s390x/sclp.c | 6 + lib/s390x/sclp.h | 4 +- lib/s390x/stsi.h | 76 ++++++++++ lib/s390x/vm.c | 39 +++++ lib/s390x/vm.h | 1 + s390x/Makefile | 1 + s390x/stsi.c | 23 +-- s390x/topology.c | 346 ++++++++++++++++++++++++++++++++++++++++++++ s390x/unittests.cfg | 4 + 9 files changed, 478 insertions(+), 22 deletions(-) create mode 100644 lib/s390x/stsi.h create mode 100644 s390x/topology.c -- 2.27.0 Changelog: >From V2: - Check if the test in running in KVM (Janosch) - patch on "Simplify stsi_get_fc and move it to library" pushed separatly - replace named level with abstracted topology levels to get rid of a possible naming controversy (Pierre) - Better checks and new checks for STSI(15,1,x) (Pierre) >From V1: - Simplify the stsi_get_fc function when pushing it into lib (Janosch) - Simplify PTF inline assembly as PTF instruction does not use RRE second argument (Claudio) - Rename Test global name (Claudio, Janosch) - readibility, naming for PTF_REQ_* and removed unused globals (Janosch) - skipping tests which could fail when run on LPAR (Janosh) - Missing prefix_pop (Janosch)