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