diff --git a/src/main/scala/rocket/CSR.scala b/src/main/scala/rocket/CSR.scala index dbdaed911a7..179286a8739 100644 --- a/src/main/scala/rocket/CSR.scala +++ b/src/main/scala/rocket/CSR.scala @@ -1343,7 +1343,6 @@ class CSRFile( reg_vsstatus.sum := new_vsstatus.sum reg_vsstatus.fs := formFS(new_vsstatus.fs) reg_vsstatus.vs := formVS(new_vsstatus.vs) - if (usingRoCC) reg_vsstatus.xs := Fill(2, new_vsstatus.xs.orR) } when (decoded_addr(CSRs.vsip)) { val new_vsip = new MIP().fromBits((read_hip & ~read_hideleg) | ((wdata << 1) & read_hideleg)) @@ -1484,6 +1483,7 @@ class CSRFile( if (!(vmIdBits > 0)) { reg_hgatp.asid := 0.U } + reg_vsstatus.xs := (if (usingRoCC) UInt(3) else UInt(0)) if (nBreakpoints <= 1) reg_tselect := 0 for (bpc <- reg_bp map {_.control}) {