aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libxl: Introduce libxl__arch_domain_create (x86 version)Stefano Stabellini2012-05-303-11/+22
| | | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <Ian.Campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: Introduce libxl__arch_domain_createStefano Stabellini2012-05-303-3/+33
| | | | | | | | | | | Introduce an arch specific internal domain creation function. The X86 version of libxl__arch_domain_create is going to be introduced in the next few patches, to make it easier to spot all the code motions. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <Ian.Campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm: compile libxlStefano Stabellini2012-05-304-61/+68
| | | | | | | | | | libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid functions are only available on x86, so move them to libxl_cpuid.c. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm: compile xentraceStefano Stabellini2012-05-301-0/+12
| | | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm: compile memshrStefano Stabellini2012-05-301-0/+31
| | | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <Ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm: compile libxenguestStefano Stabellini2012-05-305-3/+162
| | | | | | | | | | | | | | Introduce an empty implementation of the arch specific ARM functions in xc_dom_arm.c. Provide empty implementations of xc_domain_save and xc_domain_restore when CONFIG_MIGRATE is not set. Move xc_hvm_build.c to xc_hvm_build_x86.c because the implementation is x86 specific, introduce xc_hvm_build_arm.c with empty stubs. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <Ian.Campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: remove lockdir and config dir from the APIIan Campbell2012-05-296-36/+18
| | | | | | | | | | | | These are only used by xl. Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but rather are part of the Xen build time configuration. It is fine for xl to also consume them. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl: destroy the disk on successful removal during block-detachStefano Stabellini2012-05-291-1/+2
| | | | | | | | | main_blockdetach needs to call libxl_device_disk_destroy so that all the disk related entries are properly removed from xenstore. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: add qdisk to libxl_string_to_backendStefano Stabellini2012-05-291-0/+2
| | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: wait for state "connected" in libxl__device_disk_local_attachStefano Stabellini2012-05-291-4/+18
| | | | | | | | | | | | In order to make sure that the block device is available and ready to be used, wait for state "connected" in the backend before returning. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> [ ijc -- resolved simple conflict in libxl__device_disk_local_detach ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl/libxl: implement QDISK libxl_device_disk_local_attachStefano Stabellini2012-05-293-12/+57
| | | | | | | | | | | | | | - Spawn a QEMU instance at boot time to handle disk local attach requests. - Implement libxl__device_disk_local_attach for QDISKs in terms of a regular disk attach with the frontend and backend running in the same domain. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: introduce libxl__alloc_vdevStefano Stabellini2012-05-294-0/+94
| | | | | | | | | Introduce libxl__alloc_vdev: find a spare virtual block device in the domain passed as argument. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl/libxl: add a blkdev_start parameterStefano Stabellini2012-05-2910-3/+25
| | | | | | | | | | | | | | | | Introduce a blkdev_start in xl.conf and a corresponding string in libxl_domain_build_info. Add a blkdev_start parameter to libxl__device_disk_local_attach: it is going to be used in a following patch. blkdev_start specifies the first block device to be used for temporary block device allocations by the toolstack. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: introduce libxl__device_disk_addStefano Stabellini2012-05-292-3/+13
| | | | | | | | | | Introduce libxl__device_disk_add that takes an additional xs_transaction_t paramter. Implement libxl_device_disk_add using libxl__device_disk_add. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: export libxl__device_from_diskStefano Stabellini2012-05-292-1/+5
| | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: add a transaction parameter to libxl__device_generic_addStefano Stabellini2012-05-294-14/+19
| | | | | | | | | | | | | | | Add a xs_transaction_t parameter to libxl__device_generic_add, if it is XBT_NULL, allocate a proper one. Update all the callers. This patch contains a large number of unchecked xenstore operations, we might want to fix this in the future. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: libxl__device_disk_local_attach return a new libxl_device_diskStefano Stabellini2012-05-293-6/+24
| | | | | | | | | | | | | Introduce a new libxl_device_disk* parameter to libxl__device_disk_local_attach, the parameter is allocated by the caller. libxl__device_disk_local_attach is going to fill the new disk with informations about the new locally attached disk. The new libxl_device_disk should be passed to libxl__device_disk_local_detach afterwards. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: make libxl_device_disk_local_attach/detach internal functionsStefano Stabellini2012-05-294-17/+14
| | | | | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: introduce libxl_vcpuinfo_list_freeDario Faggioli2012-05-293-5/+16
| | | | | | | And fix a leak due to it being missing. Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xenstore: fix crash on platforms with no gntdev driver implementation.Christoph Egger2012-05-291-2/+2
| | | | | | | | | Fix pointer checks introduced in changeset 24757:aae516b78fce. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl: remove all local "ctx" variablesIan Campbell2012-05-291-7/+7
| | | | | | | | | | | xl has a global "ctx" variable, so there should be no need to pass a ctx to any function. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> [ ijc -- dropped xl_fork hunks on commit, this aspect was already done in xl: track child processes for the benefit of libxl ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: do not overwrite user supplied config when running bootloaderIan Campbell2012-05-2915-179/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when running the bootloader libxl will update b_info->u.pv.kernel, .ramdisk, .cmdline and .bootloader. This can expose internal details, such as temporary paths in /var/run/xen/bootloader.*/ to the user. This is problematic because it means that the user cannot re-use the struct as is. This does not effect xl in Xen 4.2+ since it always reparses the guest config and reinitialises the build info, however it did cause issues with reboot in 4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of libxl. Instead make the libxl bootloader infrastructure provide output to its caller which is slurped into the internal libxl__domain_build_state datastructure. If no bootloader is configured then the bootloader instead propagates the user supplied b_info config. In order to simplify this push the error handling for the case where there is no bootdisk down into libxl__bootloader_run. In principal there is no reason why it shouldn't be possible to do a pure netboot guest with a suitable bootloader, but I don't fix that here. This change allow us to make the libxl_file_reference an internal API, and eventually we might be able to get rid of it. Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt use it. I am proposing this for 4.2 due to the API change. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> [ ijc -- reduced log message in libxl__build_pv from INFO to DEBUG ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl: track child processes for the benefit of libxlIan Jackson2012-05-293-43/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each time xl forks, it needs to record the pid, so that its exit status can be preserved if it happens that libxl's event loop reaped it. Consequently we also have a new wrapper for waitpid, which in that case returns the previously-reaped status. When we get a console ready callback from libxl, check to see if we have spawned but not reaped a previous console client, and if so reap it now. (This is necessary to prevent improper use of the xlchild struct, but has the happy consequence of checking the exit status of the first console client in the pygrub case.) Refactor the two calls to libxl_ctx_alloc into a new function xl_ctx_alloc which also sets the child reaped handler callback. All of this has the effect of suppressing a message unknown child [nnnn] unexpected exited status zero which would sometimes (depending on a race) appear with `xl create -c' and pygrub. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Reported-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Cc: Roger Pau Monne <roger.pau@citrix.com> [ ijc -- corrected return codes in xl_reaped_callback to match documented convention. ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
* xl: Remus - fix docsShriram Rajagopalan2012-05-291-3/+5
| | | | | | | | | Explicitly mention that the current state of Remus support in xl is experimental, with no disk/network buffering support. Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: When checking BDF of existing slots, function should be decimal, not hexGeorge Dunlap2012-05-291-1/+1
| | | | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Spotted-by: Konrad Wilk <konrad.wilk@oracle.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* x86_64: Record entry vector for double faults.Andrew Cooper2012-05-251-0/+1
| | | | | Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* xen: domain_pirq_to_emuirq return IRQ_UNBOUND by defaultStefano Stabellini2012-05-252-6/+7
| | | | | | | | | | | | | domain_pirq_to_emuirq should return IRQ_UNBOUND rather than 0 on missing entries. Add a default parameter to pirq_field, so that callers can set any default return value they want; use IRQ_UNBOUND in domain_pirq_to_emuirq. This patch fixes a regression introduced by 23573: save/restore failing on upstream QEMU with PV on HVM guests. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* amd iommu: improve parse_event_log_entry()Jan Beulich2012-05-231-17/+16
| | | | | | | | | | | - message table should be static (no need to set it up each time the function gets executed) - don't bail on out-of-range event code values - use message table also to print the kind of otherwise unhandled event codes Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Wei Wang <wei.wang2@amd.com>
* amd iommu: Add workaround for erratum 732 & 733Wei Wang2012-05-232-7/+54
| | | | | | | | | | Signed-off-by: Wei Wang <wei.wang2@amd.com> Add missing barriers. Fix early return from parse_ppr_log_entry(). Slightly adjust comments. Strip trailing blanks. Signed-off-by: Jan Beulich <jbeulich@suse.com> Committed-by: Jan Beulich <jbeulich@suse.com>
* libxl: reorder libxl_device unplug functionsRoger Pau Monne2012-05-231-70/+78
| | | | | | | | | | | This is a reorder of functions, no functional change. This is needed because in future patches much code is added to libxl_device and it needs to follow the usual ao operation scheme (prototypes, functions and callbacks in order they should be called) Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: add libxl__xs_path_cleanupRoger Pau Monne2012-05-232-0/+46
| | | | | | | | | | Add a function which behaves like "xenstore-rm -t", and which will be used to clean xenstore after unplug since we will be no longer executing xen-hotplug-cleanup script, that used to do that for us. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: fix libxl__xs_directory usage of transactionRoger Pau Monne2012-05-231-1/+1
| | | | | | | | | libxl__xs_directory takes a transaction parameter, but completely ignores it, passing XBT_NULL unconditionally to xs_directory. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: pass env vars to libxl__execRoger Pau Monne2012-05-235-8/+34
| | | | | | | | | Add another parameter to libxl__exec call that contains the environment variables to use when performing the execvp call. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* x86: don't hold off NMI delivery when MCE is maskedJan Beulich2012-05-223-3/+6
| | | | | | | | | | | Likely through copy'n'paste, all three instances of guest MCE processing jumped to the wrong place (where NMI processing code correctly jumps to) when MCE-s are temporarily masked (due to one currently being processed by the guest). A nested, unmasked NMI should get delivered immediately, however. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86: prevent call to xfree() in dump_irqs() while in an irq contextAndrew Cooper2012-05-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an irq context when a bug condition is encountered. If this is the case, ignore the call to xsm_show_irq_ssid() and the subsequent call to xfree(). This prevents an assertion failure in xfree(), and should allow all the debug information to be dumped, before failing with a BUG() because of the underlying race condition we are attempting to reproduce. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Rather than using the non-obvious conditional around an xfree() that would be passed NULL only in the inverse case (which could easily get removed by a future change on the basis that calling xfree(NULL) is benign), switch the order of checks in xfree() itself and only suppress the call to XSM that could potentially call xmalloc(). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Jan Beulich <jbeulich@suse.com>
* libxl: events: debugging output relating to ao'sIan Jackson2012-05-222-8/+43
| | | | | | | (In libxl__ao_complete_check_progress_reports, introduce libxl_ctx *ctx.) Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: events: debugging output for fdsIan Jackson2012-05-221-2/+13
| | | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: events: improve debugging output for xs watchesIan Jackson2012-05-221-11/+18
| | | | | | | | | | * Add debugging output for register/deregister. * Make the debugging printfs consistent about the order in which they print the information. * Where we touch the code, change LIBXL__LOG to LOG. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: events: debugging output for timeoutsIan Jackson2012-05-221-0/+43
| | | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* x86: don't call generic_identify() redundantlyJan Beulich2012-05-216-8/+1
| | | | | | | | | | | | Right before calling struct cpu_dev's ->c_identify, if non-NULL, identify_cpu() calls generic_identify(). Hence there's no point for ->c_identify to point to generic_identify, nor for the handler to call that function. After removing all pointless uses, the function isn't being used outside the file that's defininig it anymore, and hence can become static. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* serial: serial_irq() and descendants can be __initJan Beulich2012-05-213-3/+3
| | | | | | | | ... as being solely called from smp_intr_init(), which itself is marked such. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86/mem_sharing: Allow paging-in pages to be replaced by shared ones.Andres Lagar-Cavilla2012-05-182-0/+11
| | | | | | | | Making sure to tidy up any partially paged frames. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
* libxl: initialise ao when starting pvqemu for stubdomainIan Campbell2012-05-181-0/+1
| | | | | | | | | | | | libxl__spawn_local_dm requires the ao to be initialised. Without this starting an HVM guest with a stub qemu hits the assert(ao->magic == LIBXL__AO_MAGIC); in the STATE_AO_GC call from libxl__spawn_local_dm. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: avoid double free of b_info->u.pv.bootloaderIan Campbell2012-05-181-2/+4
| | | | | | | | | | b_info is a user provided struct and therefore the content must come from malloc and not gc such that libxl_domain_build_info_dispose can free it. This was broken by 25340:373f24c87dee. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: Remus - xl remus commandShriram Rajagopalan2012-05-184-4/+189
| | | | | | | | | | | | | | xl remus acts as a frontend to enable remus for a given domain. * At the moment, only memory checkpointing and blackhole replication is supported. Support for disk checkpointing and network buffering will be added in future. * Replication is done over ssh connection currently (like live migration with xl). Future versions will have an option to use simple tcp socket based replication channel (for both Remus & live migration). Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: Remus - suspend/postflush/commit callbacksShriram Rajagopalan2012-05-186-6/+123
| | | | | | | | | | | | | | | | | | | | | * Add libxl callback functions for Remus checkpoint suspend, postflush (aka resume) and checkpoint commit callbacks. * suspend callback is a stub that just bounces off libxl__domain_suspend_common_callback - which suspends the domain and saves the devices model state to a file. * resume callback currently just resumes the domain (and the device model). * commit callback just writes out the saved device model state to the network and sleeps for the checkpoint interval. * Introduce a new public API, libxl_domain_remus_start (currently a stub) that sets up the network and disk buffer and initiates continuous checkpointing. * Future patches will augment these callbacks/functions with more functionalities like issuing network buffer plug/unplug commands, disk checkpoint commands, etc. Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: resume instead of unpause on xl save -cShriram Rajagopalan2012-05-181-1/+1
| | | | | | | | | | The guest is "suspended" via libxl_domain_suspend when taking a snapshot. So call libxl_domain_resume instead of libxl_domain_unpause, when taking a checkpoint of the domain (using xl save -c). Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: refactor migrate_domain and generalize migrate_receiveShriram Rajagopalan2012-05-181-45/+77
| | | | | | | | | | | | Refactor some tasks like establishing the migration channel, initial migration protocol exchange into separate functions, to facilitate re-use, when remus support is introduced. Also, make migrate_receive generic (instead of resorting to stdin and stdout as the file descriptors for communication). Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: support suspend_cancel in domain_resumeShriram Rajagopalan2012-05-183-11/+21
| | | | | | | | | | Add an extra parameter to libxl_domain_resume indicating if the caller wishes to use the SUSPEND_CANCEL style resume instead of the normal resume. Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: QMP stop/resume & refactor QEMU suspend/resume/saveShriram Rajagopalan2012-05-183-19/+99
| | | | | | | | | | | | | | Implement QMP stop and resume functionality and split device model save into 3 parts: suspend_dm(domid) save_dm(domid, fd) resume_dm(domid) Integrate Device model suspend into suspend_common_callback Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>