[PATCH 1/4] ARM: Remove the domain switching on ARMv6k/v7 CPUs

Catalin Marinas catalin.marinas at arm.com
Mon May 24 10:02:24 EDT 2010


On Mon, 2010-05-24 at 14:59 +0100, Russell King - ARM Linux wrote:
> On Mon, May 24, 2010 at 02:52:52PM +0100, Catalin Marinas wrote:
> > @@ -77,7 +78,11 @@ int show_fiq_list(struct seq_file *p, void *v)
> > 
> >  void set_fiq_handler(void *start, unsigned int length)
> >  {
> > +#if defined(CONFIG_CPU_USE_DOMAINS)
> >       memcpy((void *)0xffff001c, start, length);
> > +#else
> > +     memcpy(vectors_page + 0x1c, start, length);
> > +#endif
> >       flush_icache_range(0xffff001c, 0xffff001c + length);
> 
> This is clearly buggy from an I/D coherency point of view.

As I said, it only works on VIPT non-aliasing caches, which would be
fine give the CPUs that this patch targets. If you think it's safer, we
can restrict this patch for ARMv7 onwards.

-- 
Catalin




More information about the linux-arm-kernel mailing list