CSR Bit Fields

RISC-V mhpmcounter29h CSR Register

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

mhpmcounter29h at 0xB9D is an RV32-only Machine high-half CSR, reading and writing mhpmcounter29[63:32].

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

Understand mhpmcounter29h By Bit Fields

0 key fields
Official Basis & Search Notes

mhpmcounter29h is an RV32 Machine high-half CSR for reading and writing mhpmcounter29[63:32]; it is not a separate counter.

This CSR exists only on RV32 and accesses mhpmcounter29[63:32].
The parent is a WARL counter supporting up to 64 bits of precision; events and implemented count/width are platform-defined.
A legal implementation may make the parent and mhpmevent29 read-only zero; mcountinhibit.HPM29 only inhibits incrementing.

What To Check First When Reading This CSR

  • - mhpmcounter29h is provided only on RV32 as bits 63:32 of mhpmcounter29; this CSR does not exist on RV64.
  • - The implemented counter count, width, and event set are platform-specific.
  • - A legal implementation may make both mhpmcounter29 and mhpmevent29 read-only zero; mcountinhibit.HPM29 controls only whether the parent counter increments, not accessibility.

Risk Checks Before Writing

  • - On RV32, writing mhpmcounter29h changes only bits 63:32 of its parent mhpmcounter29; the parent counter is WARL and supports up to 64 bits of precision.

Put It Back Into A Real Flow

1

Confirm that the needed counter is implemented.

2

On RV32, use mhpmcounter29h to access mhpmcounter29[63:32].

3

Interpret the parent counter using the platform-defined event in mhpmevent29.

FAQ

Can mhpmcounter29h be accessed from any privilege level?

No. It is a Machine-mode CSR that exists only on RV32.

Is mhpmcounter29h a separate counter?

No. It is only the RV32 access CSR for the upper 32 bits of mhpmcounter29.