1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * Common powerpc suspend code for 32 and 64 bits 4 * 5 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> 6 */ 7 8 #include <linux/sched.h> 9 #include <linux/suspend.h> 10 #include <asm/current.h> 11 #include <asm/mmu_context.h> 12 #include <asm/switch_to.h> 13 save_processor_state(void)14void save_processor_state(void) 15 { 16 /* 17 * flush out all the special registers so we don't need 18 * to save them in the snapshot 19 */ 20 flush_all_to_thread(current); 21 22 #ifdef CONFIG_PPC64 23 hard_irq_disable(); 24 #endif 25 26 } 27 restore_processor_state(void)28void restore_processor_state(void) 29 { 30 #ifdef CONFIG_PPC32 31 switch_mmu_context(current->active_mm, current->active_mm, NULL); 32 #endif 33 } 34