accel/tcg: Init TCG cflags in vCPU thread handler
Move TCG cflags initialization to thread handler. Remove the duplicated assert checks. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220323171751.78612-6-philippe.mathieu.daude@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
adb5974dcc
commit
a82fd5a4ec
|
@ -70,6 +70,8 @@ static void *mttcg_cpu_thread_fn(void *arg)
|
||||||
assert(tcg_enabled());
|
assert(tcg_enabled());
|
||||||
g_assert(!icount_enabled());
|
g_assert(!icount_enabled());
|
||||||
|
|
||||||
|
tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1);
|
||||||
|
|
||||||
rcu_register_thread();
|
rcu_register_thread();
|
||||||
force_rcu.notifier.notify = mttcg_force_rcu;
|
force_rcu.notifier.notify = mttcg_force_rcu;
|
||||||
force_rcu.cpu = cpu;
|
force_rcu.cpu = cpu;
|
||||||
|
@ -139,9 +141,6 @@ void mttcg_start_vcpu_thread(CPUState *cpu)
|
||||||
{
|
{
|
||||||
char thread_name[VCPU_THREAD_NAME_SIZE];
|
char thread_name[VCPU_THREAD_NAME_SIZE];
|
||||||
|
|
||||||
g_assert(tcg_enabled());
|
|
||||||
tcg_cpu_init_cflags(cpu, current_machine->smp.max_cpus > 1);
|
|
||||||
|
|
||||||
cpu->thread = g_new0(QemuThread, 1);
|
cpu->thread = g_new0(QemuThread, 1);
|
||||||
cpu->halt_cond = g_malloc0(sizeof(QemuCond));
|
cpu->halt_cond = g_malloc0(sizeof(QemuCond));
|
||||||
qemu_cond_init(cpu->halt_cond);
|
qemu_cond_init(cpu->halt_cond);
|
||||||
|
|
|
@ -152,7 +152,9 @@ static void *rr_cpu_thread_fn(void *arg)
|
||||||
Notifier force_rcu;
|
Notifier force_rcu;
|
||||||
CPUState *cpu = arg;
|
CPUState *cpu = arg;
|
||||||
|
|
||||||
assert(tcg_enabled());
|
g_assert(tcg_enabled());
|
||||||
|
tcg_cpu_init_cflags(cpu, false);
|
||||||
|
|
||||||
rcu_register_thread();
|
rcu_register_thread();
|
||||||
force_rcu.notify = rr_force_rcu;
|
force_rcu.notify = rr_force_rcu;
|
||||||
rcu_add_force_rcu_notifier(&force_rcu);
|
rcu_add_force_rcu_notifier(&force_rcu);
|
||||||
|
@ -275,9 +277,6 @@ void rr_start_vcpu_thread(CPUState *cpu)
|
||||||
static QemuCond *single_tcg_halt_cond;
|
static QemuCond *single_tcg_halt_cond;
|
||||||
static QemuThread *single_tcg_cpu_thread;
|
static QemuThread *single_tcg_cpu_thread;
|
||||||
|
|
||||||
g_assert(tcg_enabled());
|
|
||||||
tcg_cpu_init_cflags(cpu, false);
|
|
||||||
|
|
||||||
if (!single_tcg_cpu_thread) {
|
if (!single_tcg_cpu_thread) {
|
||||||
cpu->thread = g_new0(QemuThread, 1);
|
cpu->thread = g_new0(QemuThread, 1);
|
||||||
cpu->halt_cond = g_new0(QemuCond, 1);
|
cpu->halt_cond = g_new0(QemuCond, 1);
|
||||||
|
|
Loading…
Reference in New Issue