[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 00/20] target/arm: Allow CONFIG_TCG=n builds
From: |
Fabiano Rosas |
Subject: |
[PATCH v7 00/20] target/arm: Allow CONFIG_TCG=n builds |
Date: |
Thu, 23 Feb 2023 10:08:21 -0300 |
Changes since v6:
Now using the same feature set for -cpu max for both qtests and
TCG. This requires a slightly awkward code movement to expose
aa32_max_features to non-tcg code, but we gain by not having a
different environment for the tests.
Also applied Richard's suggestion of creating a new cortex-regs.c
file.
CI run: https://gitlab.com/farosas/qemu/-/pipelines/786195517
v6:
20230217201150.22032-1-farosas@suse.de">https://lore.kernel.org/r/20230217201150.22032-1-farosas@suse.de
v5 resend:
20230213202927.28992-1-farosas@suse.de">https://lore.kernel.org/r/20230213202927.28992-1-farosas@suse.de
v5:
https://lore.kernel.org/r/20230120184825.31626-1-farosas@suse.de
v4:
https://lore.kernel.org/r/20230119135424.5417-1-farosas@suse.de
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 (3):
target/arm: move helpers to tcg/
target/arm: Move psci.c into the tcg directory
target/arm: move cpu_tcg to tcg/cpu32.c
Fabiano Rosas (16):
target/arm: Wrap breakpoint/watchpoint updates with tcg_enabled
target/arm: Wrap TCG-only code in debug_helper.c
target/arm: move translate modules to tcg/
target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled
target/arm: Move hflags code into the tcg directory
target/arm: Move regime_using_lpae_format into internal.h
target/arm: Don't access TCG code when debugging with KVM
cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code
target/arm: Move cortex sysregs into a separate file
target/arm: Move 64-bit TCG CPUs into tcg/
target/arm: Move aa32_max_features out of cpu_tcg.c
tests/avocado: Pass parameters to migration test
tests/avocado: add machine:none tag to version.py
arm/Kconfig: Always select SEMIHOSTING when TCG is present
arm/Kconfig: Do not build TCG-only boards on a KVM-only build
tests/qtest: Fix tests when no KVM or TCG are present
Philippe Mathieu-Daudé (1):
gitlab-ci: Check building KVM-only aarch64 target
.gitlab-ci.d/crossbuilds.yml | 11 +
.../custom-runners/ubuntu-22.04-aarch64.yml | 4 -
MAINTAINERS | 1 +
configs/devices/aarch64-softmmu/default.mak | 4 -
configs/devices/arm-softmmu/default.mak | 39 --
hw/arm/Kconfig | 43 +-
hw/arm/boot.c | 6 +-
hw/arm/virt.c | 6 +-
hw/intc/armv7m_nvic.c | 20 +-
include/exec/cpu-defs.h | 6 +
target/arm/Kconfig | 7 +
target/arm/arm-powerctl.c | 7 +-
target/arm/cortex-regs.c | 69 +++
target/arm/cpregs.h | 6 +
target/arm/cpu.c | 78 ++-
target/arm/cpu64.c | 399 +-------------
target/arm/debug_helper.c | 490 +++++++++---------
target/arm/helper.c | 411 +--------------
target/arm/internals.h | 30 +-
target/arm/machine.c | 12 +-
target/arm/meson.build | 48 +-
target/arm/ptw.c | 4 +
target/arm/tcg-stubs.c | 27 +
target/arm/{ => tcg}/a32-uncond.decode | 0
target/arm/{ => tcg}/a32.decode | 0
target/arm/{cpu_tcg.c => tcg/cpu32.c} | 141 +----
target/arm/tcg/cpu64.c | 438 ++++++++++++++++
target/arm/{ => tcg}/crypto_helper.c | 0
target/arm/{ => tcg}/helper-a64.c | 0
target/arm/tcg/hflags.c | 403 ++++++++++++++
target/arm/{ => tcg}/iwmmxt_helper.c | 0
target/arm/{ => tcg}/m-nocp.decode | 0
target/arm/{ => tcg}/m_helper.c | 0
target/arm/tcg/meson.build | 52 ++
target/arm/{ => tcg}/mte_helper.c | 0
target/arm/{ => tcg}/mve.decode | 0
target/arm/{ => tcg}/mve_helper.c | 0
target/arm/{ => tcg}/neon-dp.decode | 0
target/arm/{ => tcg}/neon-ls.decode | 0
target/arm/{ => tcg}/neon-shared.decode | 0
target/arm/{ => tcg}/neon_helper.c | 0
target/arm/{ => tcg}/op_helper.c | 0
target/arm/{ => tcg}/pauth_helper.c | 0
target/arm/{ => tcg}/psci.c | 0
target/arm/{ => tcg}/sme-fa64.decode | 0
target/arm/{ => tcg}/sme.decode | 0
target/arm/{ => tcg}/sme_helper.c | 0
target/arm/{ => tcg}/sve.decode | 0
target/arm/{ => tcg}/sve_helper.c | 0
target/arm/{ => tcg}/t16.decode | 0
target/arm/{ => tcg}/t32.decode | 0
target/arm/{ => tcg}/tlb_helper.c | 18 -
target/arm/{ => tcg}/translate-a64.c | 0
target/arm/{ => tcg}/translate-a64.h | 0
target/arm/{ => tcg}/translate-m-nocp.c | 0
target/arm/{ => tcg}/translate-mve.c | 0
target/arm/{ => tcg}/translate-neon.c | 0
target/arm/{ => tcg}/translate-sme.c | 0
target/arm/{ => tcg}/translate-sve.c | 0
target/arm/{ => tcg}/translate-vfp.c | 0
target/arm/{ => tcg}/translate.c | 0
target/arm/{ => tcg}/translate.h | 0
target/arm/{ => tcg}/vec_helper.c | 0
target/arm/{ => tcg}/vec_internal.h | 0
target/arm/{ => tcg}/vfp-uncond.decode | 0
target/arm/{ => tcg}/vfp.decode | 0
tests/avocado/migration.py | 83 ++-
tests/avocado/version.py | 1 +
tests/qtest/arm-cpu-features.c | 12 +-
tests/qtest/bios-tables-test.c | 4 +
tests/qtest/boot-serial-test.c | 10 +
tests/qtest/migration-test.c | 5 +
tests/qtest/pxe-test.c | 6 +
tests/qtest/vmgenid-test.c | 6 +
74 files changed, 1592 insertions(+), 1315 deletions(-)
create mode 100644 target/arm/cortex-regs.c
create mode 100644 target/arm/tcg-stubs.c
rename target/arm/{ => tcg}/a32-uncond.decode (100%)
rename target/arm/{ => tcg}/a32.decode (100%)
rename target/arm/{cpu_tcg.c => tcg/cpu32.c} (87%)
create mode 100644 target/arm/tcg/cpu64.c
rename target/arm/{ => tcg}/crypto_helper.c (100%)
rename target/arm/{ => tcg}/helper-a64.c (100%)
create mode 100644 target/arm/tcg/hflags.c
rename target/arm/{ => tcg}/iwmmxt_helper.c (100%)
rename target/arm/{ => tcg}/m-nocp.decode (100%)
rename target/arm/{ => tcg}/m_helper.c (100%)
create mode 100644 target/arm/tcg/meson.build
rename target/arm/{ => tcg}/mte_helper.c (100%)
rename target/arm/{ => tcg}/mve.decode (100%)
rename target/arm/{ => tcg}/mve_helper.c (100%)
rename target/arm/{ => tcg}/neon-dp.decode (100%)
rename target/arm/{ => tcg}/neon-ls.decode (100%)
rename target/arm/{ => tcg}/neon-shared.decode (100%)
rename target/arm/{ => tcg}/neon_helper.c (100%)
rename target/arm/{ => tcg}/op_helper.c (100%)
rename target/arm/{ => tcg}/pauth_helper.c (100%)
rename target/arm/{ => tcg}/psci.c (100%)
rename target/arm/{ => tcg}/sme-fa64.decode (100%)
rename target/arm/{ => tcg}/sme.decode (100%)
rename target/arm/{ => tcg}/sme_helper.c (100%)
rename target/arm/{ => tcg}/sve.decode (100%)
rename target/arm/{ => tcg}/sve_helper.c (100%)
rename target/arm/{ => tcg}/t16.decode (100%)
rename target/arm/{ => tcg}/t32.decode (100%)
rename target/arm/{ => tcg}/tlb_helper.c (94%)
rename target/arm/{ => tcg}/translate-a64.c (100%)
rename target/arm/{ => tcg}/translate-a64.h (100%)
rename target/arm/{ => tcg}/translate-m-nocp.c (100%)
rename target/arm/{ => tcg}/translate-mve.c (100%)
rename target/arm/{ => tcg}/translate-neon.c (100%)
rename target/arm/{ => tcg}/translate-sme.c (100%)
rename target/arm/{ => tcg}/translate-sve.c (100%)
rename target/arm/{ => tcg}/translate-vfp.c (100%)
rename target/arm/{ => tcg}/translate.c (100%)
rename target/arm/{ => tcg}/translate.h (100%)
rename target/arm/{ => tcg}/vec_helper.c (100%)
rename target/arm/{ => tcg}/vec_internal.h (100%)
rename target/arm/{ => tcg}/vfp-uncond.decode (100%)
rename target/arm/{ => tcg}/vfp.decode (100%)
--
2.35.3
- [PATCH v7 00/20] target/arm: Allow CONFIG_TCG=n builds,
Fabiano Rosas <=
- [PATCH v7 01/20] target/arm: Wrap breakpoint/watchpoint updates with tcg_enabled, Fabiano Rosas, 2023/02/23
- [PATCH v7 02/20] target/arm: Wrap TCG-only code in debug_helper.c, Fabiano Rosas, 2023/02/23
- [PATCH v7 03/20] target/arm: move translate modules to tcg/, Fabiano Rosas, 2023/02/23
- [PATCH v7 04/20] target/arm: move helpers to tcg/, Fabiano Rosas, 2023/02/23
- [PATCH v7 06/20] target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled, Fabiano Rosas, 2023/02/23
- [PATCH v7 05/20] target/arm: Move psci.c into the tcg directory, Fabiano Rosas, 2023/02/23
- [PATCH v7 07/20] target/arm: Move hflags code into the tcg directory, Fabiano Rosas, 2023/02/23
- [PATCH v7 08/20] target/arm: Move regime_using_lpae_format into internal.h, Fabiano Rosas, 2023/02/23
- [PATCH v7 09/20] target/arm: Don't access TCG code when debugging with KVM, Fabiano Rosas, 2023/02/23
- [PATCH v7 10/20] cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code, Fabiano Rosas, 2023/02/23