mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: add support for generating SMBIOS OEM strings command line
This wires up the previously added OEM strings XML schema to be able to generate comamnd line args for QEMU. This requires QEMU >= 2.12 release containing this patch: commit 2d6dcbf93fb01b4a7f45a93d276d4d74b16392dd Author: Daniel P. Berrange <berrange@redhat.com> Date: Sat Oct 28 21:51:36 2017 +0100 smbios: support setting OEM strings table Reviewed-by: John Ferlan <jferlan@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
68eed56b2d
commit
7697706135
@ -6142,6 +6142,26 @@ qemuBuildSmbiosBaseBoardStr(virSysinfoBaseBoardDefPtr def)
|
||||
}
|
||||
|
||||
|
||||
static char *
|
||||
qemuBuildSmbiosOEMStringsStr(virSysinfoOEMStringsDefPtr def)
|
||||
{
|
||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||
size_t i;
|
||||
|
||||
if (!def)
|
||||
return NULL;
|
||||
|
||||
virBufferAddLit(&buf, "type=11");
|
||||
|
||||
for (i = 0; i < def->nvalues; i++) {
|
||||
virBufferAddLit(&buf, ",value=");
|
||||
virQEMUBuildBufferEscapeComma(&buf, def->values[i]);
|
||||
}
|
||||
|
||||
return virBufferContentAndReset(&buf);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuBuildSmbiosCommandLine(virCommandPtr cmd,
|
||||
virQEMUDriverPtr driver,
|
||||
@ -6212,6 +6232,14 @@ qemuBuildSmbiosCommandLine(virCommandPtr cmd,
|
||||
virCommandAddArgList(cmd, "-smbios", smbioscmd, NULL);
|
||||
VIR_FREE(smbioscmd);
|
||||
}
|
||||
|
||||
if (source->oemStrings) {
|
||||
if (!(smbioscmd = qemuBuildSmbiosOEMStringsStr(source->oemStrings)))
|
||||
return -1;
|
||||
|
||||
virCommandAddArgList(cmd, "-smbios", smbioscmd, NULL);
|
||||
VIR_FREE(smbioscmd);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -17,6 +17,8 @@ serial=32dfcb37-5af1-552b-357c-be8c3aa38310,\
|
||||
uuid=c7a5fdbd-edaf-9455-926a-d65c16db1809,sku=1234567890,family=Red Hat' \
|
||||
-smbios 'type=2,manufacturer=Hewlett-Packard,product=0B4Ch,version=D,\
|
||||
serial=CZC1065993,asset=CZC1065993,location=Upside down' \
|
||||
-smbios 'type=11,value=Hello,value=World,value=This is,,\
|
||||
more tricky value=escaped' \
|
||||
-nographic \
|
||||
-nodefaults \
|
||||
-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
|
||||
|
@ -26,6 +26,11 @@
|
||||
<entry name='asset'>CZC1065993</entry>
|
||||
<entry name='location'>Upside down</entry>
|
||||
</baseBoard>
|
||||
<oemStrings>
|
||||
<entry>Hello</entry>
|
||||
<entry>World</entry>
|
||||
<entry>This is, more tricky value=escaped</entry>
|
||||
</oemStrings>
|
||||
</sysinfo>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
|
@ -26,6 +26,11 @@
|
||||
<entry name='asset'>CZC1065993</entry>
|
||||
<entry name='location'>Upside down</entry>
|
||||
</baseBoard>
|
||||
<oemStrings>
|
||||
<entry>Hello</entry>
|
||||
<entry>World</entry>
|
||||
<entry>This is, more tricky value=escaped</entry>
|
||||
</oemStrings>
|
||||
</sysinfo>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
|
Loading…
x
Reference in New Issue
Block a user