All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
To: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
Cc: Matthew Garrett <mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>,
	James Bottomley
	<James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>,
	Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Linux EFI <linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Matt Fleming
	<matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>,
	X86 ML <x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Borislav Petkov <bp-l3A5Bk7waGM@public.gmane.org>
Subject: Re: [PATCH -v2 0/4] EFI 1:1 mapping
Date: Fri, 21 Jun 2013 09:23:56 +0200	[thread overview]
Message-ID: <20130621072356.GA22006@pd.tnic> (raw)
In-Reply-To: <51C383AC.4060706-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>

On Thu, Jun 20, 2013 at 03:35:24PM -0700, H. Peter Anvin wrote:
> On 06/20/2013 11:47 AM, Borislav Petkov wrote:
> > 
> > I guess we can do a top-down allocation, starting from the highest
> > virtual addresses:
> > 
> > EFI_HIGHEST_ADDRESS
> > |
> > | size1
> > |
> > --> region1
> > |
> > | size2
> > |
> > --> region2
> > 
> > ...
> > 
> > and we make EFI_HIGHEST_ADDRESS be the same absolute number on every
> > system.
> > 
> > hpa, is this close to what you had in mind? It would be prudent to
> > verify whether this will suit well with the kexec virtual space layout
> > though...
> > 
> 
> This would work really well, I think.  The tricky part here is to pick a
> safe EFI_HIGHEST_ADDRESS as it is an ABI.
> 
> My preference would be to make EFI_HIGHEST_ADDRESS = -4 GB, which is
> *not* what Windows uses, but will leave the high negative range clear,
> and allows a range where we can grow down without much risk of
> interfering with anything else.

Hmm, cool. Let me see whether my primitive math still has it:

-(4 << 30) = 0xffffffff00000000.

Staring at Documentation/x86/x86_64/mm.txt, that's right in the unused
hole, sandwiched between:

ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)

xxxxxxxxxxxxxxxx - ffffffff00000000 (=XX bits, not a lot :-), maybe 4, i.e. 64G) EFI

ffffffff80000000 - ffffffffa0000000 (=512 MB)  kernel text mapping, from phys 0

Now, if we go and do that, what are we going to say for the lower bound,
in case later someone wants to use some more of the rest of the unused
hole? Should we limit it to say

0xffffffff00000000 -
0xfffffff000000000 = 64G max EFI mappable region.

Or am I too generous? The remaining hole is around

(0xfffffff000000000 - 0xffffeaffffffffff) >> 40 = 20TB.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	Ingo Molnar <mingo@kernel.org>,
	Linux EFI <linux-efi@vger.kernel.org>,
	Matt Fleming <matt@console-pimps.org>, X86 ML <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>, Borislav Petkov <bp@suse.de>
Subject: Re: [PATCH -v2 0/4] EFI 1:1 mapping
Date: Fri, 21 Jun 2013 09:23:56 +0200	[thread overview]
Message-ID: <20130621072356.GA22006@pd.tnic> (raw)
In-Reply-To: <51C383AC.4060706@zytor.com>

On Thu, Jun 20, 2013 at 03:35:24PM -0700, H. Peter Anvin wrote:
> On 06/20/2013 11:47 AM, Borislav Petkov wrote:
> > 
> > I guess we can do a top-down allocation, starting from the highest
> > virtual addresses:
> > 
> > EFI_HIGHEST_ADDRESS
> > |
> > | size1
> > |
> > --> region1
> > |
> > | size2
> > |
> > --> region2
> > 
> > ...
> > 
> > and we make EFI_HIGHEST_ADDRESS be the same absolute number on every
> > system.
> > 
> > hpa, is this close to what you had in mind? It would be prudent to
> > verify whether this will suit well with the kexec virtual space layout
> > though...
> > 
> 
> This would work really well, I think.  The tricky part here is to pick a
> safe EFI_HIGHEST_ADDRESS as it is an ABI.
> 
> My preference would be to make EFI_HIGHEST_ADDRESS = -4 GB, which is
> *not* what Windows uses, but will leave the high negative range clear,
> and allows a range where we can grow down without much risk of
> interfering with anything else.

Hmm, cool. Let me see whether my primitive math still has it:

-(4 << 30) = 0xffffffff00000000.

Staring at Documentation/x86/x86_64/mm.txt, that's right in the unused
hole, sandwiched between:

ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)

