On Sun, Jul 14, 2019 at 4:08 PM Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 7/14/19 4:13 AM, Bin Meng wrote: > > On Sun, Jul 14, 2019 at 4:02 AM Heinrich Schuchardt <xypron.g...@gmx.de> > > wrote: > >> > >> As efi_add_memory_map() signals an error by returning NULL and correct > >> function by returning the requested address we cannot discern an error from > >> correct functioning for address 0x00000000. This leads to unexpected > >> warnings on the Raspberry 3. > >> > >> Use EFI_SUCCESS to signal success and return an error code otherwise. > >> > >> Reported-by: Bryan O'Donoghue <pure.lo...@nexus-software.ie> > >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> > >> --- > >> cmd/bootefi.c | 4 ++-- > >> include/efi_loader.h | 4 ++-- > >> lib/efi_loader/efi_memory.c | 28 ++++++++++++++++++---------- > >> 3 files changed, 22 insertions(+), 14 deletions(-) > >> > >> diff --git a/cmd/bootefi.c b/cmd/bootefi.c > >> index c19256e00d..04d3e3e4a7 100644 > >> --- a/cmd/bootefi.c > >> +++ b/cmd/bootefi.c > >> @@ -169,8 +169,8 @@ static void efi_carve_out_dt_rsv(void *fdt) > >> > >> pages = efi_size_in_pages(size + (addr & EFI_PAGE_MASK)); > >> addr &= ~EFI_PAGE_MASK; > >> - if (!efi_add_memory_map(addr, pages, > >> EFI_RESERVED_MEMORY_TYPE, > >> - false)) > >> + if (efi_add_memory_map(addr, pages, > >> EFI_RESERVED_MEMORY_TYPE, > >> + false) != EFI_SUCCESS) > >> printf("FDT memrsv map %d: Failed to add to > >> map\n", i); > >> } > >> } > >> diff --git a/include/efi_loader.h b/include/efi_loader.h > >> index db4763fc9b..6cc6a3835c 100644 > >> --- a/include/efi_loader.h > >> +++ b/include/efi_loader.h > >> @@ -476,8 +476,8 @@ efi_status_t efi_get_memory_map(efi_uintn_t > >> *memory_map_size, > >> efi_uintn_t *descriptor_size, > >> uint32_t *descriptor_version); > >> /* Adds a range into the EFI memory map */ > >> -uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, int > >> memory_type, > >> - bool overlap_only_ram); > >> +efi_status_t efi_add_memory_map(uint64_t start, uint64_t pages, int > >> memory_type, > >> + bool overlap_only_ram); > >> /* Called by board init to initialize the EFI drivers */ > >> efi_status_t efi_driver_init(void); > >> /* Called by board init to initialize the EFI memory map */ > >> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c > >> index 27379381e8..da253fa285 100644 > >> --- a/lib/efi_loader/efi_memory.c > >> +++ b/lib/efi_loader/efi_memory.c > >> @@ -223,8 +223,17 @@ static s64 efi_mem_carve_out(struct efi_mem_list *map, > >> return EFI_CARVE_LOOP_AGAIN; > >> } > >> > >> -uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, int > >> memory_type, > >> - bool overlap_only_ram) > >> +/** > >> + * efi_add_memory_map() - add memory area to the memory map > >> + * > >> + * @start: start address, must be a multiple of EFI_PAGE_SIZE > >> + * @pages: number of pages to add > >> + * @memory_type: type of memory added > >> + * @overlap_only_ram: the memory area must overlap existing > >> + * Return: status code > > > > nits: @return > > Thanks for reviewing. The current version of Sphinx wants "Return:". > Cf. > https://www.kernel.org/doc/html/v5.2/doc-guide/kernel-doc.html#return-values >
Good point. I thought we were using Doxygen format. Not ware of new Sphinx format. Are we buidling Sphinx docs for U-Boot? Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot