| #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 */ |