mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-14 08:34:02 +08:00
MIPS: tlbex: Simplify r3k check
We already know whether a CPU has r3k style exceptions, including TLB exceptions, by checking cpu_has_3kex. Remove the list of CPU types in build_tlb_refill_handler() & check cpu_has_3kex instead. Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: linux-mips@vger.kernel.org
This commit is contained in:
parent
5474682934
commit
54e8d9f07d
@ -2607,14 +2607,7 @@ void build_tlb_refill_handler(void)
|
|||||||
check_for_high_segbits = current_cpu_data.vmbits > (PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
|
check_for_high_segbits = current_cpu_data.vmbits > (PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch (current_cpu_type()) {
|
if (cpu_has_3kex) {
|
||||||
case CPU_R2000:
|
|
||||||
case CPU_R3000:
|
|
||||||
case CPU_R3000A:
|
|
||||||
case CPU_R3081E:
|
|
||||||
case CPU_TX3912:
|
|
||||||
case CPU_TX3922:
|
|
||||||
case CPU_TX3927:
|
|
||||||
#ifndef CONFIG_MIPS_PGD_C0_CONTEXT
|
#ifndef CONFIG_MIPS_PGD_C0_CONTEXT
|
||||||
if (cpu_has_local_ebase)
|
if (cpu_has_local_ebase)
|
||||||
build_r3000_tlb_refill_handler();
|
build_r3000_tlb_refill_handler();
|
||||||
@ -2631,30 +2624,29 @@ void build_tlb_refill_handler(void)
|
|||||||
#else
|
#else
|
||||||
panic("No R3000 TLB refill handler");
|
panic("No R3000 TLB refill handler");
|
||||||
#endif
|
#endif
|
||||||
break;
|
return;
|
||||||
|
|
||||||
default:
|
|
||||||
if (cpu_has_ldpte)
|
|
||||||
setup_pw();
|
|
||||||
|
|
||||||
if (!run_once) {
|
|
||||||
scratch_reg = allocate_kscratch();
|
|
||||||
build_setup_pgd();
|
|
||||||
build_r4000_tlb_load_handler();
|
|
||||||
build_r4000_tlb_store_handler();
|
|
||||||
build_r4000_tlb_modify_handler();
|
|
||||||
if (cpu_has_ldpte)
|
|
||||||
build_loongson3_tlb_refill_handler();
|
|
||||||
else if (!cpu_has_local_ebase)
|
|
||||||
build_r4000_tlb_refill_handler();
|
|
||||||
flush_tlb_handlers();
|
|
||||||
run_once++;
|
|
||||||
}
|
|
||||||
if (cpu_has_local_ebase)
|
|
||||||
build_r4000_tlb_refill_handler();
|
|
||||||
if (cpu_has_xpa)
|
|
||||||
config_xpa_params();
|
|
||||||
if (cpu_has_htw)
|
|
||||||
config_htw_params();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cpu_has_ldpte)
|
||||||
|
setup_pw();
|
||||||
|
|
||||||
|
if (!run_once) {
|
||||||
|
scratch_reg = allocate_kscratch();
|
||||||
|
build_setup_pgd();
|
||||||
|
build_r4000_tlb_load_handler();
|
||||||
|
build_r4000_tlb_store_handler();
|
||||||
|
build_r4000_tlb_modify_handler();
|
||||||
|
if (cpu_has_ldpte)
|
||||||
|
build_loongson3_tlb_refill_handler();
|
||||||
|
else if (!cpu_has_local_ebase)
|
||||||
|
build_r4000_tlb_refill_handler();
|
||||||
|
flush_tlb_handlers();
|
||||||
|
run_once++;
|
||||||
|
}
|
||||||
|
if (cpu_has_local_ebase)
|
||||||
|
build_r4000_tlb_refill_handler();
|
||||||
|
if (cpu_has_xpa)
|
||||||
|
config_xpa_params();
|
||||||
|
if (cpu_has_htw)
|
||||||
|
config_htw_params();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user