Closed james-ball-qualcomm closed 1 month ago
One of my PDF comments was why does xnxti need to filter out vectored interrupts. The answer is in https://github.com/riscv/riscv-fast-interrupt/issues/381. In summary, vectored interrupts return with xret whereas as non-vectored interrupts return with ret and then the interrupt funnel restores lots of registers and then does an xret. So, this requirement on xnxti is a symptom of the CLIC's support for 2 different interrupt handler ABIs (vectored and non-vectored).
btw, https://github.com/riscv/riscv-fast-interrupt/issues/400 would solve this issue of nxti non-interoperability
I'd like to suggestion #6 above (replace xnxti CSR with an instruction) since that will probably be rejected by Krste and means adding a new instruction which would delay ratification.
I read through the CLIC spec in detail and found it easiest to just add comments to the PDF (attached). RISC-V CLIC (v0.9, 2024-06-28) - With Comments.pdf
None of the comments suggest any functional changes. Many of the comments suggest minor changes to improve clarity in the spec so I didn't think it prudent to attempt to create a GitHub issue for each comment. My hope is that the comments will be read by a CLIC author and improvements to the spec made to improve clarity. If needed, I can make the edits to the spec and submit a pull request to have them incorporated in the spec (after appropriate review).
Here's some highlights in the comments: