qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/6] target/arm: Implement fine-grained-trap handling for


From: Richard Henderson
Subject: Re: [PATCH v2 1/6] target/arm: Implement fine-grained-trap handling for FEAT_XS
Date: Wed, 11 Dec 2024 09:41:51 -0600
User-agent: Mozilla Thunderbird

On 12/11/24 08:44, Peter Maydell wrote:
FEAT_XS introduces a set of new TLBI maintenance instructions with an
"nXS" qualifier.  These behave like the stardard ones except that
they do not wait for memory accesses with the XS attribute to
complete.  They have an interaction with the fine-grained-trap
handling: the FGT bits that a hypervisor can use to trap TLBI
maintenance instructions normally trap also the nXS variants, but the
hypervisor can elect to not trap the nXS variants by setting
HCRX_EL2.FGTnXS to 1.

Add support to our FGT mechanism for these TLBI bits. For each
TLBI-trapping FGT bit we define, for example:
  * FGT_TLBIVAE1 -- the same value we do at present for the
    normal variant of the insn
  * FGT_TLBIVAE1NXS -- for the nXS qualified insn; the value of
    this enum has an NXS bit ORed into it

In access_check_cp_reg() we can then ignore the trap bit for an
access where ri->fgt has the NXS bit set and HCRX_EL2.FGTnXS is 1.

Signed-off-by: Peter Maydell<peter.maydell@linaro.org>
---
  target/arm/cpregs.h        | 72 ++++++++++++++++++++++----------------
  target/arm/cpu-features.h  |  5 +++
  target/arm/helper.c        |  5 ++-
  target/arm/tcg/op_helper.c | 11 +++++-
  4 files changed, 61 insertions(+), 32 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]