All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/10] cpus: make "-cpu cpux, features" global properties
@ 2016-06-06 15:16 Igor Mammedov
  2016-06-06 15:16 ` [Qemu-devel] [PATCH 01/10] target-i386: Remove xlevel & hv-spinlocks option fixups Igor Mammedov
                   ` (9 more replies)
  0 siblings, 10 replies; 42+ messages in thread
From: Igor Mammedov @ 2016-06-06 15:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, ehabkost, mark.cave-ayland, blauwirbel, qemu-arm,
	pbonzini, rth

Changelog:
  since RFC:
    - include "target-i386: Remove xlevel & hv-spinlocks option fixups"
    - use Eduardo's version of:
        target-i386: cpu: consolidate calls of object_property_parse...
    - fix error handling of +-feat
    - add comment why +-feat is special
    - add comment to remove +-feat static vars
    - reuse x86_cpu_class_get_model_name()

Current CLI option -cpu cpux,features serves as template
for all created cpus of type: cpux. However QEMU parses
"features" every time it creates a cpu instance and applies
them to it while doing parsing.

That doesn't work well with -device/device_add infrastructure
as it has no idea about cpu specific hooks that's used for
parsing "features".
In order to make -device/device_add utilize "-cpu features"
template convert it into a set of global properties, so that
every new CPU created will have them applied automatically.

That also allows to parse features only once, instread of
doing it for every CPU instance being created.

Git tree for testing:
  https://github.com/imammedo/qemu.git cpu_parse_into_global_props_V1 
web view:
  https://github.com/imammedo/qemu/commits/cpu_parse_into_global_props_V1

Eduardo Habkost (2):
  target-i386: Remove xlevel & hv-spinlocks option fixups
  target-i386: cpu: consolidate calls of object_property_parse() in
    x86_cpu_parse_featurestr

Igor Mammedov (8):
  target-i386: cpu: move features logic that requires CPUState to
    realize time
  target-i386: cpu: move xcc->kvm_required check to realize time
  target-i386: cpu: use cpu_generic_init() in cpu_x86_init()
  target-i386: print obsolete warnings if +-features are used
  target-sparc: cpu: use sparc_cpu_parse_features() directly
  cpu: use CPUClass->parse_features() as convertor to global properties
  arm: virt: parse cpu_model only once
  pc: parse cpu features only once

 hw/arm/virt.c      |  41 ++++-----
 hw/i386/pc.c       |  37 ++++++--
 include/qom/cpu.h  |   2 +-
 qom/cpu.c          |  29 +++---
 target-i386/cpu.c  | 252 ++++++++++++++++++++++-------------------------------
 target-i386/cpu.h  |   1 -
 target-sparc/cpu.c |   7 +-
 7 files changed, 176 insertions(+), 193 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2016-06-10 18:33 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-06 15:16 [Qemu-devel] [PATCH 00/10] cpus: make "-cpu cpux, features" global properties Igor Mammedov
2016-06-06 15:16 ` [Qemu-devel] [PATCH 01/10] target-i386: Remove xlevel & hv-spinlocks option fixups Igor Mammedov
2016-06-06 15:16 ` [Qemu-devel] [PATCH 02/10] target-i386: cpu: move features logic that requires CPUState to realize time Igor Mammedov
2016-06-07 20:25   ` Eduardo Habkost
2016-06-07 21:07     ` Eric Blake
2016-06-07 22:29       ` Eduardo Habkost
2016-06-06 15:16 ` [Qemu-devel] [PATCH 03/10] target-i386: cpu: move xcc->kvm_required check " Igor Mammedov
2016-06-07 20:23   ` Eduardo Habkost
2016-06-07 20:28   ` Eduardo Habkost
2016-06-09 18:34   ` Eduardo Habkost
2016-06-10  7:15     ` Igor Mammedov
2016-06-10 11:39       ` Eduardo Habkost
2016-06-10 11:48         ` [Qemu-devel] [PATCH] target-i386: Remove assert(kvm_enabled()) from host_x86_cpu_initfn() Eduardo Habkost
2016-06-10 12:40           ` Igor Mammedov
2016-06-06 15:16 ` [Qemu-devel] [PATCH 04/10] target-i386: cpu: use cpu_generic_init() in cpu_x86_init() Igor Mammedov
2016-06-07 20:29   ` Eduardo Habkost
2016-06-06 15:16 ` [Qemu-devel] [PATCH 05/10] target-i386: cpu: consolidate calls of object_property_parse() in x86_cpu_parse_featurestr Igor Mammedov
2016-06-07 20:37   ` Eduardo Habkost
2016-06-06 15:16 ` [Qemu-devel] [PATCH 06/10] target-i386: print obsolete warnings if +-features are used Igor Mammedov
2016-06-07 11:44   ` Paolo Bonzini
2016-06-07 12:32     ` Igor Mammedov
2016-06-07 12:36       ` Paolo Bonzini
2016-06-07 12:54         ` Igor Mammedov
2016-06-07 13:00           ` Paolo Bonzini
2016-06-07 13:26             ` Igor Mammedov
2016-06-07 15:17               ` Eduardo Habkost
2016-06-06 15:16 ` [Qemu-devel] [PATCH 07/10] target-sparc: cpu: use sparc_cpu_parse_features() directly Igor Mammedov
2016-06-08 16:30   ` Eduardo Habkost
2016-06-10 11:51     ` Eduardo Habkost
2016-06-10 18:32       ` Mark Cave-Ayland
2016-06-06 15:16 ` [Qemu-devel] [PATCH 08/10] cpu: use CPUClass->parse_features() as convertor to global properties Igor Mammedov
2016-06-08 16:47   ` Eduardo Habkost
2016-06-09 12:38     ` Igor Mammedov
2016-06-09 13:23       ` Eduardo Habkost
2016-06-09 13:40         ` Igor Mammedov
2016-06-06 15:16 ` [Qemu-devel] [PATCH 09/10] arm: virt: parse cpu_model only once Igor Mammedov
2016-06-08 16:55   ` Eduardo Habkost
2016-06-08 17:25     ` Peter Maydell
2016-06-06 15:16 ` [Qemu-devel] [PATCH 10/10] pc: parse cpu features " Igor Mammedov
2016-06-08 17:03   ` Eduardo Habkost
2016-06-09 12:07     ` Igor Mammedov
2016-06-09 13:25       ` Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.