aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pfn_t.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/pfn_t.h')
-rw-r--r--include/linux/pfn_t.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/pfn_t.h b/include/linux/pfn_t.h
index 43b1d7648e82..a03c2642a87c 100644
--- a/include/linux/pfn_t.h
+++ b/include/linux/pfn_t.h
@@ -15,8 +15,10 @@
15#define PFN_SG_LAST (1ULL << (BITS_PER_LONG_LONG - 2)) 15#define PFN_SG_LAST (1ULL << (BITS_PER_LONG_LONG - 2))
16#define PFN_DEV (1ULL << (BITS_PER_LONG_LONG - 3)) 16#define PFN_DEV (1ULL << (BITS_PER_LONG_LONG - 3))
17#define PFN_MAP (1ULL << (BITS_PER_LONG_LONG - 4)) 17#define PFN_MAP (1ULL << (BITS_PER_LONG_LONG - 4))
18#define PFN_SPECIAL (1ULL << (BITS_PER_LONG_LONG - 5))
18 19
19#define PFN_FLAGS_TRACE \ 20#define PFN_FLAGS_TRACE \
21 { PFN_SPECIAL, "SPECIAL" }, \
20 { PFN_SG_CHAIN, "SG_CHAIN" }, \ 22 { PFN_SG_CHAIN, "SG_CHAIN" }, \
21 { PFN_SG_LAST, "SG_LAST" }, \ 23 { PFN_SG_LAST, "SG_LAST" }, \
22 { PFN_DEV, "DEV" }, \ 24 { PFN_DEV, "DEV" }, \
@@ -120,4 +122,15 @@ pud_t pud_mkdevmap(pud_t pud);
120#endif 122#endif
121#endif /* __HAVE_ARCH_PTE_DEVMAP */ 123#endif /* __HAVE_ARCH_PTE_DEVMAP */
122 124
125#ifdef __HAVE_ARCH_PTE_SPECIAL
126static inline bool pfn_t_special(pfn_t pfn)
127{
128 return (pfn.val & PFN_SPECIAL) == PFN_SPECIAL;
129}
130#else
131static inline bool pfn_t_special(pfn_t pfn)
132{
133 return false;
134}
135#endif /* __HAVE_ARCH_PTE_SPECIAL */
123#endif /* _LINUX_PFN_T_H_ */ 136#endif /* _LINUX_PFN_T_H_ */