On Thu, 2013-02-21 at 17:48 +0000, David Vrabel wrote: > From: David Vrabel <david.vrabel at citrix.com> > > Add xc_kexec_exec(), xc_kexec_get_ranges(), xc_kexec_load(), and > xc_kexec_unload(). The load and unload calls require the v2 load and > unload ops. Looks good, few nits below, but Acked-by: Ian Campbell <ian.campbell at citrix.com> > +/* > + * Find the machine address and size of certain memory areas. > + * > + * KEXEC_RANGE_MA_CRASH crash area > + * KEXEC_RANGE_MA_XEN Xen itself > + * KEXEC_RANGE_MA_CPU CPU note for CPU number 'nr' > + * KEXEC_RANGE_MA_XENHEAP xenheap > + * KEXEC_RANGE_MA_EFI_MEMMAP EFI Memory Map > + * KEXEC_RANGE_MA_VMCOREINFO vmcoreinfo I expect there is a canonical list of these somewhere, can we get a pointer to it here? > + * > + * Fails with: > + * EINVAL if the range or CPU number isn't valid. > + */ > +int xc_kexec_get_range(xc_interface *xch, int range, int nr, > + uint64_t *size, uint64_t *start); > + > +/* > + * Load a kexec image into memory. > + * > + * The image may be of type KEXEC_TYPE_DEFAULT (executed on request) > + * or KEXEC_TYPE_CRASH (executed on a crash). > + * > + * The image architecture may be a 32-bit variant of the hypervisor > + * architecture (e.g, EM_386 on a x86-64 hypervisor). arch is an ELF arch? Worth mentioning explicitly I think. Ian