diff options
author | Javier Bueno <javier.bueno@metempsy.com> | 2019-05-14 10:14:23 +0200 |
---|---|---|
committer | Javier Bueno Hedo <javier.bueno@metempsy.com> | 2019-05-14 14:56:34 +0000 |
commit | abd33d6fd26bb69d3bf53ceb6c2dc8f90d893e34 (patch) | |
tree | 4f5210a71176c24f61b6cf95697fa1ace9200bf6 /src/arch | |
parent | f0a53b8024836b3916d78453f37f9068781232a8 (diff) | |
download | gem5-abd33d6fd26bb69d3bf53ceb6c2dc8f90d893e34.tar.xz |
arch-arm: Do not check MustBeOne flag for TLB requests from the prefetcher
Allow TLB requests generated from prefetchers to override the
MustBeOne arch flag. This allows the prefetchers to issue requests
without having to know architecutre-specific flags.
Change-Id: Id83e0c93f3d1a614da11c4f344ab4dc594423672
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18768
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/tlb.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc index 4b43a50a4..f30e195c1 100644 --- a/src/arch/arm/tlb.cc +++ b/src/arch/arm/tlb.cc @@ -586,7 +586,7 @@ TLB::translateSe(const RequestPtr &req, ThreadContext *tc, Mode mode, bool is_write = (mode == Write); if (!is_fetch) { - assert(flags & MustBeOne); + assert(flags & MustBeOne || req->isPrefetch()); if (sctlr.a || !(flags & AllowUnaligned)) { if (vaddr & mask(flags & AlignmentMask)) { // LPAE is always disabled in SE mode @@ -1038,7 +1038,7 @@ TLB::translateFs(const RequestPtr &req, ThreadContext *tc, Mode mode, req->setFlags(Request::STRICT_ORDER); } if (!is_fetch) { - assert(flags & MustBeOne); + assert(flags & MustBeOne || req->isPrefetch()); if (sctlr.a || !(flags & AllowUnaligned)) { if (vaddr & mask(flags & AlignmentMask)) { alignFaults++; |