mmzone.h (1216B)
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#ifdef CONFIG_FA_DUMP 46#define __HAVE_ARCH_RESERVED_KERNEL_PAGES 47#endif 48 49#ifdef CONFIG_MEMORY_HOTPLUG 50extern int create_section_mapping(unsigned long start, unsigned long end, 51 int nid, pgprot_t prot); 52#endif 53 54#endif /* __KERNEL__ */ 55#endif /* _ASM_MMZONE_H_ */