[libvirt] [PATCH 3/6] qemu: Add address in qemuBuildChrDeviceStr() on pseries

Michael Ellerman michael at ozlabs.org
Thu Dec 8 06:41:25 UTC 2011


From: Michael Ellerman <michael at ellerman.id.au>

For the PPC64 pseries machine type we need to add address information
for the spapr-vty device.

Signed-off-by: Michael Ellerman <michael at ellerman.id.au>
---
 src/qemu/qemu_command.c |   10 +++++++---
 src/qemu/qemu_command.h |    1 +
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index ca812de..eaef0e1 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4586,7 +4586,8 @@ qemuBuildCommandLine(virConnectPtr conn,
                 VIR_FREE(devstr);
 
                 virCommandAddArg(cmd, "-device");
-                if (!(devstr = qemuBuildChrDeviceStr(serial, def->os.arch,
+                if (!(devstr = qemuBuildChrDeviceStr(serial, qemuCaps,
+                                                     def->os.arch,
                                                      def->os.machine)))
                    goto error;
                 virCommandAddArg(cmd, devstr);
@@ -5482,15 +5483,18 @@ qemuBuildCommandLine(virConnectPtr conn,
  */
 char *
 qemuBuildChrDeviceStr(virDomainChrDefPtr serial,
+                       virBitmapPtr qemuCaps,
                        char *os_arch,
                        char *machine)
 {
     virBuffer cmd = VIR_BUFFER_INITIALIZER;
 
-    if (STREQ(os_arch, "ppc64") && STREQ(machine, "pseries"))
+    if (STREQ(os_arch, "ppc64") && STREQ(machine, "pseries")) {
         virBufferAsprintf(&cmd, "spapr-vty,chardev=char%s",
                           serial->info.alias);
-    else
+        if (qemuBuildDeviceAddressStr(&cmd, &serial->info, qemuCaps) < 0)
+            goto error;
+    } else
         virBufferAsprintf(&cmd, "isa-serial,chardev=char%s,id=%s",
                           serial->info.alias, serial->info.alias);
 
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 3978b2b..c76f83a 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -56,6 +56,7 @@ virCommandPtr qemuBuildCommandLine(virConnectPtr conn,
 /* Generate string for arch-specific '-device' parameter */
 char *
 qemuBuildChrDeviceStr (virDomainChrDefPtr serial,
+                       virBitmapPtr qemuCaps,
                        char *os_arch,
                        char *machine);
 
-- 
1.7.7.3




More information about the libvir-list mailing list