On Tue, Sep 16, 2008 at 04:45:09PM -0400, Ben Guthro wrote: > Hi, > > We're finding that we are going to be needing the cpu flags (as reported > in /proc/cpuinfo) > ..specifically to find out if we are a vmx enabled machine. > > So - off I went looking into this for a patch to submit upstream. > Unfortunately, I ran into some questions which need answering before I > really proceed with this > > It seems to me that this info would best be parsed in src/nodeinfo.c > This is where other cpuinfo things are parsed...and stored in the > nodeinfo struct > Perhaps we store this as a bitmask encoded int, as defined in > /usr/include/asm/cpufeature.h and tack this onto the end of sad struct. > > My concern is that adding to the nodeinfo struct breaks the API - such > that the structs will be different sizes between versions. Indeed - any struct or API in include/libvirt/libvirt.h is immutable to preserve ABI. > Also - this seems to be x86 specific. Are we primarily destined for x86? > Or would this type of change be unacceptable due to not working on PPC, > for example? No,we need to work on every architecture - KVM for example is ported to x86, ia64, ppc, and s390, Xen is on arm, x86, ia64. Now the set of flags will likely be different across each processor - and some may not even have a concept of flags, but we shouldn't be specifically x86 in API. I think the most likely place for exposing CPU flags would be in the capabilities XML format. We do in fact already expose 3 flags there, PAE, VMX and SVM. As John mentions we also need to be careful to specify a naming that is consistent across OS - though that may be as simple as defining that the naming is required to match Linux /proc/cpuinfo standards. The intent is that if you have the same CPUs in 2 machines, one running Linux and the other Solaris then libvirt must report the same names. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list