【问题标题】:IOMMU initialization without BIOS support没有 BIOS 支持的 IOMMU 初始化
【发布时间】:2015-08-24 08:46:17
【问题描述】:

注意:如果您的主板上有支持 IOMMU 的 AMD A55 芯片组,请将您的/sys/firmware/acpi/tables/DMAR(或任何描述 IOMMU 的名称)的副本发送给我。对您来说没有任何风险。谢谢!


大多数主板制造商不会发布支持 IOMMU 的 BIOS(BIOS 中没有选项)。

我对 AMD 的 this document 的理解是 BIOS 通过添加 ACPI 表来初始化 IOMMU。

因此,如果我可以从具有不同主板但支持 IOMMU 的相同芯片组的系统中获取 ACPI 表的转储(acpidump/acpiextract),是否可以通过在之前的某个时间插入这些表来激活 IOMMU iommu 模块加载了吗?

如果 iommu 内置在内核中(而不是作为模块),是否有任何机制允许在内核启动的早期动态更改 acpi 表?否则也许引导加载程序(grub/lilo)可以做到这一点?

这些“新”表中的某些地址很可能需要更新。这些地址是否会出现在现有的 ACPI 表中(以便区分会有所帮助)?

【问题讨论】:

    标签: linux-kernel bios acpi iommu


    【解决方案1】:

    好问题。我们有一种机制来加载额外的 DSDT(参见Documentation/acpi/dsdt-overriding.txt),也可以覆盖一些方法(method-customizing.txt),但我不确定 DMAR 表。至少 ACPI 规范没有说可以这样使用。我认为您可能会破解您的内核并尝试这样做,但它可以上游吗?

    更新。哦,这个看起来很有前途:Documentation/acpi/initrd_table_override.txt

    【讨论】:

    • 听起来不错,我急于尝试。但是我使用 UEFITool、MMTools、efiperun 和其他工具从 AsRock BIOS ROM(支持 IOMMU)检索 ACPI 表的努力非常有限。所以如果您在支持 IOMMU 的主板上有 AMD A55 chipset,请将您的 /sys/firmware/acpi/tables/DMAR 的副本发送给我(无论名称是什么,如果不确定,请询问我)无论如何对您来说没有风险.谢谢!
    • 不,我没有这样的硬件。但如果你可以运行 Linux,你可以像你描述的那样检索它们。
    • 安迪:这是对任何可能提供帮助的读者的评论:)
    • 我不明白你的回答:我当然可以使用 Linux 来检索数据。再读一遍你会发现诀窍不是问题的问题。问题是访问一些具有正确功能的硬件。
    • @Eric,如果硬件支持功能并且没有被固件融合,操作系统可以使用它。 VT-d 在本文档中进行了描述software.intel.com/sites/default/files/managed/c5/15/…
    猜你喜欢
    • 2020-11-19
    • 2016-02-14
    • 2011-12-25
    • 1970-01-01
    • 2021-01-12
    • 2012-11-13
    • 2012-09-07
    • 2011-08-09
    • 2020-03-05
    相关资源
    最近更新 更多