From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCHv6 0/10] kexec: extend kexec hypercall for use with pv-ops kernels Date: Mon, 24 Jun 2013 21:31:00 +0100 Message-ID: <51C8AC84.1050904@citrix.com> References: <1372095741-27012-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1372095741-27012-1-git-send-email-david.vrabel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: David Vrabel Cc: Daniel Kiper , Keir Fraser , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 24/06/2013 18:42, David Vrabel wrote: > The series (for Xen 4.4) improves the kexec hypercall by making Xen > responsible for loading and relocating the image. This allows kexec > to be usable by pv-ops kernels and should allow kexec to be usable > from a HVM or PVH privileged domain. > > The first patch is a simple clean-up. > > The second patch allows hypercall structures to be ABI compatible > between 32- and 64-bit guests (by reusing stuff present for domctls > and sysctls). This seems better than having to keep adding compat > handling for new hypercalls etc. > > Patch 3 introduces the new ABI. > > Patch 4 and 5 nearly completely reimplement the kexec load, unload and > exec sub-ops. The old load_v1 sub-op is then implemented on top of > the new code. > > Patch 6 calls the kexec image when dom0 crashes. This avoids having > to alter dom0 kernels to do a exec sub-op call on crash -- a > SHUTDOWN_crash by dom0 will trigger the kexec. > > Patches 7 and 8 add the libxc API for the kexec calls. These have > been acked-by Ian Campbell already. > > Patch 9 adds a link time check for the size of the relocate code. > > Patch 10 adds myself as the maintainer for kexec in Xen. > > The required patch series for kexec-tools have previously been posted > and this series has been rebased on the latest kexec-tools and is > available from the xen-v3 branch of: > > http://xenbits.xen.org/gitweb/?p=people/dvrabel/kexec-tools.git;a=summary As you have picked up my one bugfix from the patch queue, please consider the entire series: Reviewed-by: Andrew Cooper Tested-by: Andrew Cooper ~Andrew > > Changes since v5: > > - Fix double free in KEXEC_load_v1 failure path. > - Only copy the relocation code and not the whole page. > - Add myself as the kexec maintainer. > > Changes since v4 (v5 was not posted to the list): > > - _rsvd -> _pad in one of the public ABI structures. > - Fix bug where trailing pages were not zeroed. This fixes loading a > 64-bit Linux kernel using a more recent version of kexec-tools. > - Check the relocation code fits into a page at link time. > > Changes since v3: > > - Use paddr_t and page_to_maddr() etc. for portability. > - Add explicit padding to hypercall structures where required. > - Minor cleanup of the kexec_reloc assembly. > - Print a message before exec'ing a crash image. > - Style fixes (tabs, trailing whitespace) and typos. > - Fix a bug where using the V1 interface and unloading a image may crash. > > Changes since v2: > > - Provide old struct xen_kexec_load if __XEN_INTERFACE_VERSION__ < 4.3 > - Adjust new struct xen_kexec_load to avoid unnecessary padding. > - Use domheap pages for the image and control pages. > - Remove the DBG() macros from the reloc code. > > David > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel