Lines Matching refs:hw
120 int arch_check_bp_in_kernelspace(struct arch_hw_breakpoint *hw) in arch_check_bp_in_kernelspace() argument
122 return is_kernel_addr(hw->address); in arch_check_bp_in_kernelspace()
156 static int hw_breakpoint_validate_len(struct arch_hw_breakpoint *hw) in hw_breakpoint_validate_len() argument
162 start_addr = ALIGN_DOWN(hw->address, HW_BREAKPOINT_SIZE); in hw_breakpoint_validate_len()
163 end_addr = ALIGN(hw->address + hw->len, HW_BREAKPOINT_SIZE); in hw_breakpoint_validate_len()
180 hw->hw_len = hw_len; in hw_breakpoint_validate_len()
189 struct arch_hw_breakpoint *hw) in hw_breakpoint_arch_parse() argument
196 hw->type = HW_BRK_TYPE_TRANSLATE; in hw_breakpoint_arch_parse()
198 hw->type |= HW_BRK_TYPE_READ; in hw_breakpoint_arch_parse()
200 hw->type |= HW_BRK_TYPE_WRITE; in hw_breakpoint_arch_parse()
201 if (hw->type == HW_BRK_TYPE_TRANSLATE) in hw_breakpoint_arch_parse()
205 hw->type |= HW_BRK_TYPE_USER; in hw_breakpoint_arch_parse()
207 hw->type |= HW_BRK_TYPE_KERNEL; in hw_breakpoint_arch_parse()
209 hw->type |= HW_BRK_TYPE_HYP; in hw_breakpoint_arch_parse()
210 hw->address = attr->bp_addr; in hw_breakpoint_arch_parse()
211 hw->len = attr->bp_len; in hw_breakpoint_arch_parse()
216 return hw_breakpoint_validate_len(hw); in hw_breakpoint_arch_parse()