diff options
author | danh-arm <dan.handley@arm.com> | 2015-10-26 11:02:40 +0000 |
---|---|---|
committer | danh-arm <dan.handley@arm.com> | 2015-10-26 11:02:40 +0000 |
commit | 1a2ee045b6ae36f2087caf97bbe7136317c0607c (patch) | |
tree | bcbb19352ff5a688929e0dead3858423822f5a7d | |
parent | 84ab33e1e95500a3dfc776fe416b9d1a51288057 (diff) | |
parent | 78460a05e4504c861708f19812f8cb1710a99edc (diff) |
Merge pull request #414 from jcastillo-arm/jc/io_ret_values
Use standard error code definitions
-rw-r--r-- | bl2/bl2_main.c | 3 | ||||
-rw-r--r-- | common/bl_common.c | 20 | ||||
-rw-r--r-- | docs/porting-guide.md | 5 | ||||
-rw-r--r-- | include/common/bl_common.h | 9 | ||||
-rw-r--r-- | include/drivers/io/io_storage.h | 11 |
5 files changed, 21 insertions, 27 deletions
diff --git a/bl2/bl2_main.c b/bl2/bl2_main.c index 71940a62..404744b7 100644 --- a/bl2/bl2_main.c +++ b/bl2/bl2_main.c @@ -34,6 +34,7 @@ #include <auth_mod.h> #include <bl_common.h> #include <debug.h> +#include <errno.h> #include <platform.h> #include <platform_def.h> #include <stdint.h> @@ -239,7 +240,7 @@ void bl2_main(void) e = load_bl32(bl2_to_bl31_params); if (e) { - if (e == LOAD_AUTH_ERR) { + if (e == -EAUTH) { ERROR("Failed to authenticate BL3-2\n"); panic(); } else { diff --git a/common/bl_common.c b/common/bl_common.c index 73c615e5..91a0ae8c 100644 --- a/common/bl_common.c +++ b/common/bl_common.c @@ -207,7 +207,7 @@ int load_image(meminfo_t *mem_layout, uintptr_t image_spec; size_t image_size; size_t bytes_read; - int io_result = IO_FAIL; + int io_result; assert(mem_layout != NULL); assert(image_data != NULL); @@ -215,7 +215,7 @@ int load_image(meminfo_t *mem_layout, /* 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 != IO_SUCCESS) { + if (io_result != 0) { WARN("Failed to obtain reference to image id=%u (%i)\n", image_id, io_result); return io_result; @@ -223,7 +223,7 @@ int load_image(meminfo_t *mem_layout, /* Attempt to access the image */ io_result = io_open(dev_handle, image_spec, &image_handle); - if (io_result != IO_SUCCESS) { + if (io_result != 0) { WARN("Failed to access image id=%u (%i)\n", image_id, io_result); return io_result; @@ -233,7 +233,7 @@ int load_image(meminfo_t *mem_layout, /* Find the size of the image */ io_result = io_size(image_handle, &image_size); - if ((io_result != IO_SUCCESS) || (image_size == 0)) { + if ((io_result != 0) || (image_size == 0)) { WARN("Failed to determine the size of the image id=%u (%i)\n", image_id, io_result); goto exit; @@ -252,7 +252,7 @@ int load_image(meminfo_t *mem_layout, /* We have enough space so load the image now */ /* TODO: Consider whether to try to recover/retry a partially successful read */ io_result = io_read(image_handle, image_base, image_size, &bytes_read); - if ((io_result != IO_SUCCESS) || (bytes_read < image_size)) { + if ((io_result != 0) || (bytes_read < image_size)) { WARN("Failed to load image id=%u (%i)\n", image_id, io_result); goto exit; } @@ -319,7 +319,7 @@ int load_auth_image(meminfo_t *mem_layout, if (rc == 0) { rc = load_auth_image(mem_layout, parent_id, image_base, image_data, NULL); - if (rc != LOAD_SUCCESS) { + if (rc != 0) { return rc; } } @@ -328,8 +328,8 @@ int load_auth_image(meminfo_t *mem_layout, /* Load the image */ rc = load_image(mem_layout, image_id, image_base, image_data, entry_point_info); - if (rc != IO_SUCCESS) { - return LOAD_ERR; + if (rc != 0) { + return rc; } #if TRUSTED_BOARD_BOOT @@ -342,7 +342,7 @@ int load_auth_image(meminfo_t *mem_layout, image_data->image_size); flush_dcache_range(image_data->image_base, image_data->image_size); - return LOAD_AUTH_ERR; + return -EAUTH; } /* After working with data, invalidate the data cache */ @@ -350,5 +350,5 @@ int load_auth_image(meminfo_t *mem_layout, (size_t)image_data->image_size); #endif /* TRUSTED_BOARD_BOOT */ - return LOAD_SUCCESS; + return 0; } diff --git a/docs/porting-guide.md b/docs/porting-guide.md index c369844c..db6038a4 100644 --- a/docs/porting-guide.md +++ b/docs/porting-guide.md @@ -358,13 +358,12 @@ must also be defined: Defines the maximum number of registered IO devices. Attempting to register more devices than this value using `io_register_device()` will fail with - IO_RESOURCES_EXHAUSTED. + -ENOMEM. * **#define : MAX_IO_HANDLES** Defines the maximum number of open IO handles. Attempting to open more IO - entities than this value using `io_open()` will fail with - IO_RESOURCES_EXHAUSTED. + entities than this value using `io_open()` will fail with -ENOMEM. If the platform needs to allocate data within the per-cpu data framework in BL3-1, it should define the following macro. Currently this is only required if diff --git a/include/common/bl_common.h b/include/common/bl_common.h index 164377f6..c687b354 100644 --- a/include/common/bl_common.h +++ b/include/common/bl_common.h @@ -202,15 +202,6 @@ typedef struct bl31_params { image_info_t *bl33_image_info; } bl31_params_t; -/* - * load_auth_image() return values - */ -enum { - LOAD_SUCCESS, /* Load + authentication success */ - LOAD_ERR, /* Load error */ - LOAD_AUTH_ERR /* Authentication error */ -}; - /* * Compile time assertions related to the 'entry_point_info' structure to diff --git a/include/drivers/io/io_storage.h b/include/drivers/io/io_storage.h index e98dcd04..4c3526ef 100644 --- a/include/drivers/io/io_storage.h +++ b/include/drivers/io/io_storage.h @@ -31,6 +31,7 @@ #ifndef __IO_H__ #define __IO_H__ +#include <errno.h> #include <stdint.h> #include <stdio.h> /* For ssize_t */ #include <uuid.h> @@ -88,11 +89,13 @@ typedef struct io_block_spec { #define IO_MODE_RW (1 << 1) -/* Return codes reported by 'io_*' APIs */ +/* Return codes reported by 'io_*' APIs. + * IMPORTANT: these definitions are deprecated. Callers should use standard + * errno definitions when checking the return value of io_* APIs. */ #define IO_SUCCESS (0) -#define IO_FAIL (-1) -#define IO_NOT_SUPPORTED (-2) -#define IO_RESOURCES_EXHAUSTED (-3) +#define IO_FAIL (-ENOENT) +#define IO_NOT_SUPPORTED (-ENODEV) +#define IO_RESOURCES_EXHAUSTED (-ENOMEM) /* Open a connection to a device */ |