diff options
Diffstat (limited to 'include/linux/pfn_t.h')
-rw-r--r-- | include/linux/pfn_t.h | 13 |
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 | ||
126 | static inline bool pfn_t_special(pfn_t pfn) | ||
127 | { | ||
128 | return (pfn.val & PFN_SPECIAL) == PFN_SPECIAL; | ||
129 | } | ||
130 | #else | ||
131 | static 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_ */ |