【问题标题】:ARM Memory RemappingARM 内存重映射
【发布时间】:2012-09-10 09:13:16
【问题描述】:

ARM 页表条目具有 TEX 重映射位。我读过一些类似 TEX remap 的东西,它与页表条目的 AP 位一起用于访问保护。

  1. 有人帮我澄清一下这些位是什么以及它们的含义

  2. 它是否与内存重新映射有关?

    一个。如果是,它与普通内存重映射寄存器和主内存重映射寄存器有什么关系。

  3. Linux 内核是否在利用这些。

    一个。如果是这样,linux内核以哪种方式使用这些。请给我一些用例。

【问题讨论】:

  • "TEX remap" 是另外一回事。转换表中的位简称为 TEX。
  • TEX 位似乎用于定义内存区域的内存类型和可缓存性.. 什么是 TEX 重映射
  • 由于您的问题似乎与实际应用程序无关,因此我建议您首先下载 ARM 架构参考手册并在那里阅读:infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406c/…

标签: memory-management linux-kernel arm embedded-linux mmu


【解决方案1】:

简而言之,页表中的 TEX 位是类型扩展位。它们可用于控制细粒度级别的页面缓存,但通常用作硬件忽略的纯软件上下文。

见:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0211k/Babgahdc.html

Linux 使用这些位作为各种内存管理功能的软件上下文:

#define PMD_SECT_MINICACHE     (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE)
#define PMD_SECT_WBWA          (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE | PMD_SECT_BUFFERABLE)
#define PMD_SECT_NONSHARED_DEV (PMD_SECT_TEX(2))

见:http://lxr.free-electrons.com/source/arch/arm/include/asm/pgtable

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 2014-07-10
    • 2015-08-09
    • 2015-05-18
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多