xemu/target-i386
Glauber Costa c169998802 v3: don't call reset functions on cpu initialization
There is absolutely no need to call reset functions when initializing
devices. Since we are already registering them, calling qemu_system_reset()
should suffice. Actually, it is what happens when we reboot the machine,
and using the same process instead of a special case semantics will even
allow us to find bugs easier.

Furthermore, the fact that we initialize things like the cpu quite early,
leads to the need to introduce synchronization stuff like qemu_system_cond.
This patch removes it entirely. All we need to do is call qemu_system_reset()
only when we're already sure the system is up and running

I tested it with qemu (with and without io-thread) and qemu-kvm, and it
seems to be doing okay - although qemu-kvm uses a slightly different patch.

[ v2: user mode still needs cpu_reset, so put it in ifdef. ]
[ v3: leave qemu_system_cond for now. ]

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-11-07 08:06:58 +00:00
..
cpu.h target-i386: move recently added vmstate fields at the end of the structure 2009-10-05 22:41:04 +02:00
exec.h Work around OpenSolaris sys/regset.h namespace pollution 2009-09-12 12:36:11 +00:00
helper_template.h Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
helper.c v3: don't call reset functions on cpu initialization 2009-11-07 08:06:58 +00:00
helper.h target-i386: implement lzcnt emulation 2009-10-23 17:10:36 +02:00
kvm.c gcc wants 1st static and then const 2009-09-25 19:52:06 +00:00
machine.c vmstate: Add version arg to VMSTATE_SINGLE_TEST() 2009-10-27 12:28:51 -05:00
op_helper.c target-i386: implement lzcnt emulation 2009-10-23 17:10:36 +02:00
ops_sse_header.h target-i386: add SSE4a instruction support 2009-10-04 14:09:41 +02:00
ops_sse.h target-i386: add SSE4a instruction support 2009-10-04 14:09:41 +02:00
svm.h reworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworked cr8 handling - added CPUState.hflags2 2008-06-04 17:02:19 +00:00
TODO Unbreak large mem support by removing kqemu 2009-08-24 08:02:55 -05:00
translate.c target-i386: implement lzcnt emulation 2009-10-23 17:10:36 +02:00