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. To make the patch moving the cpu_exec_init() call easier to review, the series also includes a few small changes to simplify cpu_exec_init(). This series is based on my x86 tree, located at: https://github.com/ehabkost/qemu.git x86 Eduardo Habkost (6): cpu: No need to zero-initialize numa_node cpu: Initialize breakpoint/watchpoint lists on cpu_common_initfn() cpu: Reorder cpu->as and cpu->thread_id initialization target-i386: Rename optimize_flags_init() target-i386: Move TCG initialization to realize time target-i386: Call cpu_exec_init() on realize exec.c | 12 +++++------- qom/cpu.c | 2 ++ target-i386/cpu.c | 16 ++++++++-------- target-i386/cpu.h | 2 +- target-i386/translate.c | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) -- 2.1.0