qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] fad992: docs/devel/qapi-code-gen: Update exam


From: Paolo Bonzini
Subject: [Qemu-commits] [qemu/qemu] fad992: docs/devel/qapi-code-gen: Update example to match ...
Date: Thu, 27 Oct 2022 07:55:43 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: fad992334d4a88f62a6f9d20c9b8f05446bdd904
      
https://github.com/qemu/qemu/commit/fad992334d4a88f62a6f9d20c9b8f05446bdd904
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M docs/devel/qapi-code-gen.rst

  Log Message:
  -----------
  docs/devel/qapi-code-gen: Update example to match current code

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-2-armbru@redhat.com>


  Commit: 8a4e771d26490aaae8dadfea00ce2513aed5acfe
      
https://github.com/qemu/qemu/commit/8a4e771d26490aaae8dadfea00ce2513aed5acfe
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M docs/devel/qapi-code-gen.rst
    M scripts/qapi/commands.py
    M scripts/qapi/events.py

  Log Message:
  -----------
  qapi: Tidy up whitespace in generated code

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-3-armbru@redhat.com>


  Commit: e8dce69d7d54990f63e311a8f0b8855f86d52d00
      
https://github.com/qemu/qemu/commit/e8dce69d7d54990f63e311a8f0b8855f86d52d00
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M docs/devel/qapi-code-gen.rst

  Log Message:
  -----------
  docs/devel/qapi-code-gen: Extend example for next commit's change

The next commit will change the code generated for some optional
members.  The example schema contains an optional member affected by
the change.  Add one that is not affected.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-4-armbru@redhat.com>


  Commit: 987d542069acc73e7d7843f19ea145aafeefbbb6
      
https://github.com/qemu/qemu/commit/987d542069acc73e7d7843f19ea145aafeefbbb6
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M docs/devel/qapi-code-gen.rst
    M docs/devel/writing-monitor-commands.rst
    M scripts/qapi/commands.py
    M scripts/qapi/events.py
    M scripts/qapi/gen.py
    M scripts/qapi/schema.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py

  Log Message:
  -----------
  qapi: Start to elide redundant has_FOO in generated C

In QAPI, absent optional members are distinct from any present value.
We thus represent an optional schema member FOO as two C members: a
FOO with the member's type, and a bool has_FOO.  Likewise for function
arguments.

However, has_FOO is actually redundant for a pointer-valued FOO, which
can be null only when has_FOO is false, i.e. has_FOO == !!FOO.  Except
for arrays, where we a null FOO can also be a present empty array.

The redundant has_FOO are a nuisance to work with.  Improve the
generator to elide them.  Uses of has_FOO need to be replaced as
follows.

Tests of has_FOO become the equivalent comparison of FOO with null.
For brevity, this is commonly done by implicit conversion to bool.

Assignments to has_FOO get dropped.

Likewise for arguments to has_FOO parameters.

Beware: code may violate the invariant has_FOO == !!FOO before the
transformation, and get away with it.  The above transformation can
then break things.  Two cases:

* Absent: if code ignores FOO entirely when !has_FOO (except for
  freeing it if necessary), even non-null / uninitialized FOO works.
  Such code is known to exist.

* Present: if code ignores FOO entirely when has_FOO, even null FOO
  works.  Such code should not exist.

In both cases, replacing tests of has_FOO by FOO reverts their sense.
We have to fix the value of FOO then.

To facilitate review of the necessary updates to handwritten code, add
means to opt out of this change, and opt out for all QAPI schema
modules where the change requires updates to handwritten code.  The
next few commits will remove these opt-outs in reviewable chunks, then
drop the means to opt out.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-5-armbru@redhat.com>


  Commit: 0673a9bb702d3fe7c4145b1ec2ee9aca9d9f2965
      
https://github.com/qemu/qemu/commit/0673a9bb702d3fe7c4145b1ec2ee9aca9d9f2965
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M scripts/qapi/schema.py
    M tests/qtest/qmp-cmd-test.c
    M tests/unit/test-qmp-cmds.c
    M tests/unit/test-qmp-event.c
    M tests/unit/test-qobject-input-visitor.c
    M tests/unit/test-qobject-output-visitor.c
    M tests/unit/test-visitor-serialization.c

  Log Message:
  -----------
  qapi tests: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for
tests/qapi-schema/qapi-schema-test.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-6-armbru@redhat.com>


  Commit: 0d79c129ed3d434ead64d67e962aba945d2a89ed
      
https://github.com/qemu/qemu/commit/0d79c129ed3d434ead64d67e962aba945d2a89ed
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi acpi: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/acpi.py.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Ani Sinha <ani@anisinha.ca>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-7-armbru@redhat.com>


  Commit: c8d893709ca778808fd2cbc1f1da34479fe8d0e2
      
https://github.com/qemu/qemu/commit/c8d893709ca778808fd2cbc1f1da34479fe8d0e2
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M audio/alsaaudio.c
    M audio/audio.c
    M audio/audio_legacy.c
    M audio/ossaudio.c
    M audio/paaudio.c
    M audio/wavaudio.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi audio: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/audio.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Additionally, helper get_str() loses its @has_dst parameter.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-8-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: c6cd588bb3a29a831c862780631a7d2145ade5de
      
https://github.com/qemu/qemu/commit/c6cd588bb3a29a831c862780631a7d2145ade5de
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M meson.build
    M qga/channel-posix.c
    M qga/commands-posix.c
    M qga/main.c

  Log Message:
  -----------
  qga: Add initial FreeBSD support

- Fix device path.
- Fix virtio-serial channel initialization.
- Make the code buildable in FreeBSD.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 518b0d800b5ab046b72fac423ace7549ab187329
      
https://github.com/qemu/qemu/commit/518b0d800b5ab046b72fac423ace7549ab187329
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-common.h
    A qga/commands-linux.c
    M qga/commands-posix.c
    M qga/meson.build

  Log Message:
  -----------
  qga: Move Linux-specific FS freeze/thaw code to a separate file

In the next patches we are going to add FreeBSD support for QEMU Guest
Agent. In the result, code in commands-posix.c will be too cumbersome.

Move Linux-specific FS freeze/thaw code to a separate file commands-linux.c
keeping common POSIX code in commands-posix.c.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: bad0001eeb34484c4595c3862e14a4ee22a3abee
      
