|  | #ifndef _ASM_MACH_MMZONE_H | 
|  | #define _ASM_MACH_MMZONE_H | 
|  |  | 
|  | #include <asm/sn/addrs.h> | 
|  | #include <asm/sn/arch.h> | 
|  | #include <asm/sn/hub.h> | 
|  |  | 
|  | #define pa_to_nid(addr)		NASID_TO_COMPACT_NODEID(NASID_GET(addr)) | 
|  |  | 
|  | #define LEVELS_PER_SLICE	128 | 
|  |  | 
|  | struct slice_data { | 
|  | unsigned long irq_enable_mask[2]; | 
|  | int level_to_irq[LEVELS_PER_SLICE]; | 
|  | }; | 
|  |  | 
|  | struct hub_data { | 
|  | kern_vars_t	kern_vars; | 
|  | DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW); | 
|  | cpumask_t	h_cpus; | 
|  | unsigned long slice_map; | 
|  | unsigned long irq_alloc_mask[2]; | 
|  | struct slice_data slice[2]; | 
|  | }; | 
|  |  | 
|  | struct node_data { | 
|  | struct pglist_data pglist; | 
|  | struct hub_data hub; | 
|  | }; | 
|  |  | 
|  | extern struct node_data *__node_data[]; | 
|  |  | 
|  | #define NODE_DATA(n)		(&__node_data[(n)]->pglist) | 
|  | #define hub_data(n)		(&__node_data[(n)]->hub) | 
|  |  | 
|  | #endif /* _ASM_MACH_MMZONE_H */ |