If you cap it you are basically imposing a constraint on the firmware and may not run properly (or at least have to turn off EFI runtime calls with all that implies.) It might be good to have a sanity check but it needs to be pretty generous. Borislav Petkov <bp@xxxxxxxxx> wrote: >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. -- Sent from my mobile phone. Please excuse brevity and lack of formatting. -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html