From: Palmer Dabbelt <palmer@rivosinc.com>
To: akpm@linux-foundation.org
Cc: linux-mm@kvack.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Palmer Dabbelt <palmer@rivosinc.com>
Subject: [PATCH v2 3/6] mm: Add VM_FAULT_ARCH_* codes
Date: Tue, 14 Mar 2023 20:03:56 -0700 [thread overview]
Message-ID: <20230315030359.14162-4-palmer@rivosinc.com> (raw)
In-Reply-To: <20230315030359.14162-1-palmer@rivosinc.com>
A handful of architectures (arm, s390, and soon RISC-V) define their
own internal fault codes, so instead dedicate a few standard codes as
being architecture-specific to avoid conflicts.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
---
include/linux/mm_types.h | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index fd9b863869b4..47f36a2fdaac 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -938,6 +938,7 @@ typedef __bitwise unsigned int vm_fault_t;
* in DAX)
* @VM_FAULT_COMPLETED: ->fault completed, meanwhile mmap lock released
* @VM_FAULT_HINDEX_MASK: mask HINDEX value
+ * @VM_FAULT_ARCH_* Architecture-specific VM fault codes.
*
*/
enum vm_fault_reason {
@@ -955,6 +956,11 @@ enum vm_fault_reason {
VM_FAULT_NEEDDSYNC = (__force vm_fault_t)0x0002000,
VM_FAULT_COMPLETED = (__force vm_fault_t)0x0004000,
VM_FAULT_HINDEX_MASK = (__force vm_fault_t)0x00f0000,
+ VM_FAULT_ARCH_0 = (__force vm_fault_t)0x0100000,
+ VM_FAULT_ARCH_1 = (__force vm_fault_t)0x0200000,
+ VM_FAULT_ARCH_2 = (__force vm_fault_t)0x0400000,
+ VM_FAULT_ARCH_3 = (__force vm_fault_t)0x0800000,
+ VM_FAULT_ARCH_4 = (__force vm_fault_t)0x1000000,
};
/* Encode hstate index for a hwpoisoned large page */
@@ -977,7 +983,12 @@ enum vm_fault_reason {
{ VM_FAULT_RETRY, "RETRY" }, \
{ VM_FAULT_FALLBACK, "FALLBACK" }, \
{ VM_FAULT_DONE_COW, "DONE_COW" }, \
- { VM_FAULT_NEEDDSYNC, "NEEDDSYNC" }
+ { VM_FAULT_NEEDDSYNC, "NEEDDSYNC" }, \
+ { VM_FAULT_ARCH_0, "ARCH_0" }, \
+ { VM_FAULT_ARCH_1, "ARCH_1" }, \
+ { VM_FAULT_ARCH_2, "ARCH_2" }, \
+ { VM_FAULT_ARCH_3, "ARCH_3" }, \
+ { VM_FAULT_ARCH_4, "ARCH_4" }, \
struct vm_special_mapping {
const char *name; /* The name, e.g. "[vdso]". */
--
2.39.2
next prev parent reply other threads:[~2023-03-15 3:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-15 3:03 [PATCH v2 0/6] mm: Stop alaising VM_FAULT_HINDEX_MASK in arch code Palmer Dabbelt
2023-03-15 3:03 ` [PATCH v2 1/6] riscv/mm/fault: simplify code for do_page_fault() Palmer Dabbelt
2023-03-15 5:02 ` Matthew Wilcox
2023-03-15 5:09 ` Palmer Dabbelt
2023-03-15 3:03 ` [PATCH v2 2/6] mm: Add a leading 0 to the VM_FAULT_* types Palmer Dabbelt
2023-03-15 3:03 ` Palmer Dabbelt [this message]
2023-03-16 9:32 ` [PATCH v2 3/6] mm: Add VM_FAULT_ARCH_* codes kernel test robot
2023-03-15 3:03 ` [PATCH v2 4/6] RISC-V: fault: Convert to " Palmer Dabbelt
2023-03-15 3:03 ` [PATCH v2 5/6] arm: " Palmer Dabbelt
2023-03-15 3:03 ` [PATCH v2 6/6] s390: " Palmer Dabbelt
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=20230315030359.14162-4-palmer@rivosinc.com \
--to=palmer@rivosinc.com \
--cc=akpm@linux-foundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mm@kvack.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox