[PATCH v5 3/4] SUPPORT.md: Add entry for guest PSCI SYSTEM_SUSPEND support

Mykola Kvach posted 4 patches 4 months ago
There is a newer version of this series
[PATCH v5 3/4] SUPPORT.md: Add entry for guest PSCI SYSTEM_SUSPEND support
Posted by Mykola Kvach 4 months ago
From: Mykola Kvach <mykola_kvach@epam.com>

Document support for the optional PSCI SYSTEM_SUSPEND function, exposed
via the virtual PSCI (vPSCI) interface to guests.

This allows non-hardware domain guests (domUs) to initiate system suspend
operations via PSCI calls. The feature is currently marked as Experimental.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
---
Changes in v5:
- Dropped ARM/PSCI entry: this refers to internal use of PSCI SMC calls,
  which is not relevant for SUPPORT.md
- Added a dedicated entry for PSCI SYSTEM_SUSPEND instead of generic guest
  PSCI info; guest PSCI support was documented in a separate patch
---
 SUPPORT.md | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/SUPPORT.md b/SUPPORT.md
index f0b5718e84..659b9c3052 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -956,6 +956,13 @@ by hwdom. Some platforms use SCMI for access to system-level resources.
 
     Status: Supported
 
+### ARM: Guest PSCI SYSTEM_SUSPEND support
+
+Support for the optional PSCI SYSTEM_SUSPEND function exposed via vPSCI.
+Allows non-hardware domain guests to initiate a system suspend.
+
+    Status: Experimental
+
 ## Virtual Hardware, QEMU
 
 This section describes supported devices available in HVM mode using a
-- 
2.48.1
Re: [PATCH v5 3/4] SUPPORT.md: Add entry for guest PSCI SYSTEM_SUSPEND support
Posted by Julien Grall 4 months ago
Hi Mykola,

On 27/06/2025 11:51, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@epam.com>
> 
> Document support for the optional PSCI SYSTEM_SUSPEND function, exposed
> via the virtual PSCI (vPSCI) interface to guests.
> 
> This allows non-hardware domain guests (domUs) to initiate system suspend
> operations via PSCI calls. The feature is currently marked as Experimental.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> Changes in v5:
> - Dropped ARM/PSCI entry: this refers to internal use of PSCI SMC calls,
>    which is not relevant for SUPPORT.md
> - Added a dedicated entry for PSCI SYSTEM_SUSPEND instead of generic guest
>    PSCI info; guest PSCI support was documented in a separate patch
> ---
>   SUPPORT.md | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index f0b5718e84..659b9c3052 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -956,6 +956,13 @@ by hwdom. Some platforms use SCMI for access to system-level resources.
>   
>       Status: Supported
>   
> +### ARM: Guest PSCI SYSTEM_SUSPEND support

You are already adding a Guest PSCI section in [1]. I would rather not 
another section just for SYSTEM_SUSPEND. This would make more difficult 
to know what part of PSCI is supported.

Instead, I would tweak the merge the two patches and tweak the wording 
to have something like:

   Status, Mandatory: Supported
   Status, MIGRATE_INFO_TYPE: Supported
   Status, SYSTEM_SUSPEND: Experimental

Also, I will comment directly here:

 > Emulated PSCI interface exposed to guests. Supports all mandatory 
functions from PSCI versions 0.2 and 1.0, as well as the optional 
MIGRATE_INFO_TYPE

Xen is supporting PSCI 1.1 which is backwards compatible up to 0.2. But 
effectively, we don't expose 0.2 nor 1.0.

So I would reword to:

Emulated PSCI interface exposed to guests. We support all mandatory 
functions of PSCI 1.1. See below for the list of optional PSCI call 
implemented and their status.

Cheers,

[1] 
https://lore.kernel.org/all/20250627053313.2233826-1-xakep.amatop@gmail.com/
-- 
Julien Grall
Re: [PATCH v5 3/4] SUPPORT.md: Add entry for guest PSCI SYSTEM_SUSPEND support
Posted by Mykola Kvach 4 months ago
Hi Julien,

On Sat, Jun 28, 2025 at 9:27 PM Julien Grall <julien@xen.org> wrote:
>
> Hi Mykola,
>
> On 27/06/2025 11:51, Mykola Kvach wrote:
> > From: Mykola Kvach <mykola_kvach@epam.com>
> >
> > Document support for the optional PSCI SYSTEM_SUSPEND function, exposed
> > via the virtual PSCI (vPSCI) interface to guests.
> >
> > This allows non-hardware domain guests (domUs) to initiate system suspend
> > operations via PSCI calls. The feature is currently marked as Experimental.
> >
> > Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> > ---
> > Changes in v5:
> > - Dropped ARM/PSCI entry: this refers to internal use of PSCI SMC calls,
> >    which is not relevant for SUPPORT.md
> > - Added a dedicated entry for PSCI SYSTEM_SUSPEND instead of generic guest
> >    PSCI info; guest PSCI support was documented in a separate patch
> > ---
> >   SUPPORT.md | 7 +++++++
> >   1 file changed, 7 insertions(+)
> >
> > diff --git a/SUPPORT.md b/SUPPORT.md
> > index f0b5718e84..659b9c3052 100644
> > --- a/SUPPORT.md
> > +++ b/SUPPORT.md
> > @@ -956,6 +956,13 @@ by hwdom. Some platforms use SCMI for access to system-level resources.
> >
> >       Status: Supported
> >
> > +### ARM: Guest PSCI SYSTEM_SUSPEND support
>
> You are already adding a Guest PSCI section in [1]. I would rather not
> another section just for SYSTEM_SUSPEND. This would make more difficult
> to know what part of PSCI is supported.
>
> Instead, I would tweak the merge the two patches and tweak the wording
> to have something like:
>
>    Status, Mandatory: Supported
>    Status, MIGRATE_INFO_TYPE: Supported
>    Status, SYSTEM_SUSPEND: Experimental

If you don't mind, I'd prefer to keep the two patches separate rather than
merging them. In my view, patch [1] is a generic and straightforward change
that can be merged easily, with the remarks you've proposed here.
The suspend-related part depends on logic introduced in this PR, which still
has some issues and may take more time to finalize and get reviewed.

>
> Also, I will comment directly here:
>
>  > Emulated PSCI interface exposed to guests. Supports all mandatory
> functions from PSCI versions 0.2 and 1.0, as well as the optional
> MIGRATE_INFO_TYPE
>
> Xen is supporting PSCI 1.1 which is backwards compatible up to 0.2. But
> effectively, we don't expose 0.2 nor 1.0.
>
> So I would reword to:
>
> Emulated PSCI interface exposed to guests. We support all mandatory
> functions of PSCI 1.1. See below for the list of optional PSCI call
> implemented and their status.

Sure, I'll rephrase it as suggested — thank you for the clarification.

Best regards,
Mykola

>
> Cheers,
>
> [1]
> https://lore.kernel.org/all/20250627053313.2233826-1-xakep.amatop@gmail.com/
> --
> Julien Grall
>