@@ -731,7 +731,7 @@ function legalize_sstatus(m : Mstatus, v : xlenbits) -> Mstatus = {
731
731
mapping clause csr_name_map = 0x100 <-> "sstatus"
732
732
function clause is_CSR_defined (0x100 ) = currentlyEnabled (Ext_S ) // sstatus
733
733
function clause read_CSR (0x100 ) = lower_mstatus (mstatus ). bits [xlen - 1 .. 0 ]
734
- function clause write_CSR (0x100 , value ) = { mstatus = legalize_sstatus (mstatus , value ); mstatus . bits [xlen - 1 .. 0 ] }
734
+ function clause write_CSR (0x100 , value ) = { mstatus = legalize_sstatus (mstatus , value ); lower_mstatus ( mstatus ) . bits [xlen - 1 .. 0 ] }
735
735
736
736
737
737
bitfield Sinterrupts : xlenbits = {
@@ -779,7 +779,7 @@ function legalize_sip(m : Minterrupts, d : Minterrupts, v : xlenbits) -> Minterr
779
779
mapping clause csr_name_map = 0x144 <-> "sip"
780
780
function clause is_CSR_defined (0x144 ) = currentlyEnabled (Ext_S ) // sip
781
781
function clause read_CSR (0x144 ) = lower_mip (mip , mideleg ). bits
782
- function clause write_CSR (0x144 , value ) = { mip = legalize_sip (mip , mideleg , value ); mip . bits }
782
+ function clause write_CSR (0x144 , value ) = { mip = legalize_sip (mip , mideleg , value ); lower_mip ( mip , mideleg ) . bits }
783
783
784
784
785
785
// sie
@@ -801,7 +801,7 @@ function legalize_sie(m : Minterrupts, d : Minterrupts, v : xlenbits) -> Minterr
801
801
mapping clause csr_name_map = 0x104 <-> "sie"
802
802
function clause is_CSR_defined (0x104 ) = currentlyEnabled (Ext_S ) // sie
803
803
function clause read_CSR (0x104 ) = lower_mie (mie , mideleg ). bits
804
- function clause write_CSR (0x104 , value ) = { mie = legalize_sie (mie , mideleg , value ); mie . bits }
804
+ function clause write_CSR (0x104 , value ) = { mie = legalize_sie (mie , mideleg , value ); lower_mie ( mie , mideleg ) . bits }
805
805
806
806
807
807
/* other non-VM related supervisor state */
0 commit comments