MIPS: mm: Fix broken microMIPS kernel regression.
Commit f4ae17aa0f
[MIPS: mm: Use scratch for
PGD when !CONFIG_MIPS_PGD_C0_CONTEXT] broke microMIPS kernel builds. This
patch refactors that code similar to what was done for the 'clear_page'
and 'copy_page' functions.
Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6744/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
f2d0801f00
commit
7bb3940940
|
@ -16,8 +16,10 @@
|
|||
|
||||
#define FASTPATH_SIZE 128
|
||||
|
||||
EXPORT(tlbmiss_handler_setup_pgd_start)
|
||||
LEAF(tlbmiss_handler_setup_pgd)
|
||||
.space 16 * 4
|
||||
1: j 1b /* Dummy, will be replaced. */
|
||||
.space 64
|
||||
END(tlbmiss_handler_setup_pgd)
|
||||
EXPORT(tlbmiss_handler_setup_pgd_end)
|
||||
|
||||
|
|
|
@ -1422,16 +1422,17 @@ static void build_r4000_tlb_refill_handler(void)
|
|||
extern u32 handle_tlbl[], handle_tlbl_end[];
|
||||
extern u32 handle_tlbs[], handle_tlbs_end[];
|
||||
extern u32 handle_tlbm[], handle_tlbm_end[];
|
||||
extern u32 tlbmiss_handler_setup_pgd[], tlbmiss_handler_setup_pgd_end[];
|
||||
extern u32 tlbmiss_handler_setup_pgd_start[], tlbmiss_handler_setup_pgd[];
|
||||
extern u32 tlbmiss_handler_setup_pgd_end[];
|
||||
|
||||
static void build_setup_pgd(void)
|
||||
{
|
||||
const int a0 = 4;
|
||||
const int __maybe_unused a1 = 5;
|
||||
const int __maybe_unused a2 = 6;
|
||||
u32 *p = tlbmiss_handler_setup_pgd;
|
||||
u32 *p = tlbmiss_handler_setup_pgd_start;
|
||||
const int tlbmiss_handler_setup_pgd_size =
|
||||
tlbmiss_handler_setup_pgd_end - tlbmiss_handler_setup_pgd;
|
||||
tlbmiss_handler_setup_pgd_end - tlbmiss_handler_setup_pgd_start;
|
||||
#ifndef CONFIG_MIPS_PGD_C0_CONTEXT
|
||||
long pgdc = (long)pgd_current;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue