ARC: lazy dcache flush broke gdb in non-aliasing configs
authorVineet Gupta <vgupta@synopsys.com>
Sat, 25 May 2013 08:34:25 +0000 (14:04 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Sat, 25 May 2013 08:45:55 +0000 (14:15 +0530)
commit7bb66f6e6eecdd8e10ed3a63bd28c1e9105adc79
tree091ca0ef40c1f116b9b2da09148cb1f09158be2f
parent006dfb3c9c44192f06093d65b3a876fa5ad1319a
ARC: lazy dcache flush broke gdb in non-aliasing configs

gdbserver inserting a breakpoint ends up calling copy_user_page() for a
code page. The generic version of which (non-aliasing config) didn't set
the PG_arch_1 bit hence update_mmu_cache() didn't sync dcache/icache for
corresponding dynamic loader code page - causing garbade to be executed.

So now aliasing versions of copy_user_highpage()/clear_page() are made
default. There is no significant overhead since all of special alias
handling code is compiled out for non-aliasing build

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/page.h
arch/arc/mm/cache_arc700.c