mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
reset: allow registering handlers that aren't called by snapshot loading
Snapshot loading only expects to call deterministic handlers, not non-deterministic ones. So introduce a way of registering handlers that won't be called when reseting for snapshots. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Message-id: 20221025004327.568476-2-Jason@zx2c4.com [PMM: updated json doc comment with Markus' text; fixed checkpatch style nit] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
c8d6c286ab
commit
7966d70f6f
15 changed files with 54 additions and 27 deletions
|
@ -467,7 +467,7 @@ static void microvm_machine_state_init(MachineState *machine)
|
|||
microvm_devices_init(mms);
|
||||
}
|
||||
|
||||
static void microvm_machine_reset(MachineState *machine)
|
||||
static void microvm_machine_reset(MachineState *machine, ShutdownCause reason)
|
||||
{
|
||||
MicrovmMachineState *mms = MICROVM_MACHINE(machine);
|
||||
CPUState *cs;
|
||||
|
@ -480,7 +480,7 @@ static void microvm_machine_reset(MachineState *machine)
|
|||
mms->kernel_cmdline_fixed = true;
|
||||
}
|
||||
|
||||
qemu_devices_reset();
|
||||
qemu_devices_reset(reason);
|
||||
|
||||
CPU_FOREACH(cs) {
|
||||
cpu = X86_CPU(cs);
|
||||
|
|
|
@ -1847,12 +1847,12 @@ static void pc_machine_initfn(Object *obj)
|
|||
cxl_machine_init(obj, &pcms->cxl_devices_state);
|
||||
}
|
||||
|
||||
static void pc_machine_reset(MachineState *machine)
|
||||
static void pc_machine_reset(MachineState *machine, ShutdownCause reason)
|
||||
{
|
||||
CPUState *cs;
|
||||
X86CPU *cpu;
|
||||
|
||||
qemu_devices_reset();
|
||||
qemu_devices_reset(reason);
|
||||
|
||||
/* Reset APIC after devices have been reset to cancel
|
||||
* any changes that qemu_devices_reset() might have done.
|
||||
|
@ -1867,7 +1867,7 @@ static void pc_machine_reset(MachineState *machine)
|
|||
static void pc_machine_wakeup(MachineState *machine)
|
||||
{
|
||||
cpu_synchronize_all_states();
|
||||
pc_machine_reset(machine);
|
||||
pc_machine_reset(machine, SHUTDOWN_CAUSE_NONE);
|
||||
cpu_synchronize_all_post_reset();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue