tile: support CONTEXT_TRACKING and thus NOHZ_FULL
[deliverable/linux.git] / arch / tile / kernel / single_step.c
index 862973074bf91823cea501ee710811cf1b973a31..53f7b9def07b0cbf43b4094e9d667986ad96ebc1 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/types.h>
 #include <linux/err.h>
 #include <linux/prctl.h>
+#include <linux/context_tracking.h>
 #include <asm/cacheflush.h>
 #include <asm/traps.h>
 #include <asm/uaccess.h>
@@ -738,6 +739,7 @@ static DEFINE_PER_CPU(unsigned long, ss_saved_pc);
 
 void gx_singlestep_handle(struct pt_regs *regs, int fault_num)
 {
+       enum ctx_state prev_state = exception_enter();
        unsigned long *ss_pc = this_cpu_ptr(&ss_saved_pc);
        struct thread_info *info = (void *)current_thread_info();
        int is_single_step = test_ti_thread_flag(info, TIF_SINGLESTEP);
@@ -754,6 +756,7 @@ void gx_singlestep_handle(struct pt_regs *regs, int fault_num)
                __insn_mtspr(SPR_SINGLE_STEP_CONTROL_K, control);
                send_sigtrap(current, regs);
        }
+       exception_exit(prev_state);
 }
 
 
This page took 0.028641 seconds and 5 git commands to generate.