[POWERPC] 4xx: Fix 4xx flush_tlb_page()
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 29 Oct 2007 22:46:06 +0000 (09:46 +1100)
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>
Thu, 1 Nov 2007 12:15:09 +0000 (07:15 -0500)
commite701d269aa28996f3502780951fe1b12d5d66b49
treea55db7df5755bf9c69f466432786de7e7e445ba8
parent57d75561be5496289601b2c94787ec38c718fcae
[POWERPC] 4xx: Fix 4xx flush_tlb_page()

On 4xx CPUs, the current implementation of flush_tlb_page() uses
a low level _tlbie() assembly function that only works for the
current PID. Thus, invalidations caused by, for example, a COW
fault triggered by get_user_pages() from a different context will
not work properly, causing among other things, gdb breakpoints
to fail.

This patch adds a "pid" argument to _tlbie() on 4xx processors,
and uses it to flush entries in the right context. FSL BookE
also gets the argument but it seems they don't need it (their
tlbivax form ignores the PID when invalidating according to the
document I have).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
arch/powerpc/kernel/misc_32.S
arch/powerpc/mm/fault.c
arch/powerpc/mm/mmu_decl.h
arch/ppc/kernel/misc.S
arch/ppc/mm/fault.c
arch/ppc/mm/mmu_decl.h
arch/ppc/platforms/4xx/ebony.c
arch/ppc/platforms/4xx/ocotea.c
arch/ppc/platforms/4xx/taishan.c
include/asm-powerpc/tlbflush.h