[ARM] 4078/1: Fix ARM copypage cache coherency problems
authorRichard Purdie <rpurdie@rpsys.net>
Sat, 30 Dec 2006 15:08:50 +0000 (16:08 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 30 Dec 2006 17:05:08 +0000 (17:05 +0000)
commit1c9d3df5e88ad7db23f5b22f4341c39722a904a4
treedbabefd52a5f8a5f35216bda33f29e4b9b398569
parentb0b1d60a64054697ef828e0565f006cc0f823590
[ARM] 4078/1: Fix ARM copypage cache coherency problems

If PG_dcache_dirty is set for a page, we need to flush the source page
before performing any copypage operation using a different virtual address.

This fixes the copypage implementations for XScale, StrongARM and ARMv6.

This patch fixes segmentation faults seen in the dynamic linker under
the usage patterns in glibc 2.4/2.5.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/copypage-v4mc.c
arch/arm/mm/copypage-v6.c
arch/arm/mm/copypage-xscale.c
include/asm-arm/cacheflush.h