Hello All: After the implementation, it can let normal tilegx program working (e.g. sh, vi, cp, mv ...). And the known left issues are:
- At present, it can not pass gcc testsuite (it causes some programs pending). - The floating point implementation is not included, since at present, it is only the temporary implementation. - There are still some instructions which are not implemented. Chen Gang (16): 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 target-tilegx: Add related feature to support iret instruction target-tilegx: Implement decode_rrr_8_opcode_y0 target-tilegx: Use int8_t instead of uint8_t for imm8 in gen_st_add() linux-user: main: Use negative qemu errno for syscall return errno tilegx: Match with the latest qemu master tree target-tilegx: Implement additional instructions in normal working flow 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 | 177 ++ target-tilegx/helper.c | 93 + target-tilegx/helper.h | 7 + target-tilegx/opcode_tilegx.h | 1406 ++++++++++++++ target-tilegx/spr_def_64.h | 216 +++ target-tilegx/translate.c | 3282 +++++++++++++++++++++++++++++++++ 21 files changed, 6453 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