All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/21] Add LoongArch linux-user emulation support
@ 2021-09-14 13:00 Song Gao
  2021-09-14 13:00 ` [PATCH v5 01/21] target/loongarch: Add README Song Gao
                   ` (20 more replies)
  0 siblings, 21 replies; 30+ messages in thread
From: Song Gao @ 2021-09-14 13:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, thuth, philmd, richard.henderson, laurent, peterx,
	gaosong, yangxiaojuan, alistair.francis, maobibo, pbonzini,
	bmeng.cn, alex.bennee, chenhuacai

Hi, 

We are cleanning up 'o32' code for gcc and kernel. This series only support linux-user emulation.  

More about LoongArch at: https://github.com/loongson/

Latest kernel: https://github.com/loongson/linux/tree/loongarch-next


Changes for v5:
  * Follow Richard's code review comments [1].
  * Use force_sig_fault().
    Based-on: <20210822035537.283193-6-richard.henderson@linaro.org>
  * Implement setup_sigtramp.
    Based-on: <20210618192951.125651-2-richard.henderson@linaro.org>

    [1]: https://patchew.org/QEMU/1630586467-22463-1-git-send-email-gaosong@loongson.cn/ 


Changes for v4:
  * Update README,add LoongArch linux-user emulation Introduction.
  * Add 'make check-tcg' support(patch 20).
  * Add binfmt config(patch 21).
  * Fix bugs when running loongarch basic commands.


Changes for v3:
  * Split trans.inc.c.
  * Remove csr registers.
  * Delete patchs 2, 4, 5.
  * Follow Richard's code review comments [1].
  * Follow Richard's riscv patches [2].

    [1]: https://patchew.org/QEMU/1626861198-6133-1-git-send-email-gaosong@loongson.cn/
    [2]: https://patchew.org/QEMU/20210823195529.560295-1-richard.henderson@linaro.org/


Changes for v2:
  * Patch 1, remove unnecessary introduction;
  * Patch 3, follow the ARM/AVR pattern to add new CPU features;
  * Patch 6, remove decode_lsx();
  * Patches 7-18, delete opcode definition, modify translation function;
  * Patches 20-22, split V1 patch20 to V2 patch20-22.

V4: https://patchew.org/QEMU/1630586467-22463-1-git-send-email-gaosong@loongson.cn/
V3: https://patchew.org/QEMU/1630048494-2143-1-git-send-email-gaosong@loongson.cn/
V2: https://patchew.org/QEMU/1626861198-6133-1-git-send-email-gaosong@loongson.cn/
V1: https://patchew.org/QEMU/1624881885-31692-1-git-send-email-gaosong@loongson.cn/

Please review!

Thanks.

