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
	
	Block a user