It can finish running "Hello world" elf64 binary, and the related test cases:
- with "--enable-debug", enable assertion with "-g": ./tilegx-linux-user/qemu-tilegx -L /upstream/release-tile /upstream/release-tile/test/test_shared ./tilegx-linux-user/qemu-tilegx -d all -L /upstream/release-tile /upstream/release-tile/test/test_shared > /tmp/a.log ./tilegx-linux-user/qemu-tilegx /upstream/release-tile/test/test_static ./tilegx-linux-user/qemu-tilegx -d all /upstream/release-tile/test/test_static > /tmp/b.log - without "--enable-debug", disable assertion with "-O2 -g": ./tilegx-linux-user/qemu-tilegx -L /upstream/release-tile /upstream/release-tile/test/test_shared ./tilegx-linux-user/qemu-tilegx -d all -L /upstream/release-tile /upstream/release-tile/test/test_shared > /tmp/c.log ./tilegx-linux-user/qemu-tilegx /upstream/release-tile/test/test_static ./tilegx-linux-user/qemu-tilegx -d all /upstream/release-tile/test/test_static > /tmp/d.log Chen Gang (10): linux-user: tilegx: Firstly add architecture related features linux-user: Support tilegx architecture in linux-user linux-user/syscall.c: conditionalize syscalls which are not defined in tilegx target-tilegx: Add opcode basic implementation from Tilera Corporation target-tilegx/opcode_tilegx.h: Modify it to fit QEMU usage target-tilegx: Add special register information from Tilera Corporation target-tilegx: Add cpu basic features for linux-user target-tilegx: Add several helpers for instructions translation target-tilegx: Generate tcg instructions to finish "Hello world" target-tilegx: Add TILE-Gx building files configure | 2 + default-configs/tilegx-linux-user.mak | 1 + include/elf.h | 2 + linux-user/elfload.c | 23 + linux-user/main.c | 295 ++++ linux-user/syscall.c | 50 +- linux-user/syscall_defs.h | 14 +- linux-user/tilegx/syscall.h | 40 + linux-user/tilegx/syscall_nr.h | 324 ++++ linux-user/tilegx/target_cpu.h | 35 + linux-user/tilegx/target_signal.h | 28 + linux-user/tilegx/target_structs.h | 46 + linux-user/tilegx/termbits.h | 274 +++ target-tilegx/Makefile.objs | 1 + target-tilegx/cpu.c | 143 ++ target-tilegx/cpu.h | 175 ++ target-tilegx/helper.c | 83 + target-tilegx/helper.h | 5 + target-tilegx/opcode_tilegx.h | 1406 ++++++++++++++++ target-tilegx/spr_def_64.h | 216 +++ target-tilegx/translate.c | 2966 +++++++++++++++++++++++++++++++++ 21 files changed, 6123 insertions(+), 6 deletions(-) create mode 100644 default-configs/tilegx-linux-user.mak create mode 100644 linux-user/tilegx/syscall.h create mode 100644 linux-user/tilegx/syscall_nr.h create mode 100644 linux-user/tilegx/target_cpu.h create mode 100644 linux-user/tilegx/target_signal.h create mode 100644 linux-user/tilegx/target_structs.h create mode 100644 linux-user/tilegx/termbits.h create mode 100644 target-tilegx/Makefile.objs create mode 100644 target-tilegx/cpu.c create mode 100644 target-tilegx/cpu.h create mode 100644 target-tilegx/helper.c create mode 100644 target-tilegx/helper.h create mode 100644 target-tilegx/opcode_tilegx.h create mode 100644 target-tilegx/spr_def_64.h create mode 100644 target-tilegx/translate.c -- 1.9.3