summaryrefslogtreecommitdiff
path: root/src/set.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/set.c')
-rw-r--r--src/set.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/set.c b/src/set.c
index b2872a6..a092014 100644
--- a/src/set.c
+++ b/src/set.c
@@ -122,37 +122,37 @@ set_bootloader(build_image_context *context,
*
* @param context The main context pointer
* @param token The parse token value
- * @param value The value to set
+ * @param value The pointer of value to set
* @return 0 for success
*/
int context_set_value(build_image_context *context,
parse_token token,
- u_int32_t value)
+ void *value)
{
assert(context != NULL);
switch (token) {
case token_attribute:
- context->newbl_attr = value;
+ context->newbl_attr = *((u_int32_t *)value);
break;
case token_block_size:
- context->block_size = value;
- context->block_size_log2 = log2(value);
+ context->block_size = *((u_int32_t *)value);
+ context->block_size_log2 = log2(*((u_int32_t *)value));
if (context->memory != NULL) {
printf("Error: Too late to change block size.\n");
return 1;
}
- if (value != (u_int32_t)(1 << context->block_size_log2)) {
+ if (context->block_size != (u_int32_t)(1 << context->block_size_log2)) {
printf("Error: Block size must be a power of 2.\n");
return 1;
}
context->pages_per_blk= 1 << (context->block_size_log2-
context->page_size_log2);
g_soc_config->set_value(token_block_size_log2,
- context->block_size_log2, context->bct);
+ &(context->block_size_log2), context->bct);
break;
case token_partition_size:
@@ -161,16 +161,16 @@ int context_set_value(build_image_context *context,
return 1;
}
- context->partition_size= value;
+ context->partition_size= *((u_int32_t *)value);
g_soc_config->set_value(token_partition_size,
value, context->bct);
break;
case token_page_size:
- context->page_size = value;
- context->page_size_log2 = log2(value);
+ context->page_size = *((u_int32_t *)value);
+ context->page_size_log2 = log2(*((u_int32_t *)value));
- if (value != (u_int32_t)(1 << context->page_size_log2)) {
+ if (context->page_size != (u_int32_t)(1 << context->page_size_log2)) {
printf("Error: Page size must be a power of 2.\n");
return 1;
}
@@ -178,22 +178,22 @@ int context_set_value(build_image_context *context,
context->page_size_log2);
g_soc_config->set_value(token_page_size_log2,
- context->page_size_log2, context->bct);
+ &(context->page_size_log2), context->bct);
break;
case token_redundancy:
- context->redundancy = value;
+ context->redundancy = *((u_int32_t *)value);
break;
case token_version:
- context->version = value;
+ context->version = *((u_int32_t *)value);
break;
case token_bct_copy:
- context->bct_copy = value;
+ context->bct_copy = *((u_int32_t *)value);
break;
case token_odm_data:
- context->odm_data = value;
+ context->odm_data = *((u_int32_t *)value);
break;
case token_pre_bct_pad_blocks:
@@ -201,7 +201,7 @@ int context_set_value(build_image_context *context,
printf("Error: Too late to pre-BCT pad.\n");
return 1;
}
- context->pre_bct_pad_blocks = value;
+ context->pre_bct_pad_blocks = *((u_int32_t *)value);
break;
DEFAULT();