]> git.karo-electronics.de Git - karo-tx-linux.git/commit
MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT
authorJayachandran C <jchandra@broadcom.com>
Wed, 25 Sep 2013 10:58:04 +0000 (16:28 +0530)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 25 Sep 2013 16:09:13 +0000 (18:09 +0200)
commitcfd42b376ab1c0125087a1585f173cae9788130f
treec234c762953bcbcbc2f2a94177cb77c3d99d1e5f
parenta6b490eae14558926f1f0bd4504ad469359bdf3a
MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT

Allow usage of scratch register for current pgd even when
MIPS_PGD_C0_CONTEXT is not configured. MIPS_PGD_C0_CONTEXT is set
for 64r2 platforms to indicate availability of Xcontext for saving
cpuid, thus freeing Context to be used for saving PGD. This option
was also tied to using a scratch register for storing PGD.

This commit will allow usage of scratch register to store the current
pgd if one can be allocated for the platform, even when
MIPS_PGD_C0_CONTEXT is not set. The cpuid will be kept in the CP0
Context register in this case.

The code to store the current pgd for the TLB miss handler is now
generated in all cases. When scratch register is available, the PGD
is also stored in the scratch register.

Signed-off-by: Jayachandran C <jchandra@broadcom.com>
Cc: linux-mips@linux-mips.org
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Patchwork: https://patchwork.linux-mips.org/patch/5906/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mmu_context.h
arch/mips/mm/tlb-funcs.S
arch/mips/mm/tlbex.c