模板建站小程序,百度联盟怎么做自己的网站,网站开发的现状,公司网站名词解释安全之安全(security)博客目录导读 问题#xff1a;当Armv8/9-A cpu在安全世界和非安全世界之间切换时#xff0c;是否需要对这两个世界的共享内存进行缓存维护操作?
答案#xff1a;
不需要。
1#xff09;运行在非安全世界的软件只能对内存进行非安全访问#xff0c…安全之安全(security²)博客目录导读 问题当Armv8/9-A cpu在安全世界和非安全世界之间切换时是否需要对这两个世界的共享内存进行缓存维护操作?
答案
不需要。
1运行在非安全世界的软件只能对内存进行非安全访问因为在非安全世界产生的任何内存transaction中CPU都会将NS位置为1。
2在安全世界中运行的软件不仅可以执行安全内存访问还可以通过在其翻译表项 translation table entries中使用NS和NSTable标志NS and NSTable flags对特定的内存映射执行非安全访问。
3换句话说NS和NSTable标志控制虚拟地址在安全世界中是转换为安全物理地址还是非安全物理地址。
4对于安全世界和非安全世界的共享内存必须使用非安全PA物理地址因为非安全世界只能访问非安全PA。在安全世界MMU转换表 MMU translation table中必须将非安全PA表项Non-secure PA entry的NS/NStable标志设置为1。这样在安全世界和非安全世界之间切换时就不需要使缓存数据无效invalidate cache data。否则必须使缓存数据无效。
参考
Documentation – Arm Developer