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