step.c (ac7c5353b189e10cf5dd27399f64f7b013abffc6) step.c (5b0e508415a83989fe704b4718a1a214bc333ca7)
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
8unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs)

--- 134 unchanged lines hidden (view full) ---

143 if (child->thread.debugctlmsr == val)
144 return;
145
146 child->thread.debugctlmsr = val;
147
148 if (child != current)
149 return;
150
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
8unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs)

--- 134 unchanged lines hidden (view full) ---

143 if (child->thread.debugctlmsr == val)
144 return;
145
146 child->thread.debugctlmsr = val;
147
148 if (child != current)
149 return;
150
151 wrmsrl(MSR_IA32_DEBUGCTLMSR, val);
151 update_debugctlmsr(val);
152}
153
154/*
155 * Enable single or block step.
156 */
157static void enable_step(struct task_struct *child, bool block)
158{
159 /*

--- 47 unchanged lines hidden ---
152}
153
154/*
155 * Enable single or block step.
156 */
157static void enable_step(struct task_struct *child, bool block)
158{
159 /*

--- 47 unchanged lines hidden ---