[libvirt] [PATCH v2 03/15] qemu: Move skip for implicit PHB of pSeries guests

Andrea Bolognani abologna at redhat.com
Fri Feb 16 16:28:00 UTC 2018


Performing the skip earlier will help us making the function
nicer later on. We also make the condition for the skip a bit
more precise, though that'a more for self-documenting purposes
and doesn't change anything in practice.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 src/qemu/qemu_command.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1ab5b0818..5e4dfcf75 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -2732,6 +2732,14 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
             def->model != VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST)
             modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName);
 
+        /* Skip the implicit PHB for pSeries guests */
+        if (def->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT &&
+            pciopts->modelName == VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_SPAPR_PCI_HOST_BRIDGE &&
+            pciopts->targetIndex == 0 &&
+            qemuDomainIsPSeries(domainDef)) {
+            goto done;
+        }
+
         switch ((virDomainControllerModelPCI) def->model) {
         case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE:
             virBufferAsprintf(&buf, "%s,chassis_nr=%d,id=%s",
@@ -2759,10 +2767,6 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
                               pciopts->chassis, def->info.alias);
             break;
         case VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT:
-            /* Skip the implicit one */
-            if (pciopts->targetIndex == 0)
-                goto done;
-
             virBufferAsprintf(&buf, "%s,index=%d,id=%s",
                               modelName, pciopts->targetIndex,
                               def->info.alias);
-- 
2.14.3




More information about the libvir-list mailing list