linux/arch
Benjamin Herrenschmidt b98ac05d5e [POWERPC] 4xx: Deal with 44x virtually tagged icache
The 44x family has an interesting "feature" which is a virtually
tagged instruction cache (yuck !). So far, we haven't dealt with
it properly, which means we've been mostly lucky or people didn't
report the problems, unless people have been running custom patches
in their distro...

This is an attempt at fixing it properly. I chose to do it by
setting a global flag whenever we change a PTE that was previously
marked executable, and flush the entire instruction cache upon
return to user space when that happens.

This is a bit heavy handed, but it's hard to do more fine grained
flushes as the icbi instruction, on those processor, for some very
strange reasons (since the cache is virtually mapped) still requires
a valid TLB entry for reading in the target address space, which
isn't something I want to deal with.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2007-11-01 07:15:30 -05:00
..
alpha alpha: sg_virt() fallout 2007-10-23 12:31:05 +02:00
arm Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
avr32 [AVR32] ARRAY_SIZE() cleanup 2007-10-23 11:20:26 +02:00
blackfin Blackfin arch: reclaim a few bytes from the end of our init section 2007-10-30 12:00:02 +08:00
cris typo fixes 2007-10-20 01:34:40 +02:00
frv scatterlist fallout: frv 2007-10-27 22:18:11 -07:00
h8300 Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
ia64 [IA64] Fix incorrect return value from ia64_setup_msi_irq() 2007-10-30 09:54:47 -07:00
m32r spelling fixes: arch/m32r/ 2007-10-20 01:14:39 +02:00
m68k m68k: sg fallout 2007-10-24 08:55:40 +02:00
m68knommu m68knommu: mark mem init functions as __init 2007-10-23 20:45:44 -07:00
mips [MIPS] tb0219: Update copyright message. 2007-10-29 19:35:37 +00:00
parisc parisc: fix sg_page() fallout 2007-10-23 09:49:31 +02:00
powerpc [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
ppc [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
s390 Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
sh Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
sh64 Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
sparc [SPARC32]: Fix build-warning in io-unit.c 2007-10-27 00:54:14 -07:00
sparc64 [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
um misc uml annotation and section fixes 2007-10-29 07:41:32 -07:00
v850 spelling fixes: arch/v850/ 2007-10-20 01:24:05 +02:00
x86 Remove bogus default y for DMAR and NET_DMA 2007-10-30 08:06:55 -07:00
xtensa Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00