2010/1/18 Jiri Denemark <jdenemar@xxxxxxxxxx>: > QEMU's command line equivalent for the following domain XML fragment > <vcpus>2</vcpus> > <cpu ...> > ... > <topology sockets='1' cores='2', threads='1'/> > </cpu> > > is > > -smp 2,sockets=1,cores=2,threads=1 > > This syntax was introduced in QEMU-0.12. > > Version 2 changes: > - -smp argument build split into a separate function > - always add ",sockets=S,cores=C,threads=T" to -smp if qemu supports it > - use qemuParseCommandLineKeywords for command line parsing > > Version 3 changes: > - ADD_ARG_LIT => ADD_ARG and line reordering in qemudBuildCommandLine > - rebased > > Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> > --- > src/qemu/qemu_conf.c | 157 ++++++++++++++++++++++++++++++++++++++++++++----- > src/qemu/qemu_conf.h | 3 +- > 2 files changed, 143 insertions(+), 17 deletions(-) > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index 024b2ba..1fbb86a 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c [...] > @@ -4714,11 +4771,84 @@ syntax: > no_memory: > virReportOOMError(conn); > error: > - virCPUDefFree(cpu); > return -1; > } > > > +static int > +qemuParseCommandLineSmp(virConnectPtr conn, > + virDomainDefPtr dom, > + const char *val) > +{ > + unsigned int sockets = 0; > + unsigned int cores = 0; > + unsigned int threads = 0; > + int i; > + int nkws; > + char **kws; > + char **vals; > + int n; > + char *end; > + int ret; > + > + nkws = qemuParseCommandLineKeywords(conn, val, &kws, &vals, 1); What's the purpose of the 1 here? qemuParseCommandLineKeywords takes 4 parameters, you pass 5. This breaks compilation for me. Matthias -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list