On Tue, Jul 23, 2013 at 06:11:31PM +0200, Jiri Denemark wrote: This is adding a new function as well as exporting some existing functions, so should probably be split in two. > --- > src/cpu/cpu_x86.c | 21 ++++++++++++++++++--- > src/cpu/cpu_x86.h | 10 ++++++++++ > src/libvirt_private.syms | 7 +++++++ > 3 files changed, 35 insertions(+), 3 deletions(-) > > diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c > index 560a2a9..dbbcfd2 100644 > --- a/src/cpu/cpu_x86.c > +++ b/src/cpu/cpu_x86.c > @@ -203,7 +203,7 @@ x86DataCpuid(const struct cpuX86Data *data, > } > > > -static void > +void > x86DataFree(struct cpuX86Data *data) These are kind of generic names to be exposing outside the file. It would be nice to update this file to use a better naming prefix for all its functions "virCPUx86DataNNNNN" > { > if (data == NULL) > @@ -215,7 +215,7 @@ x86DataFree(struct cpuX86Data *data) > } > > > -static virCPUDataPtr > +virCPUDataPtr > x86MakeCPUData(virArch arch, struct cpuX86Data **data) > { > virCPUDataPtr cpuData; > @@ -295,7 +295,7 @@ x86DataExpand(struct cpuX86Data *data, > } > > > -static int > +int > x86DataAddCpuid(struct cpuX86Data *data, > const struct cpuX86cpuid *cpuid) > { > @@ -323,6 +323,21 @@ x86DataAddCpuid(struct cpuX86Data *data, > } > > > +int > +x86DataSetVendor(struct cpuX86Data *data, > + const char *vendor) > +{ > + struct cpuX86cpuid cpuid; > + > + cpuid.function = 0; > + cpuid.ebx = virReadBufInt32LE(vendor); > + cpuid.edx = virReadBufInt32LE(vendor + 4); > + cpuid.ecx = virReadBufInt32LE(vendor + 8); > + > + return x86DataAddCpuid(data, &cpuid); > +} > + > + > static int > x86DataAdd(struct cpuX86Data *data1, > const struct cpuX86Data *data2) > diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h > index 77965b7..8235076 100644 > --- a/src/cpu/cpu_x86.h > +++ b/src/cpu/cpu_x86.h > @@ -25,7 +25,17 @@ > # define __VIR_CPU_X86_H__ > > # include "cpu.h" > +# include "cpu_x86_data.h" > > extern struct cpuArchDriver cpuDriverX86; > > +int x86DataAddCpuid(struct cpuX86Data *data, > + const struct cpuX86cpuid *cpuid); > +int x86DataSetVendor(struct cpuX86Data *data, > + const char *vendor); > + > +void x86DataFree(struct cpuX86Data *data); > + > +virCPUDataPtr x86MakeCPUData(virArch arch, struct cpuX86Data **data); > + > #endif /* __VIR_CPU_X86_H__ */ > diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms > index e0f3876..7fe2bc0 100644 > --- a/src/libvirt_private.syms > +++ b/src/libvirt_private.syms > @@ -724,6 +724,13 @@ cpuNodeData; > cpuUpdate; > > > +# cpu/cpu_x86.h > +x86DataAddCpuid; > +x86DataFree; > +x86DataSetVendor; > +x86MakeCPUData; > + > + > # datatypes.h > virConnectClass; > virDomainClass; Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list