162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Written by Kanoj Sarcar (kanoj@sgi.com) Aug 99
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * PowerPC64 port:
662306a36Sopenharmony_ci * Copyright (C) 2002 Anton Blanchard, IBM Corp.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci#ifndef _ASM_MMZONE_H_
962306a36Sopenharmony_ci#define _ASM_MMZONE_H_
1062306a36Sopenharmony_ci#ifdef __KERNEL__
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <linux/cpumask.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/*
1562306a36Sopenharmony_ci * generic non-linear memory support:
1662306a36Sopenharmony_ci *
1762306a36Sopenharmony_ci * 1) we will not split memory into more chunks than will fit into the
1862306a36Sopenharmony_ci *    flags field of the struct page
1962306a36Sopenharmony_ci */
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#ifdef CONFIG_NUMA
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciextern struct pglist_data *node_data[];
2462306a36Sopenharmony_ci/*
2562306a36Sopenharmony_ci * Return a pointer to the node data for node n.
2662306a36Sopenharmony_ci */
2762306a36Sopenharmony_ci#define NODE_DATA(nid)		(node_data[nid])
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci/*
3062306a36Sopenharmony_ci * Following are specific to this numa platform.
3162306a36Sopenharmony_ci */
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciextern int numa_cpu_lookup_table[];
3462306a36Sopenharmony_ciextern cpumask_var_t node_to_cpumask_map[];
3562306a36Sopenharmony_ci#ifdef CONFIG_MEMORY_HOTPLUG
3662306a36Sopenharmony_ciextern unsigned long max_pfn;
3762306a36Sopenharmony_ciu64 memory_hotplug_max(void);
3862306a36Sopenharmony_ci#else
3962306a36Sopenharmony_ci#define memory_hotplug_max() memblock_end_of_DRAM()
4062306a36Sopenharmony_ci#endif
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#else
4362306a36Sopenharmony_ci#define memory_hotplug_max() memblock_end_of_DRAM()
4462306a36Sopenharmony_ci#endif /* CONFIG_NUMA */
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#endif /* __KERNEL__ */
4762306a36Sopenharmony_ci#endif /* _ASM_MMZONE_H_ */
48