On 31.08.2025 00:10, Mykola Kvach wrote: > --- a/xen/arch/ppc/stubs.c > +++ b/xen/arch/ppc/stubs.c > @@ -224,6 +224,11 @@ void arch_domain_creation_finished(struct domain *d) > BUG_ON("unimplemented"); > } > > +int arch_domain_resume(struct domain *d) > +{ > + return 0; > +} > + > int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c) > { > BUG_ON("unimplemented"); > diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c > index 1a8c86cd8d..52532ae14d 100644 > --- a/xen/arch/riscv/stubs.c > +++ b/xen/arch/riscv/stubs.c > @@ -198,6 +198,11 @@ void arch_domain_creation_finished(struct domain *d) > BUG_ON("unimplemented"); > } > > +int arch_domain_resume(struct domain *d) > +{ > + return 0; > +} > + > int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c) > { > BUG_ON("unimplemented"); > diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c > index 19fd86ce88..94a06bc697 100644 > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -1138,6 +1138,11 @@ void arch_domain_creation_finished(struct domain *d) > hvm_domain_creation_finished(d); > } > > +int arch_domain_resume(struct domain *d) > +{ > + return 0; > +} > + > #ifdef CONFIG_COMPAT > #define xen_vcpu_guest_context vcpu_guest_context > #define fpu_ctxt fpu_ctxt.x
I definitely don't like this redundancy, and even less so that you introduce out- of-line calls. > --- a/xen/include/xen/domain.h > +++ b/xen/include/xen/domain.h > @@ -109,6 +109,8 @@ int arch_domain_soft_reset(struct domain *d); > > void arch_domain_creation_finished(struct domain *d); > > +int arch_domain_resume(struct domain *d); I think this wants to move to a per-arch header, presence of which is checked by has_include(), with an inline fallback define once centrally here. Jan