diff options
author | York Sun <york.sun@nxp.com> | 2017-03-06 09:02:27 -0800 |
---|---|---|
committer | York Sun <york.sun@nxp.com> | 2017-03-14 08:44:03 -0700 |
commit | 426337455e06c2d05c40f48e488b95a12e4aa056 (patch) | |
tree | d3efbe65d1e5b13f9f59986a18d58c5e5493a849 /lib | |
parent | f692d4eef4999f5c8b9287a0faa7bd6eee809532 (diff) | |
download | u-boot-426337455e06c2d05c40f48e488b95a12e4aa056.zip u-boot-426337455e06c2d05c40f48e488b95a12e4aa056.tar.gz u-boot-426337455e06c2d05c40f48e488b95a12e4aa056.tar.bz2 |
efi: Add a hook to allow adding memory mapping
Instead of adding all memory banks, add a hook so individual SoC/board
can has its own implementation.
Signed-off-by: York Sun <york.sun@nxp.com>
CC: Alexander Graf <agraf@suse.de>
Reviewed-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_memory.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index 95aa590..db2ae19 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -431,11 +431,8 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size, return EFI_SUCCESS; } -int efi_memory_init(void) +__weak void efi_add_known_memory(void) { - unsigned long runtime_start, runtime_end, runtime_pages; - unsigned long uboot_start, uboot_pages; - unsigned long uboot_stack_size = 16 * 1024 * 1024; int i; /* Add RAM */ @@ -448,6 +445,15 @@ int efi_memory_init(void) efi_add_memory_map(start, pages, EFI_CONVENTIONAL_MEMORY, false); } +} + +int efi_memory_init(void) +{ + unsigned long runtime_start, runtime_end, runtime_pages; + unsigned long uboot_start, uboot_pages; + unsigned long uboot_stack_size = 16 * 1024 * 1024; + + efi_add_known_memory(); /* Add U-Boot */ uboot_start = (gd->start_addr_sp - uboot_stack_size) & ~EFI_PAGE_MASK; |