• Home
  • Raw
  • Download

Lines Matching refs:hw

162 	struct task_struct *tsk = bp->hw.target;  in is_compat_bp()
335 int arch_check_bp_in_kernelspace(struct arch_hw_breakpoint *hw) in arch_check_bp_in_kernelspace() argument
340 va = hw->address; in arch_check_bp_in_kernelspace()
341 len = get_hbp_len(hw->ctrl.len); in arch_check_bp_in_kernelspace()
414 struct arch_hw_breakpoint *hw) in arch_build_bp_info() argument
419 hw->ctrl.type = ARM_BREAKPOINT_EXECUTE; in arch_build_bp_info()
422 hw->ctrl.type = ARM_BREAKPOINT_LOAD; in arch_build_bp_info()
425 hw->ctrl.type = ARM_BREAKPOINT_STORE; in arch_build_bp_info()
428 hw->ctrl.type = ARM_BREAKPOINT_LOAD | ARM_BREAKPOINT_STORE; in arch_build_bp_info()
437 hw->ctrl.len = ARM_BREAKPOINT_LEN_1; in arch_build_bp_info()
440 hw->ctrl.len = ARM_BREAKPOINT_LEN_2; in arch_build_bp_info()
443 hw->ctrl.len = ARM_BREAKPOINT_LEN_3; in arch_build_bp_info()
446 hw->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
449 hw->ctrl.len = ARM_BREAKPOINT_LEN_5; in arch_build_bp_info()
452 hw->ctrl.len = ARM_BREAKPOINT_LEN_6; in arch_build_bp_info()
455 hw->ctrl.len = ARM_BREAKPOINT_LEN_7; in arch_build_bp_info()
458 hw->ctrl.len = ARM_BREAKPOINT_LEN_8; in arch_build_bp_info()
469 if (hw->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in arch_build_bp_info()
471 if (hw->ctrl.len != ARM_BREAKPOINT_LEN_2 && in arch_build_bp_info()
472 hw->ctrl.len != ARM_BREAKPOINT_LEN_4) in arch_build_bp_info()
474 } else if (hw->ctrl.len != ARM_BREAKPOINT_LEN_4) { in arch_build_bp_info()
481 hw->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
486 hw->address = attr->bp_addr; in arch_build_bp_info()
493 if (arch_check_bp_in_kernelspace(hw)) in arch_build_bp_info()
494 hw->ctrl.privilege = AARCH64_BREAKPOINT_EL1; in arch_build_bp_info()
496 hw->ctrl.privilege = AARCH64_BREAKPOINT_EL0; in arch_build_bp_info()
499 hw->ctrl.enabled = !attr->disabled; in arch_build_bp_info()
509 struct arch_hw_breakpoint *hw) in hw_breakpoint_arch_parse() argument
515 ret = arch_build_bp_info(bp, attr, hw); in hw_breakpoint_arch_parse()
529 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_8) in hw_breakpoint_arch_parse()
533 offset = hw->address & alignment_mask; in hw_breakpoint_arch_parse()
541 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2) in hw_breakpoint_arch_parse()
547 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1) in hw_breakpoint_arch_parse()
555 if (hw->ctrl.type == ARM_BREAKPOINT_EXECUTE) in hw_breakpoint_arch_parse()
559 offset = hw->address & alignment_mask; in hw_breakpoint_arch_parse()
562 hw->address &= ~alignment_mask; in hw_breakpoint_arch_parse()
563 hw->ctrl.len <<= offset; in hw_breakpoint_arch_parse()
569 if (hw->ctrl.privilege == AARCH64_BREAKPOINT_EL1 && bp->hw.target) in hw_breakpoint_arch_parse()