Song Gao (21):
  target/loongarch: Add README
  target/loongarch: Add core definition
  target/loongarch: Add main translation routines
  target/loongarch: Add fixed point arithmetic instruction translation
  target/loongarch: Add fixed point shift instruction translation
  target/loongarch: Add fixed point bit instruction translation
  target/loongarch: Add fixed point load/store instruction translation
  target/loongarch: Add fixed point atomic instruction translation
  target/loongarch: Add fixed point extra instruction translation
  target/loongarch: Add floating point arithmetic instruction
    translation
  target/loongarch: Add floating point comparison instruction
    translation
  target/loongarch: Add floating point conversion instruction
    translation
  target/loongarch: Add floating point move instruction translation
  target/loongarch: Add floating point load/store instruction
    translation
  target/loongarch: Add branch instruction translation
  target/loongarch: Add disassembler
  LoongArch Linux User Emulation
  default-configs: Add loongarch linux-user support
  target/loongarch: Add target build suport
  target/loongarch: 'make check-tcg' support
  scripts: add loongarch64 binfmt config

 MAINTAINERS                                 |    6 +
 accel/tcg/user-exec.c                       |   15 +
 configs/targets/loongarch64-linux-user.mak  |    3 +
 configure                                   |    5 +
 disas/loongarch.c                           | 2511 +++++++++++++++++++++++++++
 disas/meson.build                           |    1 +
 include/disas/dis-asm.h                     |    2 +
 include/elf.h                               |    2 +
 linux-user/elfload.c                        |   58 +
 linux-user/host/loongarch/hostdep.h         |   11 +
 linux-user/loongarch64/cpu_loop.c           |   97 ++
 linux-user/loongarch64/signal.c             |  162 ++
 linux-user/loongarch64/sockbits.h           |    1 +
 linux-user/loongarch64/syscall_nr.h         |  312 ++++
 linux-user/loongarch64/target_cpu.h         |   35 +
 linux-user/loongarch64/target_elf.h         |   14 +
 linux-user/loongarch64/target_errno_defs.h  |    7 +
 linux-user/loongarch64/target_fcntl.h       |   12 +
 linux-user/loongarch64/target_signal.h      |   30 +
 linux-user/loongarch64/target_structs.h     |   49 +
 linux-user/loongarch64/target_syscall.h     |   46 +
 linux-user/loongarch64/termbits.h           |    1 +
 linux-user/syscall_defs.h                   |   10 +-
 meson.build                                 |    3 +-
 scripts/qemu-binfmt-conf.sh                 |    6 +-
 target/loongarch/README                     |   76 +
 target/loongarch/cpu-param.h                |   19 +
 target/loongarch/cpu.c                      |  286 +++
 target/loongarch/cpu.h                      |  151 ++
 target/loongarch/fpu_helper.c               |  824 +++++++++
 target/loongarch/helper.h                   |   93 +
 target/loongarch/insn_trans/trans_arith.c   |  322 ++++
 target/loongarch/insn_trans/trans_atomic.c  |  133 ++
 target/loongarch/insn_trans/trans_bit.c     |  255 +++
 target/loongarch/insn_trans/trans_branch.c  |   85 +
 target/loongarch/insn_trans/trans_extra.c   |   87 +
 target/loongarch/insn_trans/trans_farith.c  |  131 ++
 target/loongarch/insn_trans/trans_fcmp.c    |   59 +
 target/loongarch/insn_trans/trans_fcnv.c    |   36 +
 target/loongarch/insn_trans/trans_fmemory.c |  187 ++
 target/loongarch/insn_trans/trans_fmov.c    |  153 ++
 target/loongarch/insn_trans/trans_memory.c  |  235 +++
 target/loongarch/insn_trans/trans_shift.c   |  131 ++
 target/loongarch/insns.decode               |  480 +++++
 target/loongarch/internals.h                |   29 +
 target/loongarch/meson.build                |   18 +
 target/loongarch/op_helper.c                |   85 +
 target/loongarch/translate.c                |  288 +++
 target/loongarch/translate.h                |   46 +
 target/meson.build                          |    1 +
 tests/tcg/configure.sh                      |    1 +
 51 files changed, 7604 insertions(+), 6 deletions(-)
 create mode 100644 configs/targets/loongarch64-linux-user.mak
 create mode 100644 disas/loongarch.c
 create mode 100644 linux-user/host/loongarch/hostdep.h
 create mode 100644 linux-user/loongarch64/cpu_loop.c
 create mode 100644 linux-user/loongarch64/signal.c
 create mode 100644 linux-user/loongarch64/sockbits.h
 create mode 100644 linux-user/loongarch64/syscall_nr.h
 create mode 100644 linux-user/loongarch64/target_cpu.h
 create mode 100644 linux-user/loongarch64/target_elf.h
 create mode 100644 linux-user/loongarch64/target_errno_defs.h
 create mode 100644 linux-user/loongarch64/target_fcntl.h
 create mode 100644 linux-user/loongarch64/target_signal.h
 create mode 100644 linux-user/loongarch64/target_structs.h
 create mode 100644 linux-user/loongarch64/target_syscall.h
 create mode 100644 linux-user/loongarch64/termbits.h
 create mode 100644 target/loongarch/README
 create mode 100644 target/loongarch/cpu-param.h
 create mode 100644 target/loongarch/cpu.c
 create mode 100644 target/loongarch/cpu.h
 create mode 100644 target/loongarch/fpu_helper.c
 create mode 100644 target/loongarch/helper.h
 create mode 100644 target/loongarch/insn_trans/trans_arith.c
 create mode 100644 target/loongarch/insn_trans/trans_atomic.c
 create mode 100644 target/loongarch/insn_trans/trans_bit.c
 create mode 100644 target/loongarch/insn_trans/trans_branch.c
 create mode 100644 target/loongarch/insn_trans/trans_extra.c
 create mode 100644 target/loongarch/insn_trans/trans_farith.c
 create mode 100644 target/loongarch/insn_trans/trans_fcmp.c
 create mode 100644 target/loongarch/insn_trans/trans_fcnv.c
 create mode 100644 target/loongarch/insn_trans/trans_fmemory.c
 create mode 100644 target/loongarch/insn_trans/trans_fmov.c
 create mode 100644 target/loongarch/insn_trans/trans_memory.c
 create mode 100644 target/loongarch/insn_trans/trans_shift.c
 create mode 100644 target/loongarch/insns.decode
 create mode 100644 target/loongarch/internals.h
 create mode 100644 target/loongarch/meson.build
 create mode 100644 target/loongarch/op_helper.c
 create mode 100644 target/loongarch/translate.c
 create mode 100644 target/loongarch/translate.h

