Paolo motived me to salvage this (other!) previous series fromi Samuel Ortiz (NEMU project).
v1 cover from Samuel [1]: This patchset allows for building and running ARM targets with TCG disabled. It splits the target/arm/helper.c file into logical TCG and non TCG dependent files so that one can build and run QEMU binaries with or without TCG enabled. The rationale behind this work comes from the NEMU project where we're trying to only support x86 and ARM 64-bit architectures, without including the TCG code base. We can only do so if we can build and run ARM binaries with TCG disabled. v2: https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg03271.html Most of the patches from v1 got adapted, except the "Move all interrupt handlers" patch, because Peter disagreed with it. See threads: https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg03908.html https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg07304.html Anyway this is not a blocking issue, and can be done once this series get merged. v3: 20190701132516.26392-1-philmd@redhat.com">http://mid.mail-archive.com/20190701132516.26392-1-philmd@redhat.com - Addressed Alex's review comments from v2. - added RFC patches to remove (pre-v7, M-profile, R-profile) from KVM-only build v4: - patches 1-12, 14-17, 19-21 accepted, rebased on target-arm.next - addressed Peter's comment (described in each patch). Based-on: target-arm.next $ git backport-diff -u v3 -r target-arm.next..v4 Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/8:[0048] [FC] 'target/arm: Move debug routines to debug_helper.c' 002/8:[0004] [FC] 'target/arm: Restrict semi-hosting to TCG' 003/8:[0027] [FC] 'target/arm/helper: Move M profile routines to m_helper.c' 004/8:[----] [--] 'RFC target/arm: Restrict pre-ARMv7 cpus to TCG' 005/8:[----] [--] 'RFC target/arm: Do not build pre-ARMv7 cpus when using KVM' 006/8:[----] [--] 'RFC target/arm: Restrict R and M profiles to TCG' 007/8:[----] [--] 'RFC target/arm: Do not build A/M-profile cpus when using KVM' 008/8:[----] [--] 'target/arm: Do not build TCG objects when TCG is off' Patches 4-8 are included as RFC for series completeness, but are not meant for review for the 4.1 release. Paolo, the RFC patches are ARM but Kconfig related, you might want to have a look at them ;) Cc'ing Thomas for the same reason. Thanks a lot to Alex and Peter for their review time, and Samuel for the original effort. Regards, Phil. [1]: https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg02451.html Philippe Mathieu-Daudé (8): target/arm: Move debug routines to debug_helper.c target/arm: Restrict semi-hosting to TCG target/arm/helper: Move M profile routines to m_helper.c RFC target/arm: Restrict pre-ARMv7 cpus to TCG RFC target/arm: Do not build pre-ARMv7 cpus when using KVM RFC target/arm: Restrict R and M profiles to TCG RFC target/arm: Do not build A/M-profile cpus when using KVM target/arm: Do not build TCG objects when TCG is off default-configs/arm-softmmu.mak | 47 +- hw/arm/Kconfig | 42 +- target/arm/Makefile.objs | 9 +- target/arm/cpu.c | 25 +- target/arm/cpu.h | 7 + target/arm/debug_helper.c | 311 ++++ target/arm/helper.c | 2669 +----------------------------- target/arm/m_helper.c | 2676 +++++++++++++++++++++++++++++++ target/arm/op_helper.c | 295 ---- 9 files changed, 3091 insertions(+), 2990 deletions(-) create mode 100644 target/arm/debug_helper.c create mode 100644 target/arm/m_helper.c -- 2.20.1