From: Matt Fleming <matt@codeblueprint.co.uk>
To: Alex Thorlton <athorlton@sgi.com>
Cc: linux-kernel@vger.kernel.org, Russ Anderson <rja@sgi.com>,
Mike Travis <travis@sgi.com>, Borislav Petkov <bp@suse.de>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org
Subject: Re: [RFC PATCH] Fix EFI callbacks on UV during kexec
Date: Mon, 1 Aug 2016 14:39:26 +0100 [thread overview]
Message-ID: <20160801133926.GG3636@codeblueprint.co.uk> (raw)
In-Reply-To: <1469572713-113354-1-git-send-email-athorlton@sgi.com>
On Tue, 26 Jul, at 05:38:32PM, Alex Thorlton wrote:
>
> After investigating the problem here and figuring out the proper way to
> get the noefi parameter working again, I noticed that there appears to
> be support for EFI runtime callbacks in a kexec'd kernel now... I
> think we need some more cleanup here to get that all working entirely.
> Without noefi, we hit a bad paging request when we try to do EFI
> callbacks:
[...]
> [ 0.341531] BUG: unable to handle kernel paging request at 000000006a1ab938
> [ 0.349319] IP: [<000000006a1ab938>] 0x6a1ab938
> [ 0.354386] PGD 354e0063 PUD 0
> [ 0.357910] Oops: 0010 [#1] SMP
> [ 0.361414] Modules linked in:
> [ 0.364833] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.7.0-runtime-check+ #713
[...]
> This is due to the fact that the efi_map_region_fixed calls in
> kexec_enter_virtual_mode, which map in the EFI runtime memory
> descriptors, only map the virtual address of the descriptor.
> Unfortunately, since we're still relying on the physical address of our
> EFI runtime code being mapped in, we don't have access to that code in
> the kexec scenario.
>
> A potential fix for this would be to map in the physical addresses of
> the descriptors as well as the virtual addresses in
> efi_map_region_fixed, but the more "correct" fix would be to update
> our system table pointer to its new virtual address during
> SetVirtualAddressMap. We intend to get that piece fixed up relatively
> soon, but haven't quite gotten around to it yet.
I don't think it would be so bad if we did the 1:1 mappings in the
kexec kernel too, we've got our own page tables after all and the VA
space is available. It would be required if people ever want to use
kexec with mixed mode kernels too.
next prev parent reply other threads:[~2016-08-01 13:39 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-26 22:38 [RFC PATCH] Fix EFI callbacks on UV during kexec Alex Thorlton
2016-07-26 22:38 ` [PATCH] Skip UV runtime services mapping in the efi_runtime_disabled case Alex Thorlton
2016-08-01 13:49 ` Matt Fleming
2016-08-01 14:28 ` Alex Thorlton
2016-08-03 19:36 ` Alex Thorlton
2016-08-04 9:23 ` Matt Fleming
2016-08-01 13:39 ` Matt Fleming [this message]
2016-08-01 14:34 ` [RFC PATCH] Fix EFI callbacks on UV during kexec Alex Thorlton
2016-08-04 9:25 ` Matt Fleming
2016-08-04 15:07 ` Alex Thorlton
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=20160801133926.GG3636@codeblueprint.co.uk \
--to=matt@codeblueprint.co.uk \
--cc=athorlton@sgi.com \
--cc=bp@suse.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rja@sgi.com \
--cc=tglx@linutronix.de \
--cc=travis@sgi.com \
--cc=x86@kernel.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.