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 > >