root/arch/sparc/power/hibernate.c

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

DEFINITIONS

This source file includes following definitions.
  1. pfn_is_nosave
  2. save_processor_state
  3. restore_processor_state

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * hibernate.c:  Hibernaton support specific for sparc64.
   4  *
   5  * Copyright (C) 2013 Kirill V Tkhai (tkhai@yandex.ru)
   6  */
   7 
   8 #include <linux/mm.h>
   9 
  10 #include <asm/hibernate.h>
  11 #include <asm/visasm.h>
  12 #include <asm/page.h>
  13 #include <asm/sections.h>
  14 #include <asm/tlb.h>
  15 
  16 struct saved_context saved_context;
  17 
  18 /*
  19  *      pfn_is_nosave - check if given pfn is in the 'nosave' section
  20  */
  21 
  22 int pfn_is_nosave(unsigned long pfn)
  23 {
  24         unsigned long nosave_begin_pfn = PFN_DOWN((unsigned long)&__nosave_begin);
  25         unsigned long nosave_end_pfn = PFN_DOWN((unsigned long)&__nosave_end);
  26 
  27         return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
  28 }
  29 
  30 void save_processor_state(void)
  31 {
  32         save_and_clear_fpu();
  33 }
  34 
  35 void restore_processor_state(void)
  36 {
  37         struct mm_struct *mm = current->active_mm;
  38 
  39         tsb_context_switch_ctx(mm, CTX_HWBITS(mm->context));
  40 }

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