xxxxxxxxxxxxxxxx - ffffffff00000000 (=XX bits, not a lot :-), maybe 4, i.e. 64G) EFI

ffffffff80000000 - ffffffffa0000000 (=512 MB)  kernel text mapping, from phys 0

Now, if we go and do that, what are we going to say for the lower bound,
in case later someone wants to use some more of the rest of the unused
hole? Should we limit it to say

0xffffffff00000000 -
0xfffffff000000000 = 64G max EFI mappable region.

Or am I too generous? The remaining hole is around

(0xfffffff000000000 - 0xffffeaffffffffff) >> 40 = 20TB.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

  parent reply	other threads:[~2013-06-21  7:23 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-17 17:50 [PATCH -v2 0/4] EFI 1:1 mapping Borislav Petkov
2013-06-17 17:50 ` [PATCH -v2 2/4] x86, cpa: Map in an arbitrary pgd Borislav Petkov
2013-06-17 17:50 ` [PATCH -v2 3/4] x86, efi: Add an efi= kernel command line parameter Borislav Petkov
2013-06-17 17:50 ` [PATCH -v2 4/4] x86, efi: Map runtime services 1:1 Borislav Petkov
     [not found]   ` <1371491416-11037-5-git-send-email-bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
2013-06-21 11:56     ` Matt Fleming
2013-06-21 11:56       ` Matt Fleming
2013-07-03  6:19     ` joeyli
2013-07-03  6:19       ` joeyli
     [not found] ` <1371491416-11037-1-git-send-email-bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
2013-06-17 17:50   ` [PATCH -v2 1/4] efi: Convert runtime services function ptrs Borislav Petkov
2013-06-17 17:50     ` Borislav Petkov
2013-06-20 18:15     ` [PATCH] [IA64] sim: Add casts to avoid assignment warnings Luck, Tony
2013-06-20 23:43       ` Tony Luck
2013-06-21 10:26         ` Fleming, Matt
2013-06-19 12:52   ` [PATCH -v2 0/4] EFI 1:1 mapping Ingo Molnar
2013-06-19 12:52     ` Ingo Molnar
     [not found]     ` <20130619125243.GD11209-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-19 13:02       ` Borislav Petkov
2013-06-19 13:02         ` Borislav Petkov
     [not found]         ` <20130619130225.GA28311-fF5Pk5pvG8Y@public.gmane.org>
2013-06-19 13:04           ` Ingo Molnar
2013-06-19 13:04             ` Ingo Molnar
     [not found]             ` <20130619130434.GB24957-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-19 13:25               ` Borislav Petkov
2013-06-19 13:25                 ` Borislav Petkov
2013-06-19 16:08               ` Matthew Garrett
2013-06-19 16:08                 ` Matthew Garrett
     [not found]                 ` <20130619160804.GB27832-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-19 16:18                   ` Borislav Petkov
2013-06-19 16:18                     ` Borislav Petkov
     [not found]                     ` <20130619161827.GF28300-fF5Pk5pvG8Y@public.gmane.org>
2013-06-19 16:21                       ` Matthew Garrett
2013-06-19 16:21                         ` Matthew Garrett
2013-06-19 16:38                         ` Borislav Petkov
     [not found]                           ` <20130619163804.GG28300-fF5Pk5pvG8Y@public.gmane.org>
2013-06-19 16:48                             ` Matthew Garrett
2013-06-19 16:48                               ` Matthew Garrett
     [not found]                               ` <20130619164822.GA28240-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-19 16:59                                 ` Borislav Petkov
2013-06-19 16:59                                   ` Borislav Petkov
     [not found]                                   ` <20130619165902.GH28300-fF5Pk5pvG8Y@public.gmane.org>
2013-06-20 21:26                                     ` H. Peter Anvin
2013-06-20 21:26                                       ` H. Peter Anvin
2013-06-21  6:34                                     ` Matt Fleming
2013-06-21  6:34                                       ` Matt Fleming
2013-06-19 16:50                           ` James Bottomley
2013-06-20  9:13                   ` Ingo Molnar
2013-06-20  9:13                     ` Ingo Molnar
     [not found]                     ` <20130620091321.GB6811-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-20  9:15                       ` Matthew Garrett
2013-06-20  9:15                         ` Matthew Garrett
2013-06-20  9:22                         ` Ingo Molnar
     [not found]                           ` <20130620092237.GA6943-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-20  9:33                             ` Borislav Petkov
2013-06-20  9:33                               ` Borislav Petkov
2013-06-20  9:44                               ` Matthew Garrett
     [not found]                                 ` <20130620094446.GA17882-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-20 14:33                                   ` Jiri Kosina
2013-06-20 14:33                                     ` Jiri Kosina
2013-06-20 14:53                                   ` James Bottomley
2013-06-20 14:53                                     ` James Bottomley
2013-06-20 16:29                                     ` Matthew Garrett
2013-06-20 16:29                                       ` Matthew Garrett
     [not found]                                       ` <20130620162916.GA25727-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-20 16:44                                         ` Jiri Kosina
2013-06-20 16:44                                           ` Jiri Kosina
     [not found]                                           ` <alpine.LRH.2.00.1306201843430.3478-1ReQVI26iDCaZKY3DrU6dA@public.gmane.org>
2013-06-20 16:53                                             ` Matthew Garrett
2013-06-20 16:53                                               ` Matthew Garrett
2013-06-20 16:46                                         ` James Bottomley
2013-06-20 16:46                                           ` James Bottomley
2013-06-20 16:54                                           ` Matthew Garrett
2013-06-20 16:54                                             ` Matthew Garrett
2013-06-20 17:01                                             ` Borislav Petkov
2013-06-20 17:12                                               ` Matthew Garrett
     [not found]                                                 ` <20130620171210.GA26593-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-20 18:08                                                   ` Borislav Petkov
2013-06-20 18:08                                                     ` Borislav Petkov
2013-06-20 18:10                                                     ` Matthew Garrett
     [not found]                                                       ` <20130620181015.GA27833-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-20 18:14                                                         ` Borislav Petkov
2013-06-20 18:14                                                           ` Borislav Petkov
2013-06-20 18:17                                                           ` Matthew Garrett
     [not found]                                                             ` <20130620181731.GA27960-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-06-20 18:47                                                               ` Borislav Petkov
2013-06-20 18:47                                                                 ` Borislav Petkov
     [not found]                                                                 ` <20130620184736.GC19877-fF5Pk5pvG8Y@public.gmane.org>
2013-06-20 22:35                                                                   ` H. Peter Anvin
2013-06-20 22:35                                                                     ` H. Peter Anvin
     [not found]                                                                     ` <51C383AC.4060706-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-06-21  7:23                                                                       ` Borislav Petkov [this message]
2013-06-21  7:23                                                                         ` Borislav Petkov
     [not found]                                                                         ` <20130621072356.GA22006-fF5Pk5pvG8Y@public.gmane.org>
2013-06-21 10:05                                                                           ` H. Peter Anvin
2013-06-21 10:05                                                                             ` H. Peter Anvin
     [not found]                                                                             ` <ca8f8134-24d9-4f96-8876-e24892efc849-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2013-06-21 14:21                                                                               ` Borislav Petkov
2013-06-21 14:21                                                                                 ` Borislav Petkov
     [not found]                                                                                 ` <20130621142101.GG22006-fF5Pk5pvG8Y@public.gmane.org>
2013-06-21 16:42                                                                                   ` H. Peter Anvin
2013-06-21 16:42                                                                                     ` H. Peter Anvin
     [not found]                                                                                     ` <51C4827B.7090208-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-07-02  7:29                                                                                       ` Pavel Machek
2013-07-02  7:29                                                                                         ` Pavel Machek
2013-06-19 16:05           ` Matthew Garrett
2013-06-19 16:05             ` Matthew Garrett
2013-06-19 17:25           ` H. Peter Anvin
2013-06-19 17:25             ` H. Peter Anvin
     [not found]             ` <51C1E996.9070209-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-06-19 17:37               ` Borislav Petkov
2013-06-19 17:37                 ` Borislav Petkov
     [not found]                 ` <20130619173721.GI28300-fF5Pk5pvG8Y@public.gmane.org>
2013-06-19 17:38                   ` H. Peter Anvin
2013-06-19 17:38                     ` H. Peter Anvin
     [not found]                     ` <51C1EC90.9030802-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-06-19 17:50                       ` Borislav Petkov
2013-06-19 17:50                         ` Borislav Petkov

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=20130621072356.GA22006@pd.tnic \
    --to=bp-gina5biwoiwzqb+pc5nmwq@public.gmane.org \
    --cc=James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org \
    --cc=bp-l3A5Bk7waGM@public.gmane.org \
    --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
    --cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.