-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What's the value of stopi.IPRIO when using mvien and mvip to generate a SEI that traps to S mode? #91
Comments
It seems that ARC has noticed this problem (https://lists.riscv.org/g/tech-privileged/topic/arc_minutes_2024_09_03/108421694). |
@zhuotianshu, the ARC noticed this problem because you reported it. Thank you for doing so. Unfortunately, updating the AIA specification has been blocked until the conversion to AsciiDoc format is complete (which hopefully won't be too much longer). The ARC decided the answer to your question will be your third suggestion, matching the behavior in VS mode: If |
This discussion clarifies that the SEI from the mvien/mvip has a priority of 256. How about the priority of the SEI from PLIC or APLIC, i.e., eidelivery=0x40000000? The figure below in the spec seems to allow any priority between 1~255. However, according to my reading, no specific wording exists about the SEI priority from PLIC or APLIC. I am wondering whether there is a recommended priority for PLIC or APLIC, e.g., 1 or 255? Or, does the AIA spec only restrict the priority not to be 0 or larger than (equal to) 256, and it leaves the priority to be implementation-defined? |
A PLIC or APLIC assigns priority numbers to external interrupt minor identities. For an APLIC, the priority of each interrupt source is configured in the source's corresponding If it is not practical to transmit a signaled interrupt's priority number from a PLIC/APLIC to the RISC-V hart, then you cannot support intermixing priorities of external interrupts with other major interrupts. In that case, your only option is to implement the |
@jhauser-us Thank you for the detail reply. Your reasoning makes sense to me. |
And what's the value of stopi.IPRIO when software setting mip.SEIP and mideleg.SEI to generate SEI to S mode?
Should it be the value of
stopei.Interrupt_priority
, or the value of M modeiprio2[15:8]
(in RV64), or some fixed value, like 256 in vs situation?The text was updated successfully, but these errors were encountered: