/* Obtain a reference to the image by querying the platform layer */
io_result = plat_get_image_source(image_name, &dev_handle, &image_spec);
if (io_result != IO_SUCCESS) {
- ERROR("Failed to obtain reference to image '%s' (%i)\n",
+ WARN("Failed to obtain reference to image '%s' (%i)\n",
image_name, io_result);
return 0;
}
/* Attempt to access the image */
io_result = io_open(dev_handle, image_spec, &image_handle);
if (io_result != IO_SUCCESS) {
- ERROR("Failed to access image '%s' (%i)\n",
+ WARN("Failed to access image '%s' (%i)\n",
image_name, io_result);
return 0;
}
/* Find the size of the image */
io_result = io_size(image_handle, &image_size);
if ((io_result != IO_SUCCESS) || (image_size == 0)) {
- ERROR("Failed to determine the size of the image '%s' file (%i)\n",
+ WARN("Failed to determine the size of the image '%s' file (%i)\n",
image_name, io_result);
goto fail;
}
/* See if we have enough space */
if (image_size > mem_layout->free_size) {
- ERROR("ERROR: Cannot load '%s' file: Not enough space.\n",
+ WARN("Cannot load '%s' file: Not enough space.\n",
image_name);
dump_load_info(0, image_size, mem_layout);
goto fail;
assert(image_base <= temp_image_base);
if (image_base < mem_layout->free_base) {
- ERROR("Cannot load '%s' file: Not enough space.\n",
+ WARN("Cannot load '%s' file: Not enough space.\n",
image_name);
dump_load_info(image_base, image_size, mem_layout);
goto fail;
/* Page align base address and check whether the image still fits */
if (image_base + image_size >
mem_layout->free_base + mem_layout->free_size) {
- ERROR("Cannot load '%s' file: Not enough space.\n",
+ WARN("Cannot load '%s' file: Not enough space.\n",
image_name);
dump_load_info(image_base, image_size, mem_layout);
goto fail;
if ((image_base < mem_layout->free_base) ||
(image_base + image_size >
mem_layout->free_base + mem_layout->free_size)) {
- ERROR("Cannot load '%s' file: Not enough space.\n",
+ WARN("Cannot load '%s' file: Not enough space.\n",
image_name);
dump_load_info(image_base, image_size, mem_layout);
goto fail;
/* Check whether the fixed load address is page-aligned. */
if (!is_page_aligned(image_base)) {
- ERROR("Cannot load '%s' file at unaligned address 0x%lx\n",
+ WARN("Cannot load '%s' file at unaligned address 0x%lx\n",
image_name, fixed_addr);
goto fail;
}
/* TODO: Consider whether to try to recover/retry a partially successful read */
io_result = io_read(image_handle, (void *)image_base, image_size, &bytes_read);
if ((io_result != IO_SUCCESS) || (bytes_read < image_size)) {
- ERROR("Failed to load '%s' file (%i)\n", image_name, io_result);
+ WARN("Failed to load '%s' file (%i)\n", image_name, io_result);
goto fail;
}
result = plat_get_image_source(image_name, &backend_dev_handle,
&backend_image_spec);
if (result != IO_SUCCESS) {
- ERROR("Failed to obtain reference to image '%s' (%i)\n",
+ WARN("Failed to obtain reference to image '%s' (%i)\n",
image_name, result);
result = IO_FAIL;
goto fip_dev_init_exit;
result = io_open(backend_dev_handle, backend_image_spec,
&backend_handle);
if (result != IO_SUCCESS) {
- ERROR("Failed to access image '%s' (%i)\n", image_name, result);
+ WARN("Failed to access image '%s' (%i)\n", image_name, result);
result = IO_FAIL;
goto fip_dev_init_exit;
}
result = io_read(backend_handle, &header, sizeof(header), &bytes_read);
if (result == IO_SUCCESS) {
if (!is_valid_header(&header)) {
- ERROR("Firmware Image Package header check failed.\n");
+ WARN("Firmware Image Package header check failed.\n");
result = IO_FAIL;
} else {
INFO("FIP header looks OK.\n");
* than one open file at a time if needed.
*/
if (current_file.entry.offset_address != 0) {
- ERROR("fip_file_open : Only one open file at a time.\n");
+ WARN("fip_file_open : Only one open file at a time.\n");
return IO_RESOURCES_EXHAUSTED;
}
result = io_open(backend_dev_handle, backend_image_spec,
&backend_handle);
if (result != IO_SUCCESS) {
- ERROR("Failed to open Firmware Image Package (%i)\n", result);
+ WARN("Failed to open Firmware Image Package (%i)\n", result);
result = IO_FAIL;
goto fip_file_open_exit;
}
/* Seek past the FIP header into the Table of Contents */
result = io_seek(backend_handle, IO_SEEK_SET, sizeof(fip_toc_header));
if (result != IO_SUCCESS) {
- ERROR("fip_file_open: failed to seek\n");
+ WARN("fip_file_open: failed to seek\n");
result = IO_FAIL;
goto fip_file_open_close;
}
break;
}
} else {
- ERROR("Failed to read FIP (%i)\n", result);
+ WARN("Failed to read FIP (%i)\n", result);
goto fip_file_open_close;
}
} while (compare_uuids(¤t_file.entry.uuid, &uuid_null) != 0);
result = io_open(backend_dev_handle, backend_image_spec,
&backend_handle);
if (result != IO_SUCCESS) {
- ERROR("Failed to open FIP (%i)\n", result);
+ WARN("Failed to open FIP (%i)\n", result);
result = IO_FAIL;
goto fip_file_read_exit;
}
file_offset = fp->entry.offset_address + fp->file_pos;
result = io_seek(backend_handle, IO_SEEK_SET, file_offset);
if (result != IO_SUCCESS) {
- ERROR("fip_file_read: failed to seek\n");
+ WARN("fip_file_read: failed to seek\n");
result = IO_FAIL;
goto fip_file_read_close;
}
result = io_read(backend_handle, buffer, length, &bytes_read);
if (result != IO_SUCCESS) {
/* We cannot read our data. Fail. */
- ERROR("Failed to read payload (%i)\n", result);
+ WARN("Failed to read payload (%i)\n", result);
result = IO_FAIL;
goto fip_file_read_close;
} else {
entity->info = (uintptr_t)¤t_file;
result = IO_SUCCESS;
} else {
- ERROR("A Memmap device is already active. Close first.\n");
+ WARN("A Memmap device is already active. Close first.\n");
result = IO_RESOURCES_EXHAUSTED;
}
int result = IO_FAIL;
void *local_image_spec = &bl33_file_spec;
- INFO("Loading BL33 (UEFI)\n");
+ INFO("Loading BL33 (Normal world firmware)\n");
/* FIP first then fall back to semi-hosting */
result = open_fip(local_image_spec);
if (result == IO_SUCCESS) {