mbox

[00/22] s390x: topology tests, SCLP fixes, UV host test improvements, PV test improvements and validity/IPL test and some small maintanence fixes

Message ID 20230711141607.40742-1-nrb@linux.ibm.com (mailing list archive)
State New, archived
Headers show

Pull-request

https://gitlab.com/Nico-Boehr/kvm-unit-tests.git s390x-2023-07

Message

Nico Boehr July 11, 2023, 2:15 p.m. UTC
Hi Paolo and/or Thomas,

quite few tests have accumulated since the last pull request, so it's time for another one.

Changes in this pull request:

* Pierre contributed tests for his topology work. The QEMU related changes[1] aren't merged yet, so it's mostly skips right now. Since things seem to converge in QEMU and the kernel part[2] is merged, it makes sense to include this now in kvm-unit-tests.
* Pierre also contributed some fixes to the SCLP code when the size of the SCCV exceeds a page, e.g. when a certain number of vCPUs is exceeded. This also resolves an ugly loop of asserts() we can run into when SCLP fails early.
* Janosch contributed enhancements for the ultravisor host interface test, which fix some bugs
* Janosch also contributed more PV tests which cover certain vailidties the host can encounter when it tries to mess with the guest state, i.e. during IPL or SIE entry
* Finally, two small fixes from me fix compile with GCC 13 and a change in the runtime makes sure pv-host tests are only run when the respective tooling is available.

MERGE: https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/merge_requests/45

PIPELINE: https://gitlab.com/Nico-Boehr/kvm-unit-tests/-/pipelines/927485818

PULL: https://gitlab.com/Nico-Boehr/kvm-unit-tests.git s390x-2023-07

[1] https://lore.kernel.org/kvm/20230425161456.21031-1-pmorel@linux.ibm.com/
[2] https://lore.kernel.org/kvm/20220701162559.158313-1-pmorel@linux.ibm.com/

---

The following changes since commit e7324a48acdf3776e9bd9d727e0c2319bc5bf356:

  powerpc/spapr_vpa: Add basic VPA tests (2023-07-03 15:15:45 +0200)

are available in the Git repository at:

  https://gitlab.com/Nico-Boehr/kvm-unit-tests.git s390x-2023-07

for you to fetch changes up to 6f33f0b7912953a2f8e6fde5a441dfef2d850cae:

  s390x: topology: Checking Configuration Topology Information (2023-07-11 13:13:36 +0200)

----------------------------------------------------------------
Janosch Frank (16):
      lib: s390x: sie: Fix sie_get_validity() no validity handling
      lib: s390x: uv: Introduce UV validity function
      lib: s390x: uv: Add intercept data check library function
      s390x: pv-diags: Drop snippet from snippet names
      lib: s390x: uv: Add pv host requirement check function
      s390x: pv: Add sie entry intercept and validity test
      s390x: pv: Add IPL reset tests
      s390x: pv-diags: Add the test to unittests.conf
      s390x: uv-host: Fix UV init test memory allocation
      s390x: uv-host: Check for sufficient amount of memory
      s390x: uv-host: Beautify code
      s390x: uv-host: Add cpu number check to test_init
      s390x: uv-host: Remove create guest variable storage prefix check
      s390x: uv-host: Properly handle config creation errors
      s390x: uv-host: Fence access checks when UV debug is enabled
      s390x: uv-host: Add the test to unittests.conf

Nico Boehr (2):
      lib: s390x: mmu: fix conflicting types for get_dat_entry
      runtime: don't run pv-host tests when gen-se-header is unavailable

Pierre Morel (4):
      s390x: sclp: treat system as single processor when read_info is NULL
      s390x: sclp: Implement extended-length-SCCB facility
      s390x: topology: Check the Perform Topology Function
      s390x: topology: Checking Configuration Topology Information

 lib/s390x/asm/uv.h                                 |   1 +
 lib/s390x/mmu.h                                    |   2 +-
 lib/s390x/pv_icptdata.h                            |  42 ++
 lib/s390x/sclp.c                                   |  23 +-
 lib/s390x/sclp.h                                   |   4 +-
 lib/s390x/sie.c                                    |   8 +-
 lib/s390x/snippet.h                                |   7 +
 lib/s390x/stsi.h                                   |  36 ++
 lib/s390x/uv.c                                     |  20 +
 lib/s390x/uv.h                                     |   8 +
 s390x/Makefile                                     |  14 +-
 s390x/pv-diags.c                                   |  70 ++-
 s390x/pv-icptcode.c                                | 376 +++++++++++++++
 s390x/pv-ipl.c                                     | 143 ++++++
 s390x/snippets/asm/icpt-loop.S                     |  15 +
 s390x/snippets/asm/loop.S                          |  13 +
 .../asm/{snippet-pv-diag-288.S => pv-diag-288.S}   |   0
 s390x/snippets/asm/pv-diag-308.S                   |  51 ++
 .../asm/{snippet-pv-diag-500.S => pv-diag-500.S}   |   0
 .../{snippet-pv-diag-yield.S => pv-diag-yield.S}   |   0
 s390x/snippets/asm/pv-icpt-112.S                   |  81 ++++
 s390x/snippets/asm/pv-icpt-vir-timing.S            |  21 +
 s390x/topology.c                                   | 514 +++++++++++++++++++++
 s390x/unittests.cfg                                |  29 ++
 s390x/uv-host.c                                    | 134 ++++--
 scripts/runtime.bash                               |   5 +
 26 files changed, 1533 insertions(+), 84 deletions(-)
 create mode 100644 lib/s390x/pv_icptdata.h
 create mode 100644 s390x/pv-icptcode.c
 create mode 100644 s390x/pv-ipl.c
 create mode 100644 s390x/snippets/asm/icpt-loop.S
 create mode 100644 s390x/snippets/asm/loop.S
 rename s390x/snippets/asm/{snippet-pv-diag-288.S => pv-diag-288.S} (100%)
 create mode 100644 s390x/snippets/asm/pv-diag-308.S
 rename s390x/snippets/asm/{snippet-pv-diag-500.S => pv-diag-500.S} (100%)
 rename s390x/snippets/asm/{snippet-pv-diag-yield.S => pv-diag-yield.S} (100%)
 create mode 100644 s390x/snippets/asm/pv-icpt-112.S
 create mode 100644 s390x/snippets/asm/pv-icpt-vir-timing.S
 create mode 100644 s390x/topology.c