Sep 29, 2020
03:32 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 29, 2020
03:32 AM
Hello,
I have an issue where a QM application is calling suspend all interrupts, in the call tree in this function OS_hal_mtcr is called and MTCR instruction invokes the trap. but I think this kind of a trivial case when a QM application will call suspend interrupts, so any idea how to solve this situation?
I have an issue where a QM application is calling suspend all interrupts, in the call tree in this function OS_hal_mtcr is called and MTCR instruction invokes the trap. but I think this kind of a trivial case when a QM application will call suspend interrupts, so any idea how to solve this situation?
- Tags:
- IFX
1 Reply
Sep 29, 2020
06:18 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 29, 2020
06:18 AM
It's rather unusual for a QM application to suspend interrupts, because that can obviously disrupt any interrupts that ASIL software components depend on. But of course, it's up to you to define your software architecture.
I'm unclear what the issue is though. OS_hal_mtcr is probably using SYSCALL to elevate the CPU privilege level so that it can execute the DISABLE instruction. QM components generally execute at the lowest privilege level, User-0. That privilege level can't enable or disable interrupts, so SYSCALL trap temporarily boosts the privilege level to Supervisor.
I'm unclear what the issue is though. OS_hal_mtcr is probably using SYSCALL to elevate the CPU privilege level so that it can execute the DISABLE instruction. QM components generally execute at the lowest privilege level, User-0. That privilege level can't enable or disable interrupts, so SYSCALL trap temporarily boosts the privilege level to Supervisor.
This widget could not be displayed.