target/arm: Export arm_v7m_mrs_control
Allow the function to be used outside of m_helper.c. Rename with an "arm_" prefix. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: David Reiss <dreiss@meta.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20230227213329.793795-13-richard.henderson@linaro.org [rth: Split out of a larger patch] Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
e995d5cce4
commit
48688c9441
|
@ -1357,6 +1357,9 @@ void arm_cpu_pauth_finalize(ARMCPU *cpu, Error **errp);
|
|||
void arm_cpu_lpa2_finalize(ARMCPU *cpu, Error **errp);
|
||||
#endif
|
||||
|
||||
/* Read the CONTROL register as the MRS instruction would. */
|
||||
uint32_t arm_v7m_mrs_control(CPUARMState *env, uint32_t secure);
|
||||
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
static inline void define_cortex_a72_a57_a53_cp_reginfo(ARMCPU *cpu) { }
|
||||
#else
|
||||
|
|
|
@ -56,7 +56,7 @@ static uint32_t v7m_mrs_xpsr(CPUARMState *env, uint32_t reg, unsigned el)
|
|||
return xpsr_read(env) & mask;
|
||||
}
|
||||
|
||||
static uint32_t v7m_mrs_control(CPUARMState *env, uint32_t secure)
|
||||
uint32_t arm_v7m_mrs_control(CPUARMState *env, uint32_t secure)
|
||||
{
|
||||
uint32_t value = env->v7m.control[secure];
|
||||
|
||||
|
@ -93,7 +93,7 @@ uint32_t HELPER(v7m_mrs)(CPUARMState *env, uint32_t reg)
|
|||
case 0 ... 7: /* xPSR sub-fields */
|
||||
return v7m_mrs_xpsr(env, reg, 0);
|
||||
case 20: /* CONTROL */
|
||||
return v7m_mrs_control(env, 0);
|
||||
return arm_v7m_mrs_control(env, 0);
|
||||
default:
|
||||
/* Unprivileged reads others as zero. */
|
||||
return 0;
|
||||
|
@ -2465,7 +2465,7 @@ uint32_t HELPER(v7m_mrs)(CPUARMState *env, uint32_t reg)
|
|||
case 0 ... 7: /* xPSR sub-fields */
|
||||
return v7m_mrs_xpsr(env, reg, el);
|
||||
case 20: /* CONTROL */
|
||||
return v7m_mrs_control(env, env->v7m.secure);
|
||||
return arm_v7m_mrs_control(env, env->v7m.secure);
|
||||
case 0x94: /* CONTROL_NS */
|
||||
/*
|
||||
* We have to handle this here because unprivileged Secure code
|
||||
|
|
Loading…
Reference in New Issue