[Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM

Philippe Mathieu-Daudé posted 27 patches 4 years, 10 months ago
Test s390x failed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-clang@ubuntu failed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190701132516.26392-1-philmd@redhat.com
Maintainers: Peter Maydell <peter.maydell@linaro.org>
There is a newer version of this series
default-configs/arm-softmmu.mak |   47 +-
hw/arm/Kconfig                  |   42 +-
target/arm/Makefile.objs        |   31 +-
target/arm/cpu.c                |  259 ++-
target/arm/cpu.h                |    9 +-
target/arm/debug_helper.c       |  334 ++++
target/arm/helper.c             | 2837 +------------------------------
target/arm/internals.h          |   69 +-
target/arm/m_helper.c           | 2676 +++++++++++++++++++++++++++++
target/arm/op_helper.c          |  505 +-----
target/arm/tlb_helper.c         |  200 +++
target/arm/translate-a64.c      |  128 --
target/arm/translate.c          |   91 +-
target/arm/translate.h          |    5 -
target/arm/vfp_helper.c         |  199 ++-
15 files changed, 3873 insertions(+), 3559 deletions(-)
create mode 100644 target/arm/debug_helper.c
create mode 100644 target/arm/m_helper.c
create mode 100644 target/arm/tlb_helper.c
[Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
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:

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:
(since v2: https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg03271.html)
- Addressed Alex's review comments from v2.
- added RFC patches to remove (pre-v7, M-profile, R-profile) from KVM-only build

Patches 1-9 are ready for the ARM queue.

--

This is a kind of series you don't want to rebase (as in, the quicker
it get merged, the saner). It is also one of my most painful QEMU
series, and really wish it was worthwhile.

Regards,

Phil.

[1]: https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg02451.html

Philippe Mathieu-Daudé (26):
  target/arm: Makefile cleanup (Aarch64)
  target/arm: Makefile cleanup (ARM)
  target/arm: Makefile cleanup (KVM)
  target/arm: Makefile cleanup (softmmu)
  target/arm: Add copyright boilerplate
  target/arm/helper: Remove unused include
  target/arm: Fix multiline comment syntax
  target/arm: Fix coding style issues
  target/arm: Move CPU state dumping routines to cpu.c
  target/arm: Declare get_phys_addr() function publicly
  target/arm: Move TLB related routines to tlb_helper.c
  target/arm: Move debug routines to debug_helper.c
  target/arm/vfp_helper: Move code around
  target/arm/vfp_helper: Extract vfp_set_fpscr_to_host()
  target/arm/vfp_helper: Extract vfp_set_fpscr_from_host()
  target/arm/vfp_helper: Restrict the SoftFloat use to TCG
  target/arm: Restrict semi-hosting to TCG
  target/arm: Restrict PSCI to TCG
  target/arm: Declare arm_log_exception() function publicly
  target/arm: Declare some M-profile functions publicly
  target/arm/helper: Move M profile routines to m_helper.c
  target/arm: Restrict pre-ARMv7 cpus to TCG
  target/arm: Do not build pre-ARMv7 cpus when using KVM
  target/arm: Restrict R and M profiles to TCG
  target/arm: Do not build A/M-profile cpus when using KVM
  target/arm: Do not build TCG objects when TCG is off

Samuel Ortiz (1):
  target/arm: Move the DC ZVA helper into op_helper

 default-configs/arm-softmmu.mak |   47 +-
 hw/arm/Kconfig                  |   42 +-
 target/arm/Makefile.objs        |   31 +-
 target/arm/cpu.c                |  259 ++-
 target/arm/cpu.h                |    9 +-
 target/arm/debug_helper.c       |  334 ++++
 target/arm/helper.c             | 2837 +------------------------------
 target/arm/internals.h          |   69 +-
 target/arm/m_helper.c           | 2676 +++++++++++++++++++++++++++++
 target/arm/op_helper.c          |  505 +-----
 target/arm/tlb_helper.c         |  200 +++
 target/arm/translate-a64.c      |  128 --
 target/arm/translate.c          |   91 +-
 target/arm/translate.h          |    5 -
 target/arm/vfp_helper.c         |  199 ++-
 15 files changed, 3873 insertions(+), 3559 deletions(-)
 create mode 100644 target/arm/debug_helper.c
 create mode 100644 target/arm/m_helper.c
 create mode 100644 target/arm/tlb_helper.c

-- 
2.20.1


Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by no-reply@patchew.org 4 years, 10 months ago
Patchew URL: https://patchew.org/QEMU/20190701132516.26392-1-philmd@redhat.com/



Hi,

This series failed build test on s390x host. Please find the details below.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e

echo
echo "=== ENV ==="
env

echo
echo "=== PACKAGES ==="
rpm -qa

echo
echo "=== UNAME ==="
uname -a

CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===

  CC      alpha-softmmu/hw/9pfs/virtio-9p-device.o
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:35: error: "EXCP_IRQ" redefined [-Werror]
   35 | #define EXCP_IRQ             5
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2744: error: "CPU_RESOLVING_TYPE" redefined [-Werror]
 2744 | #define CPU_RESOLVING_TYPE TYPE_ARM_CPU
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2746: error: "cpu_signal_handler" redefined [-Werror]
 2746 | #define cpu_signal_handler cpu_arm_signal_handler
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2747: error: "cpu_list" redefined [-Werror]
 2747 | #define cpu_list arm_cpu_list
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2884: error: "MMU_USER_IDX" redefined [-Werror]
 2884 | #define MMU_USER_IDX 0
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2937:5: error: conflicting types for ‘cpu_mmu_index’
 2937 | int cpu_mmu_index(CPUARMState *env, bool ifetch);
      |     ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3128:21: error: conflicting types for ‘CPUArchState’
 3128 | typedef CPUARMState CPUArchState;
      |                     ^~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                      ^~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3129:16: error: conflicting types for ‘ArchCPU’
 3129 | typedef ARMCPU ArchCPU;
      |                ^~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                 ^~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3216:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 3216 | void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
  CC      arm-softmmu/hw/block/dataplane/virtio-blk.o
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:1416: error: "FPCR_DZE" redefined [-Werror]
 1416 | #define FPCR_DZE    (1 << 9)    /* Divide by Zero exception trap enable */
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2744: error: "CPU_RESOLVING_TYPE" redefined [-Werror]
 2744 | #define CPU_RESOLVING_TYPE TYPE_ARM_CPU
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2746: error: "cpu_signal_handler" redefined [-Werror]
 2746 | #define cpu_signal_handler cpu_arm_signal_handler
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2747: error: "cpu_list" redefined [-Werror]
 2747 | #define cpu_list arm_cpu_list
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2884: error: "MMU_USER_IDX" redefined [-Werror]
 2884 | #define MMU_USER_IDX 0
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      | 
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:2937:5: error: conflicting types for ‘cpu_mmu_index’
 2937 | int cpu_mmu_index(CPUARMState *env, bool ifetch);
      |     ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3128:21: error: conflicting types for ‘CPUArchState’
 3128 | typedef CPUARMState CPUArchState;
      |                     ^~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                       ^~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3129:16: error: conflicting types for ‘ArchCPU’
 3129 | typedef ARMCPU ArchCPU;
      |                ^~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
      |                  ^~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
                 from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3216:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 3216 | void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
---
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:67: undefined reference to `helper_v7m_bxns'
/usr/bin/ld: target/arm/translate.o: in function `gen_helper_v7m_vlstm':
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:74: undefined reference to `helper_v7m_vlstm'
collect2: error: ld returned 1 exit status
  CC      arm-softmmu/hw/arm/vexpress.o
make[1]: *** [Makefile:205: qemu-system-aarch64] Error 1
make: *** [Makefile:472: subdir-aarch64-softmmu] Error 2
---
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:67: undefined reference to `helper_v7m_bxns'
/usr/bin/ld: target/arm/translate.o: in function `gen_helper_v7m_vlstm':
/var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:74: undefined reference to `helper_v7m_vlstm'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:205: qemu-system-arm] Error 1
make: *** [Makefile:472: subdir-arm-softmmu] Error 2
=== OUTPUT END ===


The full log is available at
http://patchew.org/logs/20190701132516.26392-1-philmd@redhat.com/testing.s390x/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
On 7/1/19 8:41 PM, no-reply@patchew.org wrote:
> Patchew URL: https://patchew.org/QEMU/20190701132516.26392-1-philmd@redhat.com/
> 
> This series failed build test on s390x host. Please find the details below.
> 
[...]
> In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
> ---
>       |                       ^~~~~~~~~~~~
> In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
>                  from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3129:16: error: conflicting types for ‘ArchCPU’
>  3129 | typedef ARMCPU ArchCPU;
>       |                ^~~~~~~
> In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
> ---
>       |                  ^~~~~~~
> In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/include/hw/intc/armv7m_nvic.h:13,
>                  from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:18:
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/cpu.h:3216:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
>  3216 | void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
>       |      ^~~~~~~~~~~~~~~~~~~~
> In file included from /var/tmp/patchew-tester-tmp-n6pztn1n/src/hw/intc/armv7m_nvic.c:15:
> ---
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:67: undefined reference to `helper_v7m_bxns'
> /usr/bin/ld: target/arm/translate.o: in function `gen_helper_v7m_vlstm':
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:74: undefined reference to `helper_v7m_vlstm'
> collect2: error: ld returned 1 exit status
>   CC      arm-softmmu/hw/arm/vexpress.o
> make[1]: *** [Makefile:205: qemu-system-aarch64] Error 1
> make: *** [Makefile:472: subdir-aarch64-softmmu] Error 2
> ---
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:67: undefined reference to `helper_v7m_bxns'
> /usr/bin/ld: target/arm/translate.o: in function `gen_helper_v7m_vlstm':
> /var/tmp/patchew-tester-tmp-n6pztn1n/src/target/arm/helper.h:74: undefined reference to `helper_v7m_vlstm'
> collect2: error: ld returned 1 exit status
> make[1]: *** [Makefile:205: qemu-system-arm] Error 1
> make: *** [Makefile:472: subdir-arm-softmmu] Error 2
> === OUTPUT END ===

Expected failure from the RFC patches.

I should have been smarter and split the series in 2, so only the 2nd
(RFC) would fail.

Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Peter Maydell 4 years, 10 months ago
On Mon, 1 Jul 2019 at 14:25, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> 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.

I have applied to target-arm.next:
 1-12
 14-17
 19-21

I had comments about 13 and 18. 22 has a conflict when I try to apply it:
I think this is just accidental because the functions it's moving are
next to changes in patch 13 so there's a minor textual conflict, so it
would be fine with a fixed-up version of patch 13.
23-27 are still RFC status so I think best left for the next release.

thanks
-- PMM

Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
On 7/1/19 5:41 PM, Peter Maydell wrote:
> On Mon, 1 Jul 2019 at 14:25, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>
>> 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.
> 
> I have applied to target-arm.next:
>  1-12
>  14-17
>  19-21
> 
> I had comments about 13 and 18. 22 has a conflict when I try to apply it:
> I think this is just accidental because the functions it's moving are
> next to changes in patch 13 so there's a minor textual conflict, so it
> would be fine with a fixed-up version of patch 13.
> 23-27 are still RFC status so I think best left for the next release.

Thanks a LOT!

I was not expecting this to be merged for this release,
this is very appreciated :)

