In pointer masking spec, it describes that "pointer masking does not apply when MXR is set."
However, there are vsstatus.MXR and sstatus.MXR when V=1, and Privileged spec describes that "The vsstatus field MXR, which makes execute-only pages readable by explicit loads, only overrides VS-stage page protection. Setting MXR at VS-level does not override guest-physical page protections. Setting MXR at HS-level, however, overrides both VS-stage and G-stage execute-only permissions."
So, for example,
- When one of vsstatus.MXR or sstatus.MXR is set, of course, V=1 and vsatp.mode is not bare, should pointer masking be applied?
- And when V=1, vsatp.mode is bare. Should we ignore vsstatus.MXR and only focus on sstatus.MXR for applying pointer masking?
thanks