Hi Ganapatrao, On 5/12/25 12:52 PM, Ganapatrao Kulkarni 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.
For commodity, I would add in the coverletter that for all tests enhanced with vEL2 testing "-g 1" option shall be added to force that mode. I don't really get how you chose tests capable to run at vEL2 and excluded others? Wouldn't it make sense to have a way to run all tests in either mode? Thanks Eric > > 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 >