Skip to content
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

Does IOPMP support MSI? #11

Open
zhuotianshu opened this issue Oct 11, 2024 · 6 comments
Open

Does IOPMP support MSI? #11

zhuotianshu opened this issue Oct 11, 2024 · 6 comments

Comments

@zhuotianshu
Copy link

zhuotianshu commented Oct 11, 2024

Current Spec didn't explicitly specify the delivery mode of IOPMP interrupts. But as I understand it, if it supports MSI, there should be some registers to hold the target and IID of the interrputs, just like RISC-V IOMMU.

@tyshyu
Copy link
Contributor

tyshyu commented Oct 11, 2024

IOPMP does not support MSI in current spec. Is there any demand for MSI support in IOPMP?

@zhuotianshu
Copy link
Author

Actually I'm not sure. But if an IOPMP supports MSI, it can be easily integrated with an IOMMU that only supports MSI. But it's not a must. Thanks for replying.

@chenwhJ
Copy link

chenwhJ commented Oct 20, 2024

IOPMP does not support MSI in current spec. Is there any demand for MSI support in IOPMP?

In IOPMP sepc section 2.7, it says that "When an IOPMP detects an illegal transaction, it could initiate three of the following actions. …… Secondly, it could trigger an interrupt.“
Could IOPMP have the ability to trigger an MSI interrupt? Or else, should IOPMP transfer the MSI to IOMMU to send the interrupt, if an IOPMP is always integrated with an IOMMU?

@tyshyu
Copy link
Contributor

tyshyu commented Oct 30, 2024

In current spec, IOPMP appears to only support wired interrupt so IOPMP haven't the ability to trigger an MSI interrupt. Alternatively, to trigger an MSI interrupt from IOPMP, IOPMP interrupt can be a source of an APLIC (advanced PLIC in RISC-V Advanced Interrupt Architecture).

Or else, should IOPMP transfer the MSI to IOMMU to send the interrupt, if an IOPMP is always integrated with an IOMMU?

It should't. As I see it, it is an implementation choice that is decided by SoC designers or IP designers even if IOPMP have the ability to trigger an MSI interrupt .

@tyshyu
Copy link
Contributor

tyshyu commented Nov 13, 2024

@gagachang
Copy link
Contributor

@zhuotianshu @chenwhJ
For MSI support, please check latest released spec https://github.com/riscv-non-isa/iopmp-spec/releases/tag/v0.9.2-RC2
We would like to close this issue if you guys do not have more problems after reading.

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

No branches or pull requests

4 participants