CSR Bit Fields

RISC-V mhpmevent28h CSR Register

Address 0x73CPrivilege MachineAccess RW / RV32 high-half / 32-bitMachine counters and performance-monitoring CSRs

mhpmevent28h at 0x73C is the RV32 high-half CSR for bits 63:32 of mhpmevent28, provided with Sscofpmf.

Bit Overview
bit 3 = only bit 3; bits 12..11 = bits 12 down to 11
MSBLSB
Field Map

Understand mhpmevent28h By Bit Fields

0 key fields
Official Basis & Search Notes

mhpmevent28h is not an independent event selector; it is the RV32 access window for the upper 32 bits of mhpmevent28. It carries Sscofpmf OF and mode-filtering fields.

Sscofpmf standardizes mhpmevent28[63:58] as OF and xINH fields.
mhpmevent28h[31:26] correspond to those standardized upper bits.
The upper event-selector bits remain part of the platform-defined event encoding.

What To Check First When Reading This CSR

  • - mhpmevent28h is an RV32-only high-half CSR provided with Sscofpmf.
  • - Reading it is equivalent to reading bits 63:32 of mhpmevent28.
  • - The specification recommends all counters be implemented, but permits mhpmcounter28 and its event selector to be read-only zero.
  • - The OF bit can also be observed through the corresponding read-only shadow bit in scountovf.

Risk Checks Before Writing

  • - Preserve WPRI bits, and do not change EVENT_HI without knowing the platform event encoding.
  • - Writing mhpmevent28h changes the upper 32 bits of mhpmevent28, including OF and xINH controls.

Put It Back Into A Real Flow

1

On RV32, read mhpmevent28h to inspect the upper-half state of mhpmevent28.

2

Handle OF or mode-filtering bits as needed.

3

Check overflow state together with mhpmcounter28 readings and scountovf.

FAQ

Can mhpmevent28h be accessed from any privilege level?

No. The official CSR table lists mhpmevent28h as a Machine mode CSR. Lower-privilege software may access the corresponding state only when a relevant standard extension provides an explicit delegation or permission mechanism. Direct CSR access with insufficient privilege, or to an unimplemented CSR, raises an illegal-instruction exception.

Should mhpmevent28h and mhpmevent28 be written together?

On RV32, handle them as halves of one 64-bit CSR and avoid one path changing the high half while another path changes the low half inconsistently.