powerpc/e6500: Make TLB lock recursive
authorScott Wood <scottwood@freescale.com>
Fri, 7 Mar 2014 20:48:35 +0000 (14:48 -0600)
committerScott Wood <scottwood@freescale.com>
Thu, 20 Mar 2014 00:57:13 +0000 (19:57 -0500)
commit82d86de25b9c99db546e17c6f7ebf9a691da557e
tree3d977f76fa266367c7faa95567bc72e199a73db5
parentc4787d1ecfefce86971c1360ed5cef36af6182db
powerpc/e6500: Make TLB lock recursive

Once special level interrupts are supported, we may take nested TLB
misses -- so allow the same thread to acquire the lock recursively.

The lock will not be effective against the nested TLB miss handler
trying to write the same entry as the interrupted TLB miss handler, but
that's also a problem on non-threaded CPUs that lack TLB write
conditional.  This will be addressed in the patch that enables crit/mc
support by invalidating the TLB on return from level exceptions.

Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/include/asm/mmu-book3e.h
arch/powerpc/kernel/setup_64.c
arch/powerpc/mm/tlb_low_64e.S