mhpmcounter11

Machine Hardware Performance Counter 11

Programmable hardware performance counter.

Attributes

Defining Extension

  • Smhpm, version >= 0

CSR Address

0xb0b

Length

64-bit

Privilege Mode

M

Format

mhpmcounter11 format
Figure 1. mhpmcounter11 format

Field Summary

Name Location Type Reset Value

mhpmcounter11.COUNT

63:0

[when,"HPM_COUNTER_EN[11]"] RW-H

[when,"!(HPM_COUNTER_EN[11])"] RO

[when,"HPM_COUNTER_EN[11]"] UNDEFINED_LEGAL

[when,"!(HPM_COUNTER_EN[11])"] 0

Fields

COUNT

Location

63:0

Description

Performance counter for event selected in mhpmevent11.EVENT.

Increments every time event occurs unless:

  • mcountinhibit.HPM11 <%- if ext?(:Smcdeleg) -%>or its alias scountinhibit.HPM11<%- end -%> is set <%- if ext?(:Sscofpmf) -%>

  • mhpmevent11.MINH is set and the current privilege level is M <%- if ext?(:S) -%>

  • mhpmevent11.SINH <%- if ext?(:Ssccfg) -%>or its alias hpmevent11..SINH<%- end -%> is set and the current privilege level is (H)S <%- end -%> <%- if ext?(:U) -%>

  • mhpmevent11.UINH <%- if ext?(:Ssccfg) -%>or its alias hpmevent11.SINH<%- end -%> is set and the current privilege level is U <%- end -%> <%- if ext?(:H) -%>

  • mhpmevent11.VSINH <%- if ext?(:Ssccfg) -%>or its alias hpmevent11.SINH<%- end -%> is set and the current privilege level is VS

  • mhpmevent11.VUINH <%- if ext?(:Ssccfg) -%>or its alias hpmevent11.SINH<%- 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
0

Software read

This CSR may return a value that is different from what is stored in hardware.

if (HPM_COUNTER_EN[11]) {
  return read_hpm_counter(11);
} else {
  return 0;
}