Lines Matching defs:task
8 void user_enable_single_step(struct task_struct *task)
10 struct pt_regs *regs = task->thread.regs;
13 task->thread.debug.dbcr0 &= ~DBCR0_BT;
14 task->thread.debug.dbcr0 |= DBCR0_IDM | DBCR0_IC;
17 set_tsk_thread_flag(task, TIF_SINGLESTEP);
20 void user_enable_block_step(struct task_struct *task)
22 struct pt_regs *regs = task->thread.regs;
25 task->thread.debug.dbcr0 &= ~DBCR0_IC;
26 task->thread.debug.dbcr0 = DBCR0_IDM | DBCR0_BT;
29 set_tsk_thread_flag(task, TIF_SINGLESTEP);
32 void user_disable_single_step(struct task_struct *task)
34 struct pt_regs *regs = task->thread.regs;
43 task->thread.debug.dbcr0 &= ~(DBCR0_IC | DBCR0_BT);
47 if (!DBCR_ACTIVE_EVENTS(task->thread.debug.dbcr0,
48 task->thread.debug.dbcr1)) {
52 task->thread.debug.dbcr0 &= ~DBCR0_IDM;
56 clear_tsk_thread_flag(task, TIF_SINGLESTEP);
83 int ptrace_set_debugreg(struct task_struct *task, unsigned long addr, unsigned long data)
85 struct pt_regs *regs = task->thread.regs;
88 struct thread_struct *thread = &task->thread;
110 task->thread.debug.dac1 = data & ~0x3UL;
112 if (task->thread.debug.dac1 == 0) {
113 dbcr_dac(task) &= ~(DBCR_DAC1R | DBCR_DAC1W);
114 if (!DBCR_ACTIVE_EVENTS(task->thread.debug.dbcr0,
115 task->thread.debug.dbcr1)) {
117 task->thread.debug.dbcr0 &= ~DBCR0_IDM;
128 task->thread.debug.dbcr0 |= DBCR0_IDM;
131 dbcr_dac(task) &= ~(DBCR_DAC1R | DBCR_DAC1W);
133 dbcr_dac(task) |= DBCR_DAC1R;
135 dbcr_dac(task) |= DBCR_DAC1W;