Linux kernel 装卸臂托管区
ARM有一个叫做TrustZone的东西。 根据ARM文档,它给出了进程可以在安全/非安全世界中运行的条件Linux kernel 装卸臂托管区,linux-kernel,arm,trust-zone,Linux Kernel,Arm,Trust Zone,ARM有一个叫做TrustZone的东西。 根据ARM文档,它给出了进程可以在安全/非安全世界中运行的条件 安全/不安全世界意味着什么。 它与处理器执行模式有关,还是与设置内存区域的权限或其他内容有关 ARM的7种操作模式与安全/非安全世界之间是否存在任何关系 如何在ARM中启用TrustZone 这是从哪个版本的ARM引入的 是否必须使用此信任区。 linux内核是否使用此信任区扩展 请帮助我理解这一点。是一个非常好的介绍性文档,它概述了一些有点过于复杂的内容,无法通过在文本框中键入来令人满意
要补充UnixSmurfs的回答 安全/不安全世界意味着什么。它与处理器执行模式有关,还是与设置内存区域的权限或其他内容有关 主要与记忆区域有关。所有TrustZone兼容设备将使用NS位标记AXI总线访问。此位指定访问是来自安全世界还是正常世界。这样,即使是正常世界控制下的DMA外围设备也可以被隔离 ARM的7种操作模式与安全/非安全世界之间是否存在任何关系 不是真的。然而,在世界之间有一种称为监控模式的模式,显然它是最强大的。监控模式是安全世界和正常世界之间的中介。它可以访问普通世界CP15寄存器,同时仍具有安全世界的系统内存视图(将
NS
位推为0)
如何在ARM中启用TrustZone
Enable是一个有点过载的词。如前所述,它内置于CPU中。默认情况下,启用信任区的CPU将在安全世界中启动。如果您什么也不做,您可能会忘记CPU具有TrustZone功能这一事实。只有建立一个正常的世界并将控制权交给它,信任区才会被使用;这可能就是您所说的启用的意思
这是从哪个版本的ARM引入的
有两种口味:
1。OMAP 4430双核处理器在Cortex A9(即ARMv7)上运行。并且ARMv7支持TrustZone。OMAP4430中是否启用了信任区功能。如何检查它是否启用。2.支持TrustZone需要哪些内核级代码更改?我在回答中说,TrustZone不是您“启用”的东西,因此除非您向我详细解释您想知道的内容,否则我帮不了您。你想干什么?@unixsmurf@kumar他的回答是正确的。原因是安全是有特权的,因此信任区的未加密代码仍将在不进行任何修改的情况下运行(例如,Linux内核、VxWorks等)。为了承载一个正常的世界,您需要安全世界中的某些东西来承载它。因此,默认情况下,事物在安全的世界中运行;在某些设备上,SOC引导代码自动切换到正常世界,但该引导代码必须配置正常世界才能运行操作系统。感谢@artlessnoise,这是一个有用的说明。是否有关于从SD卡安全引导的RPI3更新?