This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM Cortex-A9 GIC interrup security issue

Note: This was originally posted on 27th March 2012 at http://forums.arm.com

Hello,

I a newbie in embedded programming. Currently I am developing an embedded tool
running on ARM Cortex-A9. I meet an security issue when trying to use ARM Generic Interrupt Controller (GIC).

Following is the detail describing for my issue:
A. My tool MUST running in non-secure mode. It has to catch interrupt ID 117 (only).
But
B. It seems that (as I investigated)  a software running in non-secure mode could not access to secure registers.

Could you please confirm my understanding:
1. Is item B above right? :unsure:
2. If B is wrong, could you please teach me how to do it. (access to secure registers from a non-secure software).

PS: I've just entered embedded world for 8 months. I think this issue is a little bit hard for me :(. Please help me.
Thank you in advance.
Parents
  • Note: This was originally posted on 29th March 2012 at http://forums.arm.com

    The "SMC" instruction just causes the processor to trap from a non-secure privileged mode (or a secure privileged mode) into the Monitor mode at the "SVC" vector table entry in the monitor mode vector table. What happens next is entirely determined by the monitor mode software on the platform.

    As you already seem to be in non-secure some code must have bootstrapped the system and switched it to non-secure, so I'd ask the provider of your secure world bootstrap or secure OS (if you have one).


Reply
  • Note: This was originally posted on 29th March 2012 at http://forums.arm.com

    The "SMC" instruction just causes the processor to trap from a non-secure privileged mode (or a secure privileged mode) into the Monitor mode at the "SVC" vector table entry in the monitor mode vector table. What happens next is entirely determined by the monitor mode software on the platform.

    As you already seem to be in non-secure some code must have bootstrapped the system and switched it to non-secure, so I'd ask the provider of your secure world bootstrap or secure OS (if you have one).


Children
No data