Skip to content

Set iommu=pt on the amd variant - #50

Merged
ihavespoons merged 2 commits into
mainfrom
amd-iommu-pt
Nov 9, 2026
Merged

ihavespoons merged 2 commits into
mainfrom
amd-iommu-pt

Conversation

@ihavespoons

Copy link
Copy Markdown
Collaborator

The change

  • os/variants/sibyl-amd-kargs.toml sets the kernel argument iommu=pt on x86_64. The amd build installs it as /usr/lib/bootc/kargs.d/50-sibyl-amd.toml, the same way that the nvidia variant installs its kernel arguments.
  • With iommu=pt, DMA from the devices that the host owns skips IOMMU address translation. AMD's ROCm docs recommend it for multi-GPU hosts. The IOMMU stays on for devices that a VM gets.
  • The cost is that a rogue PCIe or Thunderbolt device can read all memory. The design overview states this.

Verification

  • The arm64 image builds with the file in kargs.d, and bootc container lint passes 14 checks.
  • On the test host, which has two 7900 XTX cards, rpm-ostree kargs --append-if-missing=iommu=pt added the argument to the staged deployment. It takes effect at the next reboot. The reboot waits until a training run ends.

🤖 Generated with Claude Code

ihavespoons and others added 2 commits November 9, 2026 14:28
DMA from the GPUs then skips IOMMU address translation, which AMD's ROCm
docs recommend for multi-GPU hosts. The argument goes in
/usr/lib/bootc/kargs.d/50-sibyl-amd.toml, as nvidia's kargs do. The cost
is that a rogue PCIe or Thunderbolt device can read all memory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ihavespoons
ihavespoons merged commit fe57088 into main Nov 9, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant