diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-06-12 04:13:56 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-06-19 12:39:22 -0400 |
commit | e53639d8f313974a87540015cbb0832905be6056 (patch) | |
tree | b6a442bd408c9c4f2d3de284097d06c69cae273f | |
parent | 952fa954a61cee43de5afba91ae605e30ed2586c (diff) |
[MIPS] Consolidate definitions of pfn_valid in one file.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | include/asm-mips/mmzone.h | 8 | ||||
-rw-r--r-- | include/asm-mips/page.h | 19 |
2 files changed, 19 insertions, 8 deletions
diff --git a/include/asm-mips/mmzone.h b/include/asm-mips/mmzone.h index 7bde4432092b..79f4491403b6 100644 --- a/include/asm-mips/mmzone.h +++ b/include/asm-mips/mmzone.h | |||
@@ -14,14 +14,6 @@ | |||
14 | #define kvaddr_to_nid(kvaddr) pa_to_nid(__pa(kvaddr)) | 14 | #define kvaddr_to_nid(kvaddr) pa_to_nid(__pa(kvaddr)) |
15 | #define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT) | 15 | #define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT) |
16 | 16 | ||
17 | #define pfn_valid(pfn) \ | ||
18 | ({ \ | ||
19 | unsigned long __pfn = (pfn); \ | ||
20 | int __n = pfn_to_nid(__pfn); \ | ||
21 | ((__n >= 0) ? (__pfn < NODE_DATA(__n)->node_start_pfn + \ | ||
22 | NODE_DATA(__n)->node_spanned_pages) : 0);\ | ||
23 | }) | ||
24 | |||
25 | /* XXX: FIXME -- wli */ | 17 | /* XXX: FIXME -- wli */ |
26 | #define kern_addr_valid(addr) (0) | 18 | #define kern_addr_valid(addr) (0) |
27 | 19 | ||
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 | ||