diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-02-17 12:04:20 +0100 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2011-02-25 17:43:11 +0100 |
commit | bd1c0ad28451df4610d352c7e438213c84de0c28 (patch) | |
tree | 92710a262ae76c67fc06008e848ccc81ec9a13b0 /drivers/xen | |
parent | xen: switch to new schedop hypercall by default. (diff) | |
download | linux-bd1c0ad28451df4610d352c7e438213c84de0c28.tar.xz linux-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')
-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(); |