Skip to content

Commit d766d87

Browse files
committed
KVM: arm64: Document ordering requirements for irqbypass
One of the not-so-obvious requirements for restoring a VM is ensuring that the vITS has been restored _before_ creating any irqbypass mappings. This is because KVM needs to get the guest translation for MSIs to correctly assemble the vLPI mapping getting installed in the physical ITS. Document the restore ordering requirements necessary for GICv4 vLPI injection to work. Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250226183124.82094-5-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
1 parent 5c57533 commit d766d87

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Documentation/virt/kvm/devices/arm-vgic-its.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ KVM_DEV_ARM_VGIC_GRP_ITS_REGS
126126
ITS Restore Sequence:
127127
---------------------
128128

129-
The following ordering must be followed when restoring the GIC and the ITS:
129+
The following ordering must be followed when restoring the GIC, ITS, and
130+
KVM_IRQFD assignments:
130131

131132
a) restore all guest memory and create vcpus
132133
b) restore all redistributors
@@ -139,6 +140,8 @@ d) restore the ITS in the following order:
139140
3. Load the ITS table data (KVM_DEV_ARM_ITS_RESTORE_TABLES)
140141
4. Restore GITS_CTLR
141142

143+
e) restore KVM_IRQFD assignments for MSIs
144+
142145
Then vcpus can be started.
143146

144147
ITS Table ABI REV0:

0 commit comments

Comments
 (0)