da827d2d08666e1ea33f4fe9346045c4fe4fa554
[platform/kernel/linux-starfive.git] / arch / powerpc / include / asm / mmzone.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Written by Kanoj Sarcar (kanoj@sgi.com) Aug 99
4  *
5  * PowerPC64 port:
6  * Copyright (C) 2002 Anton Blanchard, IBM Corp.
7  */
8 #ifndef _ASM_MMZONE_H_
9 #define _ASM_MMZONE_H_
10 #ifdef __KERNEL__
11
12 #include <linux/cpumask.h>
13
14 /*
15  * generic non-linear memory support:
16  *
17  * 1) we will not split memory into more chunks than will fit into the
18  *    flags field of the struct page
19  */
20
21 #ifdef CONFIG_NUMA
22
23 extern struct pglist_data *node_data[];
24 /*
25  * Return a pointer to the node data for node n.
26  */
27 #define NODE_DATA(nid)          (node_data[nid])
28
29 /*
30  * Following are specific to this numa platform.
31  */
32
33 extern int numa_cpu_lookup_table[];
34 extern cpumask_var_t node_to_cpumask_map[];
35 #ifdef CONFIG_MEMORY_HOTPLUG
36 extern unsigned long max_pfn;
37 u64 memory_hotplug_max(void);
38 #else
39 #define memory_hotplug_max() memblock_end_of_DRAM()
40 #endif
41
42 #else
43 #define memory_hotplug_max() memblock_end_of_DRAM()
44 #endif /* CONFIG_NUMA */
45
46 #endif /* __KERNEL__ */
47 #endif /* _ASM_MMZONE_H_ */