On 02.09.2025 11:03, Mykola Kvach wrote:
> ---
>  xen/arch/arm/domain.c                 |  37 ++++++++
>  xen/arch/arm/include/asm/domain.h     |   6 ++
>  xen/arch/arm/include/asm/perfc_defn.h |   1 +
>  xen/arch/arm/include/asm/psci.h       |   2 +
>  xen/arch/arm/include/asm/suspend.h    |  18 ++++
>  xen/arch/arm/include/asm/vpsci.h      |   5 +-
>  xen/arch/arm/vpsci.c                  | 116 +++++++++++++++++++++-----
>  xen/common/domain.c                   |   9 ++
>  xen/include/xen/domain.h              |  11 +++
>  9 files changed, 183 insertions(+), 22 deletions(-)
>  create mode 100644 xen/arch/arm/include/asm/suspend.h

Note, btw, how this way you won't need x86, ppc, and riscv acks.

> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -8,6 +8,10 @@
>  
>  #include <public/xen.h>
>  
> +#if __has_include(<asm/suspend.h>)
> +#include <asm/suspend.h>
> +#endif
> +
>  struct guest_area {
>      struct page_info *pg;
>      void *map;
> @@ -109,6 +113,13 @@ int arch_domain_soft_reset(struct domain *d);
>  
>  void arch_domain_creation_finished(struct domain *d);
>  
> +#if !__has_include(<asm/suspend.h>)
> +static inline int arch_domain_resume(struct domain *d)
> +{
> +    return 0;
> +}
> +#endif /* !__has_include(<asm/suspend.h>) */
> +
>  void arch_p2m_set_access_required(struct domain *d, bool access_required);
>  
>  int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c);

Imo it would be preferable to have such in a single #if/#else. There's nothing
wrong with an #include not sitting at the very top.

(Another question is whether to put this in xen/domain.h at all. There could
be a xen/suspend.h having - for now at least - just this and nothing else.)

Jan

Reply via email to