https://github.com/qemu/qemu/commit/bad0001eeb34484c4595c3862e14a4ee22a3abee
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    A qga/commands-bsd.c
    M qga/commands-common.h
    M qga/commands-posix.c
    M qga/main.c
    M qga/meson.build

  Log Message:
  -----------
  qga: Add UFS freeze/thaw support for FreeBSD

UFS supports FS freezing through ioctl UFSSUSPEND on /dev/ufssuspend.
Frozen FS can be thawed by closing /dev/ufssuspend file descriptior.

Use getmntinfo to get a list of mounted FS.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: e40762fcd6266450778f615e73d218e4100147b7
      
https://github.com/qemu/qemu/commit/e40762fcd6266450778f615e73d218e4100147b7
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: Add shutdown/halt/reboot support for FreeBSD

Add appropriate shutdown command arguments to qmp_guest_shutdown()
for FreeBSD.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 4fd0642e84e2dc25033090cad73f1ef1904e1600
      
https://github.com/qemu/qemu/commit/4fd0642e84e2dc25033090cad73f1ef1904e1600
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: Add support for user password setting in FreeBSD

Move qmp_guest_set_user_password() from __linux__ condition to
(__linux__ || __FreeBSD__) condition. Add command and arguments
for password setting in FreeBSD.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: a1241094223d69d72bebc5ed7a5f6f57cbc7986c
      
https://github.com/qemu/qemu/commit/a1241094223d69d72bebc5ed7a5f6f57cbc7986c
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-bsd.c
    M qga/commands-common.h
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: Move HW address getting to a separate function

In the next patch FreeBSD support for guest-network-get-interfaces will be
added. Previously move Linux-specific code of HW address getting to a
separate functions and add a dumb function to commands-bsd.c.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: ffb01cc5d6698855103d57281ddfe94b1f3fa3d4
      
https://github.com/qemu/qemu/commit/ffb01cc5d6698855103d57281ddfe94b1f3fa3d4
  Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-bsd.c

  Log Message:
  -----------
  qga: Add HW address getting for FreeBSD

Replace a dumb function in commands-bsd.c by the code of HW address
getting.

Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 3845ffff8b783680d12a005b493c0959a995f800
      
https://github.com/qemu/qemu/commit/3845ffff8b783680d12a005b493c0959a995f800
  Author: Bjørn Forsman <bjorn.forsman@gmail.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/channel-posix.c

  Log Message:
  -----------
  qga: add channel path to error messages

It's useful to know which device was used if/when it fails.

