diff --git a/common/bl_common.c b/common/bl_common.c index b2d22c1..84ff99c 100644 --- a/common/bl_common.c +++ b/common/bl_common.c @@ -58,92 +58,6 @@ return value; } -/****************************************************************************** - * Determine whether the memory region delimited by 'addr' and 'size' is free, - * given the extents of free memory. - * Return 1 if it is free, 0 if it is not free or if the input values are - * invalid. - *****************************************************************************/ -int is_mem_free(uintptr_t free_base, size_t free_size, - uintptr_t addr, size_t size) -{ - uintptr_t free_end, requested_end; - - /* - * Handle corner cases first. - * - * The order of the 2 tests is important, because if there's no space - * left (i.e. free_size == 0) but we don't ask for any memory - * (i.e. size == 0) then we should report that the memory is free. - */ - if (size == 0) - return 1; /* A zero-byte region is always free */ - if (free_size == 0) - return 0; - - /* - * Check that the end addresses don't overflow. - * If they do, consider that this memory region is not free, as this - * is an invalid scenario. - */ - if (check_uptr_overflow(free_base, free_size - 1)) - return 0; - free_end = free_base + (free_size - 1); - - if (check_uptr_overflow(addr, size - 1)) - return 0; - requested_end = addr + (size - 1); - - /* - * Finally, check that the requested memory region lies within the free - * region. - */ - return (addr >= free_base) && (requested_end <= free_end); -} - -/* Generic function to return the size of an image */ -size_t get_image_size(unsigned int image_id) -{ - uintptr_t dev_handle; - uintptr_t image_handle; - uintptr_t image_spec; - size_t image_size = 0U; - int io_result; - - /* Obtain a reference to the image by querying the platform layer */ - io_result = plat_get_image_source(image_id, &dev_handle, &image_spec); - if (io_result != 0) { - WARN("Failed to obtain reference to image id=%u (%i)\n", - image_id, io_result); - return 0; - } - - /* Attempt to access the image */ - io_result = io_open(dev_handle, image_spec, &image_handle); - if (io_result != 0) { - WARN("Failed to access image id=%u (%i)\n", - image_id, io_result); - return 0; - } - - /* Find the size of the image */ - io_result = io_size(image_handle, &image_size); - if ((io_result != 0) || (image_size == 0U)) { - WARN("Failed to determine the size of the image id=%u (%i)\n", - image_id, io_result); - } - io_result = io_close(image_handle); - /* Ignore improbable/unrecoverable error in 'close' */ - - /* TODO: Consider maintaining open device connection from this - * bootloader stage - */ - io_result = io_dev_close(dev_handle); - /* Ignore improbable/unrecoverable error in 'dev_close' */ - - return image_size; -} - /******************************************************************************* * Internal function to load an image at a specific address given * an image ID and extents of free memory. diff --git a/docs/porting-guide.rst b/docs/porting-guide.rst index 7fc5297..716d446 100644 --- a/docs/porting-guide.rst +++ b/docs/porting-guide.rst @@ -1198,9 +1198,6 @@ meminfo.total_base = Base address of secure RAM visible to BL1 meminfo.total_size = Size of secure RAM visible to BL1 - meminfo.free_base = Base address of secure RAM available for allocation - to BL1 - meminfo.free_size = Size of secure RAM available for allocation to BL1 This information is used by BL1 to load the BL2 image in secure RAM. BL1 also populates a similar structure to tell BL2 the extents of memory available for diff --git a/include/common/bl_common.h b/include/common/bl_common.h index f7b3b9c..57c1174 100644 --- a/include/common/bl_common.h +++ b/include/common/bl_common.h @@ -189,11 +189,6 @@ /******************************************************************************* * Function & variable prototypes ******************************************************************************/ -size_t get_image_size(unsigned int image_id); - -int is_mem_free(uintptr_t free_base, size_t free_size, - uintptr_t addr, size_t size); - int load_auth_image(unsigned int image_id, image_info_t *image_data); #if TRUSTED_BOARD_BOOT && defined(DYN_DISABLE_AUTH)