Regards,

Phil.

Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Peter Maydell 4 years, 10 months ago
On Mon, 1 Jul 2019 at 16:45, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> On 7/1/19 5:41 PM, Peter Maydell wrote:
> > I have applied to target-arm.next:
> >  1-12
> >  14-17
> >  19-21
> >
> > I had comments about 13 and 18. 22 has a conflict when I try to apply it:
> > I think this is just accidental because the functions it's moving are
> > next to changes in patch 13 so there's a minor textual conflict, so it
> > would be fine with a fixed-up version of patch 13.
> > 23-27 are still RFC status so I think best left for the next release.
>
> Thanks a LOT!

I've pushed my current target-arm queue to
https://git.linaro.org/people/peter.maydell/qemu-arm.git target-arm.next
if you want to try to rebase the remainders of the series on that.

thanks
-- PMM

Re: [Qemu-devel] [PATCH v3 00/27] Support disabling TCG on ARM
Posted by Samuel Ortiz 4 years, 10 months ago
On Mon, Jul 01, 2019 at 05:44:58PM +0200, Philippe Mathieu-Daudé wrote:
> On 7/1/19 5:41 PM, Peter Maydell wrote:
> > On Mon, 1 Jul 2019 at 14:25, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >>
> >> 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.
> > 
> > I have applied to target-arm.next:
> >  1-12
> >  14-17
> >  19-21
> > 
> > I had comments about 13 and 18. 22 has a conflict when I try to apply it:
> > I think this is just accidental because the functions it's moving are
> > next to changes in patch 13 so there's a minor textual conflict, so it
> > would be fine with a fixed-up version of patch 13.
> > 23-27 are still RFC status so I think best left for the next release.
> 
> Thanks a LOT!
Indeed, thanks a bunch!

Cheers,
Samuel.