RE: [PATCH] flush I-cache after omap_sram_push()

Woodruff, Richard
2007-11-20T16:14:45Z

> This patch implements a suggestion by Richard Woodruff
> <r-woodruff2@ti.com>. omap_sram_push() copies executable code into
> SRAM memory. Currently this happens before Linux executes anything
> from the SRAM, so we don't have to worry about evicting any SRAM lines
> from the I-cache. But at some point in the future, the SRAM might be
> used more dynamically, adding and removing code while the system is
> running. So we should ensure that the I-cache is clean or at
> least up-to-date after the copy.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>

Signedoff-by: Richard Woodruff <r-woodruff2@ti.com>

> ---
> arch/arm/plat-omap/sram.c | 1 +
> 1 file changed, 1 insertion(+)
>
> Index: linux-omap/arch/arm/plat-omap/sram.c
> ===================================================================
> --- linux-omap.orig/arch/arm/plat-omap/sram.c 2007-11-16
> 17:41:42.000000000 -0700
> +++ linux-omap/arch/arm/plat-omap/sram.c 2007-11-16 17:43:18.000000000 -
> 0700
> @@ -216,6 +216,7 @@
> omap_sram_ceil -= size;
> omap_sram_ceil = ROUND_DOWN(omap_sram_ceil, sizeof(void *));
> memcpy((void *)omap_sram_ceil, start, size);
> + flush_icache_range((unsigned long)start, (unsigned long)(start +
> size));
>
> return (void *)omap_sram_ceil;
> }

Looks good.