linux - ARMv8 中设备内存的定义是什么?

标签 linux linux-kernel arm device device-driver

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

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

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

最佳答案

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

关于linux - ARMv8 中设备内存的定义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152519/

相关文章:

linux - Linux 内核中的无符号三 = 1

embedded - 对于 NEON 优化,哪个更好,gcc 或 armcc?

c - 读取输入引脚的状态并显示在 LED 上 - LPC1115

c++ - 无法编译在 ARM 设备上使用的 Qt 程序

linux - 如何在重定向后通过 wget 下载文件名

linux - Linux 中的页面错误是否一定会导致上下文切换?

linux - 新手 : linux command

linux - 从Linux中的文件中提取二维数组中的文本

c - 如何在 Linux 内核中将 char[] 字符串转换为 int?

c++ - 使用 C 中系统调用的文件描述符