1 /* 2 * Copyright (c) 2024, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <arch.h> 8 #include <arch_features.h> 9 #include <arch_helpers.h> 10 #include <lib/extensions/debug_v8p9.h> 11 debugv8p9_extended_bp_wp_enable(cpu_context_t * ctx)12void debugv8p9_extended_bp_wp_enable(cpu_context_t *ctx) 13 { 14 el3_state_t *state = get_el3state_ctx(ctx); 15 u_register_t mdcr_el3_val = read_ctx_reg(state, CTX_MDCR_EL3); 16 17 /* When FEAT_Debugv8p9 is implemented: 18 * 19 * MDCR_EL3.EBWE: Set to 0b1 20 * Enables use of additional breakpoints or watchpoints, 21 * and disables trap to EL3 on accesses to debug register. 22 */ 23 24 mdcr_el3_val |= MDCR_EBWE_BIT; 25 write_ctx_reg(state, CTX_MDCR_EL3, mdcr_el3_val); 26 } 27