mprotect是否刷新ARM Linux上的指令缓存?

Ada*_*ode 5 linux jit arm mprotect self-modifying

我正在ARM Linux上编写一个JIT,它执行一个包含自修改代码的指令集.指令集没有任何缓存刷新指令(在这方面类似于x86).

如果我向页面写出一些代码,然后mprotect在该页面上调用,那是否足以使指令缓存无效?或者我还需要cacheflush在这些页面上使用系统调用吗?

Yan*_*min -1

我相信您不必显式刷新缓存。

这是哪个处理器?ARMv5?ARMv7?

  • 嗯,我名义上的目标是 ARMv5。根据ARM ARM的说法,在自修改代码的情况下确实需要刷新指令缓存。我只是想知道 mprotect 是否会为我做这件事。 (2认同)