This series completes the implementation of -accel: - Alternative accelerators can be specified with multiple -accel options, and each -accel option will configure the respective accelerator. This is implemented in patches 1 to 6, with a small addendum in patch 7.
- Accelerators can now support arbitrary options, which are implemented in terms of QOM properties. This is implemented in patches 8 to 11, together with the conversion of the sole existing "-accel" option to QOM. - Accelerator-related machine options, and legacy options such as -tb-size, forward to accelerator objects for backwards compatibility, but they do not exist anymore as QOM properties. This is implemented in patch 6 for "-machine accel" and patches 12 to 16 for everything else. Paolo Paolo Bonzini (16): memory: do not look at current_machine->accel vl: extract accelerator option processing to a separate function vl: merge -accel processing into configure_accelerators vl: move icount configuration earlier vl: introduce object_parse_property_opt vl: configure accelerators from -accel options vl: warn for unavailable accelerators, clarify messages qom: introduce object_register_sugar_prop qom: add object_new_with_class accel: pass object to accel_init_machine tcg: convert "-accel threads" to a QOM property tcg: add "-accel tcg,tb-size" and deprecate "-tb-size" xen: convert "-machine igd-passthru" to an accelerator property kvm: convert "-machine kvm_shadow_mem" to an accelerator property kvm: introduce kvm_kernel_irqchip_* functions kvm: convert "-machine kernel_irqchip" to an accelerator property accel/accel.c | 67 +------------- accel/kvm/kvm-all.c | 117 ++++++++++++++++++++++- accel/tcg/tcg-all.c | 149 +++++++++++++++++++++++++++++- cpus.c | 72 --------------- hw/core/machine.c | 141 ---------------------------- hw/ppc/e500.c | 4 +- hw/ppc/spapr_irq.c | 10 +- hw/xen/xen-common.c | 16 ++++ include/hw/boards.h | 7 -- include/qom/object.h | 13 +++ include/sysemu/accel.h | 4 +- include/sysemu/cpus.h | 2 - include/sysemu/kvm.h | 7 +- memory.c | 5 +- qemu-deprecated.texi | 6 ++ qemu-options.hx | 30 +++--- qom/object.c | 28 +++++- target/arm/kvm.c | 8 +- target/i386/cpu.c | 8 +- target/i386/kvm.c | 6 +- target/mips/kvm.c | 2 +- target/ppc/kvm.c | 2 +- target/s390x/cpu_models.c | 4 +- target/s390x/kvm.c | 2 +- vl.c | 231 ++++++++++++++++++++++++++++++++-------------- 25 files changed, 534 insertions(+), 407 deletions(-) -- 1.8.3.1