mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 21:44:15 +00:00
Report recoverable errors as warnings
At present many recoverable failures are reported as errors. This patch modifies all such failures to be reported as warnings instead. Change-Id: I5141653c82498defcada9b90fdf7498ba496b2f2
This commit is contained in:
parent
916a2c1ec1
commit
08c28d5385
4 changed files with 21 additions and 21 deletions
|
@ -278,7 +278,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
/* Obtain a reference to the image by querying the platform layer */
|
/* Obtain a reference to the image by querying the platform layer */
|
||||||
io_result = plat_get_image_source(image_name, &dev_handle, &image_spec);
|
io_result = plat_get_image_source(image_name, &dev_handle, &image_spec);
|
||||||
if (io_result != IO_SUCCESS) {
|
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);
|
image_name, io_result);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -286,7 +286,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
/* Attempt to access the image */
|
/* Attempt to access the image */
|
||||||
io_result = io_open(dev_handle, image_spec, &image_handle);
|
io_result = io_open(dev_handle, image_spec, &image_handle);
|
||||||
if (io_result != IO_SUCCESS) {
|
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);
|
image_name, io_result);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -294,14 +294,14 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
/* Find the size of the image */
|
/* Find the size of the image */
|
||||||
io_result = io_size(image_handle, &image_size);
|
io_result = io_size(image_handle, &image_size);
|
||||||
if ((io_result != IO_SUCCESS) || (image_size == 0)) {
|
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);
|
image_name, io_result);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See if we have enough space */
|
/* See if we have enough space */
|
||||||
if (image_size > mem_layout->free_size) {
|
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);
|
image_name);
|
||||||
dump_load_info(0, image_size, mem_layout);
|
dump_load_info(0, image_size, mem_layout);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -320,7 +320,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
assert(image_base <= temp_image_base);
|
assert(image_base <= temp_image_base);
|
||||||
|
|
||||||
if (image_base < mem_layout->free_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);
|
image_name);
|
||||||
dump_load_info(image_base, image_size, mem_layout);
|
dump_load_info(image_base, image_size, mem_layout);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -341,7 +341,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
/* Page align base address and check whether the image still fits */
|
/* Page align base address and check whether the image still fits */
|
||||||
if (image_base + image_size >
|
if (image_base + image_size >
|
||||||
mem_layout->free_base + mem_layout->free_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);
|
image_name);
|
||||||
dump_load_info(image_base, image_size, mem_layout);
|
dump_load_info(image_base, image_size, mem_layout);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -406,7 +406,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
if ((image_base < mem_layout->free_base) ||
|
if ((image_base < mem_layout->free_base) ||
|
||||||
(image_base + image_size >
|
(image_base + image_size >
|
||||||
mem_layout->free_base + mem_layout->free_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);
|
image_name);
|
||||||
dump_load_info(image_base, image_size, mem_layout);
|
dump_load_info(image_base, image_size, mem_layout);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -414,7 +414,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
|
|
||||||
/* Check whether the fixed load address is page-aligned. */
|
/* Check whether the fixed load address is page-aligned. */
|
||||||
if (!is_page_aligned(image_base)) {
|
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);
|
image_name, fixed_addr);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
@ -465,7 +465,7 @@ unsigned long load_image(meminfo *mem_layout,
|
||||||
/* TODO: Consider whether to try to recover/retry a partially successful read */
|
/* 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);
|
io_result = io_read(image_handle, (void *)image_base, image_size, &bytes_read);
|
||||||
if ((io_result != IO_SUCCESS) || (bytes_read < image_size)) {
|
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;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -184,7 +184,7 @@ static int fip_dev_init(struct io_dev_info *dev_info, const void *init_params)
|
||||||
result = plat_get_image_source(image_name, &backend_dev_handle,
|
result = plat_get_image_source(image_name, &backend_dev_handle,
|
||||||
&backend_image_spec);
|
&backend_image_spec);
|
||||||
if (result != IO_SUCCESS) {
|
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);
|
image_name, result);
|
||||||
result = IO_FAIL;
|
result = IO_FAIL;
|
||||||
goto fip_dev_init_exit;
|
goto fip_dev_init_exit;
|
||||||
|
@ -194,7 +194,7 @@ static int fip_dev_init(struct io_dev_info *dev_info, const void *init_params)
|
||||||
result = io_open(backend_dev_handle, backend_image_spec,
|
result = io_open(backend_dev_handle, backend_image_spec,
|
||||||
&backend_handle);
|
&backend_handle);
|
||||||
if (result != IO_SUCCESS) {
|
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;
|
result = IO_FAIL;
|
||||||
goto fip_dev_init_exit;
|
goto fip_dev_init_exit;
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,7 @@ static int fip_dev_init(struct io_dev_info *dev_info, const void *init_params)
|
||||||
result = io_read(backend_handle, &header, sizeof(header), &bytes_read);
|
result = io_read(backend_handle, &header, sizeof(header), &bytes_read);
|
||||||
if (result == IO_SUCCESS) {
|
if (result == IO_SUCCESS) {
|
||||||
if (!is_valid_header(&header)) {
|
if (!is_valid_header(&header)) {
|
||||||
ERROR("Firmware Image Package header check failed.\n");
|
WARN("Firmware Image Package header check failed.\n");
|
||||||
result = IO_FAIL;
|
result = IO_FAIL;
|
||||||
} else {
|
} else {
|
||||||
INFO("FIP header looks OK.\n");
|
INFO("FIP header looks OK.\n");
|
||||||
|
@ -249,7 +249,7 @@ static int fip_file_open(struct io_dev_info *dev_info, const void *spec,
|
||||||
* than one open file at a time if needed.
|
* than one open file at a time if needed.
|
||||||
*/
|
*/
|
||||||
if (current_file.entry.offset_address != 0) {
|
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;
|
return IO_RESOURCES_EXHAUSTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ static int fip_file_open(struct io_dev_info *dev_info, const void *spec,
|
||||||
result = io_open(backend_dev_handle, backend_image_spec,
|
result = io_open(backend_dev_handle, backend_image_spec,
|
||||||
&backend_handle);
|
&backend_handle);
|
||||||
if (result != IO_SUCCESS) {
|
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;
|
result = IO_FAIL;
|
||||||
goto fip_file_open_exit;
|
goto fip_file_open_exit;
|
||||||
}
|
}
|
||||||
|
@ -265,7 +265,7 @@ static int fip_file_open(struct io_dev_info *dev_info, const void *spec,
|
||||||
/* Seek past the FIP header into the Table of Contents */
|
/* Seek past the FIP header into the Table of Contents */
|
||||||
result = io_seek(backend_handle, IO_SEEK_SET, sizeof(fip_toc_header));
|
result = io_seek(backend_handle, IO_SEEK_SET, sizeof(fip_toc_header));
|
||||||
if (result != IO_SUCCESS) {
|
if (result != IO_SUCCESS) {
|
||||||
ERROR("fip_file_open: failed to seek\n");
|
WARN("fip_file_open: failed to seek\n");
|
||||||
result = IO_FAIL;
|
result = IO_FAIL;
|
||||||
goto fip_file_open_close;
|
goto fip_file_open_close;
|
||||||
}
|
}
|
||||||
|
@ -284,7 +284,7 @@ static int fip_file_open(struct io_dev_info *dev_info, const void *spec,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ERROR("Failed to read FIP (%i)\n", result);
|
WARN("Failed to read FIP (%i)\n", result);
|
||||||
goto fip_file_open_close;
|
goto fip_file_open_close;
|
||||||
}
|
}
|
||||||
} while (compare_uuids(¤t_file.entry.uuid, &uuid_null) != 0);
|
} while (compare_uuids(¤t_file.entry.uuid, &uuid_null) != 0);
|
||||||
|
@ -341,7 +341,7 @@ static int fip_file_read(struct io_entity *entity, void *buffer, size_t length,
|
||||||
result = io_open(backend_dev_handle, backend_image_spec,
|
result = io_open(backend_dev_handle, backend_image_spec,
|
||||||
&backend_handle);
|
&backend_handle);
|
||||||
if (result != IO_SUCCESS) {
|
if (result != IO_SUCCESS) {
|
||||||
ERROR("Failed to open FIP (%i)\n", result);
|
WARN("Failed to open FIP (%i)\n", result);
|
||||||
result = IO_FAIL;
|
result = IO_FAIL;
|
||||||
goto fip_file_read_exit;
|
goto fip_file_read_exit;
|
||||||
}
|
}
|
||||||
|
@ -352,7 +352,7 @@ static int fip_file_read(struct io_entity *entity, void *buffer, size_t length,
|
||||||
file_offset = fp->entry.offset_address + fp->file_pos;
|
file_offset = fp->entry.offset_address + fp->file_pos;
|
||||||
result = io_seek(backend_handle, IO_SEEK_SET, file_offset);
|
result = io_seek(backend_handle, IO_SEEK_SET, file_offset);
|
||||||
if (result != IO_SUCCESS) {
|
if (result != IO_SUCCESS) {
|
||||||
ERROR("fip_file_read: failed to seek\n");
|
WARN("fip_file_read: failed to seek\n");
|
||||||
result = IO_FAIL;
|
result = IO_FAIL;
|
||||||
goto fip_file_read_close;
|
goto fip_file_read_close;
|
||||||
}
|
}
|
||||||
|
@ -360,7 +360,7 @@ static int fip_file_read(struct io_entity *entity, void *buffer, size_t length,
|
||||||
result = io_read(backend_handle, buffer, length, &bytes_read);
|
result = io_read(backend_handle, buffer, length, &bytes_read);
|
||||||
if (result != IO_SUCCESS) {
|
if (result != IO_SUCCESS) {
|
||||||
/* We cannot read our data. Fail. */
|
/* 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;
|
result = IO_FAIL;
|
||||||
goto fip_file_read_close;
|
goto fip_file_read_close;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -137,7 +137,7 @@ static int memmap_block_open(struct io_dev_info *dev_info, const void *spec,
|
||||||
entity->info = (uintptr_t)¤t_file;
|
entity->info = (uintptr_t)¤t_file;
|
||||||
result = IO_SUCCESS;
|
result = IO_SUCCESS;
|
||||||
} else {
|
} 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;
|
result = IO_RESOURCES_EXHAUSTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -234,7 +234,7 @@ static int fvp_bl33_policy(io_dev_handle *dev_handle, void **image_spec)
|
||||||
int result = IO_FAIL;
|
int result = IO_FAIL;
|
||||||
void *local_image_spec = &bl33_file_spec;
|
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 */
|
/* FIP first then fall back to semi-hosting */
|
||||||
result = open_fip(local_image_spec);
|
result = open_fip(local_image_spec);
|
||||||
if (result == IO_SUCCESS) {
|
if (result == IO_SUCCESS) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue