step.c (95cf00fa5d5e2a200a2c044c84bde8389a237e02) | step.c (9bd1190a11c9d2c59d35cb999b8d170ad52aab5f) |
---|---|
1/* 2 * x86 single-step support code, common to 32-bit and 64-bit. 3 */ 4#include <linux/sched.h> 5#include <linux/mm.h> 6#include <linux/ptrace.h> 7#include <asm/desc.h> 8 --- 143 unchanged lines hidden (view full) --- 152 if (oflags & X86_EFLAGS_TF) 153 return test_tsk_thread_flag(child, TIF_FORCED_TF); 154 155 set_tsk_thread_flag(child, TIF_FORCED_TF); 156 157 return 1; 158} 159 | 1/* 2 * x86 single-step support code, common to 32-bit and 64-bit. 3 */ 4#include <linux/sched.h> 5#include <linux/mm.h> 6#include <linux/ptrace.h> 7#include <asm/desc.h> 8 --- 143 unchanged lines hidden (view full) --- 152 if (oflags & X86_EFLAGS_TF) 153 return test_tsk_thread_flag(child, TIF_FORCED_TF); 154 155 set_tsk_thread_flag(child, TIF_FORCED_TF); 156 157 return 1; 158} 159 |
160static void set_task_blockstep(struct task_struct *task, bool on) | 160void set_task_blockstep(struct task_struct *task, bool on) |
161{ 162 unsigned long debugctl; 163 164 /* 165 * Ensure irq/preemption can't change debugctl in between. 166 * Note also that both TIF_BLOCKSTEP and debugctl should 167 * be changed atomically wrt preemption. 168 * FIXME: this means that set/clear TIF_BLOCKSTEP is simply --- 61 unchanged lines hidden --- | 161{ 162 unsigned long debugctl; 163 164 /* 165 * Ensure irq/preemption can't change debugctl in between. 166 * Note also that both TIF_BLOCKSTEP and debugctl should 167 * be changed atomically wrt preemption. 168 * FIXME: this means that set/clear TIF_BLOCKSTEP is simply --- 61 unchanged lines hidden --- |