mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
290dae4678
commit
8e2b72990e
|
@ -23,6 +23,8 @@
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
#include "exec/memory-internal.h"
|
#include "exec/memory-internal.h"
|
||||||
|
|
||||||
|
bool tcg_allowed;
|
||||||
|
|
||||||
/* exit the current TB, but without causing any exception to be raised */
|
/* exit the current TB, but without causing any exception to be raised */
|
||||||
void cpu_loop_exit_noexc(CPUState *cpu)
|
void cpu_loop_exit_noexc(CPUState *cpu)
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "qemu/main-loop.h"
|
#include "qemu/main-loop.h"
|
||||||
|
|
||||||
unsigned long tcg_tb_size;
|
unsigned long tcg_tb_size;
|
||||||
static bool tcg_allowed = true;
|
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
/* mask must never be zero, except for A20 change call */
|
/* mask must never be zero, except for A20 change call */
|
||||||
|
|
|
@ -784,6 +784,7 @@ static void tb_htable_init(void)
|
||||||
size. */
|
size. */
|
||||||
void tcg_exec_init(unsigned long tb_size)
|
void tcg_exec_init(unsigned long tb_size)
|
||||||
{
|
{
|
||||||
|
tcg_allowed = true;
|
||||||
cpu_gen_init();
|
cpu_gen_init();
|
||||||
page_init();
|
page_init();
|
||||||
tb_htable_init();
|
tb_htable_init();
|
||||||
|
@ -795,11 +796,6 @@ void tcg_exec_init(unsigned long tb_size)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tcg_enabled(void)
|
|
||||||
{
|
|
||||||
return tcg_ctx.code_gen_buffer != NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allocate a new translation block. Flush the translation buffer if
|
* Allocate a new translation block. Flush the translation buffer if
|
||||||
* too many translation blocks or too much generated code.
|
* too many translation blocks or too much generated code.
|
||||||
|
|
|
@ -76,8 +76,13 @@ int qemu_openpty_raw(int *aslave, char *pty_name);
|
||||||
sendto(sockfd, buf, len, flags, destaddr, addrlen)
|
sendto(sockfd, buf, len, flags, destaddr, addrlen)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern bool tcg_allowed;
|
||||||
void tcg_exec_init(unsigned long tb_size);
|
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_init_all(void);
|
||||||
void cpu_exec_step_atomic(CPUState *cpu);
|
void cpu_exec_step_atomic(CPUState *cpu);
|
||||||
|
|
Loading…
Reference in New Issue