On Tue, 16 Sept 2025 at 14:22, Anshul Dalal <ansh...@ti.com> 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>
> ---

Acked-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>

>  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
> --
> 2.51.0
>

Reply via email to