PCI subsystem — QEMU documentation

# PCI subsystem

## API Reference

struct PCIIOMMUOps

  callbacks structure for specific IOMMU handlers of a PCIBus

Definition

    struct PCIIOMMUOps {
      AddressSpace * (*get_address_space)(PCIBus *bus, void *opaque, int devfn);
    };

Members

`get_address_space`

  get the address space for a set of devices on a PCI bus.

  Mandatory callback which returns a pointer to an `AddressSpace`

  bus: the `PCIBus` being accessed.

  opaque: the data passed to pci_setup_iommu().

  devfn: device and function number

Description

Allows to modify the behavior of some IOMMU operations of the PCI framework for a set of devices on a PCI bus.

void pci_setup_iommu(PCIBus *bus, const PCIIOMMUOps *ops, void *opaque)

  Initialize specific IOMMU handlers for a PCIBus

Parameters

`PCIBus *bus`

  the `PCIBus` being updated.

`const PCIIOMMUOps *ops`

  the `PCIIOMMUOps`

`void *opaque`

  passed to callbacks of the ops structure.

Description

Let PCI host bridges define specific operations.