From: "Alex Bennée" <alex.bennee@linaro.org>
To: Julian Ganz <neither@nut.email>
Cc: qemu-devel@nongnu.org,
Pierrick Bouvier <pierrick.bouvier@linaro.org>,
Richard Henderson <richard.henderson@linaro.org>
Subject: Re: [PATCH v7 01/25] plugins: add types for callbacks related to certain discontinuities
Date: Tue, 14 Oct 2025 12:06:20 +0100 [thread overview]
Message-ID: <87wm4xlp3n.fsf@draig.linaro.org> (raw)
In-Reply-To: <7eb3da25409f1134671ab23ca4b092bae4a1b9ba.1759744337.git.neither@nut.email> (Julian Ganz's message of "Mon, 6 Oct 2025 11:56:56 +0200")
Julian Ganz <neither@nut.email> writes:
> The plugin API allows registration of callbacks for a variety of VCPU
> related events, such as VCPU reset, idle and resume. However, traps of
> any kind, i.e. interrupts or exceptions, were previously not covered.
> These kinds of events are arguably quite significant and usually go hand
> in hand with a PC discontinuity. On most platforms, the discontinuity
> also includes a transition from some "mode" to another. Thus, plugins
> for the analysis of (virtualized) embedded systems may benefit from or
> even require the possiblity to perform work on the occurance of an
> interrupt or exception.
>
> This change introduces the concept of such a discontinuity event in the
> form of an enumeration. Currently only traps are covered. Specifically
> we (loosely) define interrupts, exceptions and host calls across all
> platforms. In addition, this change introduces a type to use for
> callback functions related to such events. Since possible modes and the
> enumeration of interupts and exceptions vary greatly between different
> architectures, the callback type only receives the VCPU id, the type of
> event as well as the old and new PC.
>
> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Julian Ganz <neither@nut.email>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2025-10-14 11:07 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-06 9:56 [PATCH v7 00/25] tcg-plugins: add hooks for discontinuities Julian Ganz
2025-10-06 9:56 ` [PATCH v7 01/25] plugins: add types for callbacks related to certain discontinuities Julian Ganz
2025-10-14 11:06 ` Alex Bennée [this message]
2025-10-06 9:56 ` [PATCH v7 02/25] plugins: add API for registering discontinuity callbacks Julian Ganz
2025-10-14 11:06 ` Alex Bennée
2025-10-06 9:56 ` [PATCH v7 03/25] plugins: add hooks for new discontinuity related callbacks Julian Ganz
2025-10-06 9:56 ` [PATCH v7 04/25] contrib/plugins: add plugin showcasing new dicontinuity related API Julian Ganz
2025-10-14 11:08 ` Alex Bennée
2025-10-06 9:57 ` [PATCH v7 05/25] target/alpha: call plugin trap callbacks Julian Ganz
2025-10-06 9:57 ` [PATCH v7 06/25] target/arm: " Julian Ganz
2025-10-06 22:32 ` Richard Henderson
2025-10-06 9:57 ` [PATCH v7 07/25] target/avr: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 08/25] target/hppa: " Julian Ganz
2025-10-06 22:38 ` Richard Henderson
2025-10-07 13:29 ` Julian Ganz
2025-10-07 14:56 ` Richard Henderson
2025-10-06 9:57 ` [PATCH v7 09/25] target/i386: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 10/25] target/loongarch: " Julian Ganz
2025-10-14 10:55 ` Alex Bennée
2025-10-14 14:02 ` Julian Ganz
2025-10-06 9:57 ` [PATCH v7 11/25] target/m68k: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 12/25] target/microblaze: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 13/25] target/mips: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 14/25] target/openrisc: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 15/25] target/ppc: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 16/25] target/riscv: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 17/25] target/rx: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 18/25] target/s390x: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 19/25] target/sh4: " Julian Ganz
2025-10-06 9:57 ` [PATCH v7 20/25] target/sparc: " Julian Ganz
2025-10-06 9:59 ` [PATCH v7 21/25] target/tricore: " Julian Ganz
2025-10-06 9:59 ` [PATCH v7 22/25] target/xtensa: " Julian Ganz
2025-10-07 11:59 ` Philippe Mathieu-Daudé
2025-10-06 9:59 ` [PATCH v7 23/25] tests: add plugin asserting correctness of discon event's to_pc Julian Ganz
2025-10-06 9:59 ` [PATCH v7 24/25] tests: add test for double-traps on rv64 Julian Ganz
2025-10-09 2:49 ` Alistair Francis
2025-10-06 9:59 ` [PATCH v7 25/25] tests: add test with interrupted memory accesses " Julian Ganz
2025-10-14 12:47 ` Alex Bennée
2025-10-14 14:17 ` Julian Ganz
2025-10-14 12:52 ` [PATCH v7 00/25] tcg-plugins: add hooks for discontinuities Alex Bennée
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=87wm4xlp3n.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=neither@nut.email \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/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).