When the system reboots, the rng seed that QEMU passes should be
re-randomized, so that the new boot gets a new seed. This series wires
that up for FDT.

Then, since the record&replay subsystem makes use of reset as well, we
add a new reset cause for record&replay, so that we can avoid
re-randomizing in these cases.

Version 4 prevents the new reset type from leaking over QAPI, documents
this alongside which version it was introduced, and adds mips and m68k
machine types to the queue.

Jason A. Donenfeld (11):
  reset: allow registering handlers that aren't called by snapshot
    loading
  device-tree: add re-randomization helper function
  x86: do not re-randomize RNG seed on snapshot load
  arm: re-randomize rng-seed on reboot
  riscv: re-randomize rng-seed on reboot
  m68k/virt: do not re-randomize RNG seed on snapshot load
  m68k/q800: do not re-randomize RNG seed on snapshot load
  mips/boston: re-randomize rng-seed on reboot
  mips/malta: pass RNG seed via env var and re-randomize on reboot
  openrisc: re-randomize rng-seed on reboot
  rx: re-randomize rng-seed on reboot

 hw/arm/aspeed.c              |  4 ++--
 hw/arm/boot.c                |  2 ++
 hw/arm/mps2-tz.c             |  4 ++--
 hw/core/reset.c              | 15 ++++++++++++++-
 hw/hppa/machine.c            |  4 ++--
 hw/i386/microvm.c            |  4 ++--
 hw/i386/pc.c                 |  6 +++---
 hw/i386/x86.c                |  2 +-
 hw/m68k/q800.c               | 33 +++++++++++++--------------------
 hw/m68k/virt.c               | 20 +++++++++++---------
 hw/mips/boston.c             |  3 +++
 hw/mips/malta.c              | 25 +++++++++++++++++++++++++
 hw/openrisc/boot.c           |  3 +++
 hw/ppc/pegasos2.c            |  4 ++--
 hw/ppc/pnv.c                 |  4 ++--
 hw/ppc/spapr.c               |  4 ++--
 hw/riscv/boot.c              |  3 +++
 hw/rx/rx-gdbsim.c            |  3 +++
 hw/s390x/s390-virtio-ccw.c   |  4 ++--
 include/hw/boards.h          |  2 +-
 include/sysemu/device_tree.h |  9 +++++++++
 include/sysemu/reset.h       |  5 ++++-
 migration/savevm.c           |  2 +-
 qapi/run-state.json          |  5 ++++-
 softmmu/device_tree.c        | 21 +++++++++++++++++++++
 softmmu/runstate.c           | 11 ++++++++---
 26 files changed, 145 insertions(+), 57 deletions(-)

-- 
2.38.1


Reply via email to