android_kernel_xiaomi_sdm845/arch/powerpc
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
..
boot [POWERPC] bootwrapper: Bail from script if any command fails 2007-11-01 07:11:11 -05:00
configs Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge 2007-10-23 22:20:51 +10:00
kernel [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
lib [POWERPC] rheap: Changes config mechanism 2007-10-16 17:09:21 -06:00
math-emu [POWERPC] Fix handling of stfiwx math emulation 2007-10-16 09:05:24 -05:00
mm [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
platforms Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge 2007-10-23 22:20:51 +10:00
sysdev [POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon. 2007-10-21 10:52:02 -06:00
xmon [POWERPC] fix showing xmon help 2007-07-22 21:30:58 +10:00
.gitignore [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
Kconfig Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
Kconfig.debug [POWERPC] 4xx: Split early debug output and early boot console for 44x 2007-10-19 16:18:18 -05:00
Makefile kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP 2007-10-15 22:17:25 +02:00