Incorporating review from v15, some of which was in v14 but I somehow skipped over.
Major changes are: * revbit functions for host-utils.h * implementation of atomic operations not split across two patches * unsigned vector shifts avoid a loop. r~ Chen Gang (9): linux-user: tilegx: 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 (26): 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 host-utils: Add revbit functions target-arm: Use new revbit functions 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 + include/qemu/host-utils.h | 77 ++ linux-user/elfload.c | 23 + linux-user/main.c | 238 ++++ 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-arm/helper-a64.c | 15 +- target-arm/helper.c | 12 +- target-tilegx/Makefile.objs | 1 + target-tilegx/cpu.c | 173 +++ target-tilegx/cpu.h | 179 +++ target-tilegx/helper.c | 80 ++ target-tilegx/helper.h | 10 + target-tilegx/opcode_tilegx.h | 1406 +++++++++++++++++++++ target-tilegx/simd_helper.c | 55 + target-tilegx/spr_def_64.h | 216 ++++ target-tilegx/translate.c | 2161 +++++++++++++++++++++++++++++++++ 25 files changed, 5431 insertions(+), 31 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 -- 2.4.3