diff options
Diffstat (limited to 'arch/sandbox/cpu/spl.c')
| -rw-r--r-- | arch/sandbox/cpu/spl.c | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c index e7b4b50681a..f82b0d3de16 100644 --- a/arch/sandbox/cpu/spl.c +++ b/arch/sandbox/cpu/spl.c @@ -13,7 +13,7 @@  #include <asm/global_data.h>  #include <asm/spl.h>  #include <asm/state.h> -#include <test/test.h> +#include <test/ut.h>  DECLARE_GLOBAL_DATA_PTR; @@ -37,16 +37,20 @@ static int spl_board_load_image(struct spl_image_info *spl_image,  	char fname[256];  	int ret; -	ret = os_find_u_boot(fname, sizeof(fname)); +	ret = os_find_u_boot(fname, sizeof(fname), false);  	if (ret) {  		printf("(%s not found, error %d)\n", fname, ret);  		return ret;  	} -	/* Set up spl_image to boot from jump_to_image_no_args() */ -	spl_image->arg = strdup(fname); +	/* +	 * Set up spl_image to boot from jump_to_image_no_args(). Allocate this +	 * outsdide the RAM buffer (i.e. don't use strdup()). +	 */ +	spl_image->arg = os_malloc(strlen(fname) + 1);  	if (!spl_image->arg) -		return log_msg_ret("Setup exec filename", -ENOMEM); +		return log_msg_ret("exec", -ENOMEM); +	strcpy(spl_image->arg, fname);  	return 0;  } @@ -59,9 +63,12 @@ void spl_board_init(void)  	preloader_console_init();  	if (state->run_unittests) { +		struct unit_test *tests = UNIT_TEST_ALL_START(); +		const int count = UNIT_TEST_ALL_COUNT();  		int ret; -		ret = dm_test_main(state->select_unittests); +		ret = ut_run_list("spl", NULL, tests, count, +				  state->select_unittests);  		/* continue execution into U-Boot */  	}  } | 
