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 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 \ --subject='Re: [PATCH v2 0/5] KVM: selftests: arm64 exception handling and debug test' \ /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
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).