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]; 14 int level_to_irq[LEVELS_PER_SLICE]; 15 }; 16 17 struct hub_data { 18 kern_vars_t kern_vars; 19 DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW); 20 cpumask_t h_cpus; 21 unsigned long slice_map; 22 unsigned long irq_alloc_mask[2]; 23 struct slice_data slice[2]; 24 }; 25 26 struct node_data { 27 struct pglist_data pglist; 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 */ 37