u-boot-brain/lib/efi_loader
Alexander Graf 7b78d6438a efi_loader: Reserve unaccessible memory
On some systems, not all RAM may be usable within U-Boot. Maybe the
memory maps are incomplete, maybe it's used as workaround for broken
DMA. But whatever the reason may be, a platform can say that it does
not wish to have its RAM accessed above a certain address by defining
board_get_usable_ram_top().

In the efi_loader world, we ignored that hint, mostly because very few
boards actually have real restrictions around this.

So let's honor the board's wish to not access high addresses during
boot time. The best way to do so is by indicating the respective pages
as "allocated by firmware". That way, Operating Systems will still
use the pages after boot, but before boot no allocation will use them.

Reported-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Baruch Siach <baruch@tkos.co.il>
2018-12-02 21:59:37 +01:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_acpi.c efi_loader: Install ACPI configuration tables 2018-07-02 09:23:28 +08:00
efi_bootmgr.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_boottime.c Revert "efi_loader: remove efi_exit_caches()" 2018-12-02 21:59:37 +01:00
efi_console.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_to_text.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_device_path.c efi_loader: fix typos in efi_device_path.c 2018-12-02 21:59:36 +01:00
efi_disk.c efi_loader: rename parent to header 2018-12-02 21:59:36 +01:00
efi_file.c efi_loader: use u16* for UTF16 strings 2018-12-02 21:59:37 +01:00
efi_gop.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_image_loader.c efi_loader: refactor efi_setup_loaded_image() 2018-09-23 21:55:31 +02:00
efi_memory.c efi_loader: Reserve unaccessible memory 2018-12-02 21:59:37 +01:00
efi_net.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_root_node.c efi_loader: create root node 2018-09-23 21:55:31 +02:00
efi_runtime.c efi_loader: SetVirtualAddressMap() should return EFI_UNSUPPORTED 2018-12-02 21:59:37 +01:00
efi_smbios.c sandbox: smbios: Update to support sandbox 2018-12-02 21:59:37 +01:00
efi_unicode_collation.c efi_loader: EFI_UNICODE_COLLATION_PROTOCOL 2018-09-23 21:55:29 +02:00
efi_variable.c efi_loader: memory leak in efi_set_variable() 2018-10-16 16:40:11 +02:00
efi_watchdog.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
helloworld.c efi_selftest: use CR LF in helloworld 2018-12-02 21:59:36 +01:00
Kconfig efi: sandbox: Enable EFI loader build for sandbox 2018-09-23 21:55:30 +02:00
Makefile efi_loader: create root node 2018-09-23 21:55:31 +02:00