CSR Bit Fields

RISC-V mhpmevent29h CSR Register

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

mhpmevent29h at 0x73D is the RV32 high-half CSR for bits 63:32 of mhpmevent29, provided with Sscofpmf.

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

Understand mhpmevent29h By Bit Fields

0 key fields
Official Basis & Search Notes

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

Sscofpmf standardizes mhpmevent29[63:58] as OF and xINH fields.
mhpmevent29h[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

  • - mhpmevent29h is an RV32-only high-half CSR provided with Sscofpmf.
  • - Reading it is equivalent to reading bits 63:32 of mhpmevent29.
  • - If S-mode is implemented, scountovf provides the corresponding read-only OF shadow; reads in S/HS or VS mode remain controlled by mcounteren, or by both mcounteren and hcounteren, respectively.

Risk Checks Before Writing

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

Put It Back Into A Real Flow

1

On RV32, read mhpmevent29h to inspect the upper-half state of mhpmevent29.

2

Handle OF or mode-filtering bits as needed.

3

When Supervisor mode is implemented, check overflow state together with mhpmcounter29 readings and scountovf.

FAQ

Can mhpmevent29h be accessed from any privilege level?

No. The official CSR table lists mhpmevent29h 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 mhpmevent29h and mhpmevent29 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.