From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xen.org
Cc: kexec@list.infradead.org, Daniel Kiper <daniel.kiper@oracle.com>,
Keir Fraser <keir@xen.org>,
David Vrabel <david.vrabel@citrix.com>,
Jan Beulich <jbeulich@suse.com>
Subject: [PATCHv8 0/9] Xen: extend kexec hypercall for use with pv-ops kernels
Date: Fri, 20 Sep 2013 14:10:46 +0100 [thread overview]
Message-ID: <1379682655-14157-1-git-send-email-david.vrabel@citrix.com> (raw)
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.
Patch 2 introduces the new ABI.
Patch 3 and 4 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 5 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 6 and 7 add the libxc API for the kexec calls. These have
been acked-by Ian Campbell already.
Patch 8 adds a link time check for the size of the relocate code.
Patch 9 adds myself as the maintainer for kexec in Xen.
The required patch series for kexec-tools will be posted shortly and
are available from the xen-v5 branch of:
http://xenbits.xen.org/gitweb/?p=people/dvrabel/kexec-tools.git;a=summary
Changes in v8:
- Use #defines for compat ABI structures.
- Tweak link time check for kexec_reloc.
Changes in v7:
- No longer use GUEST_HANDLE_64(), get a uniform ABI by using unions
and explicit padding.
- Only map the segments and not all of RAM.
- Add a mechanism to create mappings for use by the exec'd image (a
segment with a NULL buf handle).
- Fix a bug where a crash image's code page would by placed at machine
address 0 (instead of inside the crash region).
Changes in v6:
- 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 in v5 (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 in v4:
- 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 in v3:
- 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
next reply other threads:[~2013-09-20 13:10 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-20 13:10 David Vrabel [this message]
2013-09-20 13:10 ` [PATCH 1/9] x86: give FIX_EFI_MPF its own fixmap entry David Vrabel
2013-09-20 13:10 ` [PATCH 2/9] kexec: add public interface for improved load/unload sub-ops David Vrabel
2013-09-24 15:23 ` Jan Beulich
2013-09-20 13:10 ` [PATCH 3/9] kexec: add infrastructure for handling kexec images David Vrabel
2013-09-20 13:10 ` [PATCH 4/9] kexec: extend hypercall with improved load/unload ops David Vrabel
2013-10-04 21:23 ` Daniel Kiper
2013-10-06 18:16 ` Andrew Cooper
2013-10-07 7:47 ` Daniel Kiper
2013-10-07 9:23 ` David Vrabel
2013-10-07 10:39 ` Daniel Kiper
2013-10-07 10:55 ` David Vrabel
2013-10-07 14:49 ` Daniel Kiper
2013-10-07 17:44 ` David Vrabel
2013-10-07 20:21 ` Daniel Kiper
2013-09-20 13:10 ` [PATCH 5/9] xen: kexec crash image when dom0 crashes David Vrabel
2013-09-20 13:10 ` [PATCH 6/9] libxc: add hypercall buffer arrays David Vrabel
2013-09-20 13:10 ` [PATCH 7/9] libxc: add API for kexec hypercall David Vrabel
2013-09-20 13:10 ` [PATCH 8/9] x86: check kexec relocation code fits in a page David Vrabel
2013-09-20 13:10 ` [PATCH 9/9] MAINTAINERS: Add KEXEC maintainer David Vrabel
2013-09-22 20:20 ` [PATCHv8 0/9] Xen: extend kexec hypercall for use with pv-ops kernels Daniel Kiper
2013-10-04 11:50 ` David Vrabel
2013-09-22 20:27 ` Daniel Kiper
2013-10-04 21:40 ` Daniel Kiper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1379682655-14157-1-git-send-email-david.vrabel@citrix.com \
--to=david.vrabel@citrix.com \
--cc=daniel.kiper@oracle.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=kexec@list.infradead.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).