From a956b78dd21d604c9bf60818c92b71b2d38a4d5d Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 17 Apr 2017 20:44:29 -0700 Subject: [PATCH] In TLBPermissions, merge across some region types We only care whether they have side effects or not. --- src/main/scala/rocket/TLBPermissions.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/rocket/TLBPermissions.scala b/src/main/scala/rocket/TLBPermissions.scala index e2e3debe..879680df 100644 --- a/src/main/scala/rocket/TLBPermissions.scala +++ b/src/main/scala/rocket/TLBPermissions.scala @@ -18,7 +18,7 @@ case class TLBPermissions( object TLBPageLookup { private case class TLBFixedPermissions( - t: RegionType.T, + e: Boolean, // get-/put-effects r: Boolean, // readable w: Boolean, // writeable x: Boolean, // executable @@ -48,7 +48,7 @@ object TLBPageLookup require (m.supportsAcquireT || !m.supportsAcquireB, s"MemoryMap region ${m.name} supports AcquireB (cached read) but not AcquireT (cached write)... and rocket assumes this") (m.address, TLBFixedPermissions( - t = m.regionType, + e = Seq(RegionType.PUT_EFFECTS, RegionType.GET_EFFECTS) contains m.regionType, r = m.supportsGet || m.supportsAcquireB, // if cached, never uses Get w = m.supportsPutFull || m.supportsAcquireT, // if cached, never uses Put x = m.executable,