diff options
Diffstat (limited to 'include/asm-mips/mmzone.h')
-rw-r--r-- | include/asm-mips/mmzone.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/asm-mips/mmzone.h b/include/asm-mips/mmzone.h new file mode 100644 index 000000000000..29ee13be0b2a --- /dev/null +++ b/include/asm-mips/mmzone.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * Written by Kanoj Sarcar (kanoj@sgi.com) Aug 99 | ||
3 | * Rewritten for Linux 2.6 by Christoph Hellwig (hch@lst.de) Jan 2004 | ||
4 | */ | ||
5 | #ifndef _ASM_MMZONE_H_ | ||
6 | #define _ASM_MMZONE_H_ | ||
7 | |||
8 | #include <asm/page.h> | ||
9 | #include <mmzone.h> | ||
10 | |||
11 | #define kvaddr_to_nid(kvaddr) pa_to_nid(__pa(kvaddr)) | ||
12 | #define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT) | ||
13 | |||
14 | #define pfn_valid(pfn) \ | ||
15 | ({ \ | ||
16 | unsigned long __pfn = (pfn); \ | ||
17 | int __n = pfn_to_nid(__pfn); \ | ||
18 | ((__n >= 0) ? (__pfn < NODE_DATA(__n)->node_start_pfn + \ | ||
19 | NODE_DATA(__n)->node_spanned_pages) : 0);\ | ||
20 | }) | ||
21 | |||
22 | #define pfn_to_page(pfn) \ | ||
23 | ({ \ | ||
24 | unsigned long __pfn = (pfn); \ | ||
25 | pg_data_t *__pg = NODE_DATA(pfn_to_nid(__pfn)); \ | ||
26 | __pg->node_mem_map + (__pfn - __pg->node_start_pfn); \ | ||
27 | }) | ||
28 | |||
29 | #define page_to_pfn(p) \ | ||
30 | ({ \ | ||
31 | struct page *__p = (p); \ | ||
32 | struct zone *__z = page_zone(__p); \ | ||
33 | ((__p - __z->zone_mem_map) + __z->zone_start_pfn); \ | ||
34 | }) | ||
35 | |||
36 | /* XXX: FIXME -- wli */ | ||
37 | #define kern_addr_valid(addr) (0) | ||
38 | |||
39 | #endif /* _ASM_MMZONE_H_ */ | ||