Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sh/kernel/swsusp.c
26444 views
1
// SPDX-License-Identifier: GPL-2.0
2
/*
3
* swsusp.c - SuperH hibernation support
4
*
5
* Copyright (C) 2009 Magnus Damm
6
*/
7
8
#include <linux/mm.h>
9
#include <linux/sched.h>
10
#include <linux/suspend.h>
11
#include <asm/suspend.h>
12
#include <asm/sections.h>
13
#include <asm/tlbflush.h>
14
#include <asm/page.h>
15
#include <asm/fpu.h>
16
17
struct swsusp_arch_regs swsusp_arch_regs_cpu0;
18
19
int pfn_is_nosave(unsigned long pfn)
20
{
21
unsigned long begin_pfn = __pa(&__nosave_begin) >> PAGE_SHIFT;
22
unsigned long end_pfn = PAGE_ALIGN(__pa(&__nosave_end)) >> PAGE_SHIFT;
23
24
return (pfn >= begin_pfn) && (pfn < end_pfn);
25
}
26
27
void save_processor_state(void)
28
{
29
init_fpu(current);
30
}
31
32
void restore_processor_state(void)
33
{
34
local_flush_tlb_all();
35
}
36
37