[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v2 07/19] target/arm: Move helper_set_pstate_* into cpreg
From: |
Peter Maydell |
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 |
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
- [RFC PATCH v2 00/19] target/arm: Allow CONFIG_TCG=n builds, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 01/19] target/arm: rename handle_semihosting to tcg_handle_semihosting, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 02/19] target/arm: wrap psci call with tcg_enabled, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 03/19] target/arm: wrap call to aarch64_sve_change_el in tcg_enabled(), Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 04/19] target/arm: Move PC alignment check, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 06/19] target/arm: Move define_debug_regs() to cpregs.c, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 07/19] target/arm: Move helper_set_pstate_* into cpregs.c, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 05/19] target/arm: Move cpregs code into cpregs.c, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 08/19] target/arm: move translate modules to tcg/, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 09/19] target/arm: move helpers to tcg/, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 10/19] target/arm: Move psci.c into the tcg directory, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 11/19] target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 12/19] target/arm: Move hflags code into the tcg directory, Fabiano Rosas, 2023/01/09
- [RFC PATCH v2 13/19] tests: do not run test-hmp on all machines for ARM KVM-only, Fabiano Rosas, 2023/01/09