In Priv Spec 1.10, Sec 3.1.15 "Machine Timer Registers" it says:"The interrupt remains posted until it clears by writing the MTIMECMP register".Does "clears" mean resetting the MIP.MTIP bit, or just in an interrupt controller?
Must it be immediate, i.e., precondition to retiring the STORE instruction that writes MTIMECMP,or can there be a delay?
--Thanks,Nikhil
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+unsubscribe@groups.riscv.org.
To post to this group, send email to isa...@groups.riscv.org.
Visit this group at https://groups.google.com/a/groups.riscv.org/group/isa-dev/.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAAVo%2BPmv9kznik8aCvi-SvORfeE%3DLNGBu_9R78HwiBMn8BNBbg%40mail.gmail.com.
On Tue, Jul 17, 2018 at 9:45 AM, Rishiyur Nikhil <nik...@bluespec.com> wrote:In Priv Spec 1.10, Sec 3.1.15 "Machine Timer Registers" it says:"The interrupt remains posted until it clears by writing the MTIMECMP register".Does "clears" mean resetting the MIP.MTIP bit, or just in an interrupt controller?This is implementation dependent, e.g. in https://github.com/sifive/clic-spec/blob/master/clic.adoc MIP.MTIP is not used at all.Must it be immediate, i.e., precondition to retiring the STORE instruction that writes MTIMECMP,or can there be a delay?Definitely not a precondition to retiring the STORE instruction, STORE reaches MTIMECMP some time after it is retired. This latency is implementation dependent.Alex
Thanks,Nikhil
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org.
>>> email to isa-dev+unsubscribe@groups.riscv.org.
>>> To post to this group, send email to isa...@groups.riscv.org.
>>> Visit this group at
>>> https://groups.google.com/a/groups.riscv.org/group/isa-dev/.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAAVo%2BPmv9kznik8aCvi-SvORfeE%3DLNGBu_9R78HwiBMn8BNBbg%40mail.gmail.com.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "RISC-V ISA Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isa-dev+unsubscribe@groups.riscv.org.
> To post to this group, send email to isa...@groups.riscv.org.
> Visit this group at
> https://groups.google.com/a/groups.riscv.org/group/isa-dev/.
> To view this discussion on the web visit
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAAVo%2BPny0A-s2YcTBdkcE7whdRSENy1p6ZwChyPxaFsBhYU%2BmA%40mail.gmail.com.
+1 on Guy’s suggestion of a fence. Since the timer register is a MMIO register (device type) I don’t see why it would be mapped cacheable, so I’m not envisioning the caching problems for the store to timer registers.
However, the fence in this case would not be the typical load/store memory barrier but could be a flavor that guarantees context synchronization (such as Guy hints in his last email), such that the *effects* of the timer store also have to be visible when the fence completes.
As an aside, having implementation specific behavior creep into how the timer appears to operate to software would be problematic. The timer must architecturally function correctly the same way across all implementations and the specification must define the architecturally correct sequence to set, read, and clear the timer (sure different frequencies, latencies etc across implementations, but not programmatically different).
Thanks,
Vikram
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CALo5CZxqMJR6BaPpC-J0U1_vNo_NkiMo5U7pEtZOdOq8TZmFyA%40mail.gmail.com.
>>> email to isa-dev+unsubscribe@groups.riscv.org.
>>> To post to this group, send email to isa...@groups.riscv.org.
>>> Visit this group at
>>> https://groups.google.com/a/groups.riscv.org/group/isa-dev/.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAAVo%2BPmv9kznik8aCvi-SvORfeE%3DLNGBu_9R78HwiBMn8BNBbg%40mail.gmail.com.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "RISC-V ISA Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isa-dev+unsubscribe@groups.riscv.org.
> To post to this group, send email to isa...@groups.riscv.org.
> Visit this group at
> https://groups.google.com/a/groups.riscv.org/group/isa-dev/.
> To view this discussion on the web visit