diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-02-17 11:04:20 +0000 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2011-02-25 16:43:11 +0000 |
commit | bd1c0ad28451df4610d352c7e438213c84de0c28 (patch) | |
tree | 92710a262ae76c67fc06008e848ccc81ec9a13b0 /drivers/xen/manage.c | |
parent | a8b7458363b9174f3c2196ca6085630b4b30b7a1 (diff) | |
download | lwn-bd1c0ad28451df4610d352c7e438213c84de0c28.tar.gz lwn-bd1c0ad28451df4610d352c7e438213c84de0c28.zip |
xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/xen/manage.c')
-rw-r--r-- | drivers/xen/manage.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 972bf783a182..4dd01865ad18 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c @@ -38,7 +38,6 @@ static enum shutdown_state shutting_down = SHUTDOWN_INVALID; static int xen_hvm_suspend(void *data) { int err; - struct sched_shutdown r = { .reason = SHUTDOWN_suspend }; int *cancelled = data; BUG_ON(!irqs_disabled()); @@ -50,7 +49,12 @@ static int xen_hvm_suspend(void *data) return err; } - *cancelled = HYPERVISOR_sched_op(SCHEDOP_shutdown, &r); + /* + * This hypercall returns 1 if suspend was cancelled + * or the domain was merely checkpointed, and 0 if it + * is resuming in a new domain. + */ + *cancelled = HYPERVISOR_suspend(0UL); xen_hvm_post_suspend(*cancelled); gnttab_resume(); |