Now that S390PCIIOMMU had been reduced to only the IOMMU container information needed by the PCI layer for the associated slot, add a comment explaining the purpose of the structure.
Reviewed-by: Matthew Rosato <[email protected]> Signed-off-by: Konstantin Shkolnyy <[email protected]> --- include/hw/s390x/s390-pci-bus.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-pci-bus.h index e3cbee2695..0a59be1fd0 100644 --- a/include/hw/s390x/s390-pci-bus.h +++ b/include/hw/s390x/s390-pci-bus.h @@ -271,6 +271,14 @@ typedef struct S390PCIDMACount { QTAILQ_ENTRY(S390PCIDMACount) link; } S390PCIDMACount; +/* + * This structure holds the AddressSpace for a PCI device slot. It must be + * allocated before PCIDevice registration completes, specifically to satisfy + * the get_address_space IOMMU callback invoked by do_pci_register_device(). + * The root MemoryRegion is otherwise empty; DMA translations only become + * functional once the guest configures the device, at which point + * s390_pci_iommu_enable() registers the zPCI translation subregions beneath it. + */ struct S390PCIIOMMU { Object parent_obj; AddressSpace as; -- 2.34.1
