CSR Bit Fields

RISC-V mhpmcounter9h CSR Register

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

mhpmcounter9h at 0xB89 is the RV32 machine high-half CSR for bits 63:32 of mhpmcounter9.

Bit Overview
bit 3 = only bit 3; bits 12..11 = bits 12 down to 11
MSBLSB
Reserved63:32COUNT_HI31:0RW
Field Map

Understand mhpmcounter9h By Bit Fields

1 key fields
31:0

COUNT_HI

RW

Upper 32 bits of the HPM count, corresponding to mhpmcounter9[63:32].

COUNT_HI (bits 31:0) — Upper 32 bits of the HPM count, corresponding to mhpmcounter9[63:32].

What This Field Controls

  • - Upper 32 bits of the HPM count, corresponding to mhpmcounter9[63:32].

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Official Basis & Search Notes

mhpmcounter9h is the RV32 high-half access CSR for bits 63:32 of mhpmcounter9; its event meaning is still determined by mhpmevent9.

The official counter is 64 bits; RV32 accesses it through low/high halves mhpmcounter9/mhpmcounter9h.
When reading an incrementing counter, avoid high/low half inconsistency across a carry.
mhpmcounter9h does not select the event; event selection is in mhpmevent9.

What To Check First When Reading This CSR

  • - mhpmcounter9h is an RV32-only high-half CSR; when XLEN=64, read the full count through mhpmcounter9.
  • - When reading a 64-bit incrementing counter, use a stable high-low-high style sequence to avoid inconsistency across a 32-bit carry.
  • - The event source for mhpmcounter9 is still determined by mhpmevent9.

Risk Checks Before Writing

  • - Writing mhpmcounter9h changes only the upper 32 bits of mhpmcounter9; it is usually used only during initialization or sample reset.
  • - Avoid writing the high half independently while the low half mhpmcounter9 is being updated in a conflicting path.

Put It Back Into A Real Flow

1

On RV32, read mhpmcounter9h and mhpmcounter9 using a stable sequence.

2

Combine the high and low halves to form the 64-bit mhpmcounter9 count.

3

Use mhpmevent9 to interpret which event the count represents.

FAQ

Can mhpmcounter9h be accessed from any privilege level?

No. The official CSR table lists mhpmcounter9h 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.

Is mhpmcounter9h a separate counter?

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