[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <194C6167-6F9E-47DA-A002-F64630137D1B@oracle.com>
Date: Fri, 30 May 2025 17:49:52 +0000
From: Miguel Luis <miguel.luis@...cle.com>
To: Ganapatrao Kulkarni <gankulkarni@...amperecomputing.com>
CC: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"kvmarm@...ts.linux.dev"
<kvmarm@...ts.linux.dev>,
"linux-kselftest@...r.kernel.org"
<linux-kselftest@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"maz@...nel.org" <maz@...nel.org>,
"oliver.upton@...ux.dev" <oliver.upton@...ux.dev>,
"joey.gouly@....com"
<joey.gouly@....com>,
"suzuki.poulose@....com" <suzuki.poulose@....com>,
"yuzenghui@...wei.com" <yuzenghui@...wei.com>,
"seanjc@...gle.com"
<seanjc@...gle.com>,
"darren@...amperecomputing.com"
<darren@...amperecomputing.com>
Subject: Re: [RFC PATCH v2 0/9] KVM: Enable Nested Virt selftests
Hi Ganapatrao,
> On 12 May 2025, at 10:52, Ganapatrao Kulkarni <gankulkarni@...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
>
>
Powered by blists - more mailing lists