mhpmcounter7
Machine Hardware Performance Counter 7
Programmable hardware performance counter.
The hpmcounter7 CSR is a read-only shadow of this CSR. Access to hpmcounter7 is controlled with mcounteren.HPM7 <%- if ext?(:S) -%> , scounteren.HPM7 <%- if ext?(:H) -%> , and hcounteren.HPM7 <%- end -%> <%- end -%> as follows:
<%- if ext?(:H) -%>
hpmcounter7 behavior |
||||||
|---|---|---|---|---|---|---|
S-mode |
U-mode |
VS-mode |
VU-mode |
|||
0 |
- |
- |
|
|
|
|
1 |
0 |
0 |
read-only |
|
|
|
1 |
1 |
0 |
read-only |
read-only |
|
|
1 |
0 |
1 |
read-only |
|
read-only |
|
1 |
1 |
1 |
read-only |
read-only |
read-only |
read-only |
<%- elsif ext?(:S) -%>
hpmcounter7 behavior |
|||
|---|---|---|---|
S-mode |
U-mode |
||
0 |
- |
|
|
1 |
0 |
read-only |
|
1 |
1 |
read-only |
read-only |
<%- else -%>
hpmcounter7 behavior |
|
|---|---|
U-mode |
|
0 |
|
1 |
read-only |
<%- end -%>
Attributes
Requirement |
|||
|---|---|---|---|
Defining extensions |
|
||
CSR Address |
0xb07 |
||
Length |
64-bit |
||
Privilege Mode |
M |
Field Summary
| Name | Location | Type | Reset Value |
|---|---|---|---|
63:0 |
[when,"HPM_COUNTER_EN[7]"] RW-H [when,"!(HPM_COUNTER_EN[7])"] RO |
UNDEFINED_LEGAL |
Fields
COUNT
- Location
-
63:0
- Description
Performance counter for event selected in mhpmevent7.EVENT.
Increments every time event occurs unless:
-
mcountinhibit.HPM7 <%- if ext?(:Smcdeleg) -%>or its alias scountinhibit.HPM7<%- end -%> is set <%- if ext?(:Sscofpmf) -%>
-
mhpmevent7.MINH is set and the current privilege level is M <%- if ext?(:S) -%>
-
mhpmevent7.SINH <%- if ext?(:Ssccfg) -%>or its alias
hpmevent7.SINH<%- end -%> is set and the current privilege level is (H)S <%- end -%> <%- if ext?(:U) -%> -
mhpmevent7.UINH <%- if ext?(:Ssccfg) -%>or its alias
hpmevent7.UINH<%- end -%> is set and the current privilege level is U <%- end -%> <%- if ext?(:H) -%> -
mhpmevent7.VSINH <%- if ext?(:Ssccfg) -%>or its alias
hpmevent7.VSINH<%- end -%> is set and the current privilege level is VS -
mhpmevent7.VUINH <%- if ext?(:Ssccfg) -%>or its alias
hpmevent7.VUINH<%- end -%> is set and the current privilege level is VU <%- end -%> <%- end -%>
Unimplemented performance counter. Must be read-only 0 (access does not cause trap).
- Type
RW-H
RO
- Reset value
-
UNDEFINED_LEGAL
Software read
This CSR may return a value that is different from what is stored in hardware.
if (HPM_COUNTER_EN[7]) {
return read_hpm_counter(7);
} else {
return 0;
}