Hi, Richard

On 2022/6/24 上午11:10, Song Gao wrote:
Hi All,

This series adds support linux-user emulation.
As the LoongArch kernel had merged into 5.19-rc1,
you can see the latest kernel at https://kernel.org

Need review patch:

   0002-linux-user-Add-LoongArch-signal-support.patch

V20:
   - Update signal.c, we should't set sc_extcontext[0] on
     setup_sigcontext;

V19:
   - Update signal.c, add fpu info, fpu_context and end info to
     target_rt_sigframe.

V18:
   - Update signal.c, add set fpu_context'magic, update parse_extcontext()
     and remove some cast.

V17:
   - Split v16 patch7 to  patch7-11, and fix some bugs for system-mode;
   - Update signal.c, add parse_extcontext();
   - Add get_elf_hwcap(), and ELF_PLATFORM.

V16:
   - Update signal.c;
   - Update helper_rdtime_d();
   - Update scripts/gensyscalls.sh, fixed a warning.

v15:
   - Rebase;
   - Update README;
   - Adjust some functions and structure to support user-mode;
   - Update syscall;
   - Update target_sigcontext;

Old series:
    - https://patchew.org/QEMU/20220623085526.1678168-1-gaos...@loongson.cn/

Test:
    make check  && make check-tcg  &&  run LoongArch bash

Thanks.
Song Gao


Song Gao (13):
   linux-user: Add LoongArch generic header files
   linux-user: Add LoongArch signal support
   linux-user: Add LoongArch elf support
   linux-user: Add LoongArch syscall support
   linux-user: Add LoongArch cpu_loop support
   scripts: add loongarch64 binfmt config
   target/loongarch: remove badaddr from CPULoongArch
   target/loongarch: Fix missing update CSR_BADV
   target/loongarch: Fix helper_asrtle_d/asrtgt_d raise wrong exception
   target/loongarch: remove unused include hw/loader.h
   target/loongarch: Adjust functions and structure to support user-mode
   default-configs: Add loongarch linux-user support
   target/loongarch: Update README

Sorry for disturbing you,   Should we need some changes or tests with this series?

Thanks.
Song Gao
  configs/targets/loongarch64-linux-user.mak    |   3 +
  linux-user/elfload.c                          |  91 +++++
  linux-user/loongarch64/cpu_loop.c             |  96 ++++++
  linux-user/loongarch64/signal.c               | 326 ++++++++++++++++++
  linux-user/loongarch64/sockbits.h             |  11 +
  linux-user/loongarch64/syscall_nr.h           | 312 +++++++++++++++++
  linux-user/loongarch64/target_cpu.h           |  34 ++
  linux-user/loongarch64/target_elf.h           |  12 +
  linux-user/loongarch64/target_errno_defs.h    |  12 +
  linux-user/loongarch64/target_fcntl.h         |  11 +
  linux-user/loongarch64/target_prctl.h         |   1 +
  linux-user/loongarch64/target_resource.h      |  11 +
  linux-user/loongarch64/target_signal.h        |  13 +
  linux-user/loongarch64/target_structs.h       |  11 +
  linux-user/loongarch64/target_syscall.h       |  48 +++
  linux-user/loongarch64/termbits.h             |  11 +
  linux-user/syscall_defs.h                     |   6 +-
  scripts/gensyscalls.sh                        |   2 +
  scripts/qemu-binfmt-conf.sh                   |   6 +-
  target/loongarch/README                       |  39 ++-
  target/loongarch/cpu.c                        |  34 +-
  target/loongarch/cpu.h                        |   8 +-
  target/loongarch/gdbstub.c                    |   2 +-
  target/loongarch/helper.h                     |   2 +
  .../insn_trans/trans_privileged.c.inc         |  36 ++
  target/loongarch/internals.h                  |   2 +
  target/loongarch/op_helper.c                  |  10 +-
  27 files changed, 1135 insertions(+), 15 deletions(-)
  create mode 100644 configs/targets/loongarch64-linux-user.mak
  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_prctl.h
  create mode 100644 linux-user/loongarch64/target_resource.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

Reply via email to