Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5ff2130 authored by Helge Deller's avatar Helge Deller
Browse files

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: default avatarHelge Deller <deller@gmx.de>
parent 82992fc7
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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