Skip to content
  • Alexander Graf's avatar
    efi_loader: Implement memory allocation and map · 5d00995c
    Alexander Graf authored
    
    
    The EFI loader needs to maintain views of memory - general system memory
    windows as well as used locations inside those and potential runtime service
    MMIO windows.
    
    To manage all of these, add a few helpers that maintain an internal
    representation of the map the similar to how the EFI API later on reports
    it to the application.
    
    For allocations, the scheme is very simple. We basically allow allocations
    to replace chunks of previously done maps, so that a new LOADER_DATA
    allocation for example can remove a piece of the RAM map. When no specific
    address is given, we just take the highest possible address in the lowest
    RAM map that fits the allocation size.
    
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    Tested-by: default avatarSimon Glass <sjg@chromium.org>
    5d00995c