Browse Source

tcg: make tcg_allowed global

Change the tcg_enabled() and make sure user build still enable tcg
even x86 softmmu disable tcg.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
pull/53/merge
Yang Zhong 9 years ago
committed by Paolo Bonzini
parent
commit
8e2b72990e
  1. 2
      accel/tcg/cpu-exec-common.c
  2. 1
      accel/tcg/tcg-all.c
  3. 6
      accel/tcg/translate-all.c
  4. 7
      include/qemu-common.h

2
accel/tcg/cpu-exec-common.c

@ -23,6 +23,8 @@
#include "exec/exec-all.h"
#include "exec/memory-internal.h"
bool tcg_allowed;
/* exit the current TB, but without causing any exception to be raised */
void cpu_loop_exit_noexc(CPUState *cpu)
{

1
accel/tcg/tcg-all.c

@ -33,7 +33,6 @@
#include "qemu/main-loop.h"
unsigned long tcg_tb_size;
static bool tcg_allowed = true;
#ifndef CONFIG_USER_ONLY
/* mask must never be zero, except for A20 change call */

6
accel/tcg/translate-all.c

@ -784,6 +784,7 @@ static void tb_htable_init(void)
size. */
void tcg_exec_init(unsigned long tb_size)
{
tcg_allowed = true;
cpu_gen_init();
page_init();
tb_htable_init();
@ -795,11 +796,6 @@ void tcg_exec_init(unsigned long tb_size)
#endif
}
bool tcg_enabled(void)
{
return tcg_ctx.code_gen_buffer != NULL;
}
/*
* Allocate a new translation block. Flush the translation buffer if
* too many translation blocks or too much generated code.

7
include/qemu-common.h

@ -76,8 +76,13 @@ int qemu_openpty_raw(int *aslave, char *pty_name);
sendto(sockfd, buf, len, flags, destaddr, addrlen)
#endif
extern bool tcg_allowed;
void tcg_exec_init(unsigned long tb_size);
bool tcg_enabled(void);
#ifdef CONFIG_TCG
#define tcg_enabled() (tcg_allowed)
#else
#define tcg_enabled() 0
#endif
void cpu_exec_init_all(void);
void cpu_exec_step_atomic(CPUState *cpu);

Loading…
Cancel
Save