qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: aliguori@us.ibm.com, akong@redhat.com,
	stefanha@linux.vnet.ibm.com, gleb@redhat.com,
	jan.kiszka@siemens.com, Don@cloudswitch.com, mtosatti@redhat.com,
	qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com,
	blauwirbel@gmail.com, avi@redhat.com,
	Paolo Bonzini <pbonzini@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	hpa@linux.intel.com, lersek@redhat.com
Subject: Re: [Qemu-devel] [PATCH 07/23] target-i386: convert cpuid features into properties
Date: Thu, 04 Oct 2012 14:57:29 +0200	[thread overview]
Message-ID: <506D87B9.7030803@suse.de> (raw)
In-Reply-To: <20121004124341.GU15784@otherpad.lan.raisama.net>

Am 04.10.2012 14:43, schrieb Eduardo Habkost:
> On Thu, Oct 04, 2012 at 08:53:22AM +0200, Igor Mammedov wrote:
>> For x86 CPU classes we were going dynamically generate CPU classes and store
>> pointer to appropriate cpudef from builtin_x86_defs in class field for each
>> CPU class and then init default feature words values from this field int
>> x86_cpu_initfn().
>>
>> However with qdev_prop_set_globals() in device_initfn() that is called before
>> x86_cpu_initfn() it won't work because defaults in x86_cpu_initfn() will
>> overwrite whatever was set by qdev_prop_set_globals().
> 
> We can set the default values on class_init, instead. The class_init
> function for each CPU model can get the x86_def_t struct as the data
> pointer.

Let's avoid going backwards here, the plan was to have imperative
initfns, so x86_def_t would go away, no?

I'm catching up my mail on multiple fronts and will continue review,
IIUC Blue already applied the CPU feature deduplification series so
according to your roadmap this series is next.

>> IMHO from general POV it's not correct to set properties before object is
>> completely created.
> 
> If I understood it correctly, the point of all this is to allow
> properties (and their defaults) to be introspected by just looking at
> the class, without having to create any object.

It would be news to me that that was Anthony's plan... Static properties
are being assigned to the class but populated at instantiation time. We
do not have class properties as such.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2012-10-04 12:57 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-02 15:36 [Qemu-devel] [PATCH 00/23 v4] target-i386: convert CPU features into properties Igor Mammedov
2012-10-02 15:36 ` [Qemu-devel] [PATCH 01/23] target-i386: return Error from cpu_x86_find_by_name() Igor Mammedov
2012-10-10 14:05   ` Andreas Färber
2012-10-10 14:38     ` Igor Mammedov
2012-10-10 16:37       ` Luiz Capitulino
2012-10-02 15:36 ` [Qemu-devel] [PATCH 02/23] target-i386: cpu_x86_register(): report error from property setter Igor Mammedov
2012-10-10 14:07   ` Andreas Färber
2012-10-02 15:36 ` [Qemu-devel] [PATCH 03/23] target-i386: if x86_cpu_realize() failed report error and do cleanup Igor Mammedov
2012-10-10 14:09   ` Andreas Färber
2012-10-02 15:36 ` [Qemu-devel] [PATCH 04/23] target-i386: filter out not TCG features if running without kvm at realize time Igor Mammedov
2012-10-02 15:36 ` [Qemu-devel] [PATCH 05/23] target-i386: move out CPU features initialization in separate func Igor Mammedov
2012-10-02 15:36 ` [Qemu-devel] [PATCH 06/23] target-i386: xlevel should be more than 0x80000000, move fixup into setter Igor Mammedov
2012-10-02 15:36 ` [Qemu-devel] [PATCH 07/23] target-i386: convert cpuid features into properties Igor Mammedov
2012-10-02 20:38   ` Eduardo Habkost
2012-10-03 15:03     ` Eduardo Habkost
2012-10-03 15:20       ` Paolo Bonzini
2012-10-03 16:24         ` Igor Mammedov
2012-10-03 16:54           ` Eduardo Habkost
2012-10-04  6:53             ` Igor Mammedov
2012-10-04  7:20               ` Paolo Bonzini
2012-10-04 12:43               ` Eduardo Habkost
2012-10-04 12:57                 ` Andreas Färber [this message]
2012-10-04 13:06                   ` Eduardo Habkost
2012-10-04 13:10                   ` Igor Mammedov
2012-10-04 13:19                     ` Eduardo Habkost
2012-10-04 13:01                 ` Igor Mammedov
2012-10-04 13:10                   ` Eduardo Habkost
2012-10-04 13:25                     ` Igor Mammedov
2012-10-04 13:33                       ` Eduardo Habkost
2012-10-04 13:50                         ` Igor Mammedov
2012-10-04 14:20                           ` Eduardo Habkost
2012-10-02 15:37 ` [Qemu-devel] [PATCH 08/23] target-i386: add stubs for hyperv_(vapic_recommended|relaxed_timing_enabled|get_spinlock_retries)() Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 09/23] target-i386: convert 'hv_spinlocks' feature into property Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 10/23] target-i386: convert 'hv_relaxed' " Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 11/23] target-i386: convert 'hv_vapic' " Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 12/23] target-i386: convert 'check' and 'enforce' features into properties Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 13/23] add visitor for parsing hz[KMG] input string Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 14/23] target-i386: use visit_type_hz to parse tsc_freq property value Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 15/23] target-i386: introduce vendor-override property Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 16/23] target-i386: use define for cpuid vendor string size Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 17/23] target-i386: postpone cpuid_level update to realize time Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 18/23] target-i386: replace uint32_t vendor fields by vendor string in x86_def_t Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 19/23] target-i386: parse cpu_model string into set of stringified properties Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 20/23] target-i386: use properties to set/unset user specified features on CPU Igor Mammedov
2012-10-02 16:01   ` Eduardo Habkost
2012-10-02 16:12     ` Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 21/23] target-i386: move init of "hypervisor" feature into CPU initializer from cpudef Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 22/23] target-i386: move default init of cpuid_kvm_features bitmap " Igor Mammedov
2012-10-02 15:37 ` [Qemu-devel] [PATCH 23/23] target-i386: cleanup cpu_x86_find_by_name(), only fill x86_def_t in it Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=506D87B9.7030803@suse.de \
    --to=afaerber@suse.de \
    --cc=Don@cloudswitch.com \
    --cc=akong@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=gleb@redhat.com \
    --cc=hpa@linux.intel.com \
    --cc=imammedo@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=lersek@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).