From: Laine Stump Date: Sat, 3 Sep 2016 01:41:43 +0000 (-0400) Subject: qemu: new functions qemuDomainMachineHasPCI[e]Root() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=50adb8a660c97662ed96aed40f5b04959229976b;p=libvirt.git qemu: new functions qemuDomainMachineHasPCI[e]Root() These functions provide a simple one line method of learning if the current domain has a pci-root or pcie-root bus. --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8cba755c9b..bd2d16704e 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5619,6 +5619,36 @@ qemuDomainMachineIsI440FX(const virDomainDef *def) } +bool +qemuDomainMachineHasPCIRoot(const virDomainDef *def) +{ + int root = virDomainControllerFind(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 0); + + if (root < 0) + return false; + + if (def->controllers[root]->model != VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) + return false; + + return true; +} + + +bool +qemuDomainMachineHasPCIeRoot(const virDomainDef *def) +{ + int root = virDomainControllerFind(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 0); + + if (root < 0) + return false; + + if (def->controllers[root]->model != VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT) + return false; + + return true; +} + + bool qemuDomainMachineNeedsFDC(const virDomainDef *def) { diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 0c1689b57f..f538d2259d 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -658,6 +658,8 @@ virDomainChrDefPtr qemuFindAgentConfig(virDomainDefPtr def); bool qemuDomainMachineIsQ35(const virDomainDef *def); bool qemuDomainMachineIsI440FX(const virDomainDef *def); +bool qemuDomainMachineHasPCIRoot(const virDomainDef *def); +bool qemuDomainMachineHasPCIeRoot(const virDomainDef *def); bool qemuDomainMachineNeedsFDC(const virDomainDef *def); bool qemuDomainMachineIsS390CCW(const virDomainDef *def); bool qemuDomainMachineIsVirt(const virDomainDef *def);