linux/arch/ppc
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
..
4xx_io [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
8xx_io [PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem 2007-09-28 10:25:32 -05:00
8260_io [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
boot kbuild: restore arch/{ppc/xtensa}/boot cflags 2007-10-20 20:35:23 +02:00
configs [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
kernel [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
lib [POWERPC] User rheap from arch/powerpc/lib 2007-05-09 23:28:17 -05:00
mm [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
platforms [POWERPC] 4xx: Fix 4xx flush_tlb_page() 2007-11-01 07:15:09 -05:00
syslib [POWERPC] Uartlite: Revert register io access changes 2007-10-03 07:37:41 -05:00
xmon [POWERPC] PPC: Use ARRAY_SIZE macro when appropriate 2007-02-08 16:08:25 +11:00
.gitignore [POWERPC] Only ignore arch/ppc/include, not arch/ppc/boot/include 2007-08-17 11:01:51 +10:00
Kconfig Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
Kconfig.debug ppc: Remove CHRP, POWER3 and POWER4 support from arch/ppc 2006-03-28 10:22:10 +11:00
Makefile kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP 2007-10-15 22:17:25 +02:00