To allow new code to ask the CPU classes for CPU model information and allow QOM properties to be queried by qmp_device_list_properties(), we need to be able to safely instantiate a X86CPU object without any side-effects.
This series moves some code from x86_cpu_initfn() to x86_cpu_realizefn(), so that QEMU global state is affected only if the CPU object is realized. This series is based on my x86 tree, located at: https://github.com/ehabkost/qemu.git x86 Changes v1 -> v2: * New patch: Move TCG initialization check to tcg_x86_init() * Call cpu_exec_init() after basic parameter validation on realizefn * Move tcg_x86_init() call after basic parameter validation inside realizefn Eduardo Habkost (4): target-i386: Rename optimize_flags_init() target-i386: Move TCG initialization check to tcg_x86_init() target-i386: Move TCG initialization to realize time target-i386: Call cpu_exec_init() on realize target-i386/cpu.c | 14 ++++++-------- target-i386/cpu.h | 2 +- target-i386/translate.c | 8 +++++++- 3 files changed, 14 insertions(+), 10 deletions(-) -- 2.1.0