[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] Execute _start and reach to the first functi
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v3] Execute _start and reach to the first function call successfully |
Date: |
Sun, 15 Mar 2015 23:45:58 +0000 |
On 14 March 2015 at 06:03, Chen Gang <address@hidden> wrote:
> QEMU TILE-Gx can decode bundle, disassemble code, and generate tcg code
> for 1st TB block (__start). Then directly jump to __libc_start_main (2nd
> TB block).
>
> In __libc_start_main, it can continue executing to the first function
> call _dl_aux_init().
> /* TILE-Gx register alias */
> -#define TILEGX_R_RE 0 /* 0 register, for function/syscall return value */
> -#define TILEGX_R_NR 10 /* 10 register, for syscall number */
> -#define TILEGX_R_BP 52 /* 52 register, optional frame pointer */
> -#define TILEGX_R_TP 53 /* TP register, thread local storage data */
> -#define TILEGX_R_SP 54 /* SP register, stack pointer */
> -#define TILEGX_R_LR 55 /* LR register, may save pc, but it is not pc */
> +#define TILEGX_R_RE 0 /* 0 register, for function/syscall return value
> */
> +#define TILEGX_R_NR 10 /* 10 register, for syscall number */
> +#define TILEGX_R_BP 52 /* 52 register, optional frame pointer */
> +#define TILEGX_R_TP 53 /* TP register, thread local storage data */
> +#define TILEGX_R_SP 54 /* SP register, stack pointer */
> +#define TILEGX_R_LR 55 /* LR register, may save pc, but it is not pc */
> +#define TILEGX_R_ZERO 63 /* Zero register, always zero */
> +#define TILEGX_R_COUNT 56 /* Only 56 registers are really useful */
> +#define TILEGX_R_NOREG 255 /* Invalid register value */
This appears to be changing code that was introduced in
a previous patch (which one? this patch doesn't appear to be
part of a series). Don't do that -- just get it right in
the first place.
-- PMM