• Home
  • Raw
  • Download

Lines Matching refs:hw

448 int arch_check_bp_in_kernelspace(struct arch_hw_breakpoint *hw)  in arch_check_bp_in_kernelspace()  argument
453 va = hw->address; in arch_check_bp_in_kernelspace()
454 len = get_hbp_len(hw->ctrl.len); in arch_check_bp_in_kernelspace()
511 struct arch_hw_breakpoint *hw) in arch_build_bp_info() argument
516 hw->ctrl.type = ARM_BREAKPOINT_EXECUTE; in arch_build_bp_info()
519 hw->ctrl.type = ARM_BREAKPOINT_LOAD; in arch_build_bp_info()
522 hw->ctrl.type = ARM_BREAKPOINT_STORE; in arch_build_bp_info()
525 hw->ctrl.type = ARM_BREAKPOINT_LOAD | ARM_BREAKPOINT_STORE; in arch_build_bp_info()
534 hw->ctrl.len = ARM_BREAKPOINT_LEN_1; in arch_build_bp_info()
537 hw->ctrl.len = ARM_BREAKPOINT_LEN_2; in arch_build_bp_info()
540 hw->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
543 hw->ctrl.len = ARM_BREAKPOINT_LEN_8; in arch_build_bp_info()
544 if ((hw->ctrl.type != ARM_BREAKPOINT_EXECUTE) in arch_build_bp_info()
558 if (hw->ctrl.type == ARM_BREAKPOINT_EXECUTE && in arch_build_bp_info()
559 hw->ctrl.len != ARM_BREAKPOINT_LEN_2 && in arch_build_bp_info()
560 hw->ctrl.len != ARM_BREAKPOINT_LEN_4) in arch_build_bp_info()
564 hw->address = attr->bp_addr; in arch_build_bp_info()
567 hw->ctrl.privilege = ARM_BREAKPOINT_USER; in arch_build_bp_info()
568 if (arch_check_bp_in_kernelspace(hw)) in arch_build_bp_info()
569 hw->ctrl.privilege |= ARM_BREAKPOINT_PRIV; in arch_build_bp_info()
572 hw->ctrl.enabled = !attr->disabled; in arch_build_bp_info()
575 hw->ctrl.mismatch = 0; in arch_build_bp_info()
585 struct arch_hw_breakpoint *hw) in hw_breakpoint_arch_parse() argument
595 ret = arch_build_bp_info(bp, attr, hw); in hw_breakpoint_arch_parse()
600 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_8) in hw_breakpoint_arch_parse()
602 offset = hw->address & alignment_mask; in hw_breakpoint_arch_parse()
610 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_2) in hw_breakpoint_arch_parse()
615 if (hw->ctrl.len == ARM_BREAKPOINT_LEN_1) in hw_breakpoint_arch_parse()
623 hw->address &= ~alignment_mask; in hw_breakpoint_arch_parse()
624 hw->ctrl.len <<= offset; in hw_breakpoint_arch_parse()
635 if (arch_check_bp_in_kernelspace(hw)) in hw_breakpoint_arch_parse()
642 if (!bp->hw.target) in hw_breakpoint_arch_parse()
650 (hw->ctrl.type == ARM_BREAKPOINT_LOAD || in hw_breakpoint_arch_parse()
651 hw->ctrl.type == ARM_BREAKPOINT_STORE)) in hw_breakpoint_arch_parse()