mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 13:11:40 +00:00
MIPS: Allow R2 CPUs to turn off generation of 'ehb' instructions.
Some CPUs do not need ehb instructions after writing CP0 registers. By allowing ehb generation to be overridden in cpu-feature-overrides.h, we can save a few instructions in the TLB handler hot paths. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
95affdda9b
commit
41f0e4d041
@ -147,6 +147,10 @@
|
||||
#define cpu_has_mips_r (cpu_has_mips32r1 | cpu_has_mips32r2 | \
|
||||
cpu_has_mips64r1 | cpu_has_mips64r2)
|
||||
|
||||
#ifndef cpu_has_mips_r2_exec_hazard
|
||||
#define cpu_has_mips_r2_exec_hazard cpu_has_mips_r2
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other
|
||||
* pre-MIPS32/MIPS53 processors have CLO, CLZ. For 64-bit kernels
|
||||
|
@ -259,7 +259,8 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
|
||||
}
|
||||
|
||||
if (cpu_has_mips_r2) {
|
||||
uasm_i_ehb(p);
|
||||
if (cpu_has_mips_r2_exec_hazard)
|
||||
uasm_i_ehb(p);
|
||||
tlbw(p);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user