qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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


  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).