You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The RISC-V AIA specification introduces a couple of new CSRs, and mandates that mtopei & stopei CSRs are ONLY present whenever there is AIA implemented, and an RISC-V IMSIC present in the system, but other CSRs may exist even without an IMSIC:
OpenSBI apparently assumes that IMSIC must be present whenever mtopi CSR is available instead of mtopei... and crashes whenever the guest uses legacy CLINT for IPI.
This happens on a local RVVM branch that introduces RISC-V AIA support, and IMSIC+APLIC/PLIC supposed to be toggled, but AIA support in the CPU remains (That is, mtopi and stopi are still available, but mtopei / stopei are not).
Judging by the spec, it should be legal, but OpenSBI crashes unless I workaround it (By making mtopi unavailable too), so I think it is worth reporting.
The text was updated successfully, but these errors were encountered:
P.S. I also firmly believe an occasional invalid IRQ should not be able to bring the system down, but just print a warning, disable an interrupt and keep going. The same way Linux handles unexpected NMIs on x86 for example.
The RISC-V AIA specification introduces a couple of new CSRs, and mandates that
mtopei
&stopei
CSRs are ONLY present whenever there is AIA implemented, and an RISC-V IMSIC present in the system, but other CSRs may exist even without an IMSIC:OpenSBI apparently assumes that IMSIC must be present whenever
mtopi
CSR is available instead ofmtopei
... and crashes whenever the guest uses legacy CLINT for IPI.This happens on a local RVVM branch that introduces RISC-V AIA support, and IMSIC+APLIC/PLIC supposed to be toggled, but AIA support in the CPU remains (That is,
mtopi
andstopi
are still available, butmtopei
/stopei
are not).Judging by the spec, it should be legal, but OpenSBI crashes unless I workaround it (By making
mtopi
unavailable too), so I think it is worth reporting.The text was updated successfully, but these errors were encountered: