On 9/16/25 13:22, Anshul Dalal wrote:
> mmu_status is used in io memcpy functions to prevent accesses to non
> 8-byte aligned addresses when the mmu is disabled. Though there is a
> redundant definition enabled when icaches is turned off by setting
> SYS_ICACHE_OFF.
>
> This patch removes the redundant definition, allowing mmu_status to
> properly report the status regardless of config settings. This shouldn't
> be a problem since access to non 8-byte aligned data can be done
> irrespective of icache state.
>
> Fixes: 268f6ac1f95c ("arm64: Update memcpy_{from, to}io() helpers")
>
> Signed-off-by: Anshul Dalal <ansh...@ti.com>
> ---
> arch/arm/cpu/armv8/cache_v8.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c
> index 1dcb6007475..74814601483 100644
> --- a/arch/arm/cpu/armv8/cache_v8.c
> +++ b/arch/arm/cpu/armv8/cache_v8.c
> @@ -1184,11 +1184,6 @@ int icache_status(void)
> return (get_sctlr() & CR_I) != 0;
> }
>
> -int mmu_status(void)
> -{
> - return (get_sctlr() & CR_M) != 0;
> -}
> -
> void invalidate_icache_all(void)
> {
> __asm_invalidate_icache_all();
> @@ -1210,17 +1205,17 @@ int icache_status(void)
> return 0;
> }
>
> -int mmu_status(void)
> -{
> - return 0;
> -}
> -
> void invalidate_icache_all(void)
> {
> }
>
> #endif /* !CONFIG_IS_ENABLED(SYS_ICACHE_OFF) */
>
> +int mmu_status(void)
> +{
> + return (get_sctlr() & CR_M) != 0;
> +}
> +
> /*
> * Enable dCache & iCache, whether cache is actually enabled
> * depend on CONFIG_SYS_DCACHE_OFF and CONFIG_SYS_ICACHE_OFF
Reviewed-by: Patrice Chotard <patrice.chot...@foss.st.com>
Thanks
Patrice