/* * Copyright (c) 2022, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include #include #include void brbe_enable(void) { uint64_t val; if (is_feat_brbe_present()) { /* * MDCR_EL3.SBRBE = 0b01 * * Allows BRBE usage in non-secure world and prohibited in * secure world. */ val = read_mdcr_el3(); val &= ~(MDCR_SBRBE_MASK << MDCR_SBRBE_SHIFT); val |= (0x1UL << MDCR_SBRBE_SHIFT); write_mdcr_el3(val); } }