BusBlocker: change default policy to deny
This commit is contained in:
		| @@ -62,10 +62,9 @@ object DevicePMP | |||||||
|   def apply(addressBits: Int) = { |   def apply(addressBits: Int) = { | ||||||
|     val out = Wire(new DevicePMP(DevicePMPParams(addressBits))) |     val out = Wire(new DevicePMP(DevicePMPParams(addressBits))) | ||||||
|     out.l := UInt(0) |     out.l := UInt(0) | ||||||
|     out.a := UInt(1) // TOR |     out.a := UInt(0) | ||||||
|     out.r := UInt(0) |     out.r := UInt(0) | ||||||
|     out.w := UInt(0) |     out.w := UInt(0) | ||||||
|     out.addr_hi := ~UInt(0, width=addressBits-12) |  | ||||||
|     out |     out | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -101,7 +100,7 @@ class BusBlocker(params: BusBlockerParams)(implicit p: Parameters) extends TLBus | |||||||
|     val lte = Bool(false) +: pmps.map(in.a.bits.address < _.address) |     val lte = Bool(false) +: pmps.map(in.a.bits.address < _.address) | ||||||
|     val sel = (pmps.map(_.a) zip (lte.init zip lte.tail)) map { case (a, (l, r)) => a(0) && !l && r } |     val sel = (pmps.map(_.a) zip (lte.init zip lte.tail)) map { case (a, (l, r)) => a(0) && !l && r } | ||||||
|     val ok = pmps.map(p => (p.r(0) || !needR) && (p.w(0) || !needW)) |     val ok = pmps.map(p => (p.r(0) || !needR) && (p.w(0) || !needW)) | ||||||
|     val allow = PriorityMux(sel :+ Bool(true), ok :+ Bool(true)) // no match => allow |     val allow = PriorityMux(sel :+ Bool(true), ok :+ Bool(false)) // no match => deny | ||||||
|  |  | ||||||
|     bar.module.io.bypass := !allow |     bar.module.io.bypass := !allow | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user