On 20.01.20 19:42, Claudio Imbrenda wrote: > This patchset contains some minor cleanup, some preparatory work and > then the SCLP unit test itself. > > The unit test checks the following: > > * Correctly ignoring instruction bits that should be ignored > * Privileged instruction check > * Check for addressing exceptions > * Specification exceptions: > - SCCB size less than 8 > - SCCB unaligned > - SCCB overlaps prefix or lowcore > - SCCB address higher than 2GB > * Return codes for > - Invalid command > - SCCB too short (but at least 8) > - SCCB page boundary violation > > v7 -> v8 > * fixed existing stfl asm wrapper > * now using stfl asm wrapper in intercept.c > * patched the program interrupt handler to clear the sclp_busy bit > * removed now unnecessary expect_pgm_int from the unit test > v6 -> v7 > * renamed spx() and stpx() wrappers to set_prefix and get_prefix > * set_prefix now takes a value and get_prefix now returns a value > * put back some inline assembly for spx and stpx as a consequence > * used LC_SIZE instead of 2 * PAGE_SIZE everywhere in the unit test > v5 -> v6 > * fixed a bug in test_addressing > * improved comments in test_sccb_prefix > * replaced all inline assembly usages of spx and stpx with the wrappers > * added one more wrapper for test_one_sccb for read-only tests > v4 -> v5 > * updated usage of report() > * added SPX and STPX wrappers to the library > * improved readability > * addressed some more comments > v3 -> v4 > * export sclp_setup_int instead of copying it > * add more comments > * rename some more variables to improve readability > * improve the prefix test > * improved the invalid address test > * addressed further comments received during review > v2 -> v3 > * generally improved the naming of variables > * added and fixed comments > * renamed test_one_run to test_one_simple > * added some const where needed > * addresed many more small comments received during review > v1 -> v2 > * fix many small issues that came up during the first round of reviews > * add comments to each function > * use a static buffer for the SCCP template when used > > Claudio Imbrenda (6): > s390x: export sclp_setup_int > s390x: sclp: add service call instruction wrapper > s390x: lib: fix stfl wrapper asm > s390x: lib: add SPX and STPX instruction wrapper > s390x: lib: fix program interrupt handler if sclp_busy was set > s390x: SCLP unit test > > s390x/Makefile | 1 + > lib/s390x/asm/arch_def.h | 26 +++ > lib/s390x/asm/facility.h | 2 +- > lib/s390x/sclp.h | 1 + > lib/s390x/interrupt.c | 5 +- > lib/s390x/sclp.c | 9 +- > s390x/intercept.c | 24 +- > s390x/sclp.c | 474 +++++++++++++++++++++++++++++++++++++++ > s390x/unittests.cfg | 8 + > 9 files changed, 526 insertions(+), 24 deletions(-) > create mode 100644 s390x/sclp.c > Queued to https://github.com/davidhildenbrand/qemu.git s390-tcg-next Thanks! -- Thanks, David / dhildenb