-- 
1.8.3.1



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-09-14 14:34 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-14 13:00 [PATCH v5 00/21] Add LoongArch linux-user emulation support Song Gao
2021-09-14 13:00 ` [PATCH v5 01/21] target/loongarch: Add README Song Gao
2021-09-14 13:00 ` [PATCH v5 02/21] target/loongarch: Add core definition Song Gao
2021-09-14 13:00 ` [PATCH v5 03/21] target/loongarch: Add main translation routines Song Gao
2021-09-14 13:00 ` [PATCH v5 04/21] target/loongarch: Add fixed point arithmetic instruction translation Song Gao
2021-09-14 13:30   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 05/21] target/loongarch: Add fixed point shift " Song Gao
2021-09-14 13:33   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 06/21] target/loongarch: Add fixed point bit " Song Gao
2021-09-14 13:45   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 07/21] target/loongarch: Add fixed point load/store " Song Gao
2021-09-14 13:47   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 08/21] target/loongarch: Add fixed point atomic " Song Gao
2021-09-14 13:49   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 09/21] target/loongarch: Add fixed point extra " Song Gao
2021-09-14 13:00 ` [PATCH v5 10/21] target/loongarch: Add floating point arithmetic " Song Gao
2021-09-14 14:15   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 11/21] target/loongarch: Add floating point comparison " Song Gao
2021-09-14 14:21   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 12/21] target/loongarch: Add floating point conversion " Song Gao
2021-09-14 13:00 ` [PATCH v5 13/21] target/loongarch: Add floating point move " Song Gao
2021-09-14 14:24   ` Richard Henderson
2021-09-14 13:00 ` [PATCH v5 14/21] target/loongarch: Add floating point load/store " Song Gao
2021-09-14 13:00 ` [PATCH v5 15/21] target/loongarch: Add branch " Song Gao
2021-09-14 13:00 ` [PATCH v5 16/21] target/loongarch: Add disassembler Song Gao
2021-09-14 13:00 ` [PATCH v5 17/21] LoongArch Linux User Emulation Song Gao
2021-09-14 13:00 ` [PATCH v5 18/21] default-configs: Add loongarch linux-user support Song Gao
2021-09-14 13:00 ` [PATCH v5 19/21] target/loongarch: Add target build suport Song Gao
2021-09-14 13:00 ` [PATCH v5 20/21] target/loongarch: 'make check-tcg' support Song Gao
2021-09-14 13:00 ` [PATCH v5 21/21] scripts: add loongarch64 binfmt config Song Gao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.