Lines Matching refs:ctrl
307 struct arch_hw_breakpoint_ctrl ctrl; in get_max_wp_len() local
313 memset(&ctrl, 0, sizeof(ctrl)); in get_max_wp_len()
314 ctrl.len = ARM_BREAKPOINT_LEN_8; in get_max_wp_len()
315 ctrl_reg = encode_ctrl_reg(ctrl); in get_max_wp_len()
339 u32 addr, ctrl; in arch_install_hw_breakpoint() local
342 ctrl = encode_ctrl_reg(info->ctrl) | 0x1; in arch_install_hw_breakpoint()
344 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in arch_install_hw_breakpoint()
375 ctrl = encode_ctrl_reg(info->step_ctrl); in arch_install_hw_breakpoint()
376 if (info->ctrl.type != ARM_BREAKPOINT_EXECUTE) { in arch_install_hw_breakpoint()
387 write_wb_reg(ctrl_base + i, ctrl); in arch_install_hw_breakpoint()
397 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in arch_uninstall_hw_breakpoint()
425 if (info->ctrl.type != ARM_BREAKPOINT_EXECUTE && in arch_uninstall_hw_breakpoint()
467 len = get_hbp_len(info->ctrl.len); in arch_check_bp_in_kernelspace()
477 int arch_bp_generic_fields(struct arch_hw_breakpoint_ctrl ctrl, in arch_bp_generic_fields() argument
481 switch (ctrl.type) { in arch_bp_generic_fields()
499 switch (ctrl.len) { in arch_bp_generic_fields()
529 info->ctrl.type = ARM_BREAKPOINT_EXECUTE; in arch_build_bp_info()
532 info->ctrl.type = ARM_BREAKPOINT_LOAD; in arch_build_bp_info()
535 info->ctrl.type = ARM_BREAKPOINT_STORE; in arch_build_bp_info()
538 info->ctrl.type = ARM_BREAKPOINT_LOAD | ARM_BREAKPOINT_STORE; in arch_build_bp_info()
547 info->ctrl.len = ARM_BREAKPOINT_LEN_1; in arch_build_bp_info()
550 info->ctrl.len = ARM_BREAKPOINT_LEN_2; in arch_build_bp_info()
553 info->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
556 info->ctrl.len = ARM_BREAKPOINT_LEN_8; in arch_build_bp_info()
557 if ((info->ctrl.type != ARM_BREAKPOINT_EXECUTE) in arch_build_bp_info()
570 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE && in arch_build_bp_info()
571 info->ctrl.len != ARM_BREAKPOINT_LEN_2 && in arch_build_bp_info()
572 info->ctrl.len != ARM_BREAKPOINT_LEN_4) in arch_build_bp_info()
579 info->ctrl.privilege = ARM_BREAKPOINT_USER; in arch_build_bp_info()
581 info->ctrl.privilege |= ARM_BREAKPOINT_PRIV; in arch_build_bp_info()
584 info->ctrl.enabled = !bp->attr.disabled; in arch_build_bp_info()
587 info->ctrl.mismatch = 0; in arch_build_bp_info()
611 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in arch_validate_hwbkpt_settings()
621 if (info->ctrl.len == ARM_BREAKPOINT_LEN_2) in arch_validate_hwbkpt_settings()
625 if (info->ctrl.len == ARM_BREAKPOINT_LEN_1) in arch_validate_hwbkpt_settings()
633 info->ctrl.len <<= offset; in arch_validate_hwbkpt_settings()
659 (info->ctrl.type == ARM_BREAKPOINT_LOAD || in arch_validate_hwbkpt_settings()
660 info->ctrl.type == ARM_BREAKPOINT_STORE)) in arch_validate_hwbkpt_settings()
679 info->step_ctrl.privilege = info->ctrl.privilege; in enable_single_step()
699 struct arch_hw_breakpoint_ctrl ctrl; in watchpoint_handler() local
722 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in watchpoint_handler()
734 decode_ctrl_reg(ctrl_reg, &ctrl); in watchpoint_handler()
735 if (!((1 << (addr & alignment_mask)) & ctrl.len)) in watchpoint_handler()
804 struct arch_hw_breakpoint_ctrl ctrl; in breakpoint_handler() local
829 decode_ctrl_reg(ctrl_reg, &ctrl); in breakpoint_handler()
830 if ((1 << (addr & 0x3)) & ctrl.len) { in breakpoint_handler()