mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: build command line for the TPM Proxy device
This patch wraps it up all the wiring done in previous patches, enabling a PPC64 guest to launch a guest using a TPM Proxy device. Note that device validation is already being done in qemu_validate.c, qemuValidateDomainDeviceDefTPM(), on domain define time. We don't need to verify QEMU capabilities for this device again inside qemu_command.c. Tested-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
badbd55a3b
commit
9577d86f62
@ -9103,6 +9103,26 @@ qemuBuildTPMCommandLine(virCommandPtr cmd,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuBuildTPMProxyCommandLine(virCommandPtr cmd,
|
||||
virDomainTPMDefPtr tpm)
|
||||
{
|
||||
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
|
||||
const char *filePath = NULL;
|
||||
|
||||
filePath = tpm->data.passthrough.source.data.file.path;
|
||||
|
||||
virCommandAddArg(cmd, "-device");
|
||||
virBufferAsprintf(&buf, "%s,id=%s,host-path=",
|
||||
virDomainTPMModelTypeToString(tpm->model),
|
||||
tpm->info.alias);
|
||||
virQEMUBuildBufferEscapeComma(&buf, filePath);
|
||||
virCommandAddArgBuffer(cmd, &buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuBuildTPMsCommandLine(virCommandPtr cmd,
|
||||
const virDomainDef *def,
|
||||
@ -9111,8 +9131,13 @@ qemuBuildTPMsCommandLine(virCommandPtr cmd,
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < def->ntpms; i++) {
|
||||
if (qemuBuildTPMCommandLine(cmd, def, def->tpms[i], qemuCaps) < 0)
|
||||
if (def->tpms[i]->model == VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY) {
|
||||
if (qemuBuildTPMProxyCommandLine(cmd, def->tpms[i]) < 0)
|
||||
return -1;
|
||||
} else if (qemuBuildTPMCommandLine(cmd, def,
|
||||
def->tpms[i], qemuCaps) < 0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user