From 10c39cb8d6659bc970b1882c0699ce13f21c3e52 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 22 Mar 2017 17:18:04 -0700 Subject: [PATCH] Disable mprv in D-mode --- src/main/scala/rocket/CSR.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/rocket/CSR.scala b/src/main/scala/rocket/CSR.scala index 91311f5c..f4a8d460 100644 --- a/src/main/scala/rocket/CSR.scala +++ b/src/main/scala/rocket/CSR.scala @@ -467,7 +467,7 @@ class CSRFile(perfEventSets: EventSets = new EventSets(Seq()))(implicit p: Param io.status.isa := reg_misa io.status.uxl := (if (usingUser) log2Ceil(xLen) - 4 else 0) io.status.sxl := (if (usingVM) log2Ceil(xLen) - 4 else 0) - io.status.dprv := Reg(next = Mux(reg_mstatus.mprv, reg_mstatus.mpp, reg_mstatus.prv)) + io.status.dprv := Reg(next = Mux(reg_mstatus.mprv && !reg_debug, reg_mstatus.mpp, reg_mstatus.prv)) if (xLen == 32) io.status.sd_rv32 := io.status.sd