* Andy Lutomirski <l...@amacapital.net> wrote: > On Aug 10, 2016 3:31 PM, "Ingo Molnar" <mi...@kernel.org> wrote: > > > > > > One side note: > > > > * Andy Lutomirski <l...@kernel.org> wrote: > > > > > This series fixes it the other way: it allow the trampoline to live > > > in boot services memory. It achieves this by deferring the panic > > > due to failure to reserve a trampoline until early_initcall time > > > and then adjusting the EFI boot services quirk to reserve space > > > for the trampoline if we haven't already found it a home. > > > > > x86/efi: Allocate a trampoline if needed in efi_free_boot_services() > > > > Btw., this means that we first try to allocate the trampoline the old > > fashioned > > way, and in the rare cases this fails we allocate it from the EFI data area, > > right? > > Yes, exactly. > > > > > This is problematic from the probability management POV: we are creating a > > rare > > piece of code that will run only on a select few systems. > > > > I think it would be much better to allocate the trampoline from the EFI > > area on > > all EFI systems by default. Is there any reason why that would not work? > > I think most EFI systems don't have any boot services below 1MB, so > that wouldn't work. > > We could try allocating from EFI more generically, but that sounds > much scarier. The EFI memory map code is tangled with the e820 code > and the memblock code, and I'd be nervous about confusing the e820 > code or accidentally allocating blacklisted RAM (EBDA, > Sandybridge-quirked, etc.) The code I wrote should only allocate the > trampoline at a different address than current kernels in cases where > current kernels would panic. > > I don't like it either, but after scratching my head for a while I > didn't come up with anything better. At least the actual special case > is only a couple lines of code.
Ok, fine enough to me! Matt, is patch #5: [PATCH v2 5/5] x86/efi: Allocate a trampoline if needed in efi_free_boot_services() looking good to you? Thanks, Ingo