From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
To: linux-arm-kernel@lists.infradead.org
Cc: Clark Williams <clrkwllms@kernel.org>,
linux-rt-devel@lists.linux.dev,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>
Subject: [PATCH 6/6] ARM: provide individual is_translation_fault() and is_permission_fault()
Date: Fri, 27 Feb 2026 15:19:34 +0000 [thread overview]
Message-ID: <E1vvzcs-0000000AwoO-03iq@rmk-PC.armlinux.org.uk> (raw)
In-Reply-To: <aaG1wrNUaq_L0I5g@shell.armlinux.org.uk>
Provide individual LPAE and non-LPAE definitions for both these
functions, rather than having ifdefs inside the function body. This
places the functions closer to their associated definitions.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
arch/arm/mm/fault.h | 36 +++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mm/fault.h b/arch/arm/mm/fault.h
index 44c0fad29cce..207f1b06941d 100644
--- a/arch/arm/mm/fault.h
+++ b/arch/arm/mm/fault.h
@@ -21,6 +21,20 @@ static inline int fsr_fs(unsigned int fsr)
{
return fsr & FSR_FS5_0;
}
+
+static inline bool is_translation_fault(unsigned int fsr)
+{
+ int fs = fsr_fs(fsr);
+
+ return (fs & FS_MMU_NOLL_MASK) == FS_TRANS_NOLL;
+}
+
+static inline bool is_permission_fault(unsigned int fsr)
+{
+ int fs = fsr_fs(fsr);
+
+ return (fs & FS_MMU_NOLL_MASK) == FS_PERM_NOLL;
+}
#else
#define FSR_FS_AEA 22
#define FS_L1_TRANS 0x5
@@ -35,33 +49,21 @@ static inline int fsr_fs(unsigned int fsr)
{
return (fsr & FSR_FS3_0) | (fsr & FSR_FS4) >> 6;
}
-#endif
static inline bool is_translation_fault(unsigned int fsr)
{
int fs = fsr_fs(fsr);
-#ifdef CONFIG_ARM_LPAE
- if ((fs & FS_MMU_NOLL_MASK) == FS_TRANS_NOLL)
- return true;
-#else
- if (fs == FS_L1_TRANS || fs == FS_L2_TRANS)
- return true;
-#endif
- return false;
+
+ return fs == FS_L1_TRANS || fs == FS_L2_TRANS;
}
static inline bool is_permission_fault(unsigned int fsr)
{
int fs = fsr_fs(fsr);
-#ifdef CONFIG_ARM_LPAE
- if ((fs & FS_MMU_NOLL_MASK) == FS_PERM_NOLL)
- return true;
-#else
- if (fs == FS_L1_PERM || fs == FS_L2_PERM)
- return true;
-#endif
- return false;
+
+ return fs == FS_L1_PERM || fs == FS_L2_PERM;
}
+#endif
void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs);
void early_abt_enable(void);
--
2.47.3
next prev parent reply other threads:[~2026-02-27 15:19 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 15:18 [PATCH 0/6] ARM: cleanup fault handling Russell King (Oracle)
2026-02-27 15:19 ` [PATCH 1/6] ARM: ensure interrupts are enabled in __do_user_fault() Russell King (Oracle)
2026-03-02 10:33 ` Sebastian Andrzej Siewior
2026-02-27 15:19 ` [PATCH 2/6] ARM: move vmalloc() lazy-page table population Russell King (Oracle)
2026-03-02 10:43 ` Sebastian Andrzej Siewior
2026-03-02 10:57 ` Russell King (Oracle)
2026-03-02 11:00 ` Sebastian Andrzej Siewior
2026-03-02 11:19 ` Russell King (Oracle)
2026-03-02 11:51 ` Sebastian Andrzej Siewior
2026-02-27 15:19 ` [PATCH 3/6] ARM: move is_permission_fault() and is_translation_fault() to fault.h Russell King (Oracle)
2026-03-02 10:45 ` Sebastian Andrzej Siewior
2026-02-27 15:19 ` [PATCH 4/6] ARM: use BIT() and GENMASK() for fault status register fields Russell King (Oracle)
2026-03-02 10:50 ` Sebastian Andrzej Siewior
2026-02-27 15:19 ` [PATCH 5/6] ARM: move FSR fault status definitions before fsr_fs() Russell King (Oracle)
2026-03-02 10:51 ` Sebastian Andrzej Siewior
2026-02-27 15:19 ` Russell King (Oracle) [this message]
2026-03-02 10:54 ` [PATCH 6/6] ARM: provide individual is_translation_fault() and is_permission_fault() Sebastian Andrzej Siewior
2026-03-02 10:57 ` [PATCH 0/6] ARM: cleanup fault handling Sebastian Andrzej Siewior
2026-03-19 15:37 ` Sebastian Andrzej Siewior
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=E1vvzcs-0000000AwoO-03iq@rmk-PC.armlinux.org.uk \
--to=rmk+kernel@armlinux.org.uk \
--cc=bigeasy@linutronix.de \
--cc=clrkwllms@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=rostedt@goodmis.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.