From: Giacomo Travaglini Date: Tue, 15 Sep 2020 16:18:52 +0000 (+0100) Subject: arch-arm: TlbEntry flush to be considered as functional lookup X-Git-Tag: develop-gem5-snapshot~521 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63988cbf7e7c2b026c1b1debea7573bb7c851c04;p=gem5.git 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 --- 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); } }