summaryrefslogtreecommitdiffstats
path: root/include/linux/pgtable.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-12-11 17:48:50 +0000
committerMark Brown <broonie@kernel.org>2020-12-11 17:48:50 +0000
commit58f7553fa424fd0fd74e8b796d50c66014cebebe (patch)
tree8aecb1d047b1df2abbfa1ef323d2a724a6a61c77 /include/linux/pgtable.h
parentdd91c555461261fed220ae29a508f508a0afeb43 (diff)
parent9326e4f1e5dd1a4410c429638d3c412b6fc17040 (diff)
downloadcachepc-linux-58f7553fa424fd0fd74e8b796d50c66014cebebe.tar.gz
cachepc-linux-58f7553fa424fd0fd74e8b796d50c66014cebebe.zip
Merge remote-tracking branch 'spi/for-5.10' into spi-linus
Diffstat (limited to 'include/linux/pgtable.h')
-rw-r--r--include/linux/pgtable.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 90654cb63e9e..38c33eabea89 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -633,6 +633,34 @@ static inline int arch_unmap_one(struct mm_struct *mm,
}
#endif
+/*
+ * Allow architectures to preserve additional metadata associated with
+ * swapped-out pages. The corresponding __HAVE_ARCH_SWAP_* macros and function
+ * prototypes must be defined in the arch-specific asm/pgtable.h file.
+ */
+#ifndef __HAVE_ARCH_PREPARE_TO_SWAP
+static inline int arch_prepare_to_swap(struct page *page)
+{
+ return 0;
+}
+#endif
+
+#ifndef __HAVE_ARCH_SWAP_INVALIDATE
+static inline void arch_swap_invalidate_page(int type, pgoff_t offset)
+{
+}
+
+static inline void arch_swap_invalidate_area(int type)
+{
+}
+#endif
+
+#ifndef __HAVE_ARCH_SWAP_RESTORE
+static inline void arch_swap_restore(swp_entry_t entry, struct page *page)
+{
+}
+#endif
+
#ifndef __HAVE_ARCH_PGD_OFFSET_GATE
#define pgd_offset_gate(mm, addr) pgd_offset(mm, addr)
#endif