suspend.c (65b7f6d740a6696974056251c98da0e99f956be8) | suspend.c (de818bd4522c40ea02a81b387d2fa86f989c9623) |
---|---|
1#include <linux/ftrace.h> |
|
1#include <linux/percpu.h> 2#include <linux/slab.h> 3#include <asm/cacheflush.h> 4#include <asm/debug-monitors.h> 5#include <asm/pgtable.h> 6#include <asm/memory.h> 7#include <asm/mmu_context.h> 8#include <asm/smp_plat.h> --- 57 unchanged lines hidden (view full) --- 66 /* 67 * From this point debug exceptions are disabled to prevent 68 * updates to mdscr register (saved and restored along with 69 * general purpose registers) from kernel debuggers. 70 */ 71 local_dbg_save(flags); 72 73 /* | 2#include <linux/percpu.h> 3#include <linux/slab.h> 4#include <asm/cacheflush.h> 5#include <asm/debug-monitors.h> 6#include <asm/pgtable.h> 7#include <asm/memory.h> 8#include <asm/mmu_context.h> 9#include <asm/smp_plat.h> --- 57 unchanged lines hidden (view full) --- 67 /* 68 * From this point debug exceptions are disabled to prevent 69 * updates to mdscr register (saved and restored along with 70 * general purpose registers) from kernel debuggers. 71 */ 72 local_dbg_save(flags); 73 74 /* |
75 * Function graph tracer state gets incosistent when the kernel 76 * calls functions that never return (aka suspend finishers) hence 77 * disable graph tracing during their execution. 78 */ 79 pause_graph_tracing(); 80 81 /* |
|
74 * mm context saved on the stack, it will be restored when 75 * the cpu comes out of reset through the identity mapped 76 * page tables, so that the thread address space is properly 77 * set-up on function return. 78 */ 79 ret = __cpu_suspend_enter(arg, fn); 80 if (ret == 0) { 81 /* --- 24 unchanged lines hidden (view full) --- 106 * Restore HW breakpoint registers to sane values 107 * before debug exceptions are possibly reenabled 108 * through local_dbg_restore. 109 */ 110 if (hw_breakpoint_restore) 111 hw_breakpoint_restore(NULL); 112 } 113 | 82 * mm context saved on the stack, it will be restored when 83 * the cpu comes out of reset through the identity mapped 84 * page tables, so that the thread address space is properly 85 * set-up on function return. 86 */ 87 ret = __cpu_suspend_enter(arg, fn); 88 if (ret == 0) { 89 /* --- 24 unchanged lines hidden (view full) --- 114 * Restore HW breakpoint registers to sane values 115 * before debug exceptions are possibly reenabled 116 * through local_dbg_restore. 117 */ 118 if (hw_breakpoint_restore) 119 hw_breakpoint_restore(NULL); 120 } 121 |
122 unpause_graph_tracing(); 123 |
|
114 /* 115 * Restore pstate flags. OS lock and mdscr have been already 116 * restored, so from this point onwards, debugging is fully 117 * renabled if it was enabled when core started shutdown. 118 */ 119 local_dbg_restore(flags); 120 121 return ret; --- 21 unchanged lines hidden --- | 124 /* 125 * Restore pstate flags. OS lock and mdscr have been already 126 * restored, so from this point onwards, debugging is fully 127 * renabled if it was enabled when core started shutdown. 128 */ 129 local_dbg_restore(flags); 130 131 return ret; --- 21 unchanged lines hidden --- |