blob: c612d50c9d18b6e5aacf6ad43765ea63900a2e4a [file] [log] [blame]
Thomas Gleixner767a67b2019-06-01 10:08:44 +02001// SPDX-License-Identifier: GPL-2.0-only
Vivek Goyal49c3df62007-05-02 19:27:07 +02002/*
3 * Suspend support specific for power.
4 *
Pavel Macheka25312932010-07-18 14:27:13 +02005 * Copyright (c) 2002 Pavel Machek <pavel@ucw.cz>
Vivek Goyal49c3df62007-05-02 19:27:07 +02006 * Copyright (c) 2001 Patrick Mochel <mochel@osdl.org>
7 */
8
Andrea Righi27ac7922008-07-23 21:28:13 -07009#include <linux/mm.h>
Vivek Goyal49c3df62007-05-02 19:27:07 +020010#include <asm/page.h>
Geert Uytterhoeven7f8998c2014-10-09 15:30:30 -070011#include <asm/sections.h>
Vivek Goyal49c3df62007-05-02 19:27:07 +020012
13/*
14 * pfn_is_nosave - check if given pfn is in the 'nosave' section
15 */
16
17int pfn_is_nosave(unsigned long pfn)
18{
19 unsigned long nosave_begin_pfn = __pa(&__nosave_begin) >> PAGE_SHIFT;
20 unsigned long nosave_end_pfn = PAGE_ALIGN(__pa(&__nosave_end)) >> PAGE_SHIFT;
21 return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
22}