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