From b9fef3aee17ca34da809c7b49aa9be82a37a0381 Mon Sep 17 00:00:00 2001 From: Yinan Xu Date: Tue, 14 May 2024 16:26:17 +0800 Subject: [PATCH] CSR: sstatus.fs should be read-only zero NutShell does not have F/D extensions. FS is read-only zero. --- ready-to-run/riscv64-nemu-interpreter-so | Bin 132208 -> 132280 bytes src/main/scala/nutcore/backend/fu/CSR.scala | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ready-to-run/riscv64-nemu-interpreter-so b/ready-to-run/riscv64-nemu-interpreter-so index aff12c098e86f08782f7032a3197f65136f8736b..0d125232ecff912250e672554523c52d9733b2a0 100755 GIT binary patch delta 51218 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 Z`y^bL9F7^4Uy&~{VT$^MW+o||p_ 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 diff --git a/src/main/scala/nutcore/backend/fu/CSR.scala b/src/main/scala/nutcore/backend/fu/CSR.scala index d1000294..b2cc9abe 100644 --- a/src/main/scala/nutcore/backend/fu/CSR.scala +++ b/src/main/scala/nutcore/backend/fu/CSR.scala @@ -336,7 +336,13 @@ class CSR(implicit val p: NutCoreConfig) extends NutCoreModule with HasCSRConst{ // Superviser-Level CSRs // val sstatus = RegInit(UInt(XLEN.W), "h00000000".U) - val sstatusWmask = "hc6122".U(64.W) + val sstatusWmask = (~ZeroExt(( + GenMask(63, 20) | // SD, WPRI, UXL, WPRI + GenMask(17, 9) | // WPRI, XS, FS, WPRI, VS + GenMask(7, 6) | // WPRI, UBE + GenMask(4, 2) | // WPRI + GenMask(0) // WPRI + ), 64)).asUInt // Sstatus Write Mask // ------------------------------------------------------- // 19 9 5 2