hcounteren
Hypervisor Counter Enable
Together with scounteren, delegates control of the hardware performance-monitoring counters to VS/VU-mode
See cycle for a table describing how exceptions occur.
Field Summary
Name | Location | Type | Reset Value |
---|---|---|---|
0 |
RW |
UNDEFINED_LEGAL |
|
1 |
RO |
0 |
|
2 |
RW |
UNDEFINED_LEGAL |
|
3 |
RW |
UNDEFINED_LEGAL |
|
4 |
RW |
UNDEFINED_LEGAL |
|
5 |
RW |
UNDEFINED_LEGAL |
|
6 |
RW |
UNDEFINED_LEGAL |
|
7 |
RW |
UNDEFINED_LEGAL |
|
8 |
RW |
UNDEFINED_LEGAL |
|
9 |
RW |
UNDEFINED_LEGAL |
|
10 |
RW |
UNDEFINED_LEGAL |
|
11 |
RO |
0 |
|
12 |
RO |
0 |
|
13 |
RO |
0 |
|
14 |
RO |
0 |
|
15 |
RO |
0 |
|
16 |
RO |
0 |
|
17 |
RO |
0 |
|
18 |
RO |
0 |
|
19 |
RO |
0 |
|
20 |
RO |
0 |
|
21 |
RO |
0 |
|
22 |
RO |
0 |
|
23 |
RO |
0 |
|
24 |
RO |
0 |
|
25 |
RO |
0 |
|
26 |
RO |
0 |
|
27 |
RO |
0 |
|
28 |
RO |
0 |
|
29 |
RO |
0 |
|
30 |
RO |
0 |
|
31 |
RO |
0 |
Fields
CY
- Location
-
hcounteren[0]
- Description
-
When all of scounteren.CY, mcounteren.CY, and hcounteren.CY are set, the cycle CSR (an alias of mcycle) is accessible to VU-mode.
When mcounteren.CY and hcounteren.CY are set, the cycle CSR (an alias of mcycle) is accessible to VS-mode.
When hcounteren.CY is clear and mcounteren.CY is set, then any access to cycle in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
TM
- Location
-
hcounteren[1]
- Description
-
When all of scounteren.TM, mcounteren.TM, and hcounteren.TM are set, the time CSR (an alias of
mtime
memory-mapped CSR) is accessible to VU-mode.When mcounteren.TM and hcounteren.TM are set, the time CSR (an alias of
mtime
) is accessible to VS-mode.When hcounteren.TM is clear and mcounteren.TM is set, then any access to time in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
IR
- Location
-
hcounteren[2]
- Description
-
When all of scounteren.IR, mcounteren.IR, and hcounteren.IR are set, the instret CSR (an alias of minstret) is accessible to VU-mode.
When mcounteren.IR and hcounteren.IR are set, the instret CSR (an alias of minstret) is accessible to VS-mode.
When hcounteren.IR is clear and mcounteren.IR is set, then any access to instret in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM3
- Location
-
hcounteren[3]
- Description
-
When all of scounteren.HPM3, mcounteren.HPM3, and hcounteren.HPM3 are set, the hpmcounter3 CSR (an alias of mhpmcounter3) is accessible to VU-mode.
When mcounteren.HPM3 and hcounteren.HPM3 are set, the hpmcounter3 CSR (an alias of mhpmcounter3) is accessible to VS-mode.
When hcounteren.HPM3 is clear and mcounteren.HPM3 is set, then any access to hpmcounter3 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM4
- Location
-
hcounteren[4]
- Description
-
When all of scounteren.HPM4, mcounteren.HPM4, and hcounteren.HPM4 are set, the hpmcounter4 CSR (an alias of mhpmcounter4) is accessible to VU-mode.
When mcounteren.HPM4 and hcounteren.HPM4 are set, the hpmcounter4 CSR (an alias of mhpmcounter4) is accessible to VS-mode.
When hcounteren.HPM4 is clear and mcounteren.HPM4 is set, then any access to hpmcounter4 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM5
- Location
-
hcounteren[5]
- Description
-
When all of scounteren.HPM5, mcounteren.HPM5, and hcounteren.HPM5 are set, the hpmcounter5 CSR (an alias of mhpmcounter5) is accessible to VU-mode.
When mcounteren.HPM5 and hcounteren.HPM5 are set, the hpmcounter5 CSR (an alias of mhpmcounter5) is accessible to VS-mode.
When hcounteren.HPM5 is clear and mcounteren.HPM5 is set, then any access to hpmcounter5 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM6
- Location
-
hcounteren[6]
- Description
-
When all of scounteren.HPM6, mcounteren.HPM6, and hcounteren.HPM6 are set, the hpmcounter6 CSR (an alias of mhpmcounter6) is accessible to VU-mode.
When mcounteren.HPM6 and hcounteren.HPM6 are set, the hpmcounter6 CSR (an alias of mhpmcounter6) is accessible to VS-mode.
When hcounteren.HPM6 is clear and mcounteren.HPM6 is set, then any access to hpmcounter6 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM7
- Location
-
hcounteren[7]
- Description
-
When all of scounteren.HPM7, mcounteren.HPM7, and hcounteren.HPM7 are set, the hpmcounter7 CSR (an alias of mhpmcounter7) is accessible to VU-mode.
When mcounteren.HPM7 and hcounteren.HPM7 are set, the hpmcounter7 CSR (an alias of mhpmcounter7) is accessible to VS-mode.
When hcounteren.HPM7 is clear and mcounteren.HPM7 is set, then any access to hpmcounter7 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM8
- Location
-
hcounteren[8]
- Description
-
When all of scounteren.HPM8, mcounteren.HPM8, and hcounteren.HPM8 are set, the hpmcounter8 CSR (an alias of mhpmcounter8) is accessible to VU-mode.
When mcounteren.HPM8 and hcounteren.HPM8 are set, the hpmcounter8 CSR (an alias of mhpmcounter8) is accessible to VS-mode.
When hcounteren.HPM8 is clear and mcounteren.HPM8 is set, then any access to hpmcounter8 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM9
- Location
-
hcounteren[9]
- Description
-
When all of scounteren.HPM9, mcounteren.HPM9, and hcounteren.HPM9 are set, the hpmcounter9 CSR (an alias of mhpmcounter9) is accessible to VU-mode.
When mcounteren.HPM9 and hcounteren.HPM9 are set, the hpmcounter9 CSR (an alias of mhpmcounter9) is accessible to VS-mode.
When hcounteren.HPM9 is clear and mcounteren.HPM9 is set, then any access to hpmcounter9 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM10
- Location
-
hcounteren[10]
- Description
-
When all of scounteren.HPM10, mcounteren.HPM10, and hcounteren.HPM10 are set, the hpmcounter10 CSR (an alias of mhpmcounter10) is accessible to VU-mode.
When mcounteren.HPM10 and hcounteren.HPM10 are set, the hpmcounter10 CSR (an alias of mhpmcounter10) is accessible to VS-mode.
When hcounteren.HPM10 is clear and mcounteren.HPM10 is set, then any access to hpmcounter10 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RW |
Read-Write Field is writable by software. Any value that fits in the field is acceptable and shall be retained for subsequent reads. |
- Reset value
-
UNDEFINED_LEGAL
HPM11
- Location
-
hcounteren[11]
- Description
-
When all of scounteren.HPM11, mcounteren.HPM11, and hcounteren.HPM11 are set, the hpmcounter11 CSR (an alias of mhpmcounter11) is accessible to VU-mode.
When mcounteren.HPM11 and hcounteren.HPM11 are set, the hpmcounter11 CSR (an alias of mhpmcounter11) is accessible to VS-mode.
When hcounteren.HPM11 is clear and mcounteren.HPM11 is set, then any access to hpmcounter11 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM12
- Location
-
hcounteren[12]
- Description
-
When all of scounteren.HPM12, mcounteren.HPM12, and hcounteren.HPM12 are set, the hpmcounter12 CSR (an alias of mhpmcounter12) is accessible to VU-mode.
When mcounteren.HPM12 and hcounteren.HPM12 are set, the hpmcounter12 CSR (an alias of mhpmcounter12) is accessible to VS-mode.
When hcounteren.HPM12 is clear and mcounteren.HPM12 is set, then any access to hpmcounter12 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM13
- Location
-
hcounteren[13]
- Description
-
When all of scounteren.HPM13, mcounteren.HPM13, and hcounteren.HPM13 are set, the hpmcounter13 CSR (an alias of mhpmcounter13) is accessible to VU-mode.
When mcounteren.HPM13 and hcounteren.HPM13 are set, the hpmcounter13 CSR (an alias of mhpmcounter13) is accessible to VS-mode.
When hcounteren.HPM13 is clear and mcounteren.HPM13 is set, then any access to hpmcounter13 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM14
- Location
-
hcounteren[14]
- Description
-
When all of scounteren.HPM14, mcounteren.HPM14, and hcounteren.HPM14 are set, the hpmcounter14 CSR (an alias of mhpmcounter14) is accessible to VU-mode.
When mcounteren.HPM14 and hcounteren.HPM14 are set, the hpmcounter14 CSR (an alias of mhpmcounter14) is accessible to VS-mode.
When hcounteren.HPM14 is clear and mcounteren.HPM14 is set, then any access to hpmcounter14 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM15
- Location
-
hcounteren[15]
- Description
-
When all of scounteren.HPM15, mcounteren.HPM15, and hcounteren.HPM15 are set, the hpmcounter15 CSR (an alias of mhpmcounter15) is accessible to VU-mode.
When mcounteren.HPM15 and hcounteren.HPM15 are set, the hpmcounter15 CSR (an alias of mhpmcounter15) is accessible to VS-mode.
When hcounteren.HPM15 is clear and mcounteren.HPM15 is set, then any access to hpmcounter15 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM16
- Location
-
hcounteren[16]
- Description
-
When all of scounteren.HPM16, mcounteren.HPM16, and hcounteren.HPM16 are set, the hpmcounter16 CSR (an alias of mhpmcounter16) is accessible to VU-mode.
When mcounteren.HPM16 and hcounteren.HPM16 are set, the hpmcounter16 CSR (an alias of mhpmcounter16) is accessible to VS-mode.
When hcounteren.HPM16 is clear and mcounteren.HPM16 is set, then any access to hpmcounter16 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM17
- Location
-
hcounteren[17]
- Description
-
When all of scounteren.HPM17, mcounteren.HPM17, and hcounteren.HPM17 are set, the hpmcounter17 CSR (an alias of mhpmcounter17) is accessible to VU-mode.
When mcounteren.HPM17 and hcounteren.HPM17 are set, the hpmcounter17 CSR (an alias of mhpmcounter17) is accessible to VS-mode.
When hcounteren.HPM17 is clear and mcounteren.HPM17 is set, then any access to hpmcounter17 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM18
- Location
-
hcounteren[18]
- Description
-
When all of scounteren.HPM18, mcounteren.HPM18, and hcounteren.HPM18 are set, the hpmcounter18 CSR (an alias of mhpmcounter18) is accessible to VU-mode.
When mcounteren.HPM18 and hcounteren.HPM18 are set, the hpmcounter18 CSR (an alias of mhpmcounter18) is accessible to VS-mode.
When hcounteren.HPM18 is clear and mcounteren.HPM18 is set, then any access to hpmcounter18 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM19
- Location
-
hcounteren[19]
- Description
-
When all of scounteren.HPM19, mcounteren.HPM19, and hcounteren.HPM19 are set, the hpmcounter19 CSR (an alias of mhpmcounter19) is accessible to VU-mode.
When mcounteren.HPM19 and hcounteren.HPM19 are set, the hpmcounter19 CSR (an alias of mhpmcounter19) is accessible to VS-mode.
When hcounteren.HPM19 is clear and mcounteren.HPM19 is set, then any access to hpmcounter19 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM20
- Location
-
hcounteren[20]
- Description
-
When all of scounteren.HPM20, mcounteren.HPM20, and hcounteren.HPM20 are set, the hpmcounter20 CSR (an alias of mhpmcounter20) is accessible to VU-mode.
When mcounteren.HPM20 and hcounteren.HPM20 are set, the hpmcounter20 CSR (an alias of mhpmcounter20) is accessible to VS-mode.
When hcounteren.HPM20 is clear and mcounteren.HPM20 is set, then any access to hpmcounter20 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM21
- Location
-
hcounteren[21]
- Description
-
When all of scounteren.HPM21, mcounteren.HPM21, and hcounteren.HPM21 are set, the hpmcounter21 CSR (an alias of mhpmcounter21) is accessible to VU-mode.
When mcounteren.HPM21 and hcounteren.HPM21 are set, the hpmcounter21 CSR (an alias of mhpmcounter21) is accessible to VS-mode.
When hcounteren.HPM21 is clear and mcounteren.HPM21 is set, then any access to hpmcounter21 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM22
- Location
-
hcounteren[22]
- Description
-
When all of scounteren.HPM22, mcounteren.HPM22, and hcounteren.HPM22 are set, the hpmcounter22 CSR (an alias of mhpmcounter22) is accessible to VU-mode.
When mcounteren.HPM22 and hcounteren.HPM22 are set, the hpmcounter22 CSR (an alias of mhpmcounter22) is accessible to VS-mode.
When hcounteren.HPM22 is clear and mcounteren.HPM22 is set, then any access to hpmcounter22 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM23
- Location
-
hcounteren[23]
- Description
-
When all of scounteren.HPM23, mcounteren.HPM23, and hcounteren.HPM23 are set, the hpmcounter23 CSR (an alias of mhpmcounter23) is accessible to VU-mode.
When mcounteren.HPM23 and hcounteren.HPM23 are set, the hpmcounter23 CSR (an alias of mhpmcounter23) is accessible to VS-mode.
When hcounteren.HPM23 is clear and mcounteren.HPM23 is set, then any access to hpmcounter23 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM24
- Location
-
hcounteren[24]
- Description
-
When all of scounteren.HPM24, mcounteren.HPM24, and hcounteren.HPM24 are set, the hpmcounter24 CSR (an alias of mhpmcounter24) is accessible to VU-mode.
When mcounteren.HPM24 and hcounteren.HPM24 are set, the hpmcounter24 CSR (an alias of mhpmcounter24) is accessible to VS-mode.
When hcounteren.HPM24 is clear and mcounteren.HPM24 is set, then any access to hpmcounter24 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM25
- Location
-
hcounteren[25]
- Description
-
When all of scounteren.HPM25, mcounteren.HPM25, and hcounteren.HPM25 are set, the hpmcounter25 CSR (an alias of mhpmcounter25) is accessible to VU-mode.
When mcounteren.HPM25 and hcounteren.HPM25 are set, the hpmcounter25 CSR (an alias of mhpmcounter25) is accessible to VS-mode.
When hcounteren.HPM25 is clear and mcounteren.HPM25 is set, then any access to hpmcounter25 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM26
- Location
-
hcounteren[26]
- Description
-
When all of scounteren.HPM26, mcounteren.HPM26, and hcounteren.HPM26 are set, the hpmcounter26 CSR (an alias of mhpmcounter26) is accessible to VU-mode.
When mcounteren.HPM26 and hcounteren.HPM26 are set, the hpmcounter26 CSR (an alias of mhpmcounter26) is accessible to VS-mode.
When hcounteren.HPM26 is clear and mcounteren.HPM26 is set, then any access to hpmcounter26 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM27
- Location
-
hcounteren[27]
- Description
-
When all of scounteren.HPM27, mcounteren.HPM27, and hcounteren.HPM27 are set, the hpmcounter27 CSR (an alias of mhpmcounter27) is accessible to VU-mode.
When mcounteren.HPM27 and hcounteren.HPM27 are set, the hpmcounter27 CSR (an alias of mhpmcounter27) is accessible to VS-mode.
When hcounteren.HPM27 is clear and mcounteren.HPM27 is set, then any access to hpmcounter27 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM28
- Location
-
hcounteren[28]
- Description
-
When all of scounteren.HPM28, mcounteren.HPM28, and hcounteren.HPM28 are set, the hpmcounter28 CSR (an alias of mhpmcounter28) is accessible to VU-mode.
When mcounteren.HPM28 and hcounteren.HPM28 are set, the hpmcounter28 CSR (an alias of mhpmcounter28) is accessible to VS-mode.
When hcounteren.HPM28 is clear and mcounteren.HPM28 is set, then any access to hpmcounter28 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM29
- Location
-
hcounteren[29]
- Description
-
When all of scounteren.HPM29, mcounteren.HPM29, and hcounteren.HPM29 are set, the hpmcounter29 CSR (an alias of mhpmcounter29) is accessible to VU-mode.
When mcounteren.HPM29 and hcounteren.HPM29 are set, the hpmcounter29 CSR (an alias of mhpmcounter29) is accessible to VS-mode.
When hcounteren.HPM29 is clear and mcounteren.HPM29 is set, then any access to hpmcounter29 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM30
- Location
-
hcounteren[30]
- Description
-
When all of scounteren.HPM30, mcounteren.HPM30, and hcounteren.HPM30 are set, the hpmcounter30 CSR (an alias of mhpmcounter30) is accessible to VU-mode.
When mcounteren.HPM30 and hcounteren.HPM30 are set, the hpmcounter30 CSR (an alias of mhpmcounter30) is accessible to VS-mode.
When hcounteren.HPM30 is clear and mcounteren.HPM30 is set, then any access to hpmcounter30 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0
HPM31
- Location
-
hcounteren[31]
- Description
-
When all of scounteren.HPM31, mcounteren.HPM31, and hcounteren.HPM31 are set, the hpmcounter31 CSR (an alias of mhpmcounter31) is accessible to VU-mode.
When mcounteren.HPM31 and hcounteren.HPM31 are set, the hpmcounter31 CSR (an alias of mhpmcounter31) is accessible to VS-mode.
When hcounteren.HPM31 is clear and mcounteren.HPM31 is set, then any access to hpmcounter31 in VU-mode or VS-mode causes a VirtualInstruction execption.
Summary:
cycle access behavior
VS-mode
VU-mode +
0
0
-
IllegalInstruction
IllegalInstruction
0
1
-
VirtualInstruction
VirtualInstruction
1
0
-
IllegalInstruction
IllegalInstruction
1
1
0
allowed
VirtualInstruction
1
1
1
allowed
allowed
- Type
RO |
Read-Only Field has a hardwired value that does not change. Writes to an RO field are ignored. |
- Reset value
-
0