Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
suspend.c
Go to the documentation of this file.
1 /*
2  * Suspend support specific for power.
3  *
4  * Distribute under GPLv2
5  *
6  * Copyright (c) 2002 Pavel Machek <[email protected]>
7  * Copyright (c) 2001 Patrick Mochel <[email protected]>
8  */
9 
10 #include <linux/mm.h>
11 #include <asm/page.h>
12 
13 /* References to section boundaries */
14 extern const void __nosave_begin, __nosave_end;
15 
16 /*
17  * pfn_is_nosave - check if given pfn is in the 'nosave' section
18  */
19 
20 int pfn_is_nosave(unsigned long pfn)
21 {
22  unsigned long nosave_begin_pfn = __pa(&__nosave_begin) >> PAGE_SHIFT;
23  unsigned long nosave_end_pfn = PAGE_ALIGN(__pa(&__nosave_end)) >> PAGE_SHIFT;
24  return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
25 }