aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/mmzone.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86_64/mmzone.h')
-rw-r--r--include/asm-x86_64/mmzone.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/asm-x86_64/mmzone.h b/include/asm-x86_64/mmzone.h
index 972c9359f7d7..6b18cd8f293d 100644
--- a/include/asm-x86_64/mmzone.h
+++ b/include/asm-x86_64/mmzone.h
@@ -15,8 +15,13 @@
15#define NODEMAPSIZE 0xfff 15#define NODEMAPSIZE 0xfff
16 16
17/* Simple perfect hash to map physical addresses to node numbers */ 17/* Simple perfect hash to map physical addresses to node numbers */
18extern int memnode_shift; 18struct memnode {
19extern u8 memnodemap[NODEMAPSIZE]; 19 int shift;
20 u8 map[NODEMAPSIZE];
21} ____cacheline_aligned;
22extern struct memnode memnode;
23#define memnode_shift memnode.shift
24#define memnodemap memnode.map
20 25
21extern struct pglist_data *node_data[]; 26extern struct pglist_data *node_data[];
22 27
@@ -39,12 +44,8 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr)
39#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT) 44#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT)
40#define kvaddr_to_nid(kaddr) phys_to_nid(__pa(kaddr)) 45#define kvaddr_to_nid(kaddr) phys_to_nid(__pa(kaddr))
41 46
42extern struct page *pfn_to_page(unsigned long pfn);
43extern unsigned long page_to_pfn(struct page *page);
44extern int pfn_valid(unsigned long pfn); 47extern int pfn_valid(unsigned long pfn);
45#endif 48#endif
46 49
47#define local_mapnr(kvaddr) \
48 ( (__pa(kvaddr) >> PAGE_SHIFT) - node_start_pfn(kvaddr_to_nid(kvaddr)) )
49#endif 50#endif
50#endif 51#endif