From 5352497edbb12eb45b71cce2ed3631f6044894fc Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 2 May 2016 19:48:39 -0700 Subject: [PATCH] MPRV takes effect regardless of privilege mode --- rocket/src/main/scala/tlb.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocket/src/main/scala/tlb.scala b/rocket/src/main/scala/tlb.scala index 700736c3..909f49e1 100644 --- a/rocket/src/main/scala/tlb.scala +++ b/rocket/src/main/scala/tlb.scala @@ -125,7 +125,7 @@ class TLB(implicit p: Parameters) extends TLBModule()(p) { val plru = new PseudoLRU(entries) val repl_waddr = Mux(has_invalid_entry, invalid_entry, plru.replace) - val do_mprv = io.ptw.status.prv === PRV.M && io.ptw.status.mprv && !io.req.bits.instruction + val do_mprv = io.ptw.status.mprv && !io.req.bits.instruction val priv = Mux(do_mprv, io.ptw.status.mpp, io.ptw.status.prv) val priv_s = priv === PRV.S val priv_uses_vm = priv <= PRV.S