Move the TPM command line build code into its own function.
Signed-off-by: Stefan Berger <stefanb(a)linux.vnet.ibm.com>
---
src/qemu/qemu_command.c | 37 +++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index c112619..d6bc294 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -8191,6 +8191,30 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd,
return ret;
}
+static int
+qemuBuildTPMCommandLine(virDomainDefPtr def,
+ virCommandPtr cmd,
+ virQEMUCapsPtr qemuCaps,
+ const char *emulator)
+{
+ char *optstr;
+
+ if (!(optstr = qemuBuildTPMBackendStr(def, qemuCaps, emulator)))
+ return -1;
+
+ virCommandAddArgList(cmd, "-tpmdev", optstr, NULL);
+ VIR_FREE(optstr);
+
+ if (!(optstr = qemuBuildTPMDevStr(def, qemuCaps, emulator)))
+ return -1;
+
+ virCommandAddArgList(cmd, "-device", optstr, NULL);
+ VIR_FREE(optstr);
+
+ return 0;
+}
+
+
qemuBuildCommandLineCallbacks buildCommandLineCallbacks = {
.qemuGetSCSIDeviceSgName = virSCSIDeviceGetSgName,
};
@@ -9600,19 +9624,8 @@ qemuBuildCommandLine(virConnectPtr conn,
}
if (def->tpm) {
- char *optstr;
-
- if (!(optstr = qemuBuildTPMBackendStr(def, qemuCaps, emulator)))
+ if (qemuBuildTPMCommandLine(def, cmd, qemuCaps, emulator) < 0)
goto error;
-
- virCommandAddArgList(cmd, "-tpmdev", optstr, NULL);
- VIR_FREE(optstr);
-
- if (!(optstr = qemuBuildTPMDevStr(def, qemuCaps, emulator)))
- goto error;
-
- virCommandAddArgList(cmd, "-device", optstr, NULL);
- VIR_FREE(optstr);
}
for (i = 0; i < def->ninputs; i++) {
--
1.9.3