[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v5 2/4] tools/xl: allow resume command compilation for arm
Hi Mykola, > On Fri, Jun 27, 2025 at 01:51:31PM +0000, Mykola Kvach wrote: > From: Mykola Kvach <mykola_kvach@xxxxxxxx> > > The "xl resume" command was previously excluded from ARM builds because > system suspend/resume (e.g., `SYSTEM_SUSPEND`) via vPSCI was not > implemented. On x86, the command is used for ACPI S3 suspend/resume. > > This change enables compilation of `xl resume` on ARM regardless of the > underlying implementation status, making the tool available for use in > testing or for future support. The libxl infrastructure and handler > functions are already present and usable. > > Note: This does not imply full system suspend/resume support on ARM. > "xl suspend" command still not work for arm platforms. NIT: Last sentence should perhaps be: 'The "xl suspend" command still does not work on Arm platforms.' > > Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx> > --- > tools/include/libxl.h | 1 - > tools/xl/xl.h | 2 +- > tools/xl/xl_cmdtable.c | 2 +- > tools/xl/xl_vmcontrol.c | 12 ++++++------ > 4 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/tools/include/libxl.h b/tools/include/libxl.h > index a8704e0268..0fda8bb616 100644 > --- a/tools/include/libxl.h > +++ b/tools/include/libxl.h > @@ -1134,7 +1134,6 @@ typedef struct libxl__ctx libxl_ctx; > * restoring or migrating a domain. In this case the related functions > * should be expected to return failure. That is: > * - libxl_domain_suspend > - * - libxl_domain_resume > * - libxl_domain_remus_start > */ > #if defined(__arm__) || defined(__aarch64__) The Macro being documented above, and defined below, this ^^^ section of the diff, is called `LIBXL_HAVE_NO_SUSPEND_RESUME`. Now it no longer indicates lack of support for libxl_domain_resume is it better renamed something like `LIBXL_HAVE_NO_SUSPEND`? > diff --git a/tools/xl/xl.h b/tools/xl/xl.h > index 45745f0dbb..5b0a481456 100644 > --- a/tools/xl/xl.h > +++ b/tools/xl/xl.h > @@ -130,8 +130,8 @@ int main_migrate_receive(int argc, char **argv); > int main_save(int argc, char **argv); > int main_migrate(int argc, char **argv); > int main_suspend(int argc, char **argv); > -int main_resume(int argc, char **argv); > #endif NIT: Could take the opportunity to add comment after `#endif`? + #endif /* LIBXL_HAVE_NO_SUSPEND_RESUME */ (Or LIBXL_HAVE_NO_SUSPEND if renamed) > +int main_resume(int argc, char **argv); > int main_dump_core(int argc, char **argv); > int main_pause(int argc, char **argv); > int main_unpause(int argc, char **argv); > diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c > index 06a0039718..4f662a4189 100644 > --- a/tools/xl/xl_cmdtable.c > +++ b/tools/xl/xl_cmdtable.c > @@ -198,12 +198,12 @@ const struct cmd_spec cmd_table[] = { > "Suspend a domain to RAM", > "<Domain>", > }, > +#endif NIT: Same as above. > { "resume", > &main_resume, 0, 1, > "Resume a domain from RAM", > "<Domain>", > }, > -#endif > { "dump-core", > &main_dump_core, 0, 1, > "Core dump a domain", > diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c > index c813732838..ebacde5482 100644 > --- a/tools/xl/xl_vmcontrol.c > +++ b/tools/xl/xl_vmcontrol.c > @@ -38,11 +38,6 @@ static void suspend_domain(uint32_t domid) > libxl_domain_suspend_only(ctx, domid, NULL); > } > > -static void resume_domain(uint32_t domid) > -{ > - libxl_domain_resume(ctx, domid, 1, NULL); > -} > - > int main_suspend(int argc, char **argv) > { > int opt; > @@ -55,6 +50,12 @@ int main_suspend(int argc, char **argv) > > return EXIT_SUCCESS; > } > +#endif NIT: Same as above. > + > +static void resume_domain(uint32_t domid) > +{ > + libxl_domain_resume(ctx, domid, 1, NULL); > +} > > int main_resume(int argc, char **argv) > { > @@ -68,7 +69,6 @@ int main_resume(int argc, char **argv) > > return EXIT_SUCCESS; > } > -#endif > > static void pause_domain(uint32_t domid) > { Many thanks, Hari
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |