iommu_mode
const struct iommu_mode *mode;
struct iommu *iommu_init(const char *iommu_mode);
static const struct iommu_mode iommu_modes[] = {
struct iommu *iommu_init(const char *iommu_mode)
iommu->mode = lookup_iommu_mode(iommu_mode);
static const struct iommu_mode *lookup_iommu_mode(const char *iommu_mode)
if (!iommu_mode)
iommu_mode = default_iommu_mode;
if (strcmp(iommu_mode, iommu_modes[i].name))
VFIO_FAIL("Unrecognized IOMMU mode: %s\n", iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);
const char *iommu_mode;
.iommu_mode = #_iommu_mode, \
self->iommu = iommu_init(variant->iommu_mode);