mbox series

[RFC,v4,00/15] target/arm: Allow CONFIG_TCG=n builds

Message ID 20230119135424.5417-1-farosas@suse.de (mailing list archive)
Headers show
Series target/arm: Allow CONFIG_TCG=n builds | expand

Message

Fabiano Rosas Jan. 19, 2023, 1:54 p.m. UTC
This series makes the necessary changes to allow the use of
--disable-tcg for arm.

Based on "target/arm: CONFIG_TCG=n part 1":
https://lore.kernel.org/r/20230118193518.26433-1-farosas@suse.de

Since v3:

Aside from minor review comments, the larger changes in this version
are:

- The split of 64-bit CPUs into tcg/cpu64.c. I have moved everything
  aside from the cortex-a53 and cortex-a57 cpus which could in theory
  be used with KVM.

- qtest vs. default cpu. By removing the default CPU for KVM we now
  need to make sure the tests pass a -cpu option.

  I don't think allowing tests without -cpu would be feasible because
  we'd have to go searching for every piece of code that assumes a cpu
  is always present.

v3:
https://lore.kernel.org/r/20230113140419.4013-1-farosas@suse.de

v2:
https://lore.kernel.org/r/20230109224232.11661-1-farosas@suse.de

v1:
https://lore.kernel.org/r/20230104215835.24692-1-farosas@suse.de

Claudio Fontana (1):
  target/arm: move cpu_tcg to tcg/cpu32.c

Fabiano Rosas (14):
  target/arm: Move 64-bit TCG CPUs into tcg/
  target/arm: Remove default cpu for KVM-only builds
  tests/qtest: arm-cpu-features: Match tests to required accelerators
  tests/qtest: Restrict tpm-tis-devices-{swtpm}-test to CONFIG_TCG
  tests/qtest: Add qtest_get_machine_args
  tests/qtest: Adjust qom-test to always set a -cpu option
  tests/qtest: Adjust test-hmp to always pass -cpu option
  tests/qtest: Adjust device-introspect-test to always set a -cpu option
  tests/qtest: aarch64: Set -cpu for numa-test
  tests/qemu-iotests: Allow passing a -cpu option in the QEMU cmdline
  tests/tcg: Do not build/run TCG tests if TCG is disabled
  target/avocado: Pass parameters to migration test on aarch64
  arm/Kconfig: Always select SEMIHOSTING when TCG is present
  arm/Kconfig: Do not build TCG-only boards on a KVM-only build

 configs/devices/aarch64-softmmu/default.mak |   4 -
 configs/devices/arm-softmmu/default.mak     |  39 --
 configure                                   |   6 +-
 hw/arm/Kconfig                              |  43 +-
 hw/arm/virt.c                               |   9 +
 target/arm/Kconfig                          |   7 +
 target/arm/cpu64.c                          | 633 +------------------
 target/arm/internals.h                      |   4 +
 target/arm/meson.build                      |   1 -
 target/arm/{cpu_tcg.c => tcg/cpu32.c}       |  13 +-
 target/arm/tcg/cpu64.c                      | 654 ++++++++++++++++++++
 target/arm/tcg/meson.build                  |   2 +
 tests/avocado/migration.py                  |  11 +-
 tests/qemu-iotests/testenv.py               |   7 +
 tests/qtest/arm-cpu-features.c              |  34 +-
 tests/qtest/device-introspect-test.c        |  17 +-
 tests/qtest/libqtest.c                      |  99 +++
 tests/qtest/libqtest.h                      |  11 +
 tests/qtest/meson.build                     |  12 +-
 tests/qtest/numa-test.c                     |   1 +
 tests/qtest/qom-test.c                      |  19 +-
 tests/qtest/test-hmp.c                      |  34 +-
 22 files changed, 960 insertions(+), 700 deletions(-)
 rename target/arm/{cpu_tcg.c => tcg/cpu32.c} (99%)
 create mode 100644 target/arm/tcg/cpu64.c