parisc: speed up flush_tlb_all_local with qemu
When started in qemu, we know that qemu will drop all local TLB entries on any pxtlbe instruction. So, if we detect qemu, replace the whole flush_tlb_all_local function by one pdtlbe instruction. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
82992fc70f
commit
a5ff2130a4
|
@ -174,6 +174,15 @@ fdtdone:
|
|||
|
||||
2: bv %r0(%r2)
|
||||
nop
|
||||
|
||||
/*
|
||||
* When running in qemu, drop whole flush_tlb_all_local function and
|
||||
* replace by one pdtlbe instruction, for which QEMU will drop all
|
||||
* local TLB entries.
|
||||
*/
|
||||
3: pdtlbe %r0(%sr1,%r0)
|
||||
bv,n %r0(%r2)
|
||||
ALTERNATIVE_CODE(flush_tlb_all_local, 2, ALT_COND_RUN_ON_QEMU, 3b)
|
||||
ENDPROC_CFI(flush_tlb_all_local)
|
||||
|
||||
.import cache_info,data
|
||||
|
|
Loading…
Reference in New Issue