vc/siemens/hwilib: Rename 'maxlen' to 'dstsize'
The parameter 'maxlen' can be a bit confusing as it actually is referring to the size of the destination memory block where the requested parameter is stored to. Rename it to 'dstsize' and change the type to size_t to be more clear here. In addition, add a comment line for this parameter in the description of the function 'hwilib_get_field()'. This patch has no impact to the generated binary (checked with timeless build). Change-Id: I572dc0f3ff3d0c177d608332a88991396b82c2fd Signed-off-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72045 Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Jan Samek <jan.samek@siemens.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
This commit is contained in:
parent
610be7018b
commit
fcff39f0ea
|
@ -43,7 +43,7 @@ enum {
|
||||||
struct param_pos {
|
struct param_pos {
|
||||||
uint8_t blk_type; /* Valid for a specific block type */
|
uint8_t blk_type; /* Valid for a specific block type */
|
||||||
uint32_t offset; /* Offset in given block */
|
uint32_t offset; /* Offset in given block */
|
||||||
uint32_t len; /* Length for the field in this block */
|
size_t len; /* Length for the field in this block */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This structure holds all the needed information for a given field type
|
/* This structure holds all the needed information for a given field type
|
||||||
|
@ -53,8 +53,7 @@ struct param_info {
|
||||||
struct param_pos pos[MAX_BLOCK_NUM];
|
struct param_pos pos[MAX_BLOCK_NUM];
|
||||||
uint64_t mask;
|
uint64_t mask;
|
||||||
uint8_t mask_offset;
|
uint8_t mask_offset;
|
||||||
uint32_t (*get_field)(const struct param_info *param, uint8_t *dst,
|
uint32_t (*get_field)(const struct param_info *param, uint8_t *dst, size_t dstsize);
|
||||||
uint32_t maxlen);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Storage for pointers to the different blocks. The contents will be filled
|
/* Storage for pointers to the different blocks. The contents will be filled
|
||||||
|
@ -70,9 +69,7 @@ static uint16_t all_blk_size[MAX_BLOCK_NUM];
|
||||||
/* Storage for the cbfs file name of the currently open hwi file. */
|
/* Storage for the cbfs file name of the currently open hwi file. */
|
||||||
static char current_hwi[HWI_MAX_NAME_LEN];
|
static char current_hwi[HWI_MAX_NAME_LEN];
|
||||||
|
|
||||||
|
static uint32_t hwilib_read_bytes(const struct param_info *param, uint8_t *dst, size_t dstsize);
|
||||||
static uint32_t hwilib_read_bytes(const struct param_info *param, uint8_t *dst,
|
|
||||||
uint32_t maxlen);
|
|
||||||
|
|
||||||
/* Add all supported fields to this variable. It is important to use the
|
/* Add all supported fields to this variable. It is important to use the
|
||||||
* field type of a given field as the array index so that all the information
|
* field type of a given field as the array index so that all the information
|
||||||
|
@ -385,10 +382,10 @@ static const struct param_info params[] = {
|
||||||
* block
|
* block
|
||||||
* @param *param Parameter to read from hwinfo
|
* @param *param Parameter to read from hwinfo
|
||||||
* @param *dst Pointer to memory where the data will be stored in
|
* @param *dst Pointer to memory where the data will be stored in
|
||||||
* @return number of copied bytes on success, 0 on error
|
* @param dstsize Size of the memory passed in via the *dst pointer
|
||||||
|
* @return Number of copied bytes on success, 0 on error
|
||||||
*/
|
*/
|
||||||
static uint32_t hwilib_read_bytes(const struct param_info *param, uint8_t *dst,
|
static uint32_t hwilib_read_bytes(const struct param_info *param, uint8_t *dst, size_t dstsize)
|
||||||
uint32_t maxlen)
|
|
||||||
{
|
{
|
||||||
uint8_t i = 0, *blk = NULL;
|
uint8_t i = 0, *blk = NULL;
|
||||||
|
|
||||||
|
@ -405,9 +402,9 @@ static uint32_t hwilib_read_bytes(const struct param_info *param, uint8_t *dst,
|
||||||
} while (i < MAX_BLOCK_NUM);
|
} while (i < MAX_BLOCK_NUM);
|
||||||
|
|
||||||
/* Ensure there is a valid block available for this parameter and
|
/* Ensure there is a valid block available for this parameter and
|
||||||
* the length of the parameter do not exceed maxlen or block len.
|
* the length of the parameter do not exceed dstsize or block len.
|
||||||
*/
|
*/
|
||||||
if ((!blk) || (param->pos[i].len > maxlen) ||
|
if ((!blk) || (param->pos[i].len > dstsize) ||
|
||||||
(param->pos[i].len + param->pos[i].offset >
|
(param->pos[i].len + param->pos[i].offset >
|
||||||
all_blk_size[param->pos[i].blk_type]))
|
all_blk_size[param->pos[i].blk_type]))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -541,13 +538,14 @@ enum cb_err hwilib_find_blocks(const char *hwi_filename)
|
||||||
* hwinfo block.
|
* hwinfo block.
|
||||||
* @param field Field type to read from hwinfo
|
* @param field Field type to read from hwinfo
|
||||||
* @param *dst Pointer to memory where the data will be stored in
|
* @param *dst Pointer to memory where the data will be stored in
|
||||||
* @return number of copied bytes on success, 0 on error
|
* @param dstsize Size of the memory passed in via the *dst pointer
|
||||||
|
* @return Number of copied bytes on success, 0 on error
|
||||||
*/
|
*/
|
||||||
uint32_t hwilib_get_field(hwinfo_field_t field, uint8_t *dst, uint32_t maxlen)
|
uint32_t hwilib_get_field(hwinfo_field_t field, uint8_t *dst, size_t dstsize)
|
||||||
{
|
{
|
||||||
/* Check the boundaries of params-variable */
|
/* Check the boundaries of params-variable */
|
||||||
if ((uint32_t)field < ARRAY_SIZE(params))
|
if ((uint32_t)field < ARRAY_SIZE(params))
|
||||||
return params[field].get_field(¶ms[field], dst, maxlen);
|
return params[field].get_field(¶ms[field], dst, dstsize);
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,6 +123,6 @@ enum cb_err hwilib_find_blocks(const char *hwi_filename);
|
||||||
/* Use this function to get fields out of supported info blocks
|
/* Use this function to get fields out of supported info blocks
|
||||||
* This function returns the number of copied bytes or 0 on error.
|
* This function returns the number of copied bytes or 0 on error.
|
||||||
*/
|
*/
|
||||||
uint32_t hwilib_get_field(hwinfo_field_t field, uint8_t *data, uint32_t maxlen);
|
uint32_t hwilib_get_field(hwinfo_field_t field, uint8_t *dst, size_t dstsize);
|
||||||
|
|
||||||
#endif /* SIEMENS_HWI_LIB_H_ */
|
#endif /* SIEMENS_HWI_LIB_H_ */
|
||||||
|
|
Loading…
Reference in New Issue