[PULL 00/31] tcg/loongarch64: New tcg backend

Richard Henderson posted 31 patches 2 years, 4 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211221164737.1076007-1-richard.henderson@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, WANG Xuerui <git@xen0n.name>, Riku Voipio <riku.voipio@iki.fi>
There is a newer version of this series
configure                                          |    5 +
meson.build                                        |    2 +-
include/elf.h                                      |    2 +
linux-user/host/loongarch64/host-signal.h          |   87 +
tcg/loongarch64/tcg-target-con-set.h               |   31 +
tcg/loongarch64/tcg-target-con-str.h               |   28 +
tcg/loongarch64/tcg-target.h                       |  180 +++
tcg/loongarch64/tcg-insn-defs.c.inc                |  979 ++++++++++++
tcg/loongarch64/tcg-target.c.inc                   | 1677 ++++++++++++++++++++
.gitlab-ci.d/container-cross.yml                   |   27 +
.gitlab-ci.d/crossbuilds.yml                       |   19 +
MAINTAINERS                                        |    7 +
common-user/host/loongarch64/safe-syscall.inc.S    |   90 ++
tests/docker/Makefile.include                      |   21 +
.../dockerfiles/gentoo-loongarch64-cross.docker    |   21 +
.../build-toolchain.sh                             |  128 ++
16 files changed, 3303 insertions(+), 1 deletion(-)
create mode 100644 linux-user/host/loongarch64/host-signal.h
create mode 100644 tcg/loongarch64/tcg-target-con-set.h
create mode 100644 tcg/loongarch64/tcg-target-con-str.h
create mode 100644 tcg/loongarch64/tcg-target.h
create mode 100644 tcg/loongarch64/tcg-insn-defs.c.inc
create mode 100644 tcg/loongarch64/tcg-target.c.inc
create mode 100644 common-user/host/loongarch64/safe-syscall.inc.S
create mode 100644 tests/docker/dockerfiles/gentoo-loongarch64-cross.docker
create mode 100755 tests/docker/dockerfiles/gentoo-loongarch64-cross.docker.d/build-toolchain.sh
[PULL 00/31] tcg/loongarch64: New tcg backend
Posted by Richard Henderson 2 years, 4 months ago
The following changes since commit 2bf40d0841b942e7ba12953d515e62a436f0af84:

  Merge tag 'pull-user-20211220' of https://gitlab.com/rth7680/qemu into staging (2021-12-20 13:20:07 -0800)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-loong-20211221

for you to fetch changes up to a00966914bf8e5223427894ae36bb439c4b266dd:

  tests/docker: Add gentoo-loongarch64-cross image and run cross builds in GitLab (2021-12-21 07:45:47 -0800)

----------------------------------------------------------------
Initial commit of tcg/loongarch64

----------------------------------------------------------------
WANG Xuerui (31):
      elf: Add machine type value for LoongArch
      MAINTAINERS: Add tcg/loongarch64 entry with myself as maintainer
      tcg/loongarch64: Add the tcg-target.h file
      tcg/loongarch64: Add generated instruction opcodes and encoding helpers
      tcg/loongarch64: Add register names, allocation order and input/output sets
      tcg/loongarch64: Define the operand constraints
      tcg/loongarch64: Implement necessary relocation operations
      tcg/loongarch64: Implement the memory barrier op
      tcg/loongarch64: Implement tcg_out_mov and tcg_out_movi
      tcg/loongarch64: Implement goto_ptr
      tcg/loongarch64: Implement sign-/zero-extension ops
      tcg/loongarch64: Implement not/and/or/xor/nor/andc/orc ops
      tcg/loongarch64: Implement deposit/extract ops
      tcg/loongarch64: Implement bswap{16,32,64} ops
      tcg/loongarch64: Implement clz/ctz ops
      tcg/loongarch64: Implement shl/shr/sar/rotl/rotr ops
      tcg/loongarch64: Implement add/sub ops
      tcg/loongarch64: Implement mul/mulsh/muluh/div/divu/rem/remu ops
      tcg/loongarch64: Implement br/brcond ops
      tcg/loongarch64: Implement setcond ops
      tcg/loongarch64: Implement tcg_out_call
      tcg/loongarch64: Implement simple load/store ops
      tcg/loongarch64: Add softmmu load/store helpers, implement qemu_ld/qemu_st ops
      tcg/loongarch64: Implement tcg_target_qemu_prologue
      tcg/loongarch64: Implement exit_tb/goto_tb
      tcg/loongarch64: Implement tcg_target_init
      tcg/loongarch64: Register the JIT
      common-user: Add safe syscall handling for loongarch64 hosts
      linux-user: Implement CPU-specific signal handler for loongarch64 hosts
      configure, meson.build: Mark support for loongarch64 hosts
      tests/docker: Add gentoo-loongarch64-cross image and run cross builds in GitLab

 configure                                          |    5 +
 meson.build                                        |    2 +-
 include/elf.h                                      |    2 +
 linux-user/host/loongarch64/host-signal.h          |   87 +
 tcg/loongarch64/tcg-target-con-set.h               |   31 +
 tcg/loongarch64/tcg-target-con-str.h               |   28 +
 tcg/loongarch64/tcg-target.h                       |  180 +++
 tcg/loongarch64/tcg-insn-defs.c.inc                |  979 ++++++++++++
 tcg/loongarch64/tcg-target.c.inc                   | 1677 ++++++++++++++++++++
 .gitlab-ci.d/container-cross.yml                   |   27 +
 .gitlab-ci.d/crossbuilds.yml                       |   19 +
 MAINTAINERS                                        |    7 +
 common-user/host/loongarch64/safe-syscall.inc.S    |   90 ++
 tests/docker/Makefile.include                      |   21 +
 .../dockerfiles/gentoo-loongarch64-cross.docker    |   21 +
 .../build-toolchain.sh                             |  128 ++
 16 files changed, 3303 insertions(+), 1 deletion(-)
 create mode 100644 linux-user/host/loongarch64/host-signal.h
 create mode 100644 tcg/loongarch64/tcg-target-con-set.h
 create mode 100644 tcg/loongarch64/tcg-target-con-str.h
 create mode 100644 tcg/loongarch64/tcg-target.h
 create mode 100644 tcg/loongarch64/tcg-insn-defs.c.inc
 create mode 100644 tcg/loongarch64/tcg-target.c.inc
 create mode 100644 common-user/host/loongarch64/safe-syscall.inc.S
 create mode 100644 tests/docker/dockerfiles/gentoo-loongarch64-cross.docker
 create mode 100755 tests/docker/dockerfiles/gentoo-loongarch64-cross.docker.d/build-toolchain.sh