2023년 5월 7일 일요일

ARM Custom Instructions and memory access

https://developer.arm.com/documentation/102900/0100/?lang=en


Arm Custom Instructions have some deliberate restrictions to help avoid implementation issues:

  1. They cannot directly access memory or inputs/outputs outside the processor.
  2. They cannot have their own register states.


Both restrictions above are necessary for enforcing security since the Arm architecture has clear definitions for secure accesses. If the Arm Custom Instruction were to define their own state (by having their own registers) or their own path to memory, the architecture can no longer claim to enforce security. An interrupt that forces a transition between Secure and Non-secure modes of execution could possibly lead to leaking of secure state from the custom execution logic block. For hardware accelerators that need internal state or direct memory access, the existing coprocessor interface feature can be a suitable solution.

댓글 없음:

댓글 쓰기