Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / arch / mips / include / asm / mach-ip27 / mmzone.h
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 */