From: Matt Fleming <matt@console-pimps.org>
To: Mathias Krause <minipli@googlemail.com>
Cc: Borislav Petkov <bp@alien8.de>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
x86-ml <x86@kernel.org>, Matt Fleming <matt.fleming@intel.com>
Subject: Re: [PATCHv2 1/3] x86, ptdump: Add section for EFI runtime services
Date: Wed, 29 Oct 2014 14:20:52 +0000 [thread overview]
Message-ID: <20141029142052.GR12020@console-pimps.org> (raw)
In-Reply-To: <CA+rthh9LSRm12qYORAd5BWzpw7DEP7hqHLA3EDdfUDxwx-4=2g@mail.gmail.com>
On Tue, 28 Oct, at 10:14:25PM, Mathias Krause wrote:
>
> Mapping the kernel into the EFI page table may help ;) Then the
> kernel's #PF handler would be present and able to print a register
> dump, at least.
The kernel is already mapped into the EFI page table.
> So, assuming you're not mapping the EFI virtual mappings below the
> pgd[511] hierarchy, making pgd[511] equal init_level4_pgt[511] should
> help in this case. In fact, you need to map portions of the kernel
> into the EFI page table anyway. Otherwise the EFI code wouldn't be
> able to access, e.g., the data it should write to NVRAM. So the EFI
> code would just trap and trigger a #PF -- and because of the missing
> #PF handler, a #DF -- and because of the missing #DF handler the
> triple fault. ;)
Exactly.
We don't setup a separate page table for EFI calls for any kind of
isolation, we do it to make use of the existing 1:1 mappings in
trampoline_pgd because some firmware directly reference physical
addresses at runtime. It actually doesn't work too well in practice,
because you soon hit other issues on those firmware, but there you go.
So the fact that we have EFI mappings in init_level4_pgt[] isn't
indicative of any kind of bug, it's potentially a bit unclean, but
that's about it.
--
Matt Fleming, Intel Open Source Technology Center
next prev parent reply other threads:[~2014-10-29 14:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-21 15:26 [PATCHv2 0/3] x86, ptdump: a EFI related fix + enhancements Mathias Krause
2014-09-21 15:26 ` [PATCHv2 1/3] x86, ptdump: Add section for EFI runtime services Mathias Krause
2014-10-03 13:47 ` Matt Fleming
2014-10-07 15:01 ` Borislav Petkov
2014-10-07 17:07 ` Mathias Krause
2014-10-08 15:17 ` Borislav Petkov
2014-10-08 21:58 ` Mathias Krause
2014-10-08 22:26 ` Borislav Petkov
2014-10-12 12:55 ` Mathias Krause
2014-10-28 18:57 ` Borislav Petkov
2014-10-28 19:48 ` Mathias Krause
2014-10-28 20:13 ` Borislav Petkov
2014-10-28 21:14 ` Mathias Krause
2014-10-28 21:26 ` Borislav Petkov
2014-10-28 21:49 ` Mathias Krause
2014-10-28 22:07 ` Borislav Petkov
2014-10-29 8:06 ` Mathias Krause
2014-10-29 14:20 ` Matt Fleming [this message]
2014-10-29 15:19 ` Mathias Krause
2014-10-29 14:22 ` Matt Fleming
2014-10-29 15:22 ` Mathias Krause
2014-11-11 21:59 ` Mathias Krause
2014-11-11 22:32 ` Matt Fleming
2014-09-21 15:26 ` [PATCHv2 2/3] x86, ptdump: Simplify page flag evaluation code Mathias Krause
2014-09-21 19:49 ` Arjan van de Ven
2014-09-21 20:33 ` Mathias Krause
2014-09-24 7:45 ` Ingo Molnar
2014-09-25 19:27 ` Mathias Krause
2014-09-26 9:25 ` Ingo Molnar
2014-09-26 10:11 ` Borislav Petkov
2014-09-26 11:15 ` Ingo Molnar
2014-09-26 12:35 ` Mathias Krause
2014-09-21 15:26 ` [PATCHv2 3/3] x86, ptdump: Take parent page flags into account Mathias Krause
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=20141029142052.GR12020@console-pimps.org \
--to=matt@console-pimps.org \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=mingo@redhat.com \
--cc=minipli@googlemail.com \
--cc=tglx@linutronix.de \
--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.