如何使用ARM安全监视器调用(SMC)

问题描述 投票:0回答:1

我正在运行在FPGA上使用ARM Cortex处理器的操作系统。为了能够访问此板上的内存区域,我需要运行一个安全的世界。有人告诉我我需要使用安全监视器调用才能进入安全世界。如果我不在安全的世界中,Arm Trusted固件会阻止我的操作系统,并给我信号2中断。

我如何使用SMC?有没有实现此示例?

谢谢

arm vxworks trust-zone
1个回答
0
投票

我理解您的问题为“如何实现ARM安全监视器调用(SMC),以便可以从不在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可能支持它。否则,您的芯片/电路板供应商应为您的平台提供其源代码。

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.