From: Paolo Bonzini <pbonzini@redhat.com>
To: Ricardo Koller <ricarkol@google.com>,
kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu
Cc: maz@kernel.org, drjones@redhat.com, alexandru.elisei@arm.com,
eric.auger@redhat.com
Subject: Re: [PATCH v2 0/5] KVM: selftests: arm64 exception handling and debug test
Date: Mon, 24 May 2021 14:14:52 +0200 [thread overview]
Message-ID: <362e360d-40c3-1e50-18b0-a2f4297d3746@redhat.com> (raw)
In-Reply-To: <20210430232408.2707420-1-ricarkol@google.com>
On 01/05/21 01:24, Ricardo Koller wrote:
> Hi,
>
> These patches add a debug exception test in aarch64 KVM selftests while
> also adding basic exception handling support.
>
> The structure of the exception handling is based on its x86 counterpart.
> Tests use the same calls to initialize exception handling and both
> architectures allow tests to override the handler for a particular
> vector, or (vector, ec) for synchronous exceptions in the arm64 case.
>
> The debug test is similar to x86_64/debug_regs, except that the x86 one
> controls the debugging from outside the VM. This proposed arm64 test
> controls and handles debug exceptions from the inside.
>
> Thanks,
> Ricardo
Marc, are you going to queue this in your tree?
Thanks,
Paolo
> v1 -> v2:
>
> Addressed comments from Andrew and Marc (thank you very much):
> - rename vm_handle_exception in all tests.
> - introduce UCALL_UNHANDLED in x86 first.
> - move GUEST_ASSERT_EQ to common utils header.
> - handle sync and other exceptions separately: use two tables (like
> kvm-unit-tests).
> - add two separate functions for installing sync versus other exceptions
> - changes in handlers.S: use the same layout as user_pt_regs, treat the
> EL1t vectors as invalid, refactor the vector table creation to not use
> manual numbering, add comments, remove LR from the stored registers.
> - changes in debug-exceptions.c: remove unused headers, use the common
> GUEST_ASSERT_EQ, use vcpu_run instead of _vcpu_run.
> - changes in processor.h: write_sysreg with support for xzr, replace EL1
> with current in macro names, define ESR_EC_MASK as ESR_EC_NUM-1.
>
> Ricardo Koller (5):
> KVM: selftests: Rename vm_handle_exception
> KVM: selftests: Introduce UCALL_UNHANDLED for unhandled vector
> reporting
> KVM: selftests: Move GUEST_ASSERT_EQ to utils header
> KVM: selftests: Add exception handling support for aarch64
> KVM: selftests: Add aarch64/debug-exceptions test
>
> tools/testing/selftests/kvm/.gitignore | 1 +
> tools/testing/selftests/kvm/Makefile | 3 +-
> .../selftests/kvm/aarch64/debug-exceptions.c | 244 ++++++++++++++++++
> .../selftests/kvm/include/aarch64/processor.h | 90 ++++++-
> .../testing/selftests/kvm/include/kvm_util.h | 10 +
> .../selftests/kvm/include/x86_64/processor.h | 4 +-
> .../selftests/kvm/lib/aarch64/handlers.S | 130 ++++++++++
> .../selftests/kvm/lib/aarch64/processor.c | 124 +++++++++
> .../selftests/kvm/lib/x86_64/processor.c | 19 +-
> .../selftests/kvm/x86_64/kvm_pv_test.c | 2 +-
> .../selftests/kvm/x86_64/tsc_msrs_test.c | 9 -
> .../kvm/x86_64/userspace_msr_exit_test.c | 8 +-
> .../selftests/kvm/x86_64/xapic_ipi_test.c | 2 +-
> 13 files changed, 611 insertions(+), 35 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/aarch64/debug-exceptions.c
> create mode 100644 tools/testing/selftests/kvm/lib/aarch64/handlers.S
>
next prev parent reply other threads:[~2021-05-24 12:14 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-30 23:24 [PATCH v2 0/5] KVM: selftests: arm64 exception handling and debug test Ricardo Koller
2021-04-30 23:24 ` [PATCH v2 1/5] KVM: selftests: Rename vm_handle_exception Ricardo Koller
2021-05-03 11:02 ` Andrew Jones
2021-05-06 12:27 ` Auger Eric
2021-04-30 23:24 ` [PATCH v2 2/5] KVM: selftests: Introduce UCALL_UNHANDLED for unhandled vector reporting Ricardo Koller
2021-05-03 11:09 ` Andrew Jones
2021-05-06 12:27 ` Auger Eric
2021-04-30 23:24 ` [PATCH v2 3/5] KVM: selftests: Move GUEST_ASSERT_EQ to utils header Ricardo Koller
2021-05-03 11:31 ` Andrew Jones
2021-04-30 23:24 ` [PATCH v2 4/5] KVM: selftests: Add exception handling support for aarch64 Ricardo Koller
2021-05-03 10:32 ` Marc Zyngier
2021-05-03 19:12 ` Ricardo Koller
2021-05-06 12:30 ` Auger Eric
2021-05-06 19:14 ` Ricardo Koller
2021-05-07 14:08 ` Auger Eric
2021-05-07 17:54 ` Ricardo Koller
2021-05-12 7:27 ` Ricardo Koller
2021-05-12 8:19 ` Auger Eric
2021-05-12 8:33 ` Marc Zyngier
2021-05-12 8:52 ` Auger Eric
2021-05-12 16:06 ` Ricardo Koller
2021-05-12 12:59 ` Zenghui Yu
2021-05-12 13:43 ` Marc Zyngier
2021-05-12 16:03 ` Ricardo Koller
2021-05-12 16:18 ` Marc Zyngier
2021-05-12 21:39 ` Ricardo Koller
2021-05-07 14:31 ` Marc Zyngier
2021-05-07 18:02 ` Ricardo Koller
2021-05-03 12:39 ` Andrew Jones
2021-04-30 23:24 ` [PATCH v2 5/5] KVM: selftests: Add aarch64/debug-exceptions test Ricardo Koller
2021-05-03 12:49 ` Andrew Jones
2021-05-24 12:14 ` Paolo Bonzini [this message]
2021-05-24 12:59 ` [PATCH v2 0/5] KVM: selftests: arm64 exception handling and debug test Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=362e360d-40c3-1e50-18b0-a2f4297d3746@redhat.com \
--to=pbonzini@redhat.com \
--cc=alexandru.elisei@arm.com \
--cc=drjones@redhat.com \
--cc=eric.auger@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=maz@kernel.org \
--cc=ricarkol@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).