如何使用 ARM 安全监视器调用 (SMC)
How to use an ARM Secure Monitor Call (SMC)
我是 运行 一个在 FPGA 上使用 ARM Cortex 处理器的操作系统。为了能够访问此板上的此内存区域,我需要 运行 一个安全的世界。有人告诉我,我需要使用 Secure Monitor 调用才能进入安全世界。如果我不在安全世界中,Arm Trusted Firmware 会阻止我的操作系统,并给我一个信号 2 中断。
如何使用 SMC?在某个地方有实现这个的例子吗?
谢谢
我理解你的问题 'How can I implement an ARM Secure Monitor Call (SMC) so that I may access a specific region of my system from a software not running at EL3' -
如果您想知道如何使用现有的 SMC 调用,您已经在 Michael Dorgan 的第一条评论中得到了解答。
如果没有,您需要在系统启动时执行的 EL3 软件 运行 中实现您自己的 SMC 调用。在典型的 Aarch64 系统中,Arm Trusted Firmware 的 BL31 部分将对此负责,而 ATF 似乎就是您的系统 运行。
一个实现示例是位于 here.
的 ZynqMP IPI 邮箱门铃服务的 SMC 处理程序
底线,你应该:
- 检索您的系统是 运行、
的 Arm Trusted 固件的源代码
- 使用 IPI 邮箱门铃服务示例实施您自己的一组 SMC 调用,
- 为您的平台重新编译 Arm Trusted 固件,
- 升级你的系统,
- 测试。
由于您的平台正在使用 ATF,this code 可能会支持它。
否则,您的 silicon/board 供应商应为您的平台提供源代码。
希望对您有所帮助。
我是 运行 一个在 FPGA 上使用 ARM Cortex 处理器的操作系统。为了能够访问此板上的此内存区域,我需要 运行 一个安全的世界。有人告诉我,我需要使用 Secure Monitor 调用才能进入安全世界。如果我不在安全世界中,Arm Trusted Firmware 会阻止我的操作系统,并给我一个信号 2 中断。
如何使用 SMC?在某个地方有实现这个的例子吗?
谢谢
我理解你的问题 'How can I implement an ARM Secure Monitor Call (SMC) so that I may access a specific region of my system from a software not running at EL3' - 如果您想知道如何使用现有的 SMC 调用,您已经在 Michael Dorgan 的第一条评论中得到了解答。
如果没有,您需要在系统启动时执行的 EL3 软件 运行 中实现您自己的 SMC 调用。在典型的 Aarch64 系统中,Arm Trusted Firmware 的 BL31 部分将对此负责,而 ATF 似乎就是您的系统 运行。
一个实现示例是位于 here.
的 ZynqMP IPI 邮箱门铃服务的 SMC 处理程序底线,你应该:
- 检索您的系统是 运行、 的 Arm Trusted 固件的源代码
- 使用 IPI 邮箱门铃服务示例实施您自己的一组 SMC 调用,
- 为您的平台重新编译 Arm Trusted 固件,
- 升级你的系统,
- 测试。
由于您的平台正在使用 ATF,this code 可能会支持它。 否则,您的 silicon/board 供应商应为您的平台提供源代码。
希望对您有所帮助。