channel-win32.c had this since 2015, with
c69403fcd4a0cb89f838a212ab71e4a1a3464c95 ("qemu-ga: debug printouts to
help troubleshoot installation"), this brings channel-posix.c up to
speed.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: d73b0c7218618907f8b5780cf3f1673a657bd97d
      
https://github.com/qemu/qemu/commit/d73b0c7218618907f8b5780cf3f1673a657bd97d
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M block/block-backend.c
    M block/copy-before-write.c
    M block/dirty-bitmap.c
    M block/export/export.c
    M block/export/vduse-blk.c
    M block/gluster.c
    M block/monitor/block-hmp-cmds.c
    M block/qapi-sysemu.c
    M block/qapi.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/quorum.c
    M block/rbd.c
    M block/ssh.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M monitor/hmp-cmds.c
    M nbd/server.c
    M qemu-img.c
    M qemu-nbd.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi block: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/block*.json.

Said commit explains the transformation in more detail.

There is one instance of the Invariant violation mentioned there:
qcow2_signal_corruption() passes false, "" when node_name is an empty
string.  Take care to pass NULL then.

Additionally, helper bdrv_latency_histogram_stats() loses its output
parameters and returns a value instead.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Hanna Reitz <hreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-9-armbru@redhat.com>
[block/rbd.c fixed for #ifndef LIBRBD_SUPPORTS_ENCRYPTION]


  Commit: eb6b358d9247223c80de71cfbb30586d84063f6c
      
https://github.com/qemu/qemu/commit/eb6b358d9247223c80de71cfbb30586d84063f6c
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M chardev/char-file.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M chardev/char.c
    M scripts/qapi/schema.py
    M tests/unit/test-char.c

  Log Message:
  -----------
  qapi chardev: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/char.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-10-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 0aeb287e54b73107eef3d805688413ab81a692f3
      
https://github.com/qemu/qemu/commit/0aeb287e54b73107eef3d805688413ab81a692f3
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M crypto/block-luks.c
    M scripts/qapi/schema.py
    M tests/unit/test-crypto-block.c

  Log Message:
  -----------
  qapi crypto: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/crypto.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Daniel P. Berrangé" <berrange@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-11-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: b099b5653f03cea1f773a1e655664b1bc5682d70
      
https://github.com/qemu/qemu/commit/b099b5653f03cea1f773a1e655664b1bc5682d70
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M dump/dump.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi dump: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/dump.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-12-armbru@redhat.com>


  Commit: 90037b56d9f97179f3f9641834f1f510c9cc6309
      
https://github.com/qemu/qemu/commit/90037b56d9f97179f3f9641834f1f510c9cc6309
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M job-qmp.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi job: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/job.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: John Snow <jsnow@redhat.com>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20221018062849.3420573-13-armbru@redhat.com>


  Commit: 76e2443dd3a1ea8ceece8f5a9366215ad5e78539
      
https://github.com/qemu/qemu/commit/76e2443dd3a1ea8ceece8f5a9366215ad5e78539
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/core/machine-hmp-cmds.c
    M hw/core/machine-qmp-cmds.c
    M hw/core/machine.c
    M hw/core/numa.c
    M hw/mem/pc-dimm.c
    M hw/nvram/fw_cfg.c
    M hw/virtio/virtio-mem-pci.c
    M hw/virtio/virtio-pmem-pci.c
    M scripts/qapi/schema.py
    M target/arm/monitor.c
    M target/i386/cpu-sysemu.c
    M target/i386/cpu.c
    M target/s390x/cpu_models_sysemu.c

  Log Message:
  -----------
  qapi machine: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/machine*.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Eduardo Habkost <eduardo@habkost.net>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Cc: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-14-armbru@redhat.com>


  Commit: 0eca57d72b334ed7e6249bfd7de9ee9cc68bcb8b
      
https://github.com/qemu/qemu/commit/0eca57d72b334ed7e6249bfd7de9ee9cc68bcb8b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M migration/block-dirty-bitmap.c
    M migration/colo.c
    M migration/migration.c
    M monitor/hmp-cmds.c
    M monitor/misc.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi migration: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/migration.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Juan Quintela <quintela@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-15-armbru@redhat.com>


  Commit: 5cd705245b7f715308bad062e9dae862bffc685b
      
https://github.com/qemu/qemu/commit/5cd705245b7f715308bad062e9dae862bffc685b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M include/monitor/monitor.h
    M monitor/hmp-cmds.c
    M monitor/misc.c
    M monitor/qmp-cmds.c
    M scripts/qapi/schema.py
    M softmmu/vl.c
    M util/qemu-config.c

  Log Message:
  -----------
  qapi misc: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/misc.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-16-armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
[Superfluous conditional around g_strdup() dropped]


  Commit: 027647700434c9ccd900e41b5766a069fc4a2424
      
https://github.com/qemu/qemu/commit/027647700434c9ccd900e41b5766a069fc4a2424
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/net/virtio-net.c
    M monitor/hmp-cmds.c
    M net/announce.c
    M net/hub.c
    M net/l2tpv3.c
    M net/net.c
    M net/slirp.c
    M net/socket.c
    M net/tap-win32.c
    M net/tap.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi net: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/net.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-17-armbru@redhat.com>


  Commit: 2ce120f24aa0390333abf704819c25d4abb2ab2b
      
https://github.com/qemu/qemu/commit/2ce120f24aa0390333abf704819c25d4abb2ab2b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/pci/pci.c
    M monitor/hmp-cmds.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi pci: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/pci.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-18-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 5aa4a9ea2b142f73caf244d75984a84e383b04c0
      
https://github.com/qemu/qemu/commit/5aa4a9ea2b142f73caf244d75984a84e383b04c0
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/acpi/memory_hotplug.c
    M hw/core/qdev.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_drc.c
    M qom/qom-qmp-cmds.c
    M scripts/qapi/schema.py
    M stubs/qdev.c
    M tests/qtest/fuzz/qos_fuzz.c

  Log Message:
  -----------
  qapi qdev qom: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/qdev.json and
qapi/qom.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Daniel P. Berrangé <berrange@redhat.com>
Cc: Eduardo Habkost <eduardo@habkost.net>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-19-armbru@redhat.com>
[stubs/qdev.c fixed]


  Commit: eb62bf4eec25f890d2885a2ae3a0671a9610c656
      
https://github.com/qemu/qemu/commit/eb62bf4eec25f890d2885a2ae3a0671a9610c656
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M replay/replay-debugging.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi replay: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/replay.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-20-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 79ce336bf3ed6786be08e42c63e7d0fe8f4e0175
      
https://github.com/qemu/qemu/commit/79ce336bf3ed6786be08e42c63e7d0fe8f4e0175
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/net/rocker/rocker_of_dpa.c
    M monitor/hmp-cmds.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi rocker: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/rocker.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-21-armbru@redhat.com>


  Commit: e1d54a8a686129b08baf5e759c7011123ab7f5a4
      
https://github.com/qemu/qemu/commit/e1d54a8a686129b08baf5e759c7011123ab7f5a4
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M scripts/qapi/schema.py
    M softmmu/runstate.c

  Log Message:
  -----------
  qapi run-state: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/run-state.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Drop a superfluous conditional around
qapi_free_GuestPanicInformation() while there.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-22-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[Commit message tweaked]


  Commit: d34280a7509af3890e59f07d5269d30184bfc8ab
      
https://github.com/qemu/qemu/commit/d34280a7509af3890e59f07d5269d30184bfc8ab
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M monitor/qmp-cmds.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi stats: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/stats.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Mark Kanda <mark.kanda@oracle.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Mark Kanda <mark.kanda@oracle.com>
Message-Id: <20221018062849.3420573-23-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e3b4abd06909265e70e3b4a2deee7f79812f4e02
      
https://github.com/qemu/qemu/commit/e3b4abd06909265e70e3b4a2deee7f79812f4e02
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M backends/tpm/tpm_passthrough.c
    M monitor/hmp-cmds.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi tpm: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/tpm.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Message-Id: <20221018062849.3420573-24-armbru@redhat.com>


  Commit: 3f551c5f4e237f667434b657bc77320a1f3c1c58
      
https://github.com/qemu/qemu/commit/3f551c5f4e237f667434b657bc77320a1f3c1c58
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M blockdev.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi transaction: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/transaction.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Hanna Reitz <hreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-25-armbru@redhat.com>


  Commit: ddcdfec753435869c3015584317e7fb4374d6470
      
https://github.com/qemu/qemu/commit/ddcdfec753435869c3015584317e7fb4374d6470
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M monitor/hmp-cmds.c
    M scripts/qapi/schema.py
    M ui/console.c
    M ui/input.c
    M ui/spice-core.c
    M ui/vnc.c

  Log Message:
  -----------
  qapi ui: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/ui.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-26-armbru@redhat.com>


  Commit: 9454f0b73c3bc16f3f9608598bd874dad3958dbb
      
https://github.com/qemu/qemu/commit/9454f0b73c3bc16f3f9608598bd874dad3958dbb
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M hw/virtio/virtio.c
    M monitor/hmp-cmds.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi virtio: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/virtio.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Laurent Vivier <lvivier@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-27-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: b5478fb94659abb2ad2bd9d06e3af85699a1f192
      
https://github.com/qemu/qemu/commit/b5478fb94659abb2ad2bd9d06e3af85699a1f192
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/commands.c
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi qga: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qga/qapi-schema.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

Cc: Michael Roth <michael.roth@amd.com>
Cc: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221018062849.3420573-28-armbru@redhat.com>


  Commit: c0f24f8f31ca82e34ef037bfe34ef71eeecb401d
      
https://github.com/qemu/qemu/commit/c0f24f8f31ca82e34ef037bfe34ef71eeecb401d
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M scripts/qapi/schema.py

  Log Message:
  -----------
  qapi: Drop temporary logic to support conversion step by step

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221018062849.3420573-29-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e4c93e44ab103f6c67abd85d620343f61aafa004
      
https://github.com/qemu/qemu/commit/e4c93e44ab103f6c67abd85d620343f61aafa004
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M docs/system/arm/emulation.rst
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/helper.c
    M target/arm/internals.h
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Implement FEAT_E0PD

FEAT_E0PD adds new bits E0PD0 and E0PD1 to TCR_EL1, which allow the
OS to forbid EL0 access to half of the address space.  Since this is
an EL0-specific variation on the existing TCR_ELx.{EPD0,EPD1}, we can
implement it entirely in aa64_va_parameters().

This requires moving the existing regime_is_user() to internals.h
so that the code in helper.c can get at it.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20221021160131.3531787-1-peter.maydell@linaro.org


  Commit: 7cd5d384bb298ce3c595a3774213b5b478881ac8
      
https://github.com/qemu/qemu/commit/7cd5d384bb298ce3c595a3774213b5b478881ac8
  Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/arm/virt.c

  Log Message:
  -----------
  hw/arm/virt: Fix devicetree warnings about the virtio-iommu node

The "PCI Bus Binding to: IEEE Std 1275-1994" defines the compatible
string for a PCIe bus or endpoint as "pci<vendorid>,<deviceid>" or
similar. Since the initial binding for PCI virtio-iommu didn't follow
this rule, it was modified to accept both strings and ensure backward
compatibility. Also, the unit-name for the node should be
"device,function".

Fix corresponding dt-validate and dtc warnings:

  pcie@10000000: virtio_iommu@16:compatible: ['virtio,pci-iommu'] does not 
contain items matching the given schema
  pcie@10000000: Unevaluated properties are not allowed (... 'virtio_iommu@16' 
were unexpected)
  From schema: linux/Documentation/devicetree/bindings/pci/host-generic-pci.yaml
  virtio_iommu@16: compatible: 'oneOf' conditional failed, one must be fixed:
        ['virtio,pci-iommu'] is too short
        'pci1af4,1057' was expected
  From schema: dtschema/schemas/pci/pci-bus.yaml

  Warning (pci_device_reg): /pcie@10000000/virtio_iommu@16: PCI unit address 
format error, expected "2,0"

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c939a7c7b93ee44a4963fabe81454e1f956ecd4b
      
https://github.com/qemu/qemu/commit/c939a7c7b93ee44a4963fabe81454e1f956ecd4b
  Author: Ake Koomsin <ake@igel.co.jp>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/cpu.c

  Log Message:
  -----------
  target/arm: honor HCR_E2H and HCR_TGE in arm_excp_unmasked()

An exception targeting EL2 from lower EL is actually maskable when
HCR_E2H and HCR_TGE are both set. This applies to both secure and
non-secure Security state.

We can remove the conditions that try to suppress masking of
interrupts when we are Secure and the exception targets EL2 and
Secure EL2 is disabled.  This is OK because in that situation
arm_phys_excp_target_el() will never return 2 as the target EL.  The
'not if secure' check in this function was originally written before
arm_hcr_el2_eff(), and back then the target EL returned by
arm_phys_excp_target_el() could be 2 even if we were in Secure
EL0/EL1; but it is no longer needed.

Signed-off-by: Ake Koomsin <ake@igel.co.jp>
Message-id: 20221017092432.546881-1-ake@igel.co.jp
[PMM: Add commit message paragraph explaining why it's OK to
 remove the checks on secure and SCR_EEL2]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 310616d3677aad709d3eaf8f5f08683f2853f227
      
https://github.com/qemu/qemu/commit/310616d3677aad709d3eaf8f5f08683f2853f227
  Author: Damien Hedde <damien.hedde@greensocs.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M docs/devel/reset.rst
    M hw/core/resettable.c

  Log Message:
  -----------
  hw/core/resettable: fix reset level counting

The code for handling the reset level count in the Resettable code
has two issues:

The reset count is only decremented for the 1->0 case.  This means
that if there's ever a nested reset that takes the count to 2 then it
will never again be decremented.  Eventually the count will exceed
the '50' limit in resettable_phase_enter() and QEMU will trip over
the assertion failure.  The repro case in issue 1266 is an example of
this that happens now the SCSI subsystem uses three-phase reset.

Secondly, the count is decremented only after the exit phase handler
is called.  Moving the reset count decrement from "just after" to
"just before" calling the exit phase handler allows
resettable_is_in_reset() to return false during the handler
execution.

This simplifies reset handling in resettable devices.  Typically, a
function that updates the device state will just need to read the
current reset state and not anymore treat the "in a reset-exit
transition" as a special case.

Note that the semantics change to the *_is_in_reset() functions
will have no effect on the current codebase, because only two
devices (hw/char/cadence_uart.c and hw/misc/zynq_sclr.c) currently
call those functions, and in neither case do they do it from the
device's exit phase methed.

Fixes: 4a5fc890 ("scsi: Use device_cold_reset() and bus_cold_reset()")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1266
Signed-off-by: Damien Hedde <damien.hedde@greensocs.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reported-by: Michael Peter <michael.peter@hensoldt-cyber.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20221020142749.3357951-1-peter.maydell@linaro.org
Buglink: https://bugs.launchpad.net/qemu/+bug/1905297
Reported-by: Michael Peter <michael.peter@hensoldt-cyber.com>
[PMM: adjust the docs paragraph changed to get the name of the
 'enter' phase right and to clarify exactly when the count is
 adjusted; rewrite the commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7764963b9239dc966122617cc8b61d4530d6ce2a
      
https://github.com/qemu/qemu/commit/7764963b9239dc966122617cc8b61d4530d6ce2a
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/hyperv/hyperv.c

  Log Message:
  -----------
  hw/hyperv/hyperv.c: Use device_cold_reset() instead of device_legacy_reset()

The semantic difference between the deprecated device_legacy_reset()
function and the newer device_cold_reset() function is that the new
function resets both the device itself and any qbuses it owns,
whereas the legacy function resets just the device itself and nothing
else.  In hyperv_synic_reset() we reset a SynICState, which has no
qbuses, so for this purpose the two functions behave identically and
we can stop using the deprecated one.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Message-id: 20221013171817.1447562-1-peter.maydell@linaro.org


  Commit: 7719419deb07a431455dfb0178480ef4be2d3e2c
      
https://github.com/qemu/qemu/commit/7719419deb07a431455dfb0178480ef4be2d3e2c
  Author: Axel Heider <axel.heider@hensoldt.net>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/timer/imx_epit.c

  Log Message:
  -----------
  target/imx: reload cmp timer outside of the reload ptimer transaction

When running seL4 tests (https://docs.sel4.systems/projects/sel4test)
on the sabrelight platform, the timer tests fail. The arm/imx6 EPIT
timer interrupt does not fire properly, instead of a e.g. second in
can take up to a minute to finally see the interrupt.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1263

Signed-off-by: Axel Heider <axel.heider@hensoldt.net>
Message-id: 166663118138.13362.1229967229046092876-0@git.sr.ht
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: edc05dd43ade287e735f1d8c972562dbdd12a378
      
https://github.com/qemu/qemu/commit/edc05dd43ade287e735f1d8c972562dbdd12a378
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/helper.c
    M target/arm/internals.h
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Introduce regime_is_stage2

Reduce the amount of typing required for this check.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 48da29e485af5c92e284fbb6ef279b2a98eea7c4
      
https://github.com/qemu/qemu/commit/48da29e485af5c92e284fbb6ef279b2a98eea7c4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Add ptw_idx to S1Translate

Hoist the computation of the mmu_idx for the ptw up to
get_phys_addr_with_struct and get_phys_addr_twostage.
This removes the duplicate check for stage2 disabled
from the middle of the walk, performing it only once.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 980a68925c8f19ae181c226af0776c0e3ddd0264
      
https://github.com/qemu/qemu/commit/980a68925c8f19ae181c226af0776c0e3ddd0264
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/cpu.h

  Log Message:
  -----------
  target/arm: Add isar predicates for FEAT_HAFDBS

The MMFR1 field may indicate support for hardware update of
access flag alone, or access flag and dirty bit.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 8973922783483dee02aaf254a9d6a8fdd3e200f4
      
https://github.com/qemu/qemu/commit/8973922783483dee02aaf254a9d6a8fdd3e200f4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/helper.c
    M target/arm/internals.h

  Log Message:
  -----------
  target/arm: Extract HA and HD in aa64_va_parameters

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-5-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 93e5b3a6f9c7e481e781bde69a5f87cd93cc1a34
      
https://github.com/qemu/qemu/commit/93e5b3a6f9c7e481e781bde69a5f87cd93cc1a34
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Move S1_ptw_translate outside arm_ld[lq]_ptw

Separate S1 translation from the actual lookup.
Will enable lpae hardware updates.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-6-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: f0a398a2490656fac87b7ee4ba1fb01a42840875
      
https://github.com/qemu/qemu/commit/f0a398a2490656fac87b7ee4ba1fb01a42840875
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/internals.h

  Log Message:
  -----------
  target/arm: Add ARMFault_UnsuppAtomicUpdate

This fault type is to be used with FEAT_HAFDBS when
the guest enables hw updates, but places the tables
in memory where atomic updates are unsupported.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-7-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fe4ddc151b72a06eaeaa2359c51b66e698dd9c44
      
https://github.com/qemu/qemu/commit/fe4ddc151b72a06eaeaa2359c51b66e698dd9c44
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Remove loop from get_phys_addr_lpae

The unconditional loop was used both to iterate over levels
and to control parsing of attributes.  Use an explicit goto
in both cases.

While this appears less clean for iterating over levels, we
will need to jump back into the middle of this loop for
atomic updates, which is even uglier.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-8-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 27c1b81d6195ca5f39d656c5cca497ed78943339
      
https://github.com/qemu/qemu/commit/27c1b81d6195ca5f39d656c5cca497ed78943339
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Fix fault reporting in get_phys_addr_lpae

Always overriding fi->type was incorrect, as we would not properly
propagate the fault type from S1_ptw_translate, or arm_ldq_ptw.
Simplify things by providing a new label for a translation fault.
For other faults, store into fi directly.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-9-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4566609176f82a8033d422bc6c04fc9c354bed24
      
https://github.com/qemu/qemu/commit/4566609176f82a8033d422bc6c04fc9c354bed24
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Don't shift attrs in get_phys_addr_lpae

Leave the upper and lower attributes in the place they originate
from in the descriptor.  Shifting them around is confusing, since
one cannot read the bit numbers out of the manual.  Also, new
attributes have been added which would alter the shifts.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20221024051851.3074715-10-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 0e8df0fe2425eae7baaf18da869da9aa3c44dc03
      
https://github.com/qemu/qemu/commit/0e8df0fe2425eae7baaf18da869da9aa3c44dc03
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Consider GP an attribute in get_phys_addr_lpae

Both GP and DBM are in the upper attribute block.
Extend the computation of attrs to include them,
then simplify the setting of guarded.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-11-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 34a57faeab62b27c01f008ef08654ca225e46673
      
https://github.com/qemu/qemu/commit/34a57faeab62b27c01f008ef08654ca225e46673
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Tidy merging of attributes from descriptor and table

Replace some gotos with some nested if statements.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20221024051851.3074715-12-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 71943a1e9084dde71cabba5895920f3a0c54de9b
      
https://github.com/qemu/qemu/commit/71943a1e9084dde71cabba5895920f3a0c54de9b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M docs/system/arm/emulation.rst
    M target/arm/cpu64.c
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Implement FEAT_HAFDBS, access flag portion

Perform the atomic update for hardware management of the access flag.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-13-richard.henderson@linaro.org
[PMM: Fix accidental PROT_WRITE to PAGE_WRITE; add missing
 main-loop.h include]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 65c123fdf577413a7d910e6b07c10e79d118041f
      
https://github.com/qemu/qemu/commit/65c123fdf577413a7d910e6b07c10e79d118041f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/cpu64.c
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Implement FEAT_HAFDBS, dirty bit portion

Perform the atomic update for hardware management of the dirty bit.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-14-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: c8d6c286ab4bff1c5ff511f3e834fb2a713d65d2
      
https://github.com/qemu/qemu/commit/c8d6c286ab4bff1c5ff511f3e834fb2a713d65d2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/arm/ptw.c

  Log Message:
  -----------
  target/arm: Use the max page size in a 2-stage ptw

We had only been reporting the stage2 page size.  This causes
problems if stage1 is using a larger page size (16k, 2M, etc),
but stage2 is using a smaller page size, because cputlb does
not set large_page_{addr,mask} properly.

Fix by using the max of the two page sizes.

Reported-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20221024051851.3074715-15-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7966d70f6f6b188475e67c2c363f19eec3d28c96
      
https://github.com/qemu/qemu/commit/7966d70f6f6b188475e67c2c363f19eec3d28c96
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/arm/aspeed.c
    M hw/arm/mps2-tz.c
    M hw/core/reset.c
    M hw/hppa/machine.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/ppc/pegasos2.c
    M hw/ppc/pnv.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/boards.h
    M include/sysemu/reset.h
    M migration/savevm.c
    M qapi/run-state.json
    M softmmu/runstate.c

  Log Message:
  -----------
  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>


  Commit: e1e618b9a0f9c23e9caa5933fa30ee3d33e00bfe
      
https://github.com/qemu/qemu/commit/e1e618b9a0f9c23e9caa5933fa30ee3d33e00bfe
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M include/sysemu/device_tree.h
    M softmmu/device_tree.c

  Log Message:
  -----------
  device-tree: add re-randomization helper function

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Several
architectures require this functionality, so export a function for
injecting a new seed into the given FDT.

Cc: Alistair Francis <alistair.francis@wdc.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20221025004327.568476-3-Jason@zx2c4.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 14b29fea742034186403914b4d013d0e83f19e78
      
https://github.com/qemu/qemu/commit/14b29fea742034186403914b4d013d0e83f19e78
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/i386/x86.c

  Log Message:
  -----------
  x86: do not re-randomize RNG seed on snapshot load

Snapshot loading is supposed to be deterministic, so we shouldn't
re-randomize the various seeds used.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-4-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 98aa4c839d2cd24a2f6d3bbaa68fcb5d4aa502cd
      
https://github.com/qemu/qemu/commit/98aa4c839d2cd24a2f6d3bbaa68fcb5d4aa502cd
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/arm/boot.c

  Log Message:
  -----------
  arm: re-randomize rng-seed on reboot

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Since the FDT is in
the ROM region at this point, we add a hook right after the ROM has been
added, so that we have a pointer to that copy of the FDT.

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-5-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 64c75db3c5ab6f8c75c8132b200cf1c64186f04b
      
https://github.com/qemu/qemu/commit/64c75db3c5ab6f8c75c8132b200cf1c64186f04b
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/riscv/boot.c

  Log Message:
  -----------
  riscv: re-randomize rng-seed on reboot

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Since the FDT is in
the ROM region at this point, we add a hook right after the ROM has been
added, so that we have a pointer to that copy of the FDT.

Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Alistair Francis <alistair.francis@wdc.com>
Cc: Bin Meng <bin.meng@windriver.com>
Cc: qemu-riscv@nongnu.org
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20221025004327.568476-6-Jason@zx2c4.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 1ffd007c9c5862d50235cfb507a1722fe1c213b5
      
https://github.com/qemu/qemu/commit/1ffd007c9c5862d50235cfb507a1722fe1c213b5
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/m68k/virt.c

  Log Message:
  -----------
  m68k/virt: do not re-randomize RNG seed on snapshot load

Snapshot loading is supposed to be deterministic, so we shouldn't
re-randomize the various seeds used.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-7-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: fbbbe7eb23e4120a64238d41367a3fabccb59781
      
https://github.com/qemu/qemu/commit/fbbbe7eb23e4120a64238d41367a3fabccb59781
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/m68k/q800.c

  Log Message:
  -----------
  m68k/q800: do not re-randomize RNG seed on snapshot load

Snapshot loading is supposed to be deterministic, so we shouldn't
re-randomize the various seeds used.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-8-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4fbae24450a67c3dfea6d2617e6d1f7a4dd206dc
      
https://github.com/qemu/qemu/commit/4fbae24450a67c3dfea6d2617e6d1f7a4dd206dc
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/mips/boston.c

  Log Message:
  -----------
  mips/boston: re-randomize rng-seed on reboot

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Since the FDT is in
the ROM region at this point, we add a hook right after the ROM has been
added, so that we have a pointer to that copy of the FDT.

Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-9-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 2db07d0506d365884b140fd5640fd71db15eacbc
      
https://github.com/qemu/qemu/commit/2db07d0506d365884b140fd5640fd71db15eacbc
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/openrisc/boot.c

  Log Message:
  -----------
  openrisc: re-randomize rng-seed on reboot

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Since the FDT is in
the ROM region at this point, we add a hook right after the ROM has been
added, so that we have a pointer to that copy of the FDT.

Cc: Stafford Horne <shorne@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-11-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: a76b911c0de3d72e245060a57d02f816fb1334e2
      
https://github.com/qemu/qemu/commit/a76b911c0de3d72e245060a57d02f816fb1334e2
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/rx/rx-gdbsim.c

  Log Message:
  -----------
  rx: re-randomize rng-seed on reboot

When the system reboots, the rng-seed that the FDT has should be
re-randomized, so that the new boot gets a new seed. Since the FDT is in
the ROM region at this point, we add a hook right after the ROM has been
added, so that we have a pointer to that copy of the FDT.

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-12-Jason@zx2c4.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 6233a138599bea89ad683b883dca38388f12fd2d
      
https://github.com/qemu/qemu/commit/6233a138599bea89ad683b883dca38388f12fd2d
  Author: Jason A. Donenfeld <Jason@zx2c4.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/mips/malta.c

  Log Message:
  -----------
  mips/malta: pass RNG seed via env var and re-randomize on reboot

As of the kernel commit linked below, Linux ingests an RNG seed
passed as part of the environment block by the bootloader or firmware.
This mechanism works across all different environment block types,
generically, which pass some block via the second firmware argument. On
malta, this has been tested to work when passed as an argument from
U-Boot's linux_env_set.

As is the case on most other architectures (such as boston), when
booting with `-kernel`, QEMU, acting as the bootloader, should pass the
RNG seed, so that the machine has good entropy for Linux to consume. So
this commit implements that quite simply by using the guest random API,
which is what is used on nearly all other archs too. It also
reinitializes the seed on reboot, so that it is always fresh.

Link: https://git.kernel.org/torvalds/c/056a68cea01
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: d0d8d5707dffe56107fb0ca9a40274f0cfaf0feb
      
https://github.com/qemu/qemu/commit/d0d8d5707dffe56107fb0ca9a40274f0cfaf0feb
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M docs/devel/reset.rst
    M docs/system/arm/emulation.rst
    M hw/arm/aspeed.c
    M hw/arm/boot.c
    M hw/arm/mps2-tz.c
    M hw/arm/virt.c
    M hw/core/reset.c
    M hw/core/resettable.c
    M hw/hppa/machine.c
    M hw/hyperv/hyperv.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/i386/x86.c
    M hw/m68k/q800.c
    M hw/m68k/virt.c
    M hw/mips/boston.c
    M hw/mips/malta.c
    M hw/openrisc/boot.c
    M hw/ppc/pegasos2.c
    M hw/ppc/pnv.c
    M hw/ppc/spapr.c
    M hw/riscv/boot.c
    M hw/rx/rx-gdbsim.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/timer/imx_epit.c
    M include/hw/boards.h
    M include/sysemu/device_tree.h
    M include/sysemu/reset.h
    M migration/savevm.c
    M qapi/run-state.json
    M softmmu/device_tree.c
    M softmmu/runstate.c
    M target/arm/cpu.c
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/helper.c
    M target/arm/internals.h
    M target/arm/ptw.c

  Log Message:
  -----------
  Merge tag 'pull-target-arm-20221027' of 
https://git.linaro.org/people/pmaydell/qemu-arm into staging

target-arm queue:
 * Implement FEAT_E0PD
 * Implement FEAT_HAFDBS
 * honor HCR_E2H and HCR_TGE in arm_excp_unmasked()
 * hw/arm/virt: Fix devicetree warnings about the virtio-iommu node
 * hw/core/resettable: fix reset level counting
 * hw/hyperv/hyperv.c: Use device_cold_reset() instead of device_legacy_reset()
 * imx: reload cmp timer outside of the reload ptimer transaction
 * x86: do not re-randomize RNG seed on snapshot load
 * m68k/virt: do not re-randomize RNG seed on snapshot load
 * m68k/q800: do not re-randomize RNG seed on snapshot load
 * arm: re-randomize rng-seed on reboot
 * riscv: re-randomize rng-seed on reboot
 * mips/boston: re-randomize rng-seed on reboot
 * openrisc: re-randomize rng-seed on reboot
 * rx: re-randomize rng-seed on reboot

# -----BEGIN PGP SIGNATURE-----
#
# iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmNagAQZHHBldGVyLm1h
# eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3sv6D/0VXf61t6IcmQ342L5IeUeA
# jixouWQhma3WwFDjbEo3BehgBhdwH2gxF8XWZNudV1x5P4JbCwiD/sm9FKtNY3IX
# lOpcg4F7Ge6EHCEQ5PM75G4TNQBw1BTwGuNrXm8kpVZ7i7C4Zo3gzbqVYv59d406
# fMwZBZwwavn9xYI/ZOUq3CKv2W/xrveFIEfafQB1mmcu4azZRLlOdMXvsMY/Te1/
# GQ+0RPcemNfvfFwYfMKT9dqiCWgqzAoiGQNH2944mTnoJJMsI0JLcXP2z/4fFfYv
# J1m7mhOO9KiqUWzxJofQOgQIic1q6AY0lLw272mA/rbwwlmlm/bNl1DGE5Lyw64d
# t/dDWE6X8IHPqPzqqrOd8vpKIKUriDSL83D5uULpPXaQwyckTFDsAMu5VX4uswbm
# B+SizTghSNwMbOq1XsQg6DDiHEelbwwrltsLOSQujXrrngtSxjWXuFgWem4gT8HL
# uVQtrfrASV/gNBLRNX73vuL6pJaTEVqk53JI8MamZEIRLO1s6/nreOR13E+0611T
# iMywoOhAQA3RDe9NU0zgg6EGyskRZQG1CRTDQAz1sAt8WcHokg7Yj7LlfGE+/+Bh
# 4cIuJI56Uf3DJF51A52+roaQkZDJZZkfE1EG8uMDIWszP5v2GDcwx3AS3FLuaDfH
# QHPsecbzEURFTmdt5VrKzg==
# =RD6C
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 27 Oct 2022 08:56:36 EDT
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[full]
# gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [unknown]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* tag 'pull-target-arm-20221027' of 
https://git.linaro.org/people/pmaydell/qemu-arm: (31 commits)
  mips/malta: pass RNG seed via env var and re-randomize on reboot
  rx: re-randomize rng-seed on reboot
  openrisc: re-randomize rng-seed on reboot
  mips/boston: re-randomize rng-seed on reboot
  m68k/q800: do not re-randomize RNG seed on snapshot load
  m68k/virt: do not re-randomize RNG seed on snapshot load
  riscv: re-randomize rng-seed on reboot
  arm: re-randomize rng-seed on reboot
  x86: do not re-randomize RNG seed on snapshot load
  device-tree: add re-randomization helper function
  reset: allow registering handlers that aren't called by snapshot loading
  target/arm: Use the max page size in a 2-stage ptw
  target/arm: Implement FEAT_HAFDBS, dirty bit portion
  target/arm: Implement FEAT_HAFDBS, access flag portion
  target/arm: Tidy merging of attributes from descriptor and table
  target/arm: Consider GP an attribute in get_phys_addr_lpae
  target/arm: Don't shift attrs in get_phys_addr_lpae
  target/arm: Fix fault reporting in get_phys_addr_lpae
  target/arm: Remove loop from get_phys_addr_lpae
  target/arm: Add ARMFault_UnsuppAtomicUpdate
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 807d7b192b8070396a9fc52129763dbd921cda0a
      
https://github.com/qemu/qemu/commit/807d7b192b8070396a9fc52129763dbd921cda0a
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M audio/alsaaudio.c
    M audio/audio.c
    M audio/audio_legacy.c
    M audio/ossaudio.c
    M audio/paaudio.c
    M audio/wavaudio.c
    M backends/tpm/tpm_passthrough.c
    M block/block-backend.c
    M block/copy-before-write.c
    M block/dirty-bitmap.c
    M block/export/export.c
    M block/export/vduse-blk.c
    M block/gluster.c
    M block/monitor/block-hmp-cmds.c
    M block/qapi-sysemu.c
    M block/qapi.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/quorum.c
    M block/rbd.c
    M block/ssh.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M chardev/char-file.c
    M chardev/char-socket.c
    M chardev/char-udp.c
    M chardev/char.c
    M crypto/block-luks.c
    M docs/devel/qapi-code-gen.rst
    M docs/devel/writing-monitor-commands.rst
    M dump/dump.c
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M hw/core/machine-hmp-cmds.c
    M hw/core/machine-qmp-cmds.c
    M hw/core/machine.c
    M hw/core/numa.c
    M hw/core/qdev.c
    M hw/mem/pc-dimm.c
    M hw/net/rocker/rocker_of_dpa.c
    M hw/net/virtio-net.c
    M hw/nvram/fw_cfg.c
    M hw/pci/pci.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_drc.c
    M hw/virtio/virtio-mem-pci.c
    M hw/virtio/virtio-pmem-pci.c
    M hw/virtio/virtio.c
    M include/monitor/monitor.h
    M job-qmp.c
    M migration/block-dirty-bitmap.c
    M migration/colo.c
    M migration/migration.c
    M monitor/hmp-cmds.c
    M monitor/misc.c
    M monitor/qmp-cmds.c
    M nbd/server.c
    M net/announce.c
    M net/hub.c
    M net/l2tpv3.c
    M net/net.c
    M net/slirp.c
    M net/socket.c
    M net/tap-win32.c
    M net/tap.c
    M qemu-img.c
    M qemu-nbd.c
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/commands.c
    M qom/qom-qmp-cmds.c
    M replay/replay-debugging.c
    M scripts/qapi/commands.py
    M scripts/qapi/events.py
    M scripts/qapi/gen.py
    M scripts/qapi/schema.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py
    M softmmu/runstate.c
    M softmmu/vl.c
    M stubs/qdev.c
    M target/arm/monitor.c
    M target/i386/cpu-sysemu.c
    M target/i386/cpu.c
    M target/s390x/cpu_models_sysemu.c
    M tests/qtest/fuzz/qos_fuzz.c
    M tests/qtest/qmp-cmd-test.c
    M tests/unit/test-char.c
    M tests/unit/test-crypto-block.c
    M tests/unit/test-qmp-cmds.c
    M tests/unit/test-qmp-event.c
    M tests/unit/test-qobject-input-visitor.c
    M tests/unit/test-qobject-output-visitor.c
    M tests/unit/test-visitor-serialization.c
    M ui/console.c
    M ui/input.c
    M ui/spice-core.c
    M ui/vnc.c
    M util/qemu-config.c

  Log Message:
  -----------
  Merge tag 'pull-qapi-2022-10-25-v2' of https://repo.or.cz/qemu/armbru into 
staging

QAPI patches patches for 2022-10-25

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmNZeKcSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTRc8QAKBbAOsqpFfVuYZoZtbvEIIE+E4chUjr
# ANTVIGXN2wNMVEpNtoXDOPrgMJBo9UGozKO703C55DF9WL2M6q25ZZ94Q8JQGjFx
# Cchpa0bnOtZ7v4uM0g5Z2OdeQCrZT961MOTLE8WfW7RgCo13NvSVPhAhRGj6LmUf
# 7VX2W4YH/LOXPGjkAwZxH1J0N+YPcx4EzgJ+Df01NSQ3yvYkMmBXZV1v+o3N2q0/
# wxJEB5rizs3bet0jJPoHRzu6eiTt47YpaGCEkqO0J1yUeog1dSXOws/gBQX7Ftjf
# /cn5POmQDHvzvtx/PzxDiQxpHzvnNwIGxcfOA51iPb3AH1iJM6aVHuIVo+YHuMIZ
# yHM/kUAEcjuRriltmgLXity5qer8MMINvt1U1NLYnCTX/bq42CE8GSO21+ilzEL4
# Of+NRjuXpAST83ojLbt43EXh8E5aiPC0iRqINA8Jub9bWAmStoziWh4+zROnPVcU
# 3nvA6mx9U/YRhMpUi2378bd97nyFE+32cdflU6C+6bV9kOhKuiad2pd3N4izwAzo
# 6+B+arccxhO8ocA1jZXo8CBUA1VeKJQiRGo4Rk0Ku6IL1MlJFNoef6faa4Ko6rAV
# tDs98h8kegvIAAeVMkLolF+/C5Pqx8vlRhB0x0l8NkUQ1AWiGDmOEq+mW3MKTQ44
# k8FRjGv9heiN
# =YTU5
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 26 Oct 2022 14:12:55 EDT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* tag 'pull-qapi-2022-10-25-v2' of https://repo.or.cz/qemu/armbru: (28 commits)
  qapi: Drop temporary logic to support conversion step by step
  qapi qga: Elide redundant has_FOO in generated C
  qapi virtio: Elide redundant has_FOO in generated C
  qapi ui: Elide redundant has_FOO in generated C
  qapi transaction: Elide redundant has_FOO in generated C
  qapi tpm: Elide redundant has_FOO in generated C
  qapi stats: Elide redundant has_FOO in generated C
  qapi run-state: Elide redundant has_FOO in generated C
  qapi rocker: Elide redundant has_FOO in generated C
  qapi replay: Elide redundant has_FOO in generated C
  qapi qdev qom: Elide redundant has_FOO in generated C
  qapi pci: Elide redundant has_FOO in generated C
  qapi net: Elide redundant has_FOO in generated C
  qapi misc: Elide redundant has_FOO in generated C
  qapi migration: Elide redundant has_FOO in generated C
  qapi machine: Elide redundant has_FOO in generated C
  qapi job: Elide redundant has_FOO in generated C
  qapi dump: Elide redundant has_FOO in generated C
  qapi crypto: Elide redundant has_FOO in generated C
  qapi chardev: Elide redundant has_FOO in generated C
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 8ba4a6e35cd015b89ee01baab4fc7ec1cca8cd66
      
https://github.com/qemu/qemu/commit/8ba4a6e35cd015b89ee01baab4fc7ec1cca8cd66
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M meson.build
    M qga/channel-posix.c
    A qga/commands-bsd.c
    M qga/commands-common.h
    A qga/commands-linux.c
    M qga/commands-posix.c
    M qga/main.c
    M qga/meson.build

  Log Message:
  -----------
  Merge tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu into 
staging

Conflicts:
- "qga: Move HW address getting to a separate function" still uses
  has_hardware_address but it was just removed by "qapi qga: Elide
  redundant has_FOO in generated C". Drop has_hardware_address.

* tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu:
  qga: add channel path to error messages
  qga: Add HW address getting for FreeBSD
  qga: Move HW address getting to a separate function
  qga: Add support for user password setting in FreeBSD
  qga: Add shutdown/halt/reboot support for FreeBSD
  qga: Add UFS freeze/thaw support for FreeBSD
  qga: Move Linux-specific FS freeze/thaw code to a separate file
  qga: Add initial FreeBSD support


Compare: https://github.com/qemu/qemu/compare/344744e148e6...8ba4a6e35cd0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]