All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Fabiano Rosas <farosas@suse.de>
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Claudio Fontana" <cfontana@suse.de>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alexander Graf" <agraf@csgraf.de>
Subject: Re: [RFC PATCH v2 07/19] target/arm: Move helper_set_pstate_* into cpregs.c
Date: Tue, 10 Jan 2023 14:00:30 +0000	[thread overview]
Message-ID: <CAFEAcA_422_D4bCxO-_v8omMa4VRSwUwDaY3JHuhPDs6PCh3fg@mail.gmail.com> (raw)
In-Reply-To: <87v8lea5n7.fsf@suse.de>

On Tue, 10 Jan 2023 at 13:19, Fabiano Rosas <farosas@suse.de> wrote:
>
> Richard Henderson <richard.henderson@linaro.org> writes:
>
> > On 1/9/23 14:42, Fabiano Rosas wrote:
> >> We want to move sme_helper into the tcg directory, but the cpregs
> >> accessor functions cannot go along, otherwise they would be separate
> >> from the respective ARMCPRegInfo definition which needs to be compiled
> >> with CONFIG_TCG=n as well.
> >
> > Hmm.  I would have hoped these could stay tcg-only, somehow.
> > I wonder if it warrants being an ARM_CP_SPECIAL_MASK value instead of svcr_write.
>
> In general, what characterizes as "special" for a register to use
> ARM_CP_SPECIAL_MASK?

It means that the register has special-case handling code
in the translate.c/translate-a64.c TCG codegen functions.
Non-special registers can be handled all in the same way
(load a constant, read a field from the CPU state struct,
or call a read/write function); the special cases directly
emit code to handle whatever they are doing. See the switch
commented "Handle special cases first" in target/arm/translate-a64.c
function handle_sys().

-- PMM


  reply	other threads:[~2023-01-10 14:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-09 22:42 [RFC PATCH v2 00/19] target/arm: Allow CONFIG_TCG=n builds Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 01/19] target/arm: rename handle_semihosting to tcg_handle_semihosting Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 02/19] target/arm: wrap psci call with tcg_enabled Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 03/19] target/arm: wrap call to aarch64_sve_change_el in tcg_enabled() Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 04/19] target/arm: Move PC alignment check Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 05/19] target/arm: Move cpregs code into cpregs.c Fabiano Rosas
2023-01-10  5:37   ` Richard Henderson
2023-01-09 22:42 ` [RFC PATCH v2 06/19] target/arm: Move define_debug_regs() to cpregs.c Fabiano Rosas
2023-01-10  5:41   ` Richard Henderson
2023-01-09 22:42 ` [RFC PATCH v2 07/19] target/arm: Move helper_set_pstate_* into cpregs.c Fabiano Rosas
2023-01-10  5:52   ` Richard Henderson
2023-01-10 13:19     ` Fabiano Rosas
2023-01-10 14:00       ` Peter Maydell [this message]
2023-01-11  3:48     ` Richard Henderson
2023-01-09 22:42 ` [RFC PATCH v2 08/19] target/arm: move translate modules to tcg/ Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 09/19] target/arm: move helpers " Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 10/19] target/arm: Move psci.c into the tcg directory Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 11/19] target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 12/19] target/arm: Move hflags code into the tcg directory Fabiano Rosas
2023-01-11 20:29   ` Richard Henderson
2023-01-09 22:42 ` [RFC PATCH v2 13/19] tests: do not run test-hmp on all machines for ARM KVM-only Fabiano Rosas
2023-01-10  8:02   ` Thomas Huth
2023-01-10 13:00     ` Fabiano Rosas
2023-01-10 13:06       ` Peter Maydell
2023-01-10 13:36         ` Fabiano Rosas
2023-01-10 14:02           ` Peter Maydell
2023-01-11 12:08             ` Claudio Fontana
2023-01-11 12:22               ` Thomas Huth
2023-01-11 12:36               ` Fabiano Rosas
2023-01-11 20:30                 ` Richard Henderson
2023-01-12 14:49                   ` Fabiano Rosas
2023-01-12 14:55                 ` Peter Maydell
2023-01-09 22:42 ` [RFC PATCH v2 14/19] tests: do not run qom-test " Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 15/19] tests: device-introspect-test: cope with ARM TCG-only devices Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 16/19] tests/tcg: Do not build/run TCG tests if TCG is disabled Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 17/19] target/arm: Move regime_using_lpae_format into internal.h Fabiano Rosas
2023-01-11  5:46   ` Richard Henderson
2023-01-09 22:42 ` [RFC PATCH v2 18/19] cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code Fabiano Rosas
2023-01-09 22:42 ` [RFC PATCH v2 19/19] target/arm: don't access TCG code when debugging with KVM Fabiano Rosas

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=CAFEAcA_422_D4bCxO-_v8omMa4VRSwUwDaY3JHuhPDs6PCh3fg@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=agraf@csgraf.de \
    --cc=alex.bennee@linaro.org \
    --cc=cfontana@suse.de \
    --cc=ehabkost@redhat.com \
    --cc=farosas@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.