diff options
Diffstat (limited to 'src/set.c')
-rw-r--r-- | src/set.c | 34 |
1 files changed, 17 insertions, 17 deletions
@@ -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(); |