hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/include/linux/pfn_t.h
....@@ -9,6 +9,8 @@
99 * PFN_SG_LAST - pfn references a page and is the last scatterlist entry
1010 * PFN_DEV - pfn is not covered by system memmap by default
1111 * PFN_MAP - pfn has a dynamic page mapping established by a device driver
12
+ * PFN_SPECIAL - for CONFIG_FS_DAX_LIMITED builds to allow XIP, but not
13
+ * get_user_pages
1214 */
1315 #define PFN_FLAGS_MASK (((u64) (~PAGE_MASK)) << (BITS_PER_LONG_LONG - PAGE_SHIFT))
1416 #define PFN_SG_CHAIN (1ULL << (BITS_PER_LONG_LONG - 1))
....@@ -64,13 +66,6 @@
6466 return PFN_PHYS(pfn_t_to_pfn(pfn));
6567 }
6668
67
-static inline void *pfn_t_to_virt(pfn_t pfn)
68
-{
69
- if (pfn_t_has_page(pfn))
70
- return __va(pfn_t_to_phys(pfn));
71
- return NULL;
72
-}
73
-
7469 static inline pfn_t page_to_pfn_t(struct page *page)
7570 {
7671 return pfn_to_pfn_t(page_to_pfn(page));
....@@ -102,7 +97,7 @@
10297 #endif
10398 #endif
10499
105
-#ifdef __HAVE_ARCH_PTE_DEVMAP
100
+#ifdef CONFIG_ARCH_HAS_PTE_DEVMAP
106101 static inline bool pfn_t_devmap(pfn_t pfn)
107102 {
108103 const u64 flags = PFN_DEV|PFN_MAP;
....@@ -120,7 +115,7 @@
120115 defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
121116 pud_t pud_mkdevmap(pud_t pud);
122117 #endif
123
-#endif /* __HAVE_ARCH_PTE_DEVMAP */
118
+#endif /* CONFIG_ARCH_HAS_PTE_DEVMAP */
124119
125120 #ifdef CONFIG_ARCH_HAS_PTE_SPECIAL
126121 static inline bool pfn_t_special(pfn_t pfn)