diff options
Diffstat (limited to 'include/asm-mips/page.h')
-rw-r--r-- | include/asm-mips/page.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h index 4035ec79ecd4..3d262c01521c 100644 --- a/include/asm-mips/page.h +++ b/include/asm-mips/page.h | |||
@@ -145,6 +145,25 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
145 | #endif | 145 | #endif |
146 | #endif | 146 | #endif |
147 | 147 | ||
148 | #ifdef CONFIG_FLATMEM | ||
149 | |||
150 | #define pfn_valid(pfn) ((pfn) < max_mapnr) | ||
151 | |||
152 | #elif defined(CONFIG_NEED_MULTIPLE_NODES) | ||
153 | |||
154 | #define pfn_valid(pfn) \ | ||
155 | ({ \ | ||
156 | unsigned long __pfn = (pfn); \ | ||
157 | int __n = pfn_to_nid(__pfn); \ | ||
158 | ((__n >= 0) ? (__pfn < NODE_DATA(__n)->node_start_pfn + \ | ||
159 | NODE_DATA(__n)->node_spanned_pages) \ | ||
160 | : 0); \ | ||
161 | }) | ||
162 | |||
163 | #else | ||
164 | #error Provide a definition of pfn_valid | ||
165 | #endif | ||
166 | |||
148 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 167 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
149 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 168 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
150 | 169 | ||