diff options
| author | Tom Rini <[email protected]> | 2025-03-24 20:10:55 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-03-24 20:10:55 -0600 |
| commit | 647cb87b5ab2ad6469cf42f3272f00688bd26039 (patch) | |
| tree | 80e947190747a13ece8909ee95dbfed016f49170 /lib | |
| parent | d574229880378081691dc06c430424015be0740c (diff) | |
| parent | 3d8be1f5ec30180748259a251efe4f63c8b4b329 (diff) | |
Merge tag 'v2025.04-rc5' into next
Prepare v2025.04-rc5
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efi_loader/efi_memory.c | 3 | ||||
| -rw-r--r-- | lib/efi_loader/elf_efi.ldsi | 6 | ||||
| -rw-r--r-- | lib/lmb.c | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index 6d00b186250..c39b53922bb 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -491,8 +491,7 @@ efi_status_t efi_allocate_pages(enum efi_allocate_type type, return EFI_NOT_FOUND; addr = map_to_sysmem((void *)(uintptr_t)*memory); - addr = (u64)lmb_alloc_addr(addr, len, flags); - if (!addr) + if (lmb_alloc_addr(addr, len, flags)) return EFI_NOT_FOUND; break; default: diff --git a/lib/efi_loader/elf_efi.ldsi b/lib/efi_loader/elf_efi.ldsi index 190a88fb69e..4fa5ca43872 100644 --- a/lib/efi_loader/elf_efi.ldsi +++ b/lib/efi_loader/elf_efi.ldsi @@ -21,10 +21,10 @@ SECTIONS *(.gnu.linkonce.t.*) *(.srodata) *(.rodata*) - . = ALIGN(16); - *(.dynamic); - . = ALIGN(512); } + . = ALIGN(16); + .dynamic : { *(.dynamic) } + . = ALIGN(512); .rela.dyn : { *(.rela.dyn) } .rela.plt : { *(.rela.plt) } .rela.got : { *(.rela.got) } diff --git a/lib/lmb.c b/lib/lmb.c index 981ea1b2ca0..bb6f232f6bc 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -742,7 +742,7 @@ phys_addr_t lmb_alloc_base(phys_size_t size, ulong align, phys_addr_t max_addr, return _lmb_alloc_base(size, align, max_addr, flags); } -phys_addr_t lmb_alloc_addr(phys_addr_t base, phys_size_t size, u32 flags) +int lmb_alloc_addr(phys_addr_t base, phys_size_t size, u32 flags) { long rgn; struct lmb_region *lmb_memory = lmb.available_mem.data; @@ -759,11 +759,11 @@ phys_addr_t lmb_alloc_addr(phys_addr_t base, phys_size_t size, u32 flags) base + size - 1, 1)) { /* ok, reserve the memory */ if (!lmb_reserve(base, size, flags)) - return base; + return 0; } } - return 0; + return -1; } /* Return number of bytes from a given address that are free */ |
