|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] SHUTDOWN_suspend
On 17/1/08 17:04, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> Could someone explain to me the mechanisms by which the
> SHUTDOWN_suspend sub-command of SCHEDOP_shutdown is handled?
> I am namely having a hard time finding where the non-zero return code
> unmodified_drivers/linux-2.6/platform-pci/machine_reboot.c:bp_suspend()
> checks for gets injected.
The non-zero return code is injected by the tools: see
tools/libxc/xc_resume.c:modify_returncode().
> Besides that it puzzles me that this is being used differently by the
> pv-on-hvm drivers and the ones on a pv kernel: the latter pass an extra
> argument, the consumer of which I again cannot seem to be able to find.
> I'm specifically interested if it is valid to replace the pv drivers' use
> (through HYPERVISOR_shutdown()) with a call to HYPERVISOR_suspend(),
> and whether in that case passing just any value for the 'srec' parameter
> is possible.
The extra argument is not really consumed by the suspend hypercall. It ends
up in %esi when the hypercall occurs and can then be pulled out of the
vcpu's register context by the toolstack. This is simply a convention
between tools and guest -- Xen itself is not really involved.
HVM guests do not pass this extra parameter to the tools, because it is not
required.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|