首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM MMU在不同运行模式下的运行

ARM MMU在不同运行模式下的运行
EN

Stack Overflow用户
提问于 2012-04-03 19:50:00
回答 1查看 1.8K关注 0票数 4

在我提出问题之前,我会先把我对这个话题的理解,

  1. Linux内核模式对应于ARM监控器mode.
  2. Linux用户模式对应于ARM用户Mode.
  3. In 内核模式 (MMU已启用),Linux使用相对地址代替物理地址。例如,物理地址=相对地址- PAGE_OFFSET +用户模式 (MMU已启用),Linux使用虚拟地址代替物理地址。使用pte、pmd、pgd

物理地址= MMU转换(虚拟地址)

问题:

  1. 是在监控程序模式下启用的(对于内核地址)。如果启用了
  2. ,那么这是否意味着在翻译监控程序模式和用户模式时,相同的MMU以不同的方式工作。如果MMU以不同的方式在不同的模式下工作,请给我指示MMU的功能是如何不同的。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-04-07 14:33:01

1:是的。启用MMU可以实现所有模式(虽然对于安全/非安全状态需要单独执行,但这超出了Linux的范围)。

2:是的,因为它可以对特权(内核)和用户模式具有不同的访问权限。在ARM1176技术参考手册中可以找到一个有点过时但在概念上有用的表来演示这一点。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0333h/Caceaije.html

3: MMU在所有模式下的功能是相同的。好的,为了完整起见:有一个叫做“域”的概念,内核可以使用这个概念来完全绕过访问权限检查。不过,这在最新的处理器中是不可取的,不再用于ARM11和Cortex-A处理器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10000298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档