Re: [PATCH 01/14] KVM: arm64: Donate MMIO to the hypervisor
From: Suzuki K Poulose <suzuki.poulose@arm.com>
Date: 2026-03-13 10:41:34
Also in:
kvmarm, lkml
On 10/03/2026 12:49, Sebastian Ene wrote:
From: Mostafa Saleh <smostafa@google.com> Add a function to donate MMIO to the hypervisor so IOMMU hypervisor drivers can use that to protect the MMIO of IOMMU. The initial attempt to implement this was to have a new flag to "___pkvm_host_donate_hyp" to accept MMIO. However that had many problems, it was quite intrusive for host/hyp to check/set page state to make it aware of MMIO and to encode the state in the page table in that case. Which is called in paths that can be sensitive to performance (FFA, VMs..) As donating MMIO is very rare, and we don’t need to encode the full state, it’s reasonable to have a separate function to do this. It will init the host s2 page table with an invalid leaf with the owner ID to prevent the host from mapping the page on faults. Also, prevent kvm_pgtable_stage2_unmap() from removing owner ID from stage-2 PTEs, as this can be triggered from recycle logic under memory pressure. There is no code relying on this, as all ownership changes is done via kvm_pgtable_stage2_set_owner() For error path in IOMMU drivers, add a function to donate MMIO back from hyp to host. Signed-off-by: Mostafa Saleh <smostafa@google.com>
nit: Your Signed-off-by: is missing. Even if you haven't made any changes, when you are sending something, you need your S-o-B. Suzuki