12

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!


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

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

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?

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?

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)?

1 Answer 1

7

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?

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

Sign up to request clarification or add additional context in comments.

6 Comments

Sounds great I'm in hurry to try it. But my efforts to retrieve ACPI tables from an AsRock BIOS ROM (one that supports IOMMU) have been very limited, using UEFITool, MMTools, efiperun, and misc other tools. So if you have a AMD A55 chipset on a motherboard that support IOMMU, please send me a copy of your /sys/firmware/acpi/tables/DMAR (whatever the name is, if unsure ask me) anyway there is no risk for you. thanks!
No, I have no such hardware. but if you can run Linux you may retrieve them like you described.
Andy: it was a comment meant for any reader who might to help :)
I don't understand your answer: of course I can use Linux to retrieve data. Read again the question you'll see that know-how is not the problem. The problem is accessing some hardware with the right features.
@Eric, if hardware supports feature and it's not fused by firmware, OS can utilize it. VT-d is described in this document software.intel.com/sites/default/files/managed/c5/15/…
|

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.