kvm: Rework VCPU reset

Use standard callback with highest order to synchronize VCPU on reset
after all device callbacks were execute. This allows to remove the
special kvm hook in qemu_system_reset.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Jan Kiszka 2009-05-02 00:29:37 +02:00 committed by Anthony Liguori
parent 8217606e6e
commit d33a1810d7
2 changed files with 8 additions and 2 deletions

View File

@ -22,6 +22,7 @@
#include "qemu-common.h"
#include "sysemu.h"
#include "hw/hw.h"
#include "gdbstub.h"
#include "kvm.h"
@ -376,6 +377,11 @@ int kvm_check_extension(KVMState *s, unsigned int extension)
return ret;
}
static void kvm_reset_vcpus(void *opaque)
{
kvm_sync_vcpus();
}
int kvm_init(int smp_cpus)
{
KVMState *s;
@ -462,6 +468,8 @@ int kvm_init(int smp_cpus)
if (ret < 0)
goto err;
qemu_register_reset(kvm_reset_vcpus, INT_MAX, NULL);
kvm_state = s;
return 0;

2
vl.c
View File

@ -3659,8 +3659,6 @@ void qemu_system_reset(void)
for(re = first_reset_entry; re != NULL; re = re->next) {
re->func(re->opaque);
}
if (kvm_enabled())
kvm_sync_vcpus();
}
void qemu_system_reset_request(void)