root/arch/mips/power/cpu.c

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

DEFINITIONS

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

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * Suspend support specific for mips.
   4  *
   5  * Copyright (C) 2009 Lemote Inc.
   6  * Author: Hu Hongbing <huhb@lemote.com>
   7  *         Wu Zhangjin <wuzhangjin@gmail.com>
   8  */
   9 #include <asm/sections.h>
  10 #include <asm/fpu.h>
  11 #include <asm/dsp.h>
  12 
  13 static u32 saved_status;
  14 struct pt_regs saved_regs;
  15 
  16 void save_processor_state(void)
  17 {
  18         saved_status = read_c0_status();
  19 
  20         if (is_fpu_owner())
  21                 save_fp(current);
  22         if (cpu_has_dsp)
  23                 save_dsp(current);
  24 }
  25 
  26 void restore_processor_state(void)
  27 {
  28         write_c0_status(saved_status);
  29 
  30         if (is_fpu_owner())
  31                 restore_fp(current);
  32         if (cpu_has_dsp)
  33                 restore_dsp(current);
  34 }
  35 
  36 int pfn_is_nosave(unsigned long pfn)
  37 {
  38         unsigned long nosave_begin_pfn = PFN_DOWN(__pa(&__nosave_begin));
  39         unsigned long nosave_end_pfn = PFN_UP(__pa(&__nosave_end));
  40 
  41         return  (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
  42 }

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