Hello All: I have to leave Sunrus, the mail address (gang.c...@sunrus.com.cn) will be closed soon (Sunrus will be closed soon because of money, I guess).
I change my new email address (xili_gchen_5...@hotmail.com) to continue communicating. gang.chen.5...@gmail.com is still have effect, but it is not stable (gmail in China is not stable). And if the patches can pass checking, please add me as the maintainer, and let Andreas, Chris, Richard, and Peter as Reviewed-by. Thanks. On 3/6/15 04:22, Chen Gang wrote: > After load elf64 tilegx binary for linux-user, the working flow reaches > 1st correct instruction "__start". Next, we shall load all instructions > for qemu using. > > This patch is based on Linux kernel tile architecture tilegx 64-bit > implementation, and also based on tilegx architecture ABI reference. > > The related test: > > [root@localhost qemu]# ./configure --target-list=tilegx-linux-user && make > [root@localhost qemu]# ./tilegx-linux-user/qemu-tilegx -d all ./test.tgx > CPU Reset (CPU 0) > CPU Reset (CPU 0) > host mmap_min_addr=0x10000 > Reserved 0xe0000 bytes of guest address space > Relocating guest address space from 0x0000000000010000 to 0x10000 > guest_base 0x0 > start end size prot > 0000000000010000-00000000000e0000 00000000000d0000 r-x > 00000000000e0000-00000000000f0000 0000000000010000 rw- > 0000004000000000-0000004000010000 0000000000010000 --- > 0000004000010000-0000004000810000 0000000000800000 rw- > start_brk 0x0000000000000000 > end_code 0x00000000000d86f7 > start_code 0x0000000000010000 > start_data 0x00000000000e86f8 > end_data 0x00000000000ea208 > start_stack 0x000000400080f250 > brk 0x00000000000ec2b0 > entry 0x0000000000010f60 > PROLOGUE: [size=40] > 0x7fcc44c716f0: push %rbp > 0x7fcc44c716f1: push %rbx > 0x7fcc44c716f2: push %r12 > 0x7fcc44c716f4: push %r13 > 0x7fcc44c716f6: push %r14 > 0x7fcc44c716f8: push %r15 > 0x7fcc44c716fa: mov %rdi,%r14 > 0x7fcc44c716fd: add $0xfffffffffffffb78,%rsp > 0x7fcc44c71704: jmpq *%rsi > 0x7fcc44c71706: add $0x488,%rsp > 0x7fcc44c7170d: pop %r15 > 0x7fcc44c7170f: pop %r14 > 0x7fcc44c71711: pop %r13 > 0x7fcc44c71713: pop %r12 > 0x7fcc44c71715: pop %rbx > 0x7fcc44c71716: pop %rbp > 0x7fcc44c71717: retq > > Load elf64 tilegx successfully > reach code start position: [0000000000010f60] _start > > [root@localhost qemu]# echo $? > 0 > [root@localhost qemu]# > > > Chen Gang (6): > target-tilegx: Firstly add TILE-Gx with minimized features > linux-user: tilegx: Firstly add architecture related features > linux-user: tilegx: Add target features support within qemu > linux-user: Support tilegx architecture in syscall > linux-user: Support tilegx architecture in linux-user > linux-user/syscall.c: conditionalize syscalls which are not defined in > tilegx > > configure | 3 + > default-configs/tilegx-linux-user.mak | 1 + > include/elf.h | 2 + > linux-user/elfload.c | 23 +++ > linux-user/main.c | 74 +++++++++ > linux-user/syscall.c | 50 +++++- > linux-user/syscall_defs.h | 38 ++++- > linux-user/tilegx/syscall.h | 80 ++++++++++ > linux-user/tilegx/syscall_nr.h | 278 +++++++++++++++++++++++++++++++++ > linux-user/tilegx/target_cpu.h | 35 +++++ > linux-user/tilegx/target_signal.h | 28 ++++ > linux-user/tilegx/target_structs.h | 48 ++++++ > linux-user/tilegx/termbits.h | 285 > ++++++++++++++++++++++++++++++++++ > target-tilegx/Makefile.objs | 1 + > target-tilegx/cpu-qom.h | 71 +++++++++ > target-tilegx/cpu.c | 153 ++++++++++++++++++ > target-tilegx/cpu.h | 85 ++++++++++ > target-tilegx/helper.h | 0 > target-tilegx/translate.c | 53 +++++++ > 19 files changed, 1303 insertions(+), 5 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-qom.h > create mode 100644 target-tilegx/cpu.c > create mode 100644 target-tilegx/cpu.h > create mode 100644 target-tilegx/helper.h > create mode 100644 target-tilegx/translate.c > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed