[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/6 v5] tilegx: Can load elf64 tilegx binary suc
From: |
Chen Gang |
Subject: |
Re: [Qemu-devel] [PATCH 0/6 v5] tilegx: Can load elf64 tilegx binary successfully for linux-user |
Date: |
Sat, 7 Mar 2015 05:28:05 +0800 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
Hello All:
I have to leave Sunrus, the mail address (address@hidden) will
be closed soon (Sunrus will be closed soon because of money, I guess).
I change my new email address (address@hidden) to continue
communicating. address@hidden 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:
>
> address@hidden qemu]# ./configure --target-list=tilegx-linux-user && make
> address@hidden 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
>
> address@hidden qemu]# echo $?
> 0
> address@hidden 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
- [Qemu-devel] [PATCH 0/6 v5] tilegx: Can load elf64 tilegx binary successfully for linux-user, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 1/6 v5] target-tilegx: Firstly add TILE-Gx with minimized features, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 2/6 v5] linux-user: tilegx: Firstly add architecture related features, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 3/6 v5] linux-user: tilegx: Add target features support within qemu, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 4/6 v5] linux-user: Support tilegx architecture in syscall, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 5/6 v5] linux-user: Support tilegx architecture in linux-user, Chen Gang, 2015/03/05
- [Qemu-devel] [PATCH 6/6 v5] linux-user/syscall.c: conditionalize syscalls which are not defined in tilegx, Chen Gang, 2015/03/05
- Re: [Qemu-devel] [PATCH 0/6 v5] tilegx: Can load elf64 tilegx binary successfully for linux-user,
Chen Gang <=
- Re: [Qemu-devel] [PATCH 0/6 v5] tilegx: Can load elf64 tilegx binary successfully for linux-user, Chen Gang, 2015/03/06