文章目录

  • Linux IOMMU
    • 基本的东西
    • 什么是RMRR?
    • IOVA是如何产生的?
    • 图形问题?
    • IOVA的一些例外情况
    • 故障报告
    • 启动消息示例
    • 故障报告
    • 待决定

Linux IOMMU

架构规范可以从以下位置获得。

vt-directed-io-spec.pdf

本指南提供了一个快速备忘单,以便进行一些基本的了解。

一些关键词:

  • DMAR - DMA重映射
  • DRHD - DMA重映射硬件​​单元定义
  • RMRR - 预留内存区域报告结构
  • ZLR - 从PCI设备读取零长度
  • IOVA - IO虚拟地址。

基本的东西

ACPI枚举并列出平台中的不同DMA引擎,以及PCI设备与DMA引擎控制它们之间的设备范围关系。


什么是RMRR?

BIOS控制一些设备,例如USB设备执行PS2仿真。用于这些设备的存储区域在e820映射中标记为保留。当我们打开DMA转换时,DMA到这些区域将失败。因此,BIOS使用RMRR指定这些区域以及需要访问这些区域的设备。 OS希望为这些区域设置单位映射,以便这些设备访问这些区域。


IOVA是如何产生的?

表现良好的驱动程序在向需要执行DMA的设备发送命令之前调用pci_map _ *()调用。完成DMA并且不再需要映射后,设备将执行pci_unmap _ *()调用以取消映射该区域。

Intel IOMMU驱动程序为每个域分配一个虚拟地址。每个PCIE设备都有自己的域(因此保护)。 p2p网桥下的设备与p2p网桥下的所有设备共享虚拟地址(due to transaction id aliasing for p2p bridges)。

IOVA生成非常通用。我们使用与vmalloc()相同的技术,但这些不是全局地址空间,而是针对每个域分开。不同的DMA引擎可以支持不同数量的域。

我们还为每个映射分配了保护页面,因此我们可以尝试捕获可能发生的任何溢出。


图形问题?

如果您遇到图形设备问题,可以尝试添加选项intel_iommu = igfx_off以关闭集成图形引擎。如果这样可以解决问题,请确保您提交报告问题的错误。


IOVA的一些例外情况

中断范围不是地址转换的,(0xfee00000 - 0xfeefffff)。(The same is true for peer to peer transactions. )因此,我们保留PCI MMIO范围的地址,因此它们不会分配给IOVA地址。


故障报告

报告错误时,DMA引擎通过中断发出信号。导致故障原因的故障原因和设备打印在控制台上。

见下面的样本。


启动消息示例

这样的东西被打印出来,表明ACPI中存在DMAR表。

ACPI:DMAR(v001 A M I OEMDMAR 0x00000001 MSFT 0x00000097)@ 0x000000007f5b5ef0

当ACPI处理和初始化DMAR时,打印DMAR位置和任何已处理的RMRR

ACPI DMAR:Host address width 36
ACPI DMAR:DRHD (flags: 0x00000000)base: 0x00000000fed90000
ACPI DMAR:DRHD (flags: 0x00000000)base: 0x00000000fed91000
ACPI DMAR:DRHD (flags: 0x00000001)base: 0x00000000fed93000
ACPI DMAR:RMRR base: 0x00000000000ed000 end: 0x00000000000effff
ACPI DMAR:RMRR base: 0x000000007f600000 end: 0x000000007fffffff

启用DMAR后,您会注意到…

PCI-DMA: Using DMAR IOMMU

故障报告

DMAR:[DMA Write] Request device [00:02.0] fault addr 6df084000
DMAR:[fault reason 05] PTE Write access is not set
DMAR:[DMA Write] Request device [00:02.0] fault addr 6df084000
DMAR:[fault reason 05] PTE Write access is not set

待决定

  • 对于兼容性测试,可以为所有设备使用统一映射域,只需为所有设备的单个域下的所有有用内存提供1-1。
  • 用于为VMM人员抽象功能的paravirt ops的API。

