mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
parisc: Flush ITLB in flush_tlb_all_local() only on split TLB machines
flush_tlb_all_local() flushes the ITLB and DTLB of the CPU. In case the machine does not have separate ITLBs and DTLBs, use the alternative functionality to replace the code which flushes the ITLB with nops while keeping the code which flushes the DTLB. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
f5e03d3a04
commit
69245c9756
@ -63,7 +63,7 @@ ENTRY_CFI(flush_tlb_all_local)
|
||||
|
||||
/* Flush Instruction Tlb */
|
||||
|
||||
LDREG ITLB_SID_BASE(%r1), %r20
|
||||
88: LDREG ITLB_SID_BASE(%r1), %r20
|
||||
LDREG ITLB_SID_STRIDE(%r1), %r21
|
||||
LDREG ITLB_SID_COUNT(%r1), %r22
|
||||
LDREG ITLB_OFF_BASE(%r1), %arg0
|
||||
@ -103,6 +103,7 @@ fitonemiddle: /* Loop if LOOP = 1 */
|
||||
add %r21, %r20, %r20 /* increment space */
|
||||
|
||||
fitdone:
|
||||
ALTERNATIVE(88b, fitdone, ALT_COND_NO_SPLIT_TLB, INSN_NOP)
|
||||
|
||||
/* Flush Data Tlb */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user