qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] Add LoongArch linux-user emulation support
@ 2021-06-28 12:04 Song Gao
  2021-06-28 12:04 ` [PATCH 01/20] target/loongarch: Add README Song Gao
                   ` (19 more replies)
  0 siblings, 20 replies; 49+ messages in thread
From: Song Gao @ 2021-06-28 12:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, thuth, richard.henderson, laurent, maobibo,
	alistair.francis, pbonzini, philmd

Hi,

This series adds linux-user emulation support for LoongArch.

Patch 1 add an introduction to LoongArch.
Patches 2-5 adds LoongArch basic definition.
Patches 6-18 implements user mode instruction emulation.
Patche 19 add support for disassembling via option '-d in_asm'
Patch 20 add files to linux-user/loongarch64 and support compilling
linux-user binary.

About LoongArch, please see:
   https://github.com/loongson/LoongArch-Documentation

Please review!

thanks

Song Gao (20):
  target/loongarch: Add README
  target/loongarch: Add CSR registers definition
  target/loongarch: Add core definition
  target/loongarch: Add interrupt handling support
  target/loongarch: Add memory management support
  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
  target/loongarch: Add linux-user emulation support

 MAINTAINERS                                        |    7 +
 default-configs/targets/loongarch64-linux-user.mak |    4 +
 disas/loongarch.c                                  | 2528 +++++++++++++++++++
 disas/meson.build                                  |    1 +
 include/disas/dis-asm.h                            |    2 +
 include/elf.h                                      |    2 +
 linux-user/elfload.c                               |   58 +
 linux-user/loongarch64/cpu_loop.c                  |  177 ++
 linux-user/loongarch64/signal.c                    |  193 ++
 linux-user/loongarch64/sockbits.h                  |    1 +
 linux-user/loongarch64/syscall_nr.h                |  307 +++
 linux-user/loongarch64/target_cpu.h                |   36 +
 linux-user/loongarch64/target_elf.h                |   14 +
 linux-user/loongarch64/target_fcntl.h              |   12 +
 linux-user/loongarch64/target_signal.h             |   28 +
 linux-user/loongarch64/target_structs.h            |   49 +
 linux-user/loongarch64/target_syscall.h            |   46 +
 linux-user/loongarch64/termbits.h                  |  229 ++
 linux-user/syscall_defs.h                          |    8 +-
 meson.build                                        |    3 +-
 qapi/machine-target.json                           |    4 +-
 target/loongarch/README                            |   16 +
 target/loongarch/cpu-csr.h                         |  724 ++++++
 target/loongarch/cpu-param.h                       |   21 +
 target/loongarch/cpu-qom.h                         |   41 +
 target/loongarch/cpu.c                             |  477 ++++
 target/loongarch/cpu.h                             |  245 ++
 target/loongarch/fpu_helper.c                      | 1436 +++++++++++
 target/loongarch/fpu_helper.h                      |   34 +
 target/loongarch/helper.h                          |  158 ++
 target/loongarch/insns.decode                      |  483 ++++
 target/loongarch/instmap.h                         |  200 ++
 target/loongarch/internal.h                        |  107 +
 target/loongarch/meson.build                       |   19 +
 target/loongarch/op_helper.c                       |  231 ++
 target/loongarch/tlb_helper.c                      |  109 +
 target/loongarch/trans.inc.c                       | 2426 ++++++++++++++++++
 target/loongarch/translate.c                       | 2607 ++++++++++++++++++++
 target/loongarch/translate.h                       |   58 +
 target/meson.build                                 |    1 +
 40 files changed, 13096 insertions(+), 6 deletions(-)
 create mode 100644 default-configs/targets/loongarch64-linux-user.mak
 create mode 100644 disas/loongarch.c
 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_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-csr.h
 create mode 100644 target/loongarch/cpu-param.h
 create mode 100644 target/loongarch/cpu-qom.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/fpu_helper.h
 create mode 100644 target/loongarch/helper.h
 create mode 100644 target/loongarch/insns.decode
 create mode 100644 target/loongarch/instmap.h
 create mode 100644 target/loongarch/internal.h
 create mode 100644 target/loongarch/meson.build
 create mode 100644 target/loongarch/op_helper.c
 create mode 100644 target/loongarch/tlb_helper.c
 create mode 100644 target/loongarch/trans.inc.c
 create mode 100644 target/loongarch/translate.c
 create mode 100644 target/loongarch/translate.h

