Re: [PATCH 0/3] Fix ACPI BGRT support for images located in EFI boot services memory

H. Peter Anvin
2012-09-04T20:24:36Z

On 09/04/2012 12:45 PM, Josh Triplett wrote:
>>
>> There are some platforms which have bugs in this area, so there are
>> other reasons to defer freeing up boot memory until as late in the
>> boot process as we can possibly get away with.
>>
>> free_initmem() is presuambly the place that makes most sense.
>
> You're suggesting a call from free_initmem() to
> efi_free_boot_services()? Or, from init_post() right before the call to
> free_initmem()?
>

free_initmem() is arch-specific, so probably the latter.

>> This
>> is EFI-specific but not x86-specific, let's not commingle those
>> concepts, please...
>
> init/main.c already calls the x86-specific efi_enter_virtual_mode
> (defined in arch/x86/platform/efi/efi.c), and I split the call to the
> x86-specific efi_free_boot_services out of that. Neither of those
> functions exists on non-x86 platforms, and thus I mirrored the #ifdef
> currently wrapped around efi_enter_virtual_mode for the new call to
> efi_free_boot_services. While it might make sense for that code to
> exist on non-x86 EFI platforms, it currently doesn't. At best, I could
> add static inline stubs to linux/efi.h for those functions to avoid the
> ifdefs, but as far as I can tell the same issue applies to quite a few
> more functions in efi.h.
>
> Would you like me to add the static inline stubs for the couple of
> functions called from init/main.c, or leave the #ifdefs?
>

I think that would really help clean things up.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.