root/arch/arc/include/asm/mmzone.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. pfn_to_nid
  2. pfn_valid

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
   4  */
   5 
   6 #ifndef _ASM_ARC_MMZONE_H
   7 #define _ASM_ARC_MMZONE_H
   8 
   9 #ifdef CONFIG_DISCONTIGMEM
  10 
  11 extern struct pglist_data node_data[];
  12 #define NODE_DATA(nid) (&node_data[nid])
  13 
  14 static inline int pfn_to_nid(unsigned long pfn)
  15 {
  16         int is_end_low = 1;
  17 
  18         if (IS_ENABLED(CONFIG_ARC_HAS_PAE40))
  19                 is_end_low = pfn <= virt_to_pfn(0xFFFFFFFFUL);
  20 
  21         /*
  22          * node 0: lowmem:             0x8000_0000   to 0xFFFF_FFFF
  23          * node 1: HIGHMEM w/o  PAE40: 0x0           to 0x7FFF_FFFF
  24          *         HIGHMEM with PAE40: 0x1_0000_0000 to ...
  25          */
  26         if (pfn >= ARCH_PFN_OFFSET && is_end_low)
  27                 return 0;
  28 
  29         return 1;
  30 }
  31 
  32 static inline int pfn_valid(unsigned long pfn)
  33 {
  34         int nid = pfn_to_nid(pfn);
  35 
  36         return (pfn <= node_end_pfn(nid));
  37 }
  38 #endif /* CONFIG_DISCONTIGMEM  */
  39 
  40 #endif

/* [<][>][^][v][top][bottom][index][help] */