0


REE刷TLB时会把安全的TLB刷掉吗

思考:
REE刷TLB时会把安全的TLB刷掉吗?
TEE刷TLB时能否刷安全的TLB?例如页表管理着的共享内存,它的翻译缓存到了TLB.

首先,纠正一下用词,这里的"刷",来自某些操作系统中的"flush",在TLB底层的操作指令中,是没有flush或clean的,关于TLB的操作指令指令只有一类,那就是invalidate。 博文在以下的描述中,可能会invalidate/刷交替使用。

接着我们再衍生几个讨论,在EL1是否能invalidate all TLB,或是否能invalidate EL3 TLB ?
答案,当然是不能的,因为你仔细看看TLBI的每一条指令,是没有ALL(EL1/EL2/EL3)的,当然每一条指令都跟上了一个Exception Levle范围的。
所以总结一下就是:PE在EL1时可以刷EL1的TLB,但不可以刷EL2/3的TLB,而PE在EL3时可以刷EL3/2/1的TLB

在这里插入图片描述

那么在EL3时,是如何刷S-EL1的TLB,如何刷NS-EL1的TLB呢?
回答是,你使用的指令,要跟上EL1的限定,如

TLBI xxxxE1

,然后记得切换

SCR_EL3.NS

比特来决定刷的S还是NS的TLB

接下来,重点来了,REE刷TLB时会把安全的TLB刷掉吗?
答案:当然不会ÿ

标签: Trustzone TLB 安全

本文转载自: https://blog.csdn.net/weixin_42135087/article/details/131689731
版权归原作者 代码改变世界ctw 所有, 如有侵权,请联系我们删除。

“REE刷TLB时会把安全的TLB刷掉吗”的评论:

还没有评论