@@ -99,7 +99,7 @@ bits can actually be modified.
99
99
| Name | Floating-point accrued exceptions
100
100
| Address | `0x001`
101
101
| Reset value | `0x00000000`
102
- | ISA | `Zicsr` + `Zfinx`
102
+ | ISA | `Zicsr` & `Zfinx`
103
103
| Description | FPU status flags.
104
104
|=======================
105
105
@@ -126,7 +126,7 @@ bits can actually be modified.
126
126
| Name | Floating-point dynamic rounding mode
127
127
| Address | `0x002`
128
128
| Reset value | `0x00000000`
129
- | ISA | `Zicsr` + `Zfinx`
129
+ | ISA | `Zicsr` & `Zfinx`
130
130
| Description | The `frm` CSR is used to configure the rounding mode of the FPU.
131
131
|=======================
132
132
@@ -150,7 +150,7 @@ bits can actually be modified.
150
150
| Name | Floating-point control and status register
151
151
| Address | `0x003`
152
152
| Reset value | `0x00000000`
153
- | ISA | `Zicsr` + `Zfinx`
153
+ | ISA | `Zicsr` & `Zfinx`
154
154
| Description | The `fcsr` provides combined access to the <<_fflags>> and <<_frm>> flags.
155
155
|=======================
156
156
@@ -179,7 +179,7 @@ bits can actually be modified.
179
179
| Name | Machine environment configuration register
180
180
| Address | `0x30a`
181
181
| Reset value | `0x00000000`
182
- | ISA | `Zicsr` + `U`
182
+ | ISA | `Zicsr` & `U`
183
183
| Description | The features of this CSR are not implemented yet. The register is read-only and always returns zero.
184
184
|=======================
185
185
@@ -194,7 +194,7 @@ bits can actually be modified.
194
194
| Name | Machine environment configuration register - high word
195
195
| Address | `0x31a`
196
196
| Reset value | `0x00000000`
197
- | ISA | `Zicsr` + `U`
197
+ | ISA | `Zicsr` & `U`
198
198
| Description | The features of this CSR are not implemented yet. The register is read-only and always returns zero.
199
199
|=======================
200
200
@@ -336,7 +336,7 @@ interrupt is triggered or an exception is raised.
336
336
| Name | Machine counter enable
337
337
| Address | `0x306`
338
338
| Reset value | `0x00000000`
339
- | ISA | `Zicsr` + `U`
339
+ | ISA | `Zicsr` & `U`
340
340
| Description | The `mcounteren` CSR is used to constrain user-mode access to the CPU's counter CSRs.
341
341
This CSR is also available if U mode is disabled, but the register is hardwired to all-zero in this case.
342
342
|=======================
@@ -519,7 +519,7 @@ See section <<_pmp_isa_extension>> for more information.
519
519
| Name | PMP region configuration registers
520
520
| Address | `0x3a0` (`pmpcfg0`) ... `0x3a3` (`pmpcfg3`)
521
521
| Reset value | `0x00000000`
522
- | ISA | `Zicsr` + `PMP`
522
+ | ISA | `Zicsr` & `PMP`
523
523
| Description | Configuration of physical memory protection regions. Each region provides an individual 8-bit array in these CSRs.
524
524
|=======================
525
525
@@ -549,7 +549,7 @@ The `pmpaddr*` CSRs are used to configure the region's address boundaries.
549
549
| Name | Physical memory protection address registers
550
550
| Address | `0x3b0` (`pmpaddr0`) ... `0x3bf` (`pmpaddr15`)
551
551
| Reset value | `0x00000000`
552
- | ISA | `Zicsr` + `PMP`
552
+ | ISA | `Zicsr` & `PMP`
553
553
| Description | Region address configuration. The two MSBs of each CSR are hardwired to zero (= bits 33:32 of the physical address).
554
554
|=======================
555
555
@@ -586,7 +586,7 @@ if this instruction is actually going to retire or if it causes an exception.
586
586
| Address | `0xc00` (`cycle`)
587
587
| | `0xc80` (`cycleh`)
588
588
| Reset value | `0x00000000`
589
- | ISA | `Zicsr` + `Zicntr`
589
+ | ISA | `Zicsr` & `Zicntr`
590
590
| Description | The `cycle[h]` CSRs are user-mode shadow copies of the according <<_mcycleh>> CSRs. The user-mode
591
591
counter are read-only. Any write access will raise an illegal instruction exception.
592
592
|=======================
@@ -603,7 +603,7 @@ counter are read-only. Any write access will raise an illegal instruction except
603
603
| Address | `0xc02` (`instret`)
604
604
| | `0xc82` (`instreth`)
605
605
| Reset value | `0x00000000`
606
- | ISA | `Zicsr` + `Zicntr`
606
+ | ISA | `Zicsr` & `Zicntr`
607
607
| Description | The `instret[h]` CSRs are user-mode shadow copies of the according <<_minstreth>> CSRs. The user-mode
608
608
counter are read-only. Any write access will raise an illegal instruction exception.
609
609
|=======================
@@ -620,7 +620,7 @@ counter are read-only. Any write access will raise an illegal instruction except
620
620
| Address | `0xb00` (`mcycle`)
621
621
| | `0xb80` (`mcycleh`)
622
622
| Reset value | `0x00000000`
623
- | ISA | `Zicsr` + `Zicntr`
623
+ | ISA | `Zicsr` & `Zicntr`
624
624
| Description | If not halted via the <<_mcountinhibit>> CSR the `cycle[h]` CSRs will increment with every active CPU clock
625
625
cycle (CPU not in sleep mode). These registers are read/write only for machine-mode software.
626
626
|=======================
@@ -637,7 +637,7 @@ cycle (CPU not in sleep mode). These registers are read/write only for machine-m
637
637
| Address | `0xb02` (`minstret`)
638
638
| | `0xb82` (`minstreth`)
639
639
| Reset value | `0x00000000`
640
- | ISA | `Zicsr` + `Zicntr`
640
+ | ISA | `Zicsr` & `Zicntr`
641
641
| Description | If not halted via the <<_mcountinhibit>> CSR the `minstret[h]` CSRs will increment with every retired instruction.
642
642
These registers are read/write only for machine-mode software
643
643
|=======================
@@ -673,7 +673,7 @@ If `HPM_NUM_CNTS` is less than 64, all remaining MSB-aligned bits are hardwired
673
673
| Name | Machine hardware performance monitor event select
674
674
| Address | `0x233` (`mhpmevent3`) ... `0x32f` (`mhpmevent15`)
675
675
| Reset value | `0x00000000`
676
- | ISA | `Zicsr` + `Zihpm`
676
+ | ISA | `Zicsr` & `Zihpm`
677
677
| Description | The value in these CSRs define the architectural events that cause an increment of the according `mhpmcounter*[h]` counter(s).
678
678
All available events are listed in the table below. If more than one event is selected, the according counter will increment if _any_ of
679
679
the enabled events is observed (logical OR). Note that the counter will only increment by 1 step per clock
@@ -715,7 +715,7 @@ cycle even if more than one trigger event is observed.
715
715
| Address | `0xb03` (`mhpmcounter3`) ... `0xb0f` (mhpmcounter15)
716
716
| | `0xb83` (`mhpmcounter3h`) ... `0xb8f` (`mhpmcounter15h`)
717
717
| Reset value | `0x00000000`
718
- | ISA | `Zicsr` + `Zihpm`
718
+ | ISA | `Zicsr` & `Zihpm`
719
719
| Description | If not halted via the <<_mcountinhibit>> CSR the HPM counter CSR(s) increment whenever a
720
720
configured event from the according <<_mhpmevent>> CSR occurs. The counter registers are read/write for machine mode
721
721
and are not accessible for lower-privileged software.
@@ -733,7 +733,7 @@ and are not accessible for lower-privileged software.
733
733
| Address | `0xc03` (`hpmcounter3`) ... `0xc0f` (hpmcounter15)
734
734
| | `0xc83` (`hpmcounter3h`) ... `0xc8f` (`hpmcounter15h`)
735
735
| Reset value | `0x00000000`
736
- | ISA | `Zicsr` + `Zihpm`
736
+ | ISA | `Zicsr` & `Zihpm`
737
737
| Description | The `hpmcounter*[h]` are user-mode shadow copies of the according <<_mhpmcounterh>> CSRs. The user mode
738
738
counter CSRs are read-only. Any write access will raise an illegal instruction exception.
739
739
|=======================
@@ -872,7 +872,7 @@ outside of machine-mode will raise an illegal instruction exception.
872
872
| Name | Machine extended isa and extensions register
873
873
| Address | `0xfc0`
874
874
| Reset value | `DEFINED`
875
- | ISA | `Zicsr` + `X`
875
+ | ISA | `Zicsr` & `X`
876
876
| Description | The `mxisa` CSRs is a NEORV32-specific read-only CSR that helps machine-mode software to
877
877
discover ISA sub-extensions and CPU configuration options
878
878
|=======================
0 commit comments