-
Notifications
You must be signed in to change notification settings - Fork 313
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
Add interrupt-related changes for arm64-based platforms #7459
Add interrupt-related changes for arm64-based platforms #7459
Conversation
affd431
to
08c164f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the first commit, things are getting unwieldy so they might need to be changed in the future. Approve overall though, that's the subject of a future refactor.
zephyr/include/rtos/interrupt.h
Outdated
#else | ||
void interrupt_clear_mask(uint32_t irq, uint32_t mask); | ||
#endif /* CONFIG_ARM64 */ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And this is really only needed with XTOS. With native Zephyr SOF build, the interrupt interface for drivers is all on Zephyr side. SOF app side only needs primitives to disable interrupts, but that can be done with generic OS interface.
But alas, if you want to maintain XTOS support with ARM64, then you need this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like there's not going to be any XTOS support on ARM64, but correct me if I'm wrong Laurentiu.
We do want to eventually phase out XTOS for the older i.MX platforms as well, but that's not happening yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was required because of some compilation errors caused by these symbols not existing (e.g: for zephyr_dma_domain which is also used for Zephyr+xtensa).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
08c164f
to
9187744
Compare
9187744
to
486783e
Compare
…RM64 platforms ARM64's GIC doesn't utilize cascaded interrupts so interrupt_get_irq will have to return the given INTID. Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This PR introduces all required interrupt-related changes for ARM64 platforms.
Please see #7192 for PR dependency graph.