[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/18] Complete the implementation of -accel
From: |
Paolo Bonzini |
Subject: |
[PATCH v2 00/18] Complete the implementation of -accel |
Date: |
Mon, 9 Dec 2019 16:01:27 +0100 |
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
v1->v2: improve bisectability by moving patch "vl: move icount configuration
earlier" towards the beginning of the series
new patch to compile accel/accel.c just once
Paolo Bonzini (18):
memory: do not look at current_machine->accel
vl: move icount configuration earlier
tcg: move qemu_tcg_configure to accel/tcg/tcg-all.c
vl: extract accelerator option processing to a separate function
vl: merge -accel processing into configure_accelerators
accel: compile accel/accel.c just once
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
Makefile.objs | 1 +
accel/Makefile.objs | 2 +-
accel/accel.c | 73 +--------------
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 | 225 ++++++++++++++++++++++++++++++++--------------
27 files changed, 532 insertions(+), 412 deletions(-)
--
1.8.3.1
- [PATCH v2 00/18] Complete the implementation of -accel,
Paolo Bonzini <=
- [PATCH v2 01/18] memory: do not look at current_machine->accel, Paolo Bonzini, 2019/12/09
- [PATCH v2 02/18] vl: move icount configuration earlier, Paolo Bonzini, 2019/12/09
- [PATCH v2 04/18] vl: extract accelerator option processing to a separate function, Paolo Bonzini, 2019/12/09
- [PATCH v2 05/18] vl: merge -accel processing into configure_accelerators, Paolo Bonzini, 2019/12/09
- [PATCH v2 03/18] tcg: move qemu_tcg_configure to accel/tcg/tcg-all.c, Paolo Bonzini, 2019/12/09