Revision 9002ec79

b/bsd-user/main.c
30 30
#include "qemu-common.h"
31 31
/* For tb_lock */
32 32
#include "exec-all.h"
33

  
33
#include "tcg.h"
34 34
#include "qemu-timer.h"
35 35
#include "envlist.h"
36 36

  
......
970 970
    syscall_init();
971 971
    signal_init();
972 972

  
973
#if defined(CONFIG_USE_GUEST_BASE)
974
    /* Now that we've loaded the binary, GUEST_BASE is fixed.  Delay
975
       generating the prologue until now so that the prologue can take
976
       the real value of GUEST_BASE into account.  */
977
    tcg_prologue_init(&tcg_ctx);
978
#endif
979

  
973 980
    /* build Task State */
974 981
    memset(ts, 0, sizeof(TaskState));
975 982
    init_task_state(ts);
b/exec.c
574 574
#if !defined(CONFIG_USER_ONLY)
575 575
    io_mem_init();
576 576
#endif
577
#if !defined(CONFIG_USER_ONLY) || !defined(CONFIG_USE_GUEST_BASE)
578
    /* There's no guest base to take into account, so go ahead and
579
       initialize the prologue now.  */
580
    tcg_prologue_init(&tcg_ctx);
581
#endif
577 582
}
578 583

  
579 584
#if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
b/linux-user/main.c
31 31
#include "cache-utils.h"
32 32
/* For tb_lock */
33 33
#include "exec-all.h"
34

  
34
#include "tcg.h"
35 35
#include "qemu-timer.h"
36 36
#include "envlist.h"
37 37

  
......
2984 2984
    syscall_init();
2985 2985
    signal_init();
2986 2986

  
2987
#if defined(CONFIG_USE_GUEST_BASE)
2988
    /* Now that we've loaded the binary, GUEST_BASE is fixed.  Delay
2989
       generating the prologue until now so that the prologue can take
2990
       the real value of GUEST_BASE into account.  */
2991
    tcg_prologue_init(&tcg_ctx);
2992
#endif
2993

  
2987 2994
#if defined(TARGET_I386)
2988 2995
    cpu_x86_set_cpl(env, 3);
2989 2996

  
b/tcg/tcg.c
240 240
    }
241 241
    
242 242
    tcg_target_init(s);
243
}
243 244

  
245
void tcg_prologue_init(TCGContext *s)
246
{
244 247
    /* init global prologue and epilogue */
245 248
    s->code_buf = code_gen_prologue;
246 249
    s->code_ptr = s->code_buf;
b/tcg/tcg.h
346 346
}
347 347

  
348 348
void tcg_context_init(TCGContext *s);
349
void tcg_prologue_init(TCGContext *s);
349 350
void tcg_func_start(TCGContext *s);
350 351

  
351 352
int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf);

Also available in: Unified diff