Linux IOMMU支持相关推荐

  1. Kali Linux重新支持RTL8814au芯片

    Kali Linux重新支持RTL8814au芯片 华硕AC68.DLINK DWA-192A.TP-LINK 7200都在使用RTL8814au.由于原有的realtek-rtl88xxau-dkm ...

  2. HPE 的 OpenSwitch 项目得到 Linux 基金会支持

    Linux基金会最近纳入了一个基于OpenSwitch的全新开源网络项目. OpenSwitch是一种适用于数据中心网络交换机的开源操作系统,最初由Hewlett-Packard Enterprise ...

  3. linux内核支持utf8,Linux对非UTF-8中文编码的支持

    背景 Linux系统默认采用的UTF-8的编码(Unicode编码的一种),包括系统中的中英文和特殊字符,都是默认采用UTF-8编码. 而在国内,针对中文(包括基本的汉字.各少数民族文字.特殊字符等) ...

  4. 报表工具流行度以及对linux的支持情况调研

    以前程无忧为例,调研下企业最爱用的BI工具的应用频率 BI工具 前程无忧上的招聘页码数量(页) 与大数据组建的配合使用 对linux的支持情况 Power BI 9页 可以连接kylin来分析hado ...

  5. xfs支持oracle,让linux内核支持xfs文件系统

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. XFS 简介 XFS 最初是由 Silicon Graphics ...

  6. linux怎么添加中文服务器,linux不支持中文怎么办_网站服务器运行维护

    linux如何实现图形界面与命令行界面的切换_网站服务器运行维护 linux实现图形界面与命令行界面的切换的方法是:执行[init 3]命令可以切换到命令行模式,执行[init 5]命令可以切换到图形 ...

  7. linux账号和权限管理思维导图,Linux系统支持的思维导图软件有哪些?

    原标题:Linux系统支持的思维导图软件有哪些? 思维导图是一种把抽象概念图像化的思维方式,对于打破惯性思维,锻炼全局思考观念,开发大脑潜能都有非常好的效果.如今思维导图日益流行,可依旧有些看官对思维 ...

  8. linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数

    [root@localhost src]# cat a.c /** * Linux C 支持正则表达式的字符串替换函数 * * Author: cnscn@163.com * Homepage: ww ...

  9. linux 安腾,时代谢幕:英特尔安腾IA-64的Linux内核支持已成孤儿

    原标题:时代谢幕:英特尔安腾IA-64的Linux内核支持已成孤儿 来源:cnBeta.COM 上周,Phoronix 报道了与 Linux 5.11 内核中的安腾(Itanium)IA-64 支持有 ...

最新文章

  1. 自定义leftBarButtonItem的button
  2. golang操作redis
  3. SpringMVC教程--图片上传
  4. OpenCV使用G-API的人脸分析管道
  5. 扎克伯格做了26张PPT,员工效率提10倍,已被疯狂传阅!
  6. [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
  7. php order by where,无合适where条件过滤时尽量选择order by后的字段以驱动表进行查询...
  8. return、reutrn false、e.preventDefault、e.stopPropagation、e.stopImmediatePropagation的区别
  9. 2017第九届中国云计算大会精彩日程曝光
  10. C/C++二路归并排序
  11. Cesium场景导出为图片功能
  12. 联想拯救者wif开不了_联想拯救者wifi开关
  13. Spring Boot整合MyBatis框架(完整的注解版)
  14. 搭建内网DNS服务器教程
  15. android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...
  16. MATLAB数字图像课题的开题报告
  17. 小程序制作预算_科普:小程序制作一个需要多少钱?
  18. 当网站不允许上传ASP,CGI,CER,CDX,HTR等类型的文件时
  19. OSChina 周四乱弹 —— 何以解忧,唯有暴富
  20. 形容词,名词记忆(七):ic,an,id后缀常用词

热门文章

  1. Synopsys Multivoltage Flow User Guide(汉化笔记)
  2. R语言read.table后header的数字前加上X,-符号被自动替换为.符号的处理办法
  3. 类的简单名称、类全名、二进制名、全限定名、描述符
  4. 这些代号1024的论坛,我听得都不好意思了(突然害羞.jpg)
  5. 超详细数据库笔记!!!!!!还带55道练习题
  6. 《只要你有心,人人都是JVM精通者》总目录
  7. 热烈祝贺美和易思通过ISO20000和ISO27001全球权威认证
  8. Latex 表格技巧 - 合并单元格
  9. 如何成为快手尬舞王?HUAWEI HiAI了解一下!
  10. 论文- Neutral Utterances are Also Causes: Enhancing Conversational Causal Emotion Entailment with Soci