* [PATCH] arm64: mm: When logging data aborts only decode Xs when ISV=1
@ 2026-07-02 19:13 Mark Brown
2026-07-16 16:47 ` Will Deacon
0 siblings, 1 reply; 2+ messages in thread
From: Mark Brown @ 2026-07-02 19:13 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon; +Cc: linux-arm-kernel, linux-kernel, Mark Brown
When logging the decode of a data abort we currently unconditionally decode
and display Xs. Currently the only defined non-RES0 values for this field
are for cases where ISV=1, move the decode of Xs into our existing check
for ISV=1. This avoids potential confusion if some other use is assigned to
these bits for ISV=0 cases in future, or misleading someone into thinking
there is a meaningful value there with currently defined architecture.
Signed-off-by: Mark Brown <broonie@kernel.org>
---
arch/arm64/mm/fault.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 85e23388f9bb..0b52557652be 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -76,6 +76,8 @@ static void data_abort_decode(unsigned long esr)
pr_alert(" SF = %lu, AR = %lu\n",
(esr & ESR_ELx_SF) >> ESR_ELx_SF_SHIFT,
(esr & ESR_ELx_AR) >> ESR_ELx_AR_SHIFT);
+ pr_alert(" Xs = %llu\n",
+ (iss2 & ESR_ELx_Xs_MASK) >> ESR_ELx_Xs_SHIFT);
} else {
pr_alert(" ISV = 0, ISS = 0x%08lx, ISS2 = 0x%08lx\n",
esr & ESR_ELx_ISS_MASK, iss2);
@@ -87,11 +89,10 @@ static void data_abort_decode(unsigned long esr)
(iss2 & ESR_ELx_TnD) >> ESR_ELx_TnD_SHIFT,
(iss2 & ESR_ELx_TagAccess) >> ESR_ELx_TagAccess_SHIFT);
- pr_alert(" GCS = %ld, Overlay = %lu, DirtyBit = %lu, Xs = %llu\n",
+ pr_alert(" GCS = %ld, Overlay = %lu, DirtyBit = %lu\n",
(iss2 & ESR_ELx_GCS) >> ESR_ELx_GCS_SHIFT,
(iss2 & ESR_ELx_Overlay) >> ESR_ELx_Overlay_SHIFT,
- (iss2 & ESR_ELx_DirtyBit) >> ESR_ELx_DirtyBit_SHIFT,
- (iss2 & ESR_ELx_Xs_MASK) >> ESR_ELx_Xs_SHIFT);
+ (iss2 & ESR_ELx_DirtyBit) >> ESR_ELx_DirtyBit_SHIFT);
}
static void mem_abort_decode(unsigned long esr)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260618-arm64-xs-decode-aa1316410455
Best regards,
--
Mark Brown <broonie@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] arm64: mm: When logging data aborts only decode Xs when ISV=1
2026-07-02 19:13 [PATCH] arm64: mm: When logging data aborts only decode Xs when ISV=1 Mark Brown
@ 2026-07-16 16:47 ` Will Deacon
0 siblings, 0 replies; 2+ messages in thread
From: Will Deacon @ 2026-07-16 16:47 UTC (permalink / raw)
To: Catalin Marinas, Mark Brown
Cc: kernel-team, Will Deacon, linux-arm-kernel, linux-kernel
On Thu, 02 Jul 2026 20:13:35 +0100, Mark Brown wrote:
> When logging the decode of a data abort we currently unconditionally decode
> and display Xs. Currently the only defined non-RES0 values for this field
> are for cases where ISV=1, move the decode of Xs into our existing check
> for ISV=1. This avoids potential confusion if some other use is assigned to
> these bits for ISV=0 cases in future, or misleading someone into thinking
> there is a meaningful value there with currently defined architecture.
>
> [...]
Applied to arm64 (for-next/fixes), thanks!
[1/1] arm64: mm: When logging data aborts only decode Xs when ISV=1
https://git.kernel.org/arm64/c/f797f51a185f
Cheers,
--
Will
https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-16 16:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-02 19:13 [PATCH] arm64: mm: When logging data aborts only decode Xs when ISV=1 Mark Brown
2026-07-16 16:47 ` Will Deacon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox