In TLBPermissions, don't merge regions of different types
This commit is contained in:
parent
7871ec82c4
commit
74a7838de0
@ -18,6 +18,7 @@ case class TLBPermissions(
|
|||||||
object TLBPageLookup
|
object TLBPageLookup
|
||||||
{
|
{
|
||||||
private case class TLBFixedPermissions(
|
private case class TLBFixedPermissions(
|
||||||
|
t: RegionType.T,
|
||||||
r: Boolean, // readable
|
r: Boolean, // readable
|
||||||
w: Boolean, // writeable
|
w: Boolean, // writeable
|
||||||
x: Boolean, // executable
|
x: Boolean, // executable
|
||||||
@ -47,6 +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,
|
||||||
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