Skip to content

Conversation

@filippofontana
Copy link
Contributor

This commits adds back a change (generic irqc function for sending IPIs in RISC-V) which probably got lost during the integration of AIA inside the main codebase.

Copy link
Member

@josecm josecm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@filippofontana we have updated the internal IPI API and the ipi_id parameter not longer exists. I have rebased and fixed and the issue and placed it here. However, I don't have permissions over the fork's branch to do it. If you can please either add the “Allow edits from maintainers” to the branch in the fork, or update the fork's branch with the changes on the fix I've point to.

Thanks, and sorry for the (huge) delay

Signed-off-by: Filippo Fontana <filippo.fontana@minervasys.tech>
@filippofontana
Copy link
Contributor Author

filippofontana commented Nov 17, 2025

@josecm I should have integrated the additional changes.
Let me know if I have to do something else!

EDIT: spoke too soon, I guess I have to add the header file which defines interrupts_ipi_id.

When using IMSIC, IPIs are sent through direct MSI write in the
interrupt file of the target hart. The path through OpenSBI
(sbi_send_ipi) is not suitable since SUPERVISOR SOFTWARE INTERRUPTS
(SSI) are not enabled in this scenario.

By using the generic irqc_send_ipi() function, the IPI sending process
is handled correctly in all the possible configurations (PLIC, APLIC,
IMSIC).

Signed-off-by: Filippo Fontana <filippo.fontana@minervasys.tech>
Signed-off-by: Jose Martins <josemartins90@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants