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 ---