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
23extern 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
33extern int numa_cpu_lookup_table[];
34extern cpumask_var_t node_to_cpumask_map[];
35#ifdef CONFIG_MEMORY_HOTPLUG
36extern unsigned long max_pfn;
37u64 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_ */
48