From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQebT-0005nG-6y for qemu-devel@nongnu.org; Tue, 23 Oct 2012 09:33:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQebJ-0004mP-AQ for qemu-devel@nongnu.org; Tue, 23 Oct 2012 09:33:06 -0400 Received: from hub021-nj-3.exch021.serverdata.net ([206.225.164.218]:36527) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQebJ-0004mJ-5z for qemu-devel@nongnu.org; Tue, 23 Oct 2012 09:32:57 -0400 Message-ID: <50869C85.9080101@CloudSwitch.Com> Date: Tue, 23 Oct 2012 09:32:53 -0400 From: Don Slutz MIME-Version: 1.0 References: <1350918203-25198-1-git-send-email-imammedo@redhat.com> In-Reply-To: <1350918203-25198-1-git-send-email-imammedo@redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/37 v5] target-i386: convert CPU features into properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: aliguori@us.ibm.com, ehabkost@redhat.com, jan.kiszka@siemens.com, mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org, blauwirbel@gmail.com, stefanha@redhat.com, pbonzini@redhat.com, afaerber@suse.de On 10/22/12 11:02, Igor Mammedov wrote: > v5: > - Use static properties instead of dynamic ones > - Compile in KVM CPUID features only if CONFIG_KVM is defined > - Add "f-kvm_steal_tm" and "f-kvmclock_stable" CPUID feature names > - Some qdev hacking to: > - allow iterate over Property[] before object instance exists > - find a static bit property definition by specifying bit number > and field's offset > - Replace error_set() with error_setg() where patches touch it. > > git tree for testing: > https://github.com/imammedo/qemu/tree/x86-cpu-properties.v5 This tree is failing to build cleanly: CC microblaze-softmmu/hw/microblaze/../microblaze_boot.o In file included from /home/don/qemu/include/qemu/cpu.h:23, from /home/don/qemu/target-microblaze/cpu-qom.h:23, from /home/don/qemu/target-microblaze/cpu.h:273, from /home/don/qemu/qemu-common.h:128, from /home/don/qemu/qlist.h:18, from /home/don/qemu/qdict.h:17, from /home/don/qemu/qemu-option.h:32, from /home/don/qemu/hw/microblaze/../microblaze_boot.c:27: /home/don/qemu/hw/qdev-core.h:68: error: expected specifier-qualifier-list before 'QemuOpts' make[1]: *** [hw/microblaze/../microblaze_boot.o] Error 1 make: *** [subdir-microblaze-softmmu] Error 2 bisected to: commit 2652c28759bc658fee228d4d329d9d514683b261 Which looks to be: http://lists.nongnu.org/archive/html/qemu-devel/2012-10/msg02786.html -Don Slutz > > Depends on "CPU as Device" series: > http://lists.nongnu.org/archive/html/qemu-devel/2012-10/msg02776.html > > Reference to a previous version: > http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg00210.html > > Igor Mammedov (37): > target-i386: return Error from cpu_x86_find_by_name() > target-i386: cpu_x86_register(): report error from property setter > target-i386: if x86_cpu_realize() failed report error and do cleanup > target-i386: filter out not TCG features if running without kvm at > realize time > target-i386: move out CPU features initialization in separate func > add visitor for parsing hz[KMG] input string > target-i386: use visit_type_hz to parse tsc_freq property value > target-i386: define static properties for cpuid features > qdev: export qdev_prop_find() and allow it to be used with > DeviceClass instead of Object > target-i386: parse cpu_model string into set of stringified > properties > target-i386: introduce vendor-override static property > target-i386: convert "xlevel" to static property > target-i386: convert "level" to static property > target-i386: postpone cpuid_level update to realize time > target-i386: set default value of "hypervisor" feature using static > property > target-i386: set kvm CPUID default feature values using static > properties > target-i386: make 'f-kvmclock' compatible with legacy behaviour > target-i386: add stubs for > hyperv_(vapic_recommended|relaxed_timing_enabled|get_spinlock_retries)() > qdev: add DEFINE_ABSTRACT_PROP() helper > target-i386: convert 'hv_spinlocks' to static property > target-i386: convert 'hv_relaxed' to static property > target-i386: convert 'hv_vapic' to static property > target-i386: convert 'check' and 'enforce' to static properties > target-i386: use define for cpuid vendor string size > target-i386: replace uint32_t vendor fields by vendor string in > x86_def_t > target-i386: convert "vendor" property to static property > target-i386: convert "tsc-frequency" to static property > target-i386: convert "model-id" to static property > target-i386: convert "stepping" to static property > target-i386: convert "model" to static property > target-i386: convert "family" to static property > target-i386: use static properties for setting cpuid features > qdev: QDEV_PROP_FOREACH and QDEV_CLASS_FOREACH > qdev: introduce QDEV_FIND_PROP_FROM_BIT and qdev_prop_find_bit() > target-i386: use static properties in check_features_against_host() > to print CPUID feature names > target-i386: use static properties to list CPUID features > target-i386: cleanup cpu_x86_find_by_name(), only fill x86_def_t in > it > > hw/qdev-properties.h | 26 +- > qapi/qapi-visit-core.c | 11 + > qapi/qapi-visit-core.h | 2 + > qapi/string-input-visitor.c | 22 + > qom/qdev-core.c | 10 +- > qom/qdev-properties.c | 50 +- > target-i386/cpu.c | 1667 +++++++++++++++++++++++-------------------- > target-i386/cpu.h | 12 +- > target-i386/helper.c | 9 +- > target-i386/hyperv.h | 9 +- > 10 files changed, 992 insertions(+), 826 deletions(-) >