From 63988cbf7e7c2b026c1b1debea7573bb7c851c04 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Tue, 15 Sep 2020 17:18:52 +0100 Subject: [PATCH] arch-arm: TlbEntry flush to be considered as functional lookup Otherwise we are unnecessarily shifting the TLB entry to the MRU position before invalidating it Change-Id: I43ee04cd5267829ab7357f4fe1ff745023adc598 Signed-off-by: Giacomo Travaglini Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35244 Reviewed-by: Nikos Nikoleris Tested-by: kokoro --- src/arch/arm/tlb.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc index bad16d83b..04b5cd409 100644 --- a/src/arch/arm/tlb.cc +++ b/src/arch/arm/tlb.cc @@ -446,7 +446,7 @@ TLB::_flushMva(Addr mva, uint64_t asn, bool secure_lookup, bool hyp = target_el == EL2; - te = lookup(mva, asn, vmid, hyp, secure_lookup, false, ignore_asn, + te = lookup(mva, asn, vmid, hyp, secure_lookup, true, ignore_asn, target_el, in_host); while (te != NULL) { if (secure_lookup == !te->nstid) { @@ -454,7 +454,7 @@ TLB::_flushMva(Addr mva, uint64_t asn, bool secure_lookup, te->valid = false; stats.flushedEntries++; } - te = lookup(mva, asn, vmid, hyp, secure_lookup, false, ignore_asn, + te = lookup(mva, asn, vmid, hyp, secure_lookup, true, ignore_asn, target_el, in_host); } } -- 2.30.2