Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mmzone.h
Go to the documentation of this file.
1 #ifndef _ASM_MACH_MMZONE_H
2 #define _ASM_MACH_MMZONE_H
3 
4 #include <asm/sn/addrs.h>
5 #include <asm/sn/arch.h>
6 #include <asm/sn/hub.h>
7 
8 #define pa_to_nid(addr) NASID_TO_COMPACT_NODEID(NASID_GET(addr))
9 
10 #define LEVELS_PER_SLICE 128
11 
12 struct slice_data {
13  unsigned long irq_enable_mask[2];
15 };
16 
17 struct hub_data {
19  DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW);
21  unsigned long slice_map;
22  unsigned long irq_alloc_mask[2];
23  struct slice_data slice[2];
24 };
25 
26 struct node_data {
28  struct hub_data hub;
29 };
30 
31 extern struct node_data *__node_data[];
32 
33 #define NODE_DATA(n) (&__node_data[(n)]->pglist)
34 #define hub_data(n) (&__node_data[(n)]->hub)
35 
36 #endif /* _ASM_MACH_MMZONE_H */