OF_SHADOW
ROBit X is the read-only shadow of mhpmeventX.OF (X=3..31). It is always readable in M-mode; S/HS-mode requires mcounteren[X]=1 and otherwise reads zero. In VS-mode, a read raises a virtual-instruction exception when Smcdeleg/Ssccfg, Sscofpmf, and H are implemented with menvcfg.CDE=1; otherwise both mcounteren[X] and hcounteren[X] must be 1, and the bit otherwise reads zero.
OF_SHADOW (bits 31:3) — Bit X is the read-only shadow of mhpmeventX.OF (X=3..31). It is always readable in M-mode; S/HS-mode requires mcounteren[X]=1 and otherwise reads zero. In VS-mode, a read raises a virtual-instruction exception when Smcdeleg/Ssccfg, Sscofpmf, and H are implemented with menvcfg.CDE=1; otherwise both mcounteren[X] and hcounteren[X] must be 1, and the bit otherwise reads zero.
What This Field Controls
- - Bit X is the read-only shadow of mhpmeventX.OF (X=3..31). It is always readable in M-mode; S/HS-mode requires mcounteren[X]=1 and otherwise reads zero. In VS-mode, a read raises a virtual-instruction exception when Smcdeleg/Ssccfg, Sscofpmf, and H are implemented with menvcfg.CDE=1; otherwise both mcounteren[X] and hcounteren[X] must be 1, and the bit otherwise reads zero.
Common Values
This field is better understood together with surrounding context than as a fixed memorized enumeration.
↗Open Official Manual