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

Tony Lindgren
2007-11-23T21:15:28Z

* Woodruff, Richard <r-woodruff2@ti.com> [071120 08:16]:
> > 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.

Pushing today.

Tony