Revision a57f6316
b/cpu-all.h | ||
---|---|---|
743 | 743 |
__attribute__ ((__noreturn__)); |
744 | 744 |
extern CPUState *first_cpu; |
745 | 745 |
extern CPUState *cpu_single_env; |
746 |
extern int code_copy_enabled; |
|
747 | 746 |
|
748 | 747 |
#define CPU_INTERRUPT_EXIT 0x01 /* wants exit from main loop */ |
749 | 748 |
#define CPU_INTERRUPT_HARD 0x02 /* hardware interrupt pending */ |
b/exec-all.h | ||
---|---|---|
77 | 77 |
int cpu_restore_state(struct TranslationBlock *tb, |
78 | 78 |
CPUState *env, unsigned long searched_pc, |
79 | 79 |
void *puc); |
80 |
int cpu_gen_code_copy(CPUState *env, struct TranslationBlock *tb, |
|
81 |
int max_code_size, int *gen_code_size_ptr); |
|
82 | 80 |
int cpu_restore_state_copy(struct TranslationBlock *tb, |
83 | 81 |
CPUState *env, unsigned long searched_pc, |
84 | 82 |
void *puc); |
... | ... | |
158 | 156 |
uint16_t size; /* size of target code for this block (1 <= |
159 | 157 |
size <= TARGET_PAGE_SIZE) */ |
160 | 158 |
uint16_t cflags; /* compile flags */ |
161 |
#define CF_CODE_COPY 0x0001 /* block was generated in code copy mode */ |
|
162 | 159 |
#define CF_TB_FP_USED 0x0002 /* fp ops are used in the TB */ |
163 | 160 |
#define CF_FP_USED 0x0004 /* fp ops are used in the TB or in a chained TB */ |
164 | 161 |
#define CF_SINGLE_INSN 0x0008 /* compile only a single instruction */ |
b/tests/qruncom.c | ||
---|---|---|
199 | 199 |
|
200 | 200 |
env = cpu_init("qemu32"); |
201 | 201 |
|
202 |
/* disable code copy to simplify debugging */ |
|
203 |
code_copy_enabled = 0; |
|
204 |
|
|
205 | 202 |
/* set user mode state (XXX: should be done automatically by |
206 | 203 |
cpu_init ?) */ |
207 | 204 |
env->user_mode_only = 1; |
b/translate-all.c | ||
---|---|---|
48 | 48 |
uint32_t gen_opc_hflags[OPC_BUF_SIZE]; |
49 | 49 |
#endif |
50 | 50 |
|
51 |
int code_copy_enabled = 1; |
|
52 |
|
|
53 | 51 |
#ifdef CONFIG_PROFILER |
54 | 52 |
int64_t dyngen_tb_count1; |
55 | 53 |
int64_t dyngen_tb_count; |
b/vl.c | ||
---|---|---|
7343 | 7343 |
QEMU_OPTION_hdachs, |
7344 | 7344 |
QEMU_OPTION_L, |
7345 | 7345 |
QEMU_OPTION_bios, |
7346 |
QEMU_OPTION_no_code_copy, |
|
7347 | 7346 |
QEMU_OPTION_k, |
7348 | 7347 |
QEMU_OPTION_localtime, |
7349 | 7348 |
QEMU_OPTION_cirrusvga, |
... | ... | |
7440 | 7439 |
{ "hdachs", HAS_ARG, QEMU_OPTION_hdachs }, |
7441 | 7440 |
{ "L", HAS_ARG, QEMU_OPTION_L }, |
7442 | 7441 |
{ "bios", HAS_ARG, QEMU_OPTION_bios }, |
7443 |
{ "no-code-copy", 0, QEMU_OPTION_no_code_copy }, |
|
7444 | 7442 |
#ifdef USE_KQEMU |
7445 | 7443 |
{ "no-kqemu", 0, QEMU_OPTION_no_kqemu }, |
7446 | 7444 |
{ "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu }, |
... | ... | |
7978 | 7976 |
fd_bootchk = 0; |
7979 | 7977 |
break; |
7980 | 7978 |
#endif |
7981 |
case QEMU_OPTION_no_code_copy: |
|
7982 |
code_copy_enabled = 0; |
|
7983 |
break; |
|
7984 | 7979 |
case QEMU_OPTION_net: |
7985 | 7980 |
if (nb_net_clients >= MAX_NET_CLIENTS) { |
7986 | 7981 |
fprintf(stderr, "qemu: too many network clients\n"); |
Also available in: Unified diff