Hi Ganapatrao,

> On 12 May 2025, at 10:52, Ganapatrao Kulkarni 
> <gankulka...@os.amperecomputing.com> wrote:
> 
> This patch series makes the selftest work with NV enabled. The guest code
> is run in vEL2 instead of EL1. We add a command line option to enable
> testing of NV. The NV tests are disabled by default.
> 

The following two tests arch_timer and vgic_lpi_stress pass for a guest in VHE
mode but in a nVHE mode guest they are failing for me. I’ve tested them on
Marc’s repo tag 'kvmarm-fixes-6.16-1' on an AmpereOne.

Do you have plans to add nvhe mode testing to this series?

Thanks
Miguel

> Modified around 12 selftests in this series.
> 
> Changes since v1:
> - Updated NV helper functions as per comments [1].
> - Modified existing testscases to run guest code in vEL2.
> 
> [1] https://lkml.iu.edu/hypermail/linux/kernel/2502.0/07001.html 
> 
> Ganapatrao Kulkarni (9):
>  KVM: arm64: nv: selftests: Add support to run guest code in vEL2.
>  KVM: arm64: nv: selftests: Add simple test to run guest code in vEL2
>  KVM: arm64: nv: selftests: Enable hypervisor timer tests to run in
>    vEL2
>  KVM: arm64: nv: selftests: enable aarch32_id_regs test to run in vEL2
>  KVM: arm64: nv: selftests: Enable vgic tests to run in vEL2
>  KVM: arm64: nv: selftests: Enable set_id_regs test to run in vEL2
>  KVM: arm64: nv: selftests: Enable test to run in vEL2
>  KVM: selftests: arm64: Extend kvm_page_table_test to run guest code in
>    vEL2
>  KVM: arm64: nv: selftests: Enable page_fault_test test to run in vEL2
> 
> tools/testing/selftests/kvm/Makefile.kvm      |   2 +
> tools/testing/selftests/kvm/arch_timer.c      |   8 +-
> .../selftests/kvm/arm64/aarch32_id_regs.c     |  34 ++++-
> .../testing/selftests/kvm/arm64/arch_timer.c  | 118 +++++++++++++++---
> .../selftests/kvm/arm64/nv_guest_hypervisor.c |  68 ++++++++++
> .../selftests/kvm/arm64/page_fault_test.c     |  35 +++++-
> .../testing/selftests/kvm/arm64/set_id_regs.c |  57 ++++++++-
> tools/testing/selftests/kvm/arm64/vgic_init.c |  54 +++++++-
> tools/testing/selftests/kvm/arm64/vgic_irq.c  |  27 ++--
> .../selftests/kvm/arm64/vgic_lpi_stress.c     |  19 ++-
> .../testing/selftests/kvm/guest_print_test.c  |  32 +++++
> .../selftests/kvm/include/arm64/arch_timer.h  |  16 +++
> .../kvm/include/arm64/kvm_util_arch.h         |   3 +
> .../selftests/kvm/include/arm64/nv_util.h     |  45 +++++++
> .../selftests/kvm/include/arm64/vgic.h        |   1 +
> .../testing/selftests/kvm/include/kvm_util.h  |   3 +
> .../selftests/kvm/include/timer_test.h        |   1 +
> .../selftests/kvm/kvm_page_table_test.c       |  30 ++++-
> tools/testing/selftests/kvm/lib/arm64/nv.c    |  46 +++++++
> .../selftests/kvm/lib/arm64/processor.c       |  61 ++++++---
> tools/testing/selftests/kvm/lib/arm64/vgic.c  |   8 ++
> 21 files changed, 604 insertions(+), 64 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/arm64/nv_guest_hypervisor.c
> create mode 100644 tools/testing/selftests/kvm/include/arm64/nv_util.h
> create mode 100644 tools/testing/selftests/kvm/lib/arm64/nv.c
> 
> -- 
> 2.48.1
> 
> 

Reply via email to