mbox series

[v3,0/5] KVM: s390: selftests: Add regression tests for CPU subfunctions

Message ID 20240823130947.38323-1-hari55@linux.ibm.com (mailing list archive)
Headers show
Series KVM: s390: selftests: Add regression tests for CPU subfunctions | expand

Message

Hariharan Mari Aug. 23, 2024, 1:05 p.m. UTC
This patch series introduces a set of regression tests for various s390x
CPU subfunctions in KVM. The tests ensure that the KVM implementation accurately
reflects the behavior of actual CPU instructions for these subfunctions.

The series adds tests for a total of 15 instructions across five patches,
covering a range of operations including sorting, compression, and various
cryptographic functions. Each patch follows a consistent testing pattern:

1. Obtain the KVM_S390_VM_CPU_MACHINE_SUBFUNC attribute for the VM.
2. Execute the relevant asm instructions.
3. Compare KVM-reported results with direct instruction execution results.

Testing has been performed on s390x hardware with KVM support. All tests
pass successfully, verifying the correct implementation of these
subfunctions in KVM.

---
v2: 
* Fix facility_bit type from bool to int
v3:
* Global variable in the header is moved to facility.c file in selftests/kvm/lib/s390x/
* Fixed the line length 
* Fixed single line comments and multiline comments 
* Renamed the PLO macro
* Removed the unnecessary type cast where Implicit type promotion applies
---

Hariharan Mari (5):
  KVM: s390: selftests: Add regression tests for SORTL and DFLTCC CPU
    subfunctions
  KVM: s390: selftests: Add regression tests for PRNO, KDSA and KMA
    crypto subfunctions
  KVM: s390: selftests: Add regression tests for KMCTR, KMF, KMO and PCC
    crypto subfunctions
  KVM: s390: selftests: Add regression tests for KMAC, KMC, KM, KIMD and
    KLMD crypto subfunctions
  KVM: s390: selftests: Add regression tests for PLO subfunctions

 tools/testing/selftests/kvm/Makefile          |   2 +
 .../selftests/kvm/include/s390x/facility.h    |  50 +++
 .../selftests/kvm/lib/s390x/facility.c        |  14 +
 .../kvm/s390x/cpumodel_subfuncs_test.c        | 286 ++++++++++++++++++
 4 files changed, 352 insertions(+)
 create mode 100644 tools/testing/selftests/kvm/include/s390x/facility.h
 create mode 100644 tools/testing/selftests/kvm/lib/s390x/facility.c
 create mode 100644 tools/testing/selftests/kvm/s390x/cpumodel_subfuncs_test.c

Comments

Janosch Frank Sept. 24, 2024, 12:07 p.m. UTC | #1
On 8/23/24 3:05 PM, Hariharan Mari wrote:
> This patch series introduces a set of regression tests for various s390x
> CPU subfunctions in KVM. The tests ensure that the KVM implementation accurately
> reflects the behavior of actual CPU instructions for these subfunctions.
> 
> The series adds tests for a total of 15 instructions across five patches,
> covering a range of operations including sorting, compression, and various
> cryptographic functions. Each patch follows a consistent testing pattern:
> 
> 1. Obtain the KVM_S390_VM_CPU_MACHINE_SUBFUNC attribute for the VM.
> 2. Execute the relevant asm instructions.
> 3. Compare KVM-reported results with direct instruction execution results.
> 
> Testing has been performed on s390x hardware with KVM support. All tests
> pass successfully, verifying the correct implementation of these
> subfunctions in KVM.

I've picked this up but seem to have missed adding it to 6.12 since I 
have a lot going on.

It will be in 6.13 though.