[PATCH v2 16/16] KVM: arm64: selftest: Expand external_aborts test to look for TTW levels

Oliver Upton oliver.upton at linux.dev
Fri Sep 19 15:36:15 PDT 2025


On Mon, Sep 15, 2025 at 12:44:51PM +0100, Marc Zyngier wrote:
> Add a basic test corrupting a level-2 table entry to check that
> the resulting abort is a SEA on a PTW at level-3.
> 
> Signed-off-by: Marc Zyngier <maz at kernel.org>
> ---
>  .../selftests/kvm/arm64/external_aborts.c     | 43 +++++++++++++++++++
>  .../selftests/kvm/include/arm64/processor.h   |  1 +
>  .../selftests/kvm/lib/arm64/processor.c       | 13 +++++-
>  3 files changed, 56 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/kvm/arm64/external_aborts.c b/tools/testing/selftests/kvm/arm64/external_aborts.c
> index 062bf84cced13..acb32d0f27bbe 100644
> --- a/tools/testing/selftests/kvm/arm64/external_aborts.c
> +++ b/tools/testing/selftests/kvm/arm64/external_aborts.c
> @@ -250,6 +250,48 @@ static void test_serror(void)
>  	kvm_vm_free(vm);
>  }
>  
> +static void expect_sea_s1ptw_handler(struct ex_regs *regs)
> +{
> +	u64 esr = read_sysreg(esr_el1);
> +
> +

Extra whitespace

> +	GUEST_ASSERT_EQ(regs->pc, expected_abort_pc);
> +	GUEST_ASSERT_EQ(ESR_ELx_EC(esr), ESR_ELx_EC_DABT_CUR);
> +	GUEST_ASSERT_EQ((esr & ESR_ELx_FSC), ESR_ELx_FSC_SEA_TTW(3));
> +
> +	GUEST_DONE();
> +}
> +

Thanks,
Oliver



More information about the linux-arm-kernel mailing list