Linux kernel 没有BIOS支持的IOMMU初始化
注意:如果您的主板上有支持IOMMU的AMD A55芯片组,请向我发送您的Linux kernel 没有BIOS支持的IOMMU初始化,linux-kernel,bios,acpi,iommu,Linux Kernel,Bios,Acpi,Iommu,注意:如果您的主板上有支持IOMMU的AMD A55芯片组,请向我发送您的/sys/firmware/acpi/tables/DMAR(或描述IOMMU的任何名称)的副本。你没有任何风险。谢谢 大多数主板制造商并不费心发布支持IOMMU的BIOS(BIOS中没有选项) 我对AMD的理解是BIOS通过添加ACPI表来初始化IOMMU 因此,如果我可以从具有不同主板但支持IOMMU的同一芯片组的系统中转储ACPI表(acpidump/acpiextract),是否可以通过在IOMMU模块加载之前的
/sys/firmware/acpi/tables/DMAR
(或描述IOMMU的任何名称)的副本。你没有任何风险。谢谢
大多数主板制造商并不费心发布支持IOMMU的BIOS(BIOS中没有选项) 我对AMD的理解是BIOS通过添加ACPI表来初始化IOMMU 因此,如果我可以从具有不同主板但支持IOMMU的同一芯片组的系统中转储ACPI表(acpidump/acpiextract),是否可以通过在IOMMU模块加载之前的某个点插入这些表来激活IOMMU 如果iommu内置在内核中(而不是作为模块),是否有任何机制允许在内核引导的早期阶段动态更改acpi表?否则,引导加载程序(grub/lilo)可能会这样做
这些“新”表中的某些地址很可能需要更新。这些地址是否会在现有的ACPI表中(以便差异化会有所帮助)?好问题。我们有一种机制来加载额外的DSDT(请参阅
文档/acpi/DSDT overriding.txt
),也可以覆盖一些方法(方法自定义.txt
),但我不确定DMAR表。至少ACPI规范没有说可以这样使用。我想你可能会攻击你的内核并尝试这样做,但这会是上游的吗
更新。哦,这个看起来很有希望:听起来不错,我急着要试试。但我使用UEFITool、MMTools、EFIPURN和misc其他工具从AsRock BIOS ROM(支持IOMMU的ROM)检索ACPI表的努力非常有限。因此,如果您在支持IOMMU的主板上安装了,请向我发送一份您的
/sys/firmware/acpi/tables/DMAR
(无论名称如何,如果不确定,请询问我)无论如何,您都没有风险。谢谢不,我没有这样的硬件。但是如果你能运行Linux,你可以像你所描述的那样检索它们。安迪:这是一条评论,是给任何可能需要帮助的读者的:)我不明白你的答案:当然我可以使用Linux检索数据。再读一遍这个问题,你会发现诀窍不是问题所在。问题是使用正确的功能访问某些硬件。@Eric,如果硬件支持该功能,并且它没有通过固件融合,操作系统可以利用它。本文件中描述了VT-d