On 8/25/15 00:17, Richard Henderson wrote: > I've flushed out the v13 I posted last Thursday to handle all the > instructions required to execute Hello World. In the process I > found a number of bugs and design flaws in v13, and reshaped the > translation a bit to better handle insns with no register outputs. >
OK, thank you for your work (originally, I really did not kown that it would generate so many patches -- almost 3 times that I supposed). > Please review. > > After this, I would hope that Chen Gang will follow up to implement > the rest of the instructions that he has identified running the > gcc testsuite, and then start in on the floating point. > OK, thanks, I shall continue based on it, after it is integrated into qemu master (after Reviewed-by another members). During the next 2-4 days I shall try to fix one gcc bugzilla issue, then turn back to qemu, hope I can succeed. (during these passed days, I sent 3 paches to kernel, and 2 of them are applied, one is waiting review). Thanks. > > r~ > > > Chen Gang (9): > linux-user: tilegx: Firstly add architecture related features > linux-user: Support tilegx architecture in linux-user > linux-user: Conditionalize syscalls which are not defined in tilegx > target-tilegx: Add opcode basic implementation from Tilera Corporation > target-tilegx: Modify opcode_tilegx.h 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: Add TILE-Gx building files > > Richard Henderson (24): > target-tilegx: Modify _SPECIAL_ opcodes > target-tilegx: Fix LDNA_ADD_IMM8_OPCODE_X1 > target-tilegx: Framework for decoding bundles > target-tilegx: Generate SEGV properly > target-tilegx: Handle simple logical operations > target-tilegx: Handle arithmetic instructions > target-tilegx: Handle most bit manipulation instructions > target-tilegx: Handle basic load and store instructions > target-tilegx: Handle post-increment load and store instructions > target-tilegx: Handle unconditional jump instructions > target-tilegx: Handle conditional branch instructions > target-tilegx: Handle comparison instructions > target-tilegx: Implement system and memory management instructions > target-tilegx: Handle bitfield instructions > target-tilegx: Handle shift instructions > target-tilegx: Handle conditional move instructions > target-tilegx: Handle scalar multiply instructions > target-tilegx: Handle mask instructions > target-tilegx: Handle v1cmpeq, v1cmpne > target-tilegx: Handle mtspr, mfspr > target-tilegx: Handle atomic instructions > target-tilegx: Handle v4int_l/h > target-tilegx: Handle v1shli, v1shrui > target-tilegx: Handle v1shl, v1shru, v1shrs > > configure | 2 + > default-configs/tilegx-linux-user.mak | 1 + > include/elf.h | 2 + > linux-user/elfload.c | 23 + > linux-user/main.c | 298 +++++ > 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 | 173 +++ > target-tilegx/cpu.h | 177 +++ > target-tilegx/helper.c | 93 ++ > target-tilegx/helper.h | 10 + > target-tilegx/opcode_tilegx.h | 1406 ++++++++++++++++++++++ > target-tilegx/simd_helper.c | 63 + > target-tilegx/spr_def_64.h | 216 ++++ > target-tilegx/translate.c | 2135 +++++++++++++++++++++++++++++++++ > 22 files changed, 5405 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/simd_helper.c > create mode 100644 target-tilegx/spr_def_64.h > create mode 100644 target-tilegx/translate.c > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed