本文介绍了不支持BIOS的IOMMU初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

NOTE: if you have an AMD A55 chipset on a motherboard that support IOMMU, please send me a copy of your /sys/firmware/acpi/tables/DMAR (or whatever the name is that describes IOMMU). There is no risk of any sort for you. Thanks!

大多数主板制造商都不会费心释放启用IOMMU的BIOS(BIOS中没有选项).

Most motherboard manufacturers don't bother releasing IOMMU enabled BIOS (no option in the BIOS).

我对AMD的这份文件的不屑一顾是BIOS通过添加ACPI表来初始化IOMMU.

My undesranding of this document from AMD is that the BIOS initializes the IOMMU by adding ACPI tables.

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

So if I can get a dump of the ACPI tables (acpidump/acpiextract) from a system with a different motherboard but the same chipset that supports IOMMU, would it be possible to activate IOMMU by inserting these tables at some point before the iommu module is loaded?

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

If iommu is built into the kernel (not as module), is there any mechanism that allows to change acpi tables on the fly at an early stage of the kernel boot? Otherwise maybe the bootloader (grub/lilo) can do that?

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

Very likely some addresses within these "new" tables would need updating. Would these addresses be in the existing ACPI tables (so that diffing would help)?

推荐答案

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

Good question. We have a mechanism to load an additional DSDT (see Documentation/acpi/dsdt-overriding.txt), also some methods can be overridden (method-customizing.txt) but I'm not sure about DMAR table. At least ACPI specification doesn't say it's possible to use like this. I think you may hack your kernel and try to do such, but would it be upstreamable?

更新.哦,这看起来很有希望: Documentation/acpi/initrd_table_override.txt

UPDATE. Oh, this one looks promising: Documentation/acpi/initrd_table_override.txt

这篇关于不支持BIOS的IOMMU初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-30 12:16