xen: use new schedop interface for suspend

Take the opportunity to comment on the semantics of the PV guest
suspend hypercall arguments.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
Ian Campbell 2011-02-17 11:04:20 +00:00 committed by Stefano Stabellini
parent 552717231e
commit 8e15597fa4

View file

@ -422,10 +422,17 @@ HYPERVISOR_set_segment_base(int reg, unsigned long value)
#endif
static inline int
HYPERVISOR_suspend(unsigned long srec)
HYPERVISOR_suspend(unsigned long start_info_mfn)
{
return _hypercall3(int, sched_op, SCHEDOP_shutdown,
SHUTDOWN_suspend, srec);
struct sched_shutdown r = { .reason = SHUTDOWN_suspend };
/*
* For a PV guest the tools require that the start_info mfn be
* present in rdx/edx when the hypercall is made. Per the
* hypercall calling convention this is the third hypercall
* argument, which is start_info_mfn here.
*/
return _hypercall3(int, sched_op_new, SCHEDOP_shutdown, &r, start_info_mfn);
}
static inline int