Am 04.03.2014 03:55, schrieb Andreas Färber: > Hello, > > Prompted by Alexey's desire for tweakable PowerPCCPU properties but also by > Peter's wish for ARMCPU properties, this series sets out to align cpu_model > parsing across targets. > > QemuOpts would've been nice to use, but on the one hand x86 and sparc use > QemuOpts-incompatible +foo and -foo syntax (which accumulate rather than apply > immediately) and on the other linux-user and bsd-user don't use QemuOpts at > all. > > The x86 implementation is closest to the proposed API, save for some laziness. > SPARC is brought in line. And as fallback for the remaining targets a new > implementation, derived from x86 but supporting only key=value format, is > added. > > To facilitate using this infrastructure, a generic CPU init function is > created. > > Only lightly tested. Available at: > git://github.com/afaerber/qemu-cpu.git qom-cpu-features.v1 > https://github.com/afaerber/qemu-cpu/commits/qom-cpu-features.v1 > > Regards, > Andreas > > Cc: Alexey Kardashevskiy <a...@ozlabs.ru> > Cc: Peter Maydell <peter.mayd...@linaro.org> > Cc: Anthony Liguori <anth...@codemonkey.ws> > > Andreas Färber (6): > cpu: Introduce CPUClass::parse_features() hook > target-sparc: Use error_report() for CPU error reporting > target-sparc: Implement CPUClass::parse_features() for SPARCCPU > target-sparc: Defer SPARCCPU feature inference to QOM realize
Mark and Fabien, forgot to CC you: Could you take a look at the sparc parts and give them some testing please? The very latest version can be found on qom-cpu-ppc branch if necessary. Thanks, Andreas > cpu: Implement CPUClass::parse_features() for the rest of CPUs > cpu: Factor out cpu_generic_init() > > include/qom/cpu.h | 14 +++++++ > qom/cpu.c | 72 +++++++++++++++++++++++++++++++++- > target-arm/helper.c | 14 +------ > target-cris/cpu.c | 13 +----- > target-i386/cpu.c | 36 ++++++++++------- > target-lm32/helper.c | 13 +----- > target-moxie/cpu.c | 13 +----- > target-openrisc/cpu.c | 13 +----- > target-ppc/translate_init.c | 21 +--------- > target-sh4/cpu.c | 13 +----- > target-sparc/cpu.c | 96 > +++++++++++++++++++++++++++------------------ > target-unicore32/helper.c | 13 ++---- > 12 files changed, 174 insertions(+), 157 deletions(-) -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg