lkml.org 
[lkml]   [2022]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.15 12/37] arm64: Expand ESR_ELx_WFx_ISS_TI to match its ARMv8.7 definition
    Date
    From: Marc Zyngier <maz@kernel.org>

    [ Upstream commit 6a437208cb942a2dd98f7e1c3fd347ed3d425ffc ]

    Starting with FEAT_WFXT in ARMv8.7, the TI field in the ISS
    that is reported on a WFx trap is expanded by one bit to
    allow the description of WFET and WFIT.

    Special care is taken to exclude the WFxT bit from the mask
    used to match WFI so that it also matches WFIT when trapped from
    EL0.

    Reviewed-by: Joey Gouly <joey.gouly@arm.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Link: https://lore.kernel.org/r/20220419182755.601427-2-maz@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/include/asm/esr.h | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/arch/arm64/include/asm/esr.h b/arch/arm64/include/asm/esr.h
    index 8f59bbeba7a7..37bb84ea724d 100644
    --- a/arch/arm64/include/asm/esr.h
    +++ b/arch/arm64/include/asm/esr.h
    @@ -133,7 +133,8 @@
    #define ESR_ELx_CV (UL(1) << 24)
    #define ESR_ELx_COND_SHIFT (20)
    #define ESR_ELx_COND_MASK (UL(0xF) << ESR_ELx_COND_SHIFT)
    -#define ESR_ELx_WFx_ISS_TI (UL(1) << 0)
    +#define ESR_ELx_WFx_ISS_TI (UL(3) << 0)
    +#define ESR_ELx_WFx_ISS_WFxT (UL(2) << 0)
    #define ESR_ELx_WFx_ISS_WFI (UL(0) << 0)
    #define ESR_ELx_WFx_ISS_WFE (UL(1) << 0)
    #define ESR_ELx_xVC_IMM_MASK ((1UL << 16) - 1)
    @@ -146,7 +147,8 @@
    #define DISR_EL1_ESR_MASK (ESR_ELx_AET | ESR_ELx_EA | ESR_ELx_FSC)

    /* ESR value templates for specific events */
    -#define ESR_ELx_WFx_MASK (ESR_ELx_EC_MASK | ESR_ELx_WFx_ISS_TI)
    +#define ESR_ELx_WFx_MASK (ESR_ELx_EC_MASK | \
    + (ESR_ELx_WFx_ISS_TI & ~ESR_ELx_WFx_ISS_WFxT))
    #define ESR_ELx_WFx_WFI_VAL ((ESR_ELx_EC_WFx << ESR_ELx_EC_SHIFT) | \
    ESR_ELx_WFx_ISS_WFI)

    --
    2.35.1
    \
     
     \ /
      Last update: 2022-06-01 16:05    [W:4.242 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site