【问题标题】:what is definition of device memory in ARMv8?ARMv8中设备内存的定义是什么?
【发布时间】:2017-02-10 06:02:58
【问题描述】:

在 ARMv8 TRM 中: 对任何类型的设备内存的未对齐访问都会导致对齐错误。

设备内存是什么意思。 我们可以将端点卡上的 PCIe BAR 内存称为设备内存吗?

那么当EP条映射到主机内存时,我们可以称这组内存为设备内存吗?

【问题讨论】:

  • 您指的是哪本手册? ARMv8 和 v8-A 的 ARM Architecture Reference_Manual 对普通内存和设备内存进行了冗长的描述。
  • ARMv8,一般pcie条都是内存映射的。这样,我们可以将它们视为设备内存。谁在linux中设置了这个内存类型属性,基于什么?

标签: linux linux-kernel arm device device-driver


【解决方案1】:

是否将某个内存区域定义为设备内存取决于几件事。首先,您需要将 MAIR_ELx 寄存器中的至少一个字段定义为设备内存(具体配置请参见 ARM ARM)。其次,在您的转换表中,映射为设备内存的区域应在其较低属性( AttrIdx[4:2] 位)中指向该特定 MAIR_ELx 索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2019-10-03
    • 2020-04-02
    相关资源
    最近更新 更多