Re: kernel device reset support

Dong, Eddie
2007-10-11T07:24:42Z

This one can force qemu to execute reset ops in BSP only.
As addition to previous user level patch.

But if BSP is halted and executing some code without backing
to user level, then we have trouble. But I won't worry about this
right now, since it is also impact device model performance
if KVM doesn't back to user for a long time.

BTW, XEN support reset by re-start Qemu-DM and guest,
which is quit simple and without additional issues.
But KVM decide to do within Qemu. There are many ways
a guest can do reboot such as tripple fault, port CF9 write etc.
keyboard write etc. Current Qemu only handle keyboard
port (0x61) reset method. We can add tripple fault reboot
support in future.

thx,eddie

diff --git a/qemu/vl.c b/qemu/vl.c
index 634fb34..b65b165 100644
--- a/qemu/vl.c
+++ b/qemu/vl.c
@@ -7265,7 +7265,7 @@ int main_loop(void)
ret = EXCP_INTERRUPT;
break;
}
- if (reset_requested) {
+ if (reset_requested && env->cpu_index == 0) {
reset_requested = 0;
qemu_system_reset();
#ifdef USE_KVM