-- 
1.8.3.1



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

end of thread, other threads:[~2021-07-05  0:46 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 12:04 [PATCH 00/20] Add LoongArch linux-user emulation support Song Gao
2021-06-28 12:04 ` [PATCH 01/20] target/loongarch: Add README Song Gao
2021-06-28 18:40   ` Philippe Mathieu-Daudé
2021-06-29  7:33     ` Song Gao
2021-06-29 11:13   ` Alex Bennée
2021-06-30  1:09     ` Song Gao
2021-06-29 11:52   ` Peter Maydell
2021-06-30  1:22     ` Song Gao
2021-06-28 12:04 ` [PATCH 02/20] target/loongarch: Add CSR registers definition Song Gao
2021-06-28 12:04 ` [PATCH 03/20] target/loongarch: Add core definition Song Gao
2021-06-28 18:44   ` Philippe Mathieu-Daudé
2021-06-29  7:39     ` Song Gao
2021-06-28 12:04 ` [PATCH 04/20] target/loongarch: Add interrupt handling support Song Gao
2021-06-28 12:04 ` [PATCH 05/20] target/loongarch: Add memory management support Song Gao
2021-06-28 12:04 ` [PATCH 06/20] target/loongarch: Add main translation routines Song Gao
2021-06-28 18:46   ` Philippe Mathieu-Daudé
2021-06-29  8:50     ` Song Gao
2021-06-29 12:26       ` Alex Bennée
2021-06-30  1:04         ` Song Gao
2021-06-28 12:04 ` [PATCH 07/20] target/loongarch: Add fixed point arithmetic instruction translation Song Gao
2021-07-01 20:31   ` Philippe Mathieu-Daudé
2021-07-02  8:15     ` Song Gao
2021-07-02  8:51       ` Philippe Mathieu-Daudé
2021-07-02  9:16         ` Song Gao
2021-07-02 14:46         ` Richard Henderson
2021-07-05  0:45           ` Song Gao
2021-06-28 12:04 ` [PATCH 08/20] target/loongarch: Add fixed point shift " Song Gao
2021-06-28 12:04 ` [PATCH 09/20] target/loongarch: Add fixed point bit " Song Gao
2021-06-28 12:04 ` [PATCH 10/20] target/loongarch: Add fixed point load/store " Song Gao
2021-06-28 12:04 ` [PATCH 11/20] target/loongarch: Add fixed point atomic " Song Gao
2021-06-28 12:04 ` [PATCH 12/20] target/loongarch: Add fixed point extra " Song Gao
2021-06-28 12:04 ` [PATCH 13/20] target/loongarch: Add floating point arithmetic " Song Gao
2021-06-28 12:04 ` [PATCH 14/20] target/loongarch: Add floating point comparison " Song Gao
2021-06-28 12:04 ` [PATCH 15/20] target/loongarch: Add floating point conversion " Song Gao
2021-06-28 12:04 ` [PATCH 16/20] target/loongarch: Add floating point move " Song Gao
2021-06-28 12:04 ` [PATCH 17/20] target/loongarch: Add floating point load/store " Song Gao
2021-06-28 12:04 ` [PATCH 18/20] target/loongarch: Add branch " Song Gao
2021-06-28 12:04 ` [PATCH 19/20] target/loongarch: Add disassembler Song Gao
2021-06-28 12:04 ` [PATCH 20/20] target/loongarch: Add linux-user emulation support Song Gao
2021-06-29 13:42   ` Peter Maydell
2021-06-30  1:41     ` maobibo
2021-06-30  9:36       ` Alex Bennée
2021-07-01  1:07         ` maobibo
2021-07-01  6:47           ` Thomas Huth
2021-07-01  7:08             ` maobibo
2021-07-01 10:35             ` Alex Bennée
2021-07-01 10:53               ` Peter Maydell
2021-07-01 12:05                 ` maobibo
2021-06-30  1:59     ` Song Gao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).