qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]