mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/xl: Allow compilation of 'xl resume' command on Arm
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, this command is used for resume.
This change enables compilation of `xl resume` on Arm regardless of the
underlying implementation status, making the tool available for testing
and future feature support. The relevant libxl infrastructure and handler
functions are already present and usable.
Note: This does not imply full system suspend/resume support on Arm.
The `xl suspend` command still does not work on Arm platforms.
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
1 parent
1e3dc2f866
commit
a3971271ec
6 files changed
+12
-13
No files matched your search
@@ -1145,7 +1145,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__)
|
||||
|
||||
+2
-2
@@ -65,7 +65,7 @@ static const char migrate_permission_to_go[]=
|
||||
"domain is yours, you are cleared to unpause";
|
||||
static const char migrate_report[]=
|
||||
"my copy unpause results are as follows";
|
||||
#endif
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
|
||||
/* followed by one byte:
|
||||
* 0: everything went well, domain is running
|
||||
@@ -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);
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
int main_resume(int argc, char **argv);
|
||||
#endif
|
||||
int main_dump_core(int argc, char **argv);
|
||||
int main_pause(int argc, char **argv);
|
||||
int main_unpause(int argc, char **argv);
|
||||
|
||||
@@ -198,12 +198,12 @@ const struct cmd_spec cmd_table[] = {
|
||||
"Suspend a domain to RAM",
|
||||
"<Domain>",
|
||||
},
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
{ "resume",
|
||||
&main_resume, 0, 1,
|
||||
"Resume a domain from RAM",
|
||||
"<Domain>",
|
||||
},
|
||||
#endif
|
||||
{ "dump-core",
|
||||
&main_dump_core, 0, 1,
|
||||
"Core dump a domain",
|
||||
@@ -548,7 +548,7 @@ const struct cmd_spec cmd_table[] = {
|
||||
" checkpoint must be disabled.\n"
|
||||
"-p Use COLO userspace proxy."
|
||||
},
|
||||
#endif
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
{ "devd",
|
||||
&main_devd, 0, 1,
|
||||
"Daemon that listens for devices and launches backends",
|
||||
|
||||
@@ -767,7 +767,7 @@ int main_remus(int argc, char **argv)
|
||||
close(send_fd);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
#endif
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -270,7 +270,7 @@ int main_save(int argc, char **argv)
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
#endif /* LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
#endif /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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 /* !LIBXL_HAVE_NO_SUSPEND_RESUME */
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||