This is the absolute minimum needed to run VMs inside the KVM Unit Tests. It's more of a base for other tests that I can't (yet) publish than an addition of tests that check KVM functionality. However, I wanted to decrease the number of WIP patches in my private branch. Once the library is available maybe others will come and extend the SIE test itself. Yes, I have added VM management functionality like VM create/destroy, etc but as it is not needed right now, I'd like to exclude it from this patch set for now. v4: * Removed asm directory and moved all asm files into s390x/ (I changed my view) * Review fixes * Removed a stray newline in the asm offsets file v3: * Rebased on re-license patches * Split assembly * Now using ICPT_* constants * Added read_info asserts * Fixed missing spin_lock() in smp.c lib * Replaced duplicated code in sie test with generic intercept test * Replaced uv-guest.x bit testing with test_bit_inv() * Some other minor cleanups Gitlab: https://gitlab.com/frankja/kvm-unit-tests/-/tree/sie CI: https://gitlab.com/frankja/kvm-unit-tests/-/pipelines/240506525 Janosch Frank (9): s390x: Add test_bit to library s390x: Consolidate sclp read info s390x: SCLP feature checking s390x: Split assembly into multiple files s390x: sie: Add SIE to lib s390x: sie: Add first SIE test s390x: Add diag318 intercept test s390x: Fix sclp.h style issues s390x: sclp: Add CPU entry offset comment lib/s390x/asm-offsets.c | 11 +++ lib/s390x/asm/arch_def.h | 9 ++ lib/s390x/asm/bitops.h | 26 ++++++ lib/s390x/asm/facility.h | 3 +- lib/s390x/interrupt.c | 7 ++ lib/s390x/io.c | 2 + lib/s390x/sclp.c | 57 +++++++++-- lib/s390x/sclp.h | 181 +++++++++++++++++++---------------- lib/s390x/sie.h | 197 +++++++++++++++++++++++++++++++++++++++ lib/s390x/smp.c | 27 +++--- s390x/Makefile | 7 +- s390x/cstart64.S | 119 +---------------------- s390x/intercept.c | 19 ++++ s390x/lib.S | 121 ++++++++++++++++++++++++ s390x/macros.S | 77 +++++++++++++++ s390x/sie.c | 113 ++++++++++++++++++++++ s390x/unittests.cfg | 3 + s390x/uv-guest.c | 6 +- 18 files changed, 761 insertions(+), 224 deletions(-) create mode 100644 lib/s390x/sie.h create mode 100644 s390x/lib.S create mode 100644 s390x/macros.S create mode 100644 s390x/sie.c -- 2.25.1