On Fri, 17 Feb 2017 19:56:32 +0100 Igor Mammedov <imamm...@redhat.com> wrote:
> Some callers call CPUClass->parse_features manually to convert > '-cpu cpufoo,featurestr' string to cpu type and featurestr > into a set of global properties. And theni do controlled > cpu creation with setting properties and completing it with realize. > That's a lot of code duplication as they are practically > reimplement the same parsing logic. > > Some don't and use cpu_generic_init() instead which does > the same parsing along with creation/realizing cpu within one > wrapper. > > And some trying to switch to controlled cpu creation, > implement object_new()/set properties/realize steps > but forget feature parsing logic witch lieads to 'bugs' > commit 00909b585 (hw/arm/integratorcp: Support specifying features via -cpu) > > > This series moves -cpu option parsing to generic machine code > that removes a little of code duplication and makes cpus creation > process more unified. > > PS: > As I don't have time to rewrite this part QEMU, being busy > rewritting yet another part of QEMU, > SERIES IS UNFINISHED AND SERVERS TO SHOW IDEA HOW IT SHOULD > BE DONE. FEEL FREE TO PICK UP AND COMPLETE THIS PATCHES > TO HANDLE ALL BOARDS (series does it only for virt-arm/spapr/pc) series has been written on top my numa tree which apply it to upstream master. So here goes rebased on top of current master variant: https://github.com/imammedo/qemu/commits/generilize_cpu_model_parsing_rfc