Lines Matching refs:ctrl

236 	enum dbg_active_el dbg_el = debug_exception_level(info->ctrl.privilege);  in hw_breakpoint_control()
237 u32 ctrl; in hw_breakpoint_control() local
239 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in hw_breakpoint_control()
273 ctrl = encode_ctrl_reg(info->ctrl); in hw_breakpoint_control()
275 reg_enable ? ctrl | 0x1 : ctrl & ~0x1); in hw_breakpoint_control()
337 len = get_hbp_len(info->ctrl.len); in arch_check_bp_in_kernelspace()
347 int arch_bp_generic_fields(struct arch_hw_breakpoint_ctrl ctrl, in arch_bp_generic_fields() argument
351 switch (ctrl.type) { in arch_bp_generic_fields()
369 switch (ctrl.len) { in arch_bp_generic_fields()
399 info->ctrl.type = ARM_BREAKPOINT_EXECUTE; in arch_build_bp_info()
402 info->ctrl.type = ARM_BREAKPOINT_LOAD; in arch_build_bp_info()
405 info->ctrl.type = ARM_BREAKPOINT_STORE; in arch_build_bp_info()
408 info->ctrl.type = ARM_BREAKPOINT_LOAD | ARM_BREAKPOINT_STORE; in arch_build_bp_info()
417 info->ctrl.len = ARM_BREAKPOINT_LEN_1; in arch_build_bp_info()
420 info->ctrl.len = ARM_BREAKPOINT_LEN_2; in arch_build_bp_info()
423 info->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
426 info->ctrl.len = ARM_BREAKPOINT_LEN_8; in arch_build_bp_info()
437 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in arch_build_bp_info()
439 if (info->ctrl.len != ARM_BREAKPOINT_LEN_2 && in arch_build_bp_info()
440 info->ctrl.len != ARM_BREAKPOINT_LEN_4) in arch_build_bp_info()
442 } else if (info->ctrl.len != ARM_BREAKPOINT_LEN_4) { in arch_build_bp_info()
449 info->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
462 info->ctrl.privilege = AARCH64_BREAKPOINT_EL1; in arch_build_bp_info()
464 info->ctrl.privilege = AARCH64_BREAKPOINT_EL0; in arch_build_bp_info()
467 info->ctrl.enabled = !bp->attr.disabled; in arch_build_bp_info()
496 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in arch_validate_hwbkpt_settings()
507 if (info->ctrl.len == ARM_BREAKPOINT_LEN_1) in arch_validate_hwbkpt_settings()
511 if (info->ctrl.len == ARM_BREAKPOINT_LEN_2) in arch_validate_hwbkpt_settings()
518 info->ctrl.len <<= offset; in arch_validate_hwbkpt_settings()
520 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) in arch_validate_hwbkpt_settings()
532 if (info->ctrl.privilege == AARCH64_BREAKPOINT_EL1 && bp->hw.target) in arch_validate_hwbkpt_settings()
546 u32 ctrl; in toggle_bp_registers() local
566 privilege = counter_arch_bp(slots[i])->ctrl.privilege; in toggle_bp_registers()
570 ctrl = read_wb_reg(reg, i); in toggle_bp_registers()
572 ctrl |= 0x1; in toggle_bp_registers()
574 ctrl &= ~0x1; in toggle_bp_registers()
575 write_wb_reg(reg, i, ctrl); in toggle_bp_registers()
590 struct arch_hw_breakpoint_ctrl ctrl; in breakpoint_handler() local
611 decode_ctrl_reg(ctrl_reg, &ctrl); in breakpoint_handler()
612 if (!((1 << (addr & 0x3)) & ctrl.len)) in breakpoint_handler()
667 struct arch_hw_breakpoint_ctrl ctrl; in watchpoint_handler() local
683 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in watchpoint_handler()
698 decode_ctrl_reg(ctrl_reg, &ctrl); in watchpoint_handler()
699 if (!((1 << (addr & alignment_mask)) & ctrl.len)) in watchpoint_handler()