aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/kvm/kvm_tlb.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/mips/kvm/kvm_tlb.c b/arch/mips/kvm/kvm_tlb.c
index 50ab9c4d4a5d..9d371ee0a755 100644
--- a/arch/mips/kvm/kvm_tlb.c
+++ b/arch/mips/kvm/kvm_tlb.c
@@ -222,16 +222,14 @@ kvm_mips_host_tlb_write(struct kvm_vcpu *vcpu, unsigned long entryhi,
222 return -1; 222 return -1;
223 } 223 }
224 224
225 if (idx < 0) {
226 idx = read_c0_random() % current_cpu_data.tlbsize;
227 write_c0_index(idx);
228 mtc0_tlbw_hazard();
229 }
230 write_c0_entrylo0(entrylo0); 225 write_c0_entrylo0(entrylo0);
231 write_c0_entrylo1(entrylo1); 226 write_c0_entrylo1(entrylo1);
232 mtc0_tlbw_hazard(); 227 mtc0_tlbw_hazard();
233 228
234 tlb_write_indexed(); 229 if (idx < 0)
230 tlb_write_random();
231 else
232 tlb_write_indexed();
235 tlbw_use_hazard(); 233 tlbw_use_hazard();
236 234
237#ifdef DEBUG 235#ifdef DEBUG