Lines Matching refs:ctrl

311     target_ulong ctrl = env->tdata1[trigger_index];  in trigger_priv_match()  local
320 if ((ctrl >> 3) & BIT(env->priv)) { in trigger_priv_match()
327 if ((ctrl >> 23) & BIT(env->priv)) { in trigger_priv_match()
332 if ((ctrl >> 3) & BIT(env->priv)) { in trigger_priv_match()
340 if ((ctrl >> 25) & BIT(env->priv)) { in trigger_priv_match()
345 if ((ctrl >> 6) & BIT(env->priv)) { in trigger_priv_match()
419 static uint32_t type2_breakpoint_size(CPURISCVState *env, target_ulong ctrl) in type2_breakpoint_size() argument
424 sizehi = extract32(ctrl, 21, 2); in type2_breakpoint_size()
426 sizelo = extract32(ctrl, 16, 2); in type2_breakpoint_size()
430 static inline bool type2_breakpoint_enabled(target_ulong ctrl) in type2_breakpoint_enabled() argument
432 bool mode = !!(ctrl & (TYPE2_U | TYPE2_S | TYPE2_M)); in type2_breakpoint_enabled()
433 bool rwx = !!(ctrl & (TYPE2_LOAD | TYPE2_STORE | TYPE2_EXEC)); in type2_breakpoint_enabled()
439 target_ulong ctrl) in type2_mcontrol_validate() argument
445 val = tdata1_validate(env, ctrl, TRIGGER_TYPE_AD_MATCH); in type2_mcontrol_validate()
448 warn_always_zero_bit(ctrl, TYPE2_MATCH, "match"); in type2_mcontrol_validate()
449 warn_always_zero_bit(ctrl, TYPE2_CHAIN, "chain"); in type2_mcontrol_validate()
450 warn_always_zero_bit(ctrl, TYPE2_ACTION, "action"); in type2_mcontrol_validate()
451 warn_always_zero_bit(ctrl, TYPE2_TIMING, "timing"); in type2_mcontrol_validate()
452 warn_always_zero_bit(ctrl, TYPE2_SELECT, "select"); in type2_mcontrol_validate()
453 warn_always_zero_bit(ctrl, TYPE2_HIT, "hit"); in type2_mcontrol_validate()
456 size = type2_breakpoint_size(env, ctrl); in type2_mcontrol_validate()
461 val |= (ctrl & TYPE2_SIZELO); in type2_mcontrol_validate()
463 val |= (ctrl & TYPE2_SIZEHI); in type2_mcontrol_validate()
468 val |= (ctrl & (TYPE2_U | TYPE2_S | TYPE2_M | in type2_mcontrol_validate()
476 target_ulong ctrl = env->tdata1[index]; in type2_breakpoint_insert() local
478 bool enabled = type2_breakpoint_enabled(ctrl); in type2_breakpoint_insert()
487 if (ctrl & TYPE2_EXEC) { in type2_breakpoint_insert()
491 if (ctrl & TYPE2_LOAD) { in type2_breakpoint_insert()
494 if (ctrl & TYPE2_STORE) { in type2_breakpoint_insert()
499 size = type2_breakpoint_size(env, ctrl); in type2_breakpoint_insert()
558 static inline bool type6_breakpoint_enabled(target_ulong ctrl) in type6_breakpoint_enabled() argument
560 bool mode = !!(ctrl & (TYPE6_VU | TYPE6_VS | TYPE6_U | TYPE6_S | TYPE6_M)); in type6_breakpoint_enabled()
561 bool rwx = !!(ctrl & (TYPE6_LOAD | TYPE6_STORE | TYPE6_EXEC)); in type6_breakpoint_enabled()
567 target_ulong ctrl) in type6_mcontrol6_validate() argument
573 val = tdata1_validate(env, ctrl, TRIGGER_TYPE_AD_MATCH6); in type6_mcontrol6_validate()
576 warn_always_zero_bit(ctrl, TYPE6_MATCH, "match"); in type6_mcontrol6_validate()
577 warn_always_zero_bit(ctrl, TYPE6_CHAIN, "chain"); in type6_mcontrol6_validate()
578 warn_always_zero_bit(ctrl, TYPE6_ACTION, "action"); in type6_mcontrol6_validate()
579 warn_always_zero_bit(ctrl, TYPE6_TIMING, "timing"); in type6_mcontrol6_validate()
580 warn_always_zero_bit(ctrl, TYPE6_SELECT, "select"); in type6_mcontrol6_validate()
581 warn_always_zero_bit(ctrl, TYPE6_HIT, "hit"); in type6_mcontrol6_validate()
584 size = extract32(ctrl, 16, 4); in type6_mcontrol6_validate()
589 val |= (ctrl & TYPE6_SIZE); in type6_mcontrol6_validate()
593 val |= (ctrl & (TYPE6_VU | TYPE6_VS | TYPE6_U | TYPE6_S | TYPE6_M | in type6_mcontrol6_validate()
601 target_ulong ctrl = env->tdata1[index]; in type6_breakpoint_insert() local
603 bool enabled = type6_breakpoint_enabled(ctrl); in type6_breakpoint_insert()
612 if (ctrl & TYPE6_EXEC) { in type6_breakpoint_insert()
616 if (ctrl & TYPE6_LOAD) { in type6_breakpoint_insert()
620 if (ctrl & TYPE6_STORE) { in type6_breakpoint_insert()
625 size = extract32(ctrl, 16, 4); in type6_breakpoint_insert()
800 target_ulong ctrl) in itrigger_validate() argument
805 val = tdata1_validate(env, ctrl, TRIGGER_TYPE_INST_CNT); in itrigger_validate()
808 warn_always_zero_bit(ctrl, ITRIGGER_ACTION, "action"); in itrigger_validate()
809 warn_always_zero_bit(ctrl, ITRIGGER_HIT, "hit"); in itrigger_validate()
810 warn_always_zero_bit(ctrl, ITRIGGER_PENDING, "pending"); in itrigger_validate()
813 val |= ctrl & (ITRIGGER_VU | ITRIGGER_VS | ITRIGGER_U | ITRIGGER_S | in itrigger_validate()
949 target_ulong ctrl; in riscv_cpu_debug_check_breakpoint() local
964 ctrl = env->tdata1[i]; in riscv_cpu_debug_check_breakpoint()
967 if ((ctrl & TYPE2_EXEC) && (bp->pc == pc)) { in riscv_cpu_debug_check_breakpoint()
973 ctrl = env->tdata1[i]; in riscv_cpu_debug_check_breakpoint()
976 if ((ctrl & TYPE6_EXEC) && (bp->pc == pc)) { in riscv_cpu_debug_check_breakpoint()
995 target_ulong ctrl; in riscv_cpu_debug_check_watchpoint() local
1010 ctrl = env->tdata1[i]; in riscv_cpu_debug_check_watchpoint()
1014 if (ctrl & TYPE2_LOAD) { in riscv_cpu_debug_check_watchpoint()
1017 if (ctrl & TYPE2_STORE) { in riscv_cpu_debug_check_watchpoint()
1026 ctrl = env->tdata1[i]; in riscv_cpu_debug_check_watchpoint()
1030 if (ctrl & TYPE6_LOAD) { in riscv_cpu_debug_check_watchpoint()
1033 if (ctrl & TYPE6_STORE) { in riscv_cpu_debug_check_watchpoint()