|
@@ -4,6 +4,7 @@
|
|
#include <asm/alternative.h>
|
|
#include <asm/alternative.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/cpufeature.h>
|
|
#include <asm/cpufeature.h>
|
|
|
|
+#include <asm/daifflags.h>
|
|
#include <asm/debug-monitors.h>
|
|
#include <asm/debug-monitors.h>
|
|
#include <asm/exec.h>
|
|
#include <asm/exec.h>
|
|
#include <asm/pgtable.h>
|
|
#include <asm/pgtable.h>
|
|
@@ -56,7 +57,7 @@ void notrace __cpu_suspend_exit(void)
|
|
/*
|
|
/*
|
|
* Restore HW breakpoint registers to sane values
|
|
* Restore HW breakpoint registers to sane values
|
|
* before debug exceptions are possibly reenabled
|
|
* before debug exceptions are possibly reenabled
|
|
- * through local_dbg_restore.
|
|
|
|
|
|
+ * by cpu_suspend()s local_daif_restore() call.
|
|
*/
|
|
*/
|
|
if (hw_breakpoint_restore)
|
|
if (hw_breakpoint_restore)
|
|
hw_breakpoint_restore(cpu);
|
|
hw_breakpoint_restore(cpu);
|
|
@@ -80,7 +81,7 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
|
|
* updates to mdscr register (saved and restored along with
|
|
* updates to mdscr register (saved and restored along with
|
|
* general purpose registers) from kernel debuggers.
|
|
* general purpose registers) from kernel debuggers.
|
|
*/
|
|
*/
|
|
- local_dbg_save(flags);
|
|
|
|
|
|
+ flags = local_daif_save();
|
|
|
|
|
|
/*
|
|
/*
|
|
* Function graph tracer state gets incosistent when the kernel
|
|
* Function graph tracer state gets incosistent when the kernel
|
|
@@ -113,7 +114,7 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
|
|
* restored, so from this point onwards, debugging is fully
|
|
* restored, so from this point onwards, debugging is fully
|
|
* renabled if it was enabled when core started shutdown.
|
|
* renabled if it was enabled when core started shutdown.
|
|
*/
|
|
*/
|
|
- local_dbg_restore(flags);
|
|
|
|
|
|
+ local_daif_restore(flags);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|