📄 domain-reset
字号:
Index: ioemu/target-i386-dm/helper2.c===================================================================--- ioemu.orig/target-i386-dm/helper2.c 2007-05-09 13:43:01.000000000 +0100+++ ioemu/target-i386-dm/helper2.c 2007-05-09 13:44:09.000000000 +0100@@ -127,6 +127,22 @@ /* called from main_cpu_reset */ void cpu_reset(CPUX86State *env) {+ int xcHandle;+ int sts;++ xcHandle = xc_interface_open();+ if (xcHandle < 0)+ fprintf(logfile, "Cannot acquire xenctrl handle\n");+ else {+ sts = xc_domain_shutdown(xcHandle, domid, SHUTDOWN_reboot);+ if (sts != 0)+ fprintf(logfile,+ "? xc_domain_shutdown failed to issue reboot, sts %d\n",+ sts);+ else+ fprintf(logfile, "Issued domain %d reboot\n", domid);+ xc_interface_close(xcHandle);+ } } void cpu_x86_close(CPUX86State *env)@@ -529,14 +545,9 @@ qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, env); - while (1) {- if (vm_running) {- if (shutdown_requested)- break;- }-+ while (!(vm_running && suspend_requested)) /* Wait up to 10 msec. */ main_loop_wait(10);- }+ return 0; }Index: ioemu/vl.c===================================================================--- ioemu.orig/vl.c 2007-05-09 13:43:02.000000000 +0100+++ ioemu/vl.c 2007-05-09 13:44:20.000000000 +0100@@ -5843,7 +5843,7 @@ } QEMUResetEntry; static QEMUResetEntry *first_reset_entry;-static int reset_requested;+int reset_requested; int shutdown_requested; static int powerdown_requested; @@ -5861,7 +5861,7 @@ *pre = re; } -static void qemu_system_reset(void)+void qemu_system_reset(void) { QEMUResetEntry *re; Index: ioemu/vl.h===================================================================--- ioemu.orig/vl.h 2007-05-09 13:43:01.000000000 +0100+++ ioemu/vl.h 2007-05-09 13:44:09.000000000 +0100@@ -136,6 +136,7 @@ void qemu_register_reset(QEMUResetHandler *func, void *opaque); void qemu_system_reset_request(void);+void qemu_system_reset(void); void qemu_system_shutdown_request(void); void qemu_system_powerdown_request(void); #if !defined(TARGET_SPARC)@@ -145,6 +146,8 @@ void qemu_system_powerdown(void); #endif +extern int reset_requested;+ void main_loop_wait(int timeout); extern FILE *logfile;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -