From: David Vrabel <dvrabel@cantab.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
David Vrabel <david.vrabel@citrix.com>
Subject: Re: kexec's v1 compatibility code
Date: Fri, 08 May 2015 16:53:42 +0100 [thread overview]
Message-ID: <554CDC06.1080907@cantab.net> (raw)
In-Reply-To: <554CD78D0200007800078477@mail.emea.novell.com>
On 08/05/15 14:34, Jan Beulich wrote:
> David,
>
> now that we're putting Xen 4.4.x underneath an older distro (SLE11)
> we've got to see that kexec doesn't work there. Initial investigation
> of our kexec person revealed that the destinations attempted to be
> written to by kexec_reloc()'s code following the is_source and
> is_zero labels have no mappings in the kexec page tables. Comparing
> kexec_do_load_v1() with kexec_load() I wonder whether the former
> isn't simply lacking a call to kimage_load_segments().
I think I only tested the V1 path with 32-bit images which did not need
page tables.
The caller of the V1 kexec_load has already loaded the segments into
their (potentially intermediate) destination so the apparently missing
kimage_load_segments() is deliberate.
I think kimage_build_ind() needs to call machine_kexec_add_page()
appropriately.
> He worked around this (I haven't seen the code yet that he used)
> to then find that the dump kernel (other than an "ordinary" kexec
> one) also expects at least the low 640k to be mapped. He's
> suggesting that Linux'es kexec code sets up an identity mapping of
> all memory, and that we should do the same. I can't say I'm
> convinced of this though, as it seems bogus to me that the dump
> kernel should depend on anything beyond a bare minimum
> environment it is being handed control in; I would instead expect
> the crash kernel to be responsible for any such specific needs.
The version of kexec-tools that works with the V2 ABI, adds an extra
segment (with no source buffer) to add a mapping of 0-1MIB that
purgatory expects. Perhaps the v1 compat code needs to do the same?
> May I also ask whether that compatibility code got tested?
Only with 32-bit images -- hence the page table related problems.
David
next prev parent reply other threads:[~2015-05-08 16:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-08 13:34 kexec's v1 compatibility code Jan Beulich
2015-05-08 13:45 ` Andrew Cooper
2015-05-08 15:53 ` David Vrabel [this message]
2015-05-11 9:25 ` Jan Beulich
2015-05-11 9:53 ` David Vrabel
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=554CDC06.1080907@cantab.net \
--to=dvrabel@cantab.net \
--cc=JBeulich@suse.com \
--cc=david.vrabel@citrix.com \
--cc=xen-devel@lists.xenproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.