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-gaosong@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
>