[PATCH v5 0/6] hw/misc/pvpanic: add support for normal shutdowns

Thomas Weißschuh posted 6 patches 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240129-pvpanic-shutdown-v5-0-f5a060b87c74@t-8ch.de
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>
There is a newer version of this series
docs/specs/pvpanic.rst                   |  2 ++
hw/misc/pvpanic-isa.c                    |  3 +--
hw/misc/pvpanic-pci.c                    |  3 +--
hw/misc/pvpanic.c                        |  8 ++++--
include/hw/misc/pvpanic.h                |  5 ++++
include/standard-headers/linux/pvpanic.h |  9 -------
include/sysemu/runstate.h                |  1 +
qapi/run-state.json                      | 14 ++++++++++
scripts/update-linux-headers.sh          |  3 +--
system/runstate.c                        |  6 +++++
tests/qtest/pvpanic-pci-test.c           | 44 ++++++++++++++++++++++++++++++--
tests/qtest/pvpanic-test.c               | 34 ++++++++++++++++++++++--
12 files changed, 111 insertions(+), 21 deletions(-)
[PATCH v5 0/6] hw/misc/pvpanic: add support for normal shutdowns
Posted by Thomas Weißschuh 10 months ago
Shutdown requests are normally hardware dependent.
By extending pvpanic to also handle shutdown requests, guests can
submit such requests with an easily implementable and cross-platform
mechanism.

The background is the usage of minimal Linux kernels with different
architectures for testing purposes.
Poweroff support varies highly per architecture and requires a bunch of
code to be compiled to work.
pvpanic on the other hand is very small and uniform.

Patch 1, 2 and 3 are general cleanups, that seems useful even without this
proposal being implemented.
They should also be ready to be picked up from the series on their own.

A corresponding patch has been submitted for Linux [0].
This is also where the request was voiced to drop move away from a
pvpanic uapi header in Linux.

[0] https://lore.kernel.org/lkml/20231104-pvpanic-shutdown-v1-1-5ee7c9b3e301@weissschuh.net/

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
---
Changes in v5:
- Add patch from Alejandro to emit a QMP event.
- Update cover letter.
- Add tests.
- Link to v4: https://lore.kernel.org/r/20240107-pvpanic-shutdown-v4-0-81500a7e4081@t-8ch.de

Changes in v4:
- Rebase on 8.2 master
- Resend after tree reopened and holidays
- Link to v3: https://lore.kernel.org/r/20231129-pvpanic-shutdown-v3-0-c9a2892fc523@t-8ch.de

Changes in v3:
- Drop from Linux imported pvpanic header as discussed with Cornelia and
  requested by Greg
- Link to v2: https://lore.kernel.org/r/20231128-pvpanic-shutdown-v2-0-830393b45cb6@t-8ch.de

Changes in v2:
- Remove RFC status
- Add Ack from Thomas to 2nd patch
- Fix typo in title of 2nd patch
- Link to v1: https://lore.kernel.org/r/20231104-pvpanic-shutdown-v1-0-02353157891b@t-8ch.de

---
Alejandro Jimenez (1):
      pvpanic: Emit GUEST_PVSHUTDOWN QMP event on pvpanic shutdown signal

Thomas Weißschuh (5):
      linux-headers: drop pvpanic.h
      hw/misc/pvpanic: centralize definition of supported events
      tests/qtest/pvpanic: use centralized definition of supported events
      hw/misc/pvpanic: add support for normal shutdowns
      tests/qtest/pvpanic: add tests for pvshutdown event

 docs/specs/pvpanic.rst                   |  2 ++
 hw/misc/pvpanic-isa.c                    |  3 +--
 hw/misc/pvpanic-pci.c                    |  3 +--
 hw/misc/pvpanic.c                        |  8 ++++--
 include/hw/misc/pvpanic.h                |  5 ++++
 include/standard-headers/linux/pvpanic.h |  9 -------
 include/sysemu/runstate.h                |  1 +
 qapi/run-state.json                      | 14 ++++++++++
 scripts/update-linux-headers.sh          |  3 +--
 system/runstate.c                        |  6 +++++
 tests/qtest/pvpanic-pci-test.c           | 44 ++++++++++++++++++++++++++++++--
 tests/qtest/pvpanic-test.c               | 34 ++++++++++++++++++++++--
 12 files changed, 111 insertions(+), 21 deletions(-)
---
base-commit: 11be70677c70fdccd452a3233653949b79e97908
change-id: 20231104-pvpanic-shutdown-02e4b4cb4949

Best regards,
-- 
Thomas Weißschuh <thomas@t-8ch.de>