Lines Matching refs:bp_info

141 			       struct ppc_hw_breakpoint *bp_info)  in set_instruction_bp()  argument
154 if (bp_info->addr >= TASK_SIZE) in set_instruction_bp()
157 if (bp_info->addr_mode != PPC_BREAKPOINT_MODE_EXACT) { in set_instruction_bp()
159 if (bp_info->addr2 >= TASK_SIZE) in set_instruction_bp()
165 child->thread.debug.iac1 = bp_info->addr; in set_instruction_bp()
166 child->thread.debug.iac2 = bp_info->addr2; in set_instruction_bp()
168 if (bp_info->addr_mode == in set_instruction_bp()
176 child->thread.debug.iac3 = bp_info->addr; in set_instruction_bp()
177 child->thread.debug.iac4 = bp_info->addr2; in set_instruction_bp()
179 if (bp_info->addr_mode == in set_instruction_bp()
199 child->thread.debug.iac1 = bp_info->addr; in set_instruction_bp()
206 child->thread.debug.iac2 = bp_info->addr; in set_instruction_bp()
211 child->thread.debug.iac3 = bp_info->addr; in set_instruction_bp()
215 child->thread.debug.iac4 = bp_info->addr; in set_instruction_bp()
284 static int set_dac(struct task_struct *child, struct ppc_hw_breakpoint *bp_info) in set_dac() argument
287 (bp_info->condition_mode >> PPC_BREAKPOINT_CONDITION_BE_SHIFT) in set_dac()
290 bp_info->condition_mode & PPC_BREAKPOINT_CONDITION_MODE; in set_dac()
296 if (bp_info->addr >= TASK_SIZE) in set_dac()
301 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ) in set_dac()
303 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE) in set_dac()
305 child->thread.debug.dac1 = (unsigned long)bp_info->addr; in set_dac()
309 (unsigned long)bp_info->condition_value; in set_dac()
322 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ) in set_dac()
324 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE) in set_dac()
326 child->thread.debug.dac2 = (unsigned long)bp_info->addr; in set_dac()
330 (unsigned long)bp_info->condition_value; in set_dac()
387 struct ppc_hw_breakpoint *bp_info) in set_dac_range() argument
389 int mode = bp_info->addr_mode & PPC_BREAKPOINT_MODE_MASK; in set_dac_range()
392 if (bp_info->condition_mode) in set_dac_range()
401 if (bp_info->addr >= TASK_SIZE) in set_dac_range()
408 if (~((unsigned long)bp_info->addr2) >= TASK_SIZE) in set_dac_range()
414 if (bp_info->addr2 >= TASK_SIZE) in set_dac_range()
422 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ) in set_dac_range()
424 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE) in set_dac_range()
426 child->thread.debug.dac1 = bp_info->addr; in set_dac_range()
427 child->thread.debug.dac2 = bp_info->addr2; in set_dac_range()
440 long ppc_set_hwdebug(struct task_struct *child, struct ppc_hw_breakpoint *bp_info) in ppc_set_hwdebug() argument
442 if (bp_info->version != 1) in ppc_set_hwdebug()
447 if (bp_info->trigger_type == 0 || in ppc_set_hwdebug()
448 (bp_info->trigger_type & ~(PPC_BREAKPOINT_TRIGGER_EXECUTE | in ppc_set_hwdebug()
450 (bp_info->addr_mode & ~PPC_BREAKPOINT_MODE_MASK) || in ppc_set_hwdebug()
451 (bp_info->condition_mode & in ppc_set_hwdebug()
456 if (bp_info->condition_mode != PPC_BREAKPOINT_CONDITION_NONE) in ppc_set_hwdebug()
460 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_EXECUTE) { in ppc_set_hwdebug()
461 if (bp_info->trigger_type != PPC_BREAKPOINT_TRIGGER_EXECUTE || in ppc_set_hwdebug()
462 bp_info->condition_mode != PPC_BREAKPOINT_CONDITION_NONE) in ppc_set_hwdebug()
464 return set_instruction_bp(child, bp_info); in ppc_set_hwdebug()
466 if (bp_info->addr_mode == PPC_BREAKPOINT_MODE_EXACT) in ppc_set_hwdebug()
467 return set_dac(child, bp_info); in ppc_set_hwdebug()
470 return set_dac_range(child, bp_info); in ppc_set_hwdebug()