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