xref: /openbmc/linux/arch/ia64/include/asm/mmzone.h (revision 7f30491ccd28627742e37899453ae20e3da8e18f)
1*7f30491cSTony Luck /*
2*7f30491cSTony Luck  * This file is subject to the terms and conditions of the GNU General Public
3*7f30491cSTony Luck  * License.  See the file "COPYING" in the main directory of this archive
4*7f30491cSTony Luck  * for more details.
5*7f30491cSTony Luck  *
6*7f30491cSTony Luck  * Copyright (c) 2000,2003 Silicon Graphics, Inc.  All rights reserved.
7*7f30491cSTony Luck  * Copyright (c) 2002 NEC Corp.
8*7f30491cSTony Luck  * Copyright (c) 2002 Erich Focht <efocht@ess.nec.de>
9*7f30491cSTony Luck  * Copyright (c) 2002 Kimio Suganuma <k-suganuma@da.jp.nec.com>
10*7f30491cSTony Luck  */
11*7f30491cSTony Luck #ifndef _ASM_IA64_MMZONE_H
12*7f30491cSTony Luck #define _ASM_IA64_MMZONE_H
13*7f30491cSTony Luck 
14*7f30491cSTony Luck #include <linux/numa.h>
15*7f30491cSTony Luck #include <asm/page.h>
16*7f30491cSTony Luck #include <asm/meminit.h>
17*7f30491cSTony Luck 
18*7f30491cSTony Luck #ifdef CONFIG_NUMA
19*7f30491cSTony Luck 
20*7f30491cSTony Luck static inline int pfn_to_nid(unsigned long pfn)
21*7f30491cSTony Luck {
22*7f30491cSTony Luck #ifdef CONFIG_NUMA
23*7f30491cSTony Luck 	extern int paddr_to_nid(unsigned long);
24*7f30491cSTony Luck 	int nid = paddr_to_nid(pfn << PAGE_SHIFT);
25*7f30491cSTony Luck 	if (nid < 0)
26*7f30491cSTony Luck 		return 0;
27*7f30491cSTony Luck 	else
28*7f30491cSTony Luck 		return nid;
29*7f30491cSTony Luck #else
30*7f30491cSTony Luck 	return 0;
31*7f30491cSTony Luck #endif
32*7f30491cSTony Luck }
33*7f30491cSTony Luck 
34*7f30491cSTony Luck #ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
35*7f30491cSTony Luck extern int early_pfn_to_nid(unsigned long pfn);
36*7f30491cSTony Luck #endif
37*7f30491cSTony Luck 
38*7f30491cSTony Luck #ifdef CONFIG_IA64_DIG /* DIG systems are small */
39*7f30491cSTony Luck # define MAX_PHYSNODE_ID	8
40*7f30491cSTony Luck # define NR_NODE_MEMBLKS	(MAX_NUMNODES * 8)
41*7f30491cSTony Luck #else /* sn2 is the biggest case, so we use that if !DIG */
42*7f30491cSTony Luck # define MAX_PHYSNODE_ID	2048
43*7f30491cSTony Luck # define NR_NODE_MEMBLKS	(MAX_NUMNODES * 4)
44*7f30491cSTony Luck #endif
45*7f30491cSTony Luck 
46*7f30491cSTony Luck #else /* CONFIG_NUMA */
47*7f30491cSTony Luck # define NR_NODE_MEMBLKS	(MAX_NUMNODES * 4)
48*7f30491cSTony Luck #endif /* CONFIG_NUMA */
49*7f30491cSTony Luck 
50*7f30491cSTony Luck #endif /* _ASM_IA64_MMZONE_H */
51