linux/arch/arc/mm
Vineet Gupta 3e87974dec ARC: Brown paper bag bug in macro for checking cache color
The VM_EXEC check in update_mmu_cache() was getting optimized away
because of a stupid error in definition of macro addr_not_cache_congruent()

The intention was to have the equivalent of following:

	if (a || (1 ? b : 0))

but we ended up with following:

	if (a || 1 ? b : 0)

And because precedence of '||' is more that that of '?', gcc was optimizing
away evaluation of <a>

Nasty Repercussions:
1. For non-aliasing configs it would mean some extraneous dcache flushes
   for non-code pages if U/K mappings were not congruent.
2. For aliasing config, some needed dcache flush for code pages might
   be missed if U/K mappings were congruent.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-23 14:24:52 +05:30
..
cache_arc700.c ARC: [mm] Prevent stray dcache lines after__sync_icache_dcach() 2013-05-23 10:26:33 +05:30
dma.c ARC: I/O and DMA Mappings 2013-02-15 23:15:54 +05:30
extable.c ARC: Fix coding style issues 2013-04-09 12:21:14 +05:30
fault.c ARC: Remove unneeded version.h header include 2013-04-09 12:21:14 +05:30
init.c ARC port updates for Linux 3.10 (part 1) 2013-05-09 14:36:27 -07:00
ioremap.c ARC: Use <linux/*> headers instead of <asm/*> 2013-04-09 12:21:14 +05:30
Makefile ARC: [mm] Aliasing VIPT dcache support 4/4 2013-05-09 22:00:57 +05:30
mmap.c ARC: [mm] Aliasing VIPT dcache support 4/4 2013-05-09 22:00:57 +05:30
tlb.c ARC: Brown paper bag bug in macro for checking cache color 2013-05-23 14:24:52 +05:30
tlbex.S ARC: copy_(to|from)_user() to honor usermode-access permissions 2013-05-23 10:33:03 +05:30