问题标签 [iommu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
virtualization - 我想了解更多关于 VT-d (IOMMU) 技术的信息,我应该从哪里开始?
我是一个低级的狂热者,我喜欢英特尔 VT-x,最近有一些空闲时间阅读和享受。我最近接触了术语 VT-d,它允许为每个设备创建“设备领域”,我想了解更多关于它的信息,但是在 [1] [2] 中搜索时。英特尔没有发布有关该技术的文档吗?如果是这样 - 在哪里?
我不想阅读 Xen src(尽管这是一个选项),我想阅读英特尔发布的有关此事的实际文档。
也许你们可以在这里提供帮助。
[1] http://download.intel.com/products/processor/manual/252046.pdf [2] http://download.intel.com/products/processor/manual/325462.pdf
linux - 英特尔博锐技术是否有 Linux cpu 标志?
Linux 内核是否提供 CPU 标志以/proc/cpuinfo
指示处理器支持Intel vPro技术?具体来说,我想从操作系统中判断物理硬件是否支持Intel AMT,然后它是否实际启用。(我知道我可以端口扫描 TCP 16992,但这很麻烦!)
我希望有类似vmx标志(注明Intel VT)或rdrand标志(注明Intel DRNG )之类的东西。
intel - intel_iommu,它是什么?
我的一位客户在使用 Xeon E5 机器时遇到了问题:他们有一个 gpu(我相信它是 NVIDIA 的)挂起,他们通过添加
在 grub 加载器中。
这个值是什么,它有什么作用?我四处阅读,但不能简单地弄清楚
x86-64 - AMD-V 中断虚拟化 (AVIC):硬件支持和 IOMMU 交互
我在 AMD64 架构编程手册 (APM) 第 2 卷中遇到了高级虚拟中断控制器 (AVIC)。有些地方我不清楚,所以我快速浏览了流行的开源管理程序(Qemu/KVM 和Xen,仅举几例)来源,看看它是如何与 AMD IOMMU 一起使用的。似乎他们都没有使用 AVIC,Bochs/Qemu 也没有模拟它(Qemu 中有一个 IOMMU 模拟,但它适用于不虚拟化中断的版本 1)。
于是出现了两个问题:
中航工业为何如此“冷门”?也许现在市场上的 CPU 没有广泛支持它,或者是因为所有这些虚拟机管理程序都有很长的历史并且已经自己虚拟化中断,所以移植到 AVIC 不是首要任务?(或者我只是错过了来源中的某些内容?)
[原问题] IOMMU的Device Table Entry中的Guest Virtual APIC Table Root Pointer是否是APM Vol. 中定义的Physical APIC ID Table的指针。2,教派。15.29.2.3?
谢谢你的澄清。
x86 - ARM SMMU 和 x86 IOMMU 的功能不同?
我调查了一些 I/O 虚拟化的东西。而且我发现 IOMMU 是硬件辅助 I/O 虚拟化的关键硬件组件。
ARM SMMU 怎么样?ARM SMMU 和 x86 IOMMU 有什么区别吗?
谢谢!
gpu - “intel_iommu=igfx_off”究竟如何影响英特尔 IGD 的直通?
“intel_iommu=igfx_off”究竟如何影响英特尔 IGD 的直通?它是否完全阻止了英特尔 IGD 与主机的分离,以至于 qemu-kvm 等模拟器甚至不会首先将分配的 GPU 视为可用的图形设备之一,更不用说尚未启动的客户机了?或者它只是影响来宾中不可用的图形硬件加速?
谢谢。
linux-kernel - 没有 BIOS 支持的 IOMMU 初始化
注意:如果您的主板上有支持 IOMMU 的 AMD A55 芯片组,请将您的/sys/firmware/acpi/tables/DMAR
(或任何描述 IOMMU 的名称)的副本发送给我。对您来说没有任何风险。谢谢!
大多数主板制造商都不会发布启用 IOMMU 的 BIOS(BIOS 中没有选项)。
我对AMD这篇文档的理解是 BIOS 通过添加 ACPI 表来初始化 IOMMU。
因此,如果我可以从具有不同主板但支持 IOMMU 的相同芯片组的系统中获取 ACPI 表的转储(acpidump/acpiextract),是否可以通过在 iommu 模块之前的某个时间插入这些表来激活 IOMMU加载?
如果 iommu 内置在内核中(而不是作为模块),是否有任何机制允许在内核启动的早期动态更改 acpi 表?否则也许引导加载程序(grub/lilo)可以做到这一点?
这些“新”表中的某些地址很可能需要更新。这些地址会在现有的 ACPI 表中吗(以便区分会有所帮助)?
linux-kernel - Linux IOMMU 页表
我一直在阅读有关Linux 中IOMMU支持的信息,并且对 IOMMU 中的页表有一些疑问:
- IOMMU 是否使用 CPU MMU 页表来存储 VA → PA 映射?
- 如果不是,即虚拟地址不同,那么映射是按设备还是按 IOMMU 单元创建的?
我还没有查看任何驱动程序代码,所以如果有人能指出一些示例驱动程序代码,那就太好了。
c - 将 Linux IOMMU API 与用户空间地址一起使用
我有一个 pci 设备驱动程序,目前用于dma_map_page
将用户空间地址映射到 dma 地址。这工作正常,但我正在尝试将其移植到 iommu api 以获得使用组和域提供的一些好处。
当前代码:这很好用
IOMMU 代码:这不起作用
所有功能都成功返回,但是当我将 iova 传递给设备时,设备无法使用它。有没有人以前使用过 iommu 并且知道我的问题在哪里或者我可以在哪里查看?我无法在任何地方找到关于 Linux 的 iommu 实现的太多信息。
编辑:我第一次错过了 dmesg 中的一些条目:
iommu - Xen环境下一个域可以有多个iommu页表用VT-d吗
众所周知,IOMMU 将 GPA 重新映射到 HPA。当我查看 xen passthrough 驱动程序中的代码时,似乎属于 dom0 的所有设备(domu 相同)共享一个 IOMMU 页表。
我目前的项目使用Intel VT-d,需要一个单独的IOMMU页表给一个指定的设备,因此dom0可能一共有2个iommu页表,一个是1:1映射,一个是我的分离页表。
我想知道这个要求能满足吗?如果是这样,IOMMU 将如何执行 iotlb?