powerpc/mm/radix: Update PID switch sequence
Update the PID switch as per ISA doc. slbia is needed in radix to invalidate any implementation specific lookaside information. We use the .long format due to build errors with the below compiler version. gcc (Ubuntu 5.3.1-14ubuntu2.1) 5.3.1 20160413 GNU assembler (GNU Binutils for Ubuntu) 2.26 CC arch/powerpc/mm//mmu_context_book3s64.o {standard input}: Assembler messages: {standard input}:506: Error: junk at end of line: `0x7' scripts/Makefile.build:291: recipe for target 'arch/powerpc/mm//mmu_context_book3s64.o' failed make[1]: *** [arch/powerpc/mm//mmu_context_book3s64.o] Error 1 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
4b7a350480
commit
09cf5bcb0c
@@ -181,7 +181,10 @@ void destroy_context(struct mm_struct *mm)
|
||||
#ifdef CONFIG_PPC_RADIX_MMU
|
||||
void radix__switch_mmu_context(struct mm_struct *prev, struct mm_struct *next)
|
||||
{
|
||||
mtspr(SPRN_PID, next->context.id);
|
||||
asm volatile("isync": : :"memory");
|
||||
mtspr(SPRN_PID, next->context.id);
|
||||
asm volatile("isync \n"
|
||||
PPC_SLBIA(0x7)
|
||||
: : :"memory");
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user