]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit6ff9fc0472f94cf1f3e0ed91aca811d6e3f340c5
tree091ca0ef40c1f116b9b2da09148cb1f09158be2f
parentdc6a9de8dff5e55717b51408acf50a0deef17515
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