Hi, This is a third version of CPU selection patchset. Patches with documentation collected from commit logs of this patch set will come later. Changes in version 4: - really fix all CPUID assembly code - fixed arguments to virXPathULongHex() - added flags to virConnectCompareCPU() API - unused double linked list converted to single linked one - reorganized patchset to allow bisecting - fixes in qemu driver - added cpu_conf.c to libvirt_proxy as dep of domain_conf. - disabled XML parsing code in cpu_conf.c for proxy - more cpus added to cpu_map.xml - document virConnectCompareCPU() API call Changes in version 3: - fix build on i386 Changes in version 2: - virConnectGetHostCPU() API call was completely removed - 'CPU driver implementation' (11/14) patch was dropped - virConnectCompareCPU() API call is implemented directly by hypervisor drivers - new cpuCompareXML() internal function to make virConnectCompareCPU() simpler Jirka Jiri Denemark (11): XML schema for CPU flags XML parsing/formating code for CPU flags Public API Internal driver API Public API implementation Wire protocol format and server side dispatcher Remote driver CPU selection infrastructure CPU map for models and features Implement CPU selection in QEMU driver Implement virsh commands configure.in | 20 + daemon/remote.c | 22 + docs/schemas/capability.rng | 46 ++- docs/schemas/domain.rng | 62 +++ include/libvirt/libvirt.h.in | 25 + include/libvirt/virterror.h | 1 + proxy/Makefile.am | 1 + src/Makefile.am | 23 +- src/conf/capabilities.c | 31 ++- src/conf/capabilities.h | 6 + src/conf/cpu_conf.c | 368 +++++++++++++ src/conf/cpu_conf.h | 119 +++++ src/conf/domain_conf.c | 15 + src/conf/domain_conf.h | 2 + src/cpu/cpu.c | 242 +++++++++ src/cpu/cpu.h | 129 +++++ src/cpu/cpu_generic.c | 123 +++++ src/cpu/cpu_generic.h | 32 ++ src/cpu/cpu_map.c | 130 +++++ src/cpu/cpu_map.h | 41 ++ src/cpu/cpu_map.xml | 345 +++++++++++++ src/cpu/cpu_x86.c | 1162 ++++++++++++++++++++++++++++++++++++++++++ src/cpu/cpu_x86.h | 31 ++ src/cpu/cpu_x86_data.h | 45 ++ src/driver.h | 5 + src/esx/esx_driver.c | 1 + src/libvirt.c | 43 ++ src/libvirt_private.syms | 19 + src/libvirt_public.syms | 5 + src/lxc/lxc_driver.c | 1 + src/opennebula/one_driver.c | 1 + src/openvz/openvz_driver.c | 1 + src/phyp/phyp_driver.c | 1 + src/qemu/qemu_conf.c | 398 ++++++++++++++- src/qemu/qemu_conf.h | 7 + src/qemu/qemu_driver.c | 43 ++- src/remote/remote_driver.c | 27 + src/remote/remote_protocol.x | 13 +- src/test/test_driver.c | 1 + src/uml/uml_driver.c | 1 + src/util/virterror.c | 3 + src/vbox/vbox_tmpl.c | 1 + src/xen/xen_driver.c | 1 + tools/virsh.c | 65 +++ 44 files changed, 3624 insertions(+), 34 deletions(-) create mode 100644 src/conf/cpu_conf.c create mode 100644 src/conf/cpu_conf.h create mode 100644 src/cpu/cpu.c create mode 100644 src/cpu/cpu.h create mode 100644 src/cpu/cpu_generic.c create mode 100644 src/cpu/cpu_generic.h create mode 100644 src/cpu/cpu_map.c create mode 100644 src/cpu/cpu_map.h create mode 100644 src/cpu/cpu_map.xml create mode 100644 src/cpu/cpu_x86.c create mode 100644 src/cpu/cpu_x86.h create mode 100644 src/cpu/cpu_x86_data.h -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list