mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
shutdown: Add source information to SHUTDOWN and RESET
Time to wire up all the call sites that request a shutdown or reset to use the enum added in the previous patch. It would have been less churn to keep the common case with no arguments as meaning guest-triggered, and only modified the host-triggered code paths, via a wrapper function, but then we'd still have to audit that I didn't miss any host-triggered spots; changing the signature forces us to double-check that I correctly categorized all callers. Since command line options can change whether a guest reset request causes an actual reset vs. a shutdown, it's easy to also add the information to reset requests. Signed-off-by: Eric Blake <eblake@redhat.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> [ppc parts] Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [SPARC part] Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x parts] Message-Id: <20170515214114.15442-5-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
802f045a5f
commit
cf83f14005
60 changed files with 98 additions and 98 deletions
|
@ -59,7 +59,7 @@ static int check_exception(CPUX86State *env, int intno, int *error_code,
|
|||
|
||||
qemu_log_mask(CPU_LOG_RESET, "Triple fault\n");
|
||||
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
return EXCP_HLT;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -540,14 +540,14 @@ static int hax_vcpu_hax_exec(CPUArchState *env)
|
|||
/* Guest state changed, currently only for shutdown */
|
||||
case HAX_EXIT_STATECHANGE:
|
||||
fprintf(stdout, "VCPU shutdown request\n");
|
||||
qemu_system_shutdown_request();
|
||||
qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_SHUTDOWN);
|
||||
hax_vcpu_sync_state(env, 0);
|
||||
ret = 1;
|
||||
break;
|
||||
case HAX_EXIT_UNKNOWN_VMEXIT:
|
||||
fprintf(stderr, "Unknown VMX exit %x from guest\n",
|
||||
ht->_exit_reason);
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
hax_vcpu_sync_state(env, 0);
|
||||
cpu_dump_state(cpu, stderr, fprintf, 0);
|
||||
ret = -1;
|
||||
|
@ -578,7 +578,7 @@ static int hax_vcpu_hax_exec(CPUArchState *env)
|
|||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown exit %x from HAX\n", ht->_exit_status);
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
hax_vcpu_sync_state(env, 0);
|
||||
cpu_dump_state(cpu, stderr, fprintf, 0);
|
||||
ret = 1;
|
||||
|
|
|
@ -1212,7 +1212,7 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
|
|||
" triple fault\n",
|
||||
cs->cpu_index);
|
||||
qemu_log_mask(CPU_LOG_RESET, "Triple fault\n");
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
return;
|
||||
}
|
||||
if (banks[1] & MCI_STATUS_VAL) {
|
||||
|
|
|
@ -2930,7 +2930,7 @@ int kvm_arch_process_async_events(CPUState *cs)
|
|||
|
||||
if (env->exception_injected == EXCP08_DBLE) {
|
||||
/* this means triple fault */
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
cs->exit_request = 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue