Loading...
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
12struct slice_data {
13 unsigned long irq_enable_mask[2];
14 int level_to_irq[LEVELS_PER_SLICE];
15};
16
17struct 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
26struct node_data {
27 struct pglist_data pglist;
28 struct hub_data hub;
29};
30
31extern 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 */
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_MACH_MMZONE_H
3#define _ASM_MACH_MMZONE_H
4
5#include <asm/sn/addrs.h>
6#include <asm/sn/arch.h>
7#include <asm/sn/hub.h>
8
9#define pa_to_nid(addr) NASID_TO_COMPACT_NODEID(NASID_GET(addr))
10
11#define LEVELS_PER_SLICE 128
12
13struct slice_data {
14 unsigned long irq_enable_mask[2];
15 int level_to_irq[LEVELS_PER_SLICE];
16};
17
18struct hub_data {
19 kern_vars_t kern_vars;
20 DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW);
21 cpumask_t h_cpus;
22 unsigned long slice_map;
23 unsigned long irq_alloc_mask[2];
24 struct slice_data slice[2];
25};
26
27struct node_data {
28 struct pglist_data pglist;
29 struct hub_data hub;
30};
31
32extern struct node_data *__node_data[];
33
34#define NODE_DATA(n) (&__node_data[(n)]->pglist)
35#define hub_data(n) (&__node_data[(n)]->hub)
36
37#endif /* _ASM_MACH_MMZONE_H */