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