|
@@ -57,6 +57,7 @@ struct PXBDev {
|
|
|
|
|
|
uint8_t bus_nr;
|
|
|
uint16_t numa_node;
|
|
|
+ bool bypass_iommu;
|
|
|
};
|
|
|
|
|
|
static PXBDev *convert_to_pxb(PCIDevice *dev)
|
|
@@ -255,6 +256,7 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
|
|
|
bus->map_irq = pxb_map_irq_fn;
|
|
|
|
|
|
PCI_HOST_BRIDGE(ds)->bus = bus;
|
|
|
+ PCI_HOST_BRIDGE(ds)->bypass_iommu = pxb->bypass_iommu;
|
|
|
|
|
|
pxb_register_bus(dev, bus, &local_err);
|
|
|
if (local_err) {
|
|
@@ -301,6 +303,7 @@ static Property pxb_dev_properties[] = {
|
|
|
/* Note: 0 is not a legal PXB bus number. */
|
|
|
DEFINE_PROP_UINT8("bus_nr", PXBDev, bus_nr, 0),
|
|
|
DEFINE_PROP_UINT16("numa_node", PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
|
|
|
+ DEFINE_PROP_BOOL("bypass_iommu", PXBDev, bypass_iommu, false),
|
|
|
DEFINE_PROP_END_OF_LIST(),
|
|
|
};
|
|
|
|