Re: Requirements on implementing cycle/instret/hpmcountern
Paul Donahue
How is "csrr time" different than "div" in this regard? There was a lot of discussion at some point about whether you could claim M extension compatibility if you trapped and emulated divides in M-mode. My understanding of the outcome is that if an instruction is not supported by the execution environment visible to M-mode then you can't claim to implement that extension. (Of course, the SEE can claim to support emulated instructions but I'm talking about what hardware can claim to support.) The Zmmul extension was created specifically for that case. Why is there a non-normative comment that says that reads of time can be emulated in M-mode? I agree that the CSR read can be converted into a load of mtime but I don't think that "or emulate this functionality in M-mode software" complies with what I said above. Just like emulation of divides, emulation of the time CSR would be seen by the execution environment visible to M-mode. (Emulating in an implementation-defined mode that's at a higher privilege level than M would be OK.) Thanks, -Paul On Mon, Jan 23, 2023 at 7:33 PM Allen Baum via lists.riscv.org <allen.baum=esperantotech.com@...> wrote:
|
|