In TLBPermissions, merge across some region types
We only care whether they have side effects or not.
This commit is contained in:
parent
6de6f38894
commit
a956b78dd2
@ -18,7 +18,7 @@ case class TLBPermissions(
|
|||||||
object TLBPageLookup
|
object TLBPageLookup
|
||||||
{
|
{
|
||||||
private case class TLBFixedPermissions(
|
private case class TLBFixedPermissions(
|
||||||
t: RegionType.T,
|
e: Boolean, // get-/put-effects
|
||||||
r: Boolean, // readable
|
r: Boolean, // readable
|
||||||
w: Boolean, // writeable
|
w: Boolean, // writeable
|
||||||
x: Boolean, // executable
|
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")
|
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(
|
(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
|
r = m.supportsGet || m.supportsAcquireB, // if cached, never uses Get
|
||||||
w = m.supportsPutFull || m.supportsAcquireT, // if cached, never uses Put
|
w = m.supportsPutFull || m.supportsAcquireT, // if cached, never uses Put
|
||||||
x = m.executable,
|
x = m.executable,
|
||||||
|
Loading…
Reference in New Issue
Block a user