【发布时间】:2012-07-06 04:33:44
【问题描述】:
更新翻译表中的条目的步骤是什么?
我使用 ARM920T 的 MMU 来获得一些内存保护。 当我在进程之间切换时,我需要更改一些条目以保护其他进程的内存。更新表(在内存中)后,我发出一个完整的 TLB 失效(只是为了确定,也没有锁定的条目),但新进程仍然可以访问前一个进程的数据。
当我遍历表时,一切看起来都应该是正常的(意味着其他进程区域设置为“在 USR 模式下不可访问”)。
编辑 在 TLB 失效之前,我还做了一次完整的缓存清理和失效(在两个缓存上),但这并没有改变任何东西。
【问题讨论】:
标签: c arm virtual-memory tlb