Lines Matching refs:ctrl

234 	enum debug_el dbg_el = debug_exception_level(info->ctrl.privilege);  in hw_breakpoint_control()
235 u32 ctrl; in hw_breakpoint_control() local
237 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in hw_breakpoint_control()
271 ctrl = encode_ctrl_reg(info->ctrl); in hw_breakpoint_control()
273 reg_enable ? ctrl | 0x1 : ctrl & ~0x1); in hw_breakpoint_control()
335 len = get_hbp_len(info->ctrl.len); in arch_check_bp_in_kernelspace()
345 int arch_bp_generic_fields(struct arch_hw_breakpoint_ctrl ctrl, in arch_bp_generic_fields() argument
349 switch (ctrl.type) { in arch_bp_generic_fields()
367 switch (ctrl.len) { in arch_bp_generic_fields()
397 info->ctrl.type = ARM_BREAKPOINT_EXECUTE; in arch_build_bp_info()
400 info->ctrl.type = ARM_BREAKPOINT_LOAD; in arch_build_bp_info()
403 info->ctrl.type = ARM_BREAKPOINT_STORE; in arch_build_bp_info()
406 info->ctrl.type = ARM_BREAKPOINT_LOAD | ARM_BREAKPOINT_STORE; in arch_build_bp_info()
415 info->ctrl.len = ARM_BREAKPOINT_LEN_1; in arch_build_bp_info()
418 info->ctrl.len = ARM_BREAKPOINT_LEN_2; in arch_build_bp_info()
421 info->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
424 info->ctrl.len = ARM_BREAKPOINT_LEN_8; in arch_build_bp_info()
435 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) { in arch_build_bp_info()
437 if (info->ctrl.len != ARM_BREAKPOINT_LEN_2 && in arch_build_bp_info()
438 info->ctrl.len != ARM_BREAKPOINT_LEN_4) in arch_build_bp_info()
440 } else if (info->ctrl.len != ARM_BREAKPOINT_LEN_4) { in arch_build_bp_info()
447 info->ctrl.len = ARM_BREAKPOINT_LEN_4; in arch_build_bp_info()
460 info->ctrl.privilege = AARCH64_BREAKPOINT_EL1; in arch_build_bp_info()
462 info->ctrl.privilege = AARCH64_BREAKPOINT_EL0; in arch_build_bp_info()
465 info->ctrl.enabled = !bp->attr.disabled; in arch_build_bp_info()
494 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in arch_validate_hwbkpt_settings()
505 if (info->ctrl.len == ARM_BREAKPOINT_LEN_1) in arch_validate_hwbkpt_settings()
509 if (info->ctrl.len == ARM_BREAKPOINT_LEN_2) in arch_validate_hwbkpt_settings()
516 info->ctrl.len <<= offset; in arch_validate_hwbkpt_settings()
518 if (info->ctrl.type == ARM_BREAKPOINT_EXECUTE) in arch_validate_hwbkpt_settings()
530 if (info->ctrl.privilege == AARCH64_BREAKPOINT_EL1 && bp->hw.target) in arch_validate_hwbkpt_settings()
544 u32 ctrl; in toggle_bp_registers() local
564 privilege = counter_arch_bp(slots[i])->ctrl.privilege; in toggle_bp_registers()
568 ctrl = read_wb_reg(reg, i); in toggle_bp_registers()
570 ctrl |= 0x1; in toggle_bp_registers()
572 ctrl &= ~0x1; in toggle_bp_registers()
573 write_wb_reg(reg, i, ctrl); in toggle_bp_registers()
588 struct arch_hw_breakpoint_ctrl ctrl; in breakpoint_handler() local
609 decode_ctrl_reg(ctrl_reg, &ctrl); in breakpoint_handler()
610 if (!((1 << (addr & 0x3)) & ctrl.len)) in breakpoint_handler()
665 struct arch_hw_breakpoint_ctrl ctrl; in watchpoint_handler() local
681 if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) in watchpoint_handler()
696 decode_ctrl_reg(ctrl_reg, &ctrl); in watchpoint_handler()
697 if (!((1 << (addr & alignment_mask)) & ctrl.len)) in watchpoint_handler()