Hi Harsimran,

On Wed, 29 Jul 2026 at 11:51, Harsimran Singh Tungal
<[email protected]> wrote:
>
> The FF-A EFI runtime variable path uses a shared MM communication buffer
> after ExitBootServices(). Before sending a request to the MM secure
> partition the buffer range must be flushed, and after the response the
> same range must be invalidated.
>
> Keep flush_dcache_range() and invalidate_dcache_range() available from
> EFI runtime code on arm64, together with the underlying assembly range
> helpers, so the FF-A runtime transport can maintain the shared buffer
> without using whole-cache operations after ExitBootServices().
>
> Reviewed-by: Simon Glass <[email protected]>
> Signed-off-by: Harsimran Singh Tungal <[email protected]>
> ---
>  arch/arm/cpu/armv8/cache.S    |  8 ++++++++
>  arch/arm/cpu/armv8/cache_v8.c | 13 +++++++++----
>  2 files changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/cpu/armv8/cache.S b/arch/arm/cpu/armv8/cache.S
> index c9e46859b4f..916558fe477 100644
> --- a/arch/arm/cpu/armv8/cache.S
> +++ b/arch/arm/cpu/armv8/cache.S
> @@ -169,7 +169,11 @@ ENDPROC(__asm_flush_l3_dcache)
>   * x0: start address
>   * x1: end address
>   */
> +#ifdef CONFIG_EFI_LOADER

This isn't needed in the general case, and I would prefer to keep
those functions inaccessible to the OS after EBS. Can't we limit it
even more on the ifdefery, and only keep them at runtime for FF-A?

[...]

Thanks
/Ilias

Reply via email to