mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	Stop passing around bootmem_base value.
For the calls to boot_relocate_fdt(), boot_get_cmdline(), and boot_get_kbd(), the value of bootmem_base is always obtained by calling getenv_bootm_low(). Since the value always comes from the same source, the calling signature for those functions can be simplified by making them call getenv_bootm_low() directly. Signed-off-by: Grant Likely <grant.likely@linaro.org>
This commit is contained in:
		
				
					committed by
					
						 Gerald Van Baren
						Gerald Van Baren
					
				
			
			
				
	
			
			
			
						parent
						
							a01ebd9679
						
					
				
				
					commit
					590d3cacb9
				
			| @@ -178,7 +178,6 @@ static int bootm_linux_fdt(int machid, bootm_headers_t *images) | ||||
| { | ||||
| 	ulong rd_len; | ||||
| 	void (*kernel_entry)(int zero, int dt_machid, void *dtblob); | ||||
| 	ulong bootmap_base = getenv_bootm_low(); | ||||
| 	ulong of_size = images->ft_len; | ||||
| 	char **of_flat_tree = &images->ft_addr; | ||||
| 	ulong *initrd_start = &images->initrd_start; | ||||
| @@ -194,7 +193,7 @@ static int bootm_linux_fdt(int machid, bootm_headers_t *images) | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
|  | ||||
| 	ret = boot_relocate_fdt(lmb, bootmap_base, of_flat_tree, &of_size); | ||||
| 	ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
|  | ||||
|   | ||||
| @@ -71,7 +71,6 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||||
| 	int ret; | ||||
|  | ||||
| 	ulong cmd_start, cmd_end; | ||||
| 	ulong bootmap_base; | ||||
| 	bd_t  *kbd; | ||||
| 	void  (*kernel) (bd_t *, ulong, ulong, ulong, ulong); | ||||
| 	struct lmb *lmb = &images->lmb; | ||||
| @@ -79,17 +78,15 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima | ||||
| 	if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) | ||||
| 		return 1; | ||||
|  | ||||
| 	bootmap_base = getenv_bootm_low(); | ||||
|  | ||||
| 	/* allocate space and init command line */ | ||||
| 	ret = boot_get_cmdline (lmb, &cmd_start, &cmd_end, bootmap_base); | ||||
| 	ret = boot_get_cmdline (lmb, &cmd_start, &cmd_end); | ||||
| 	if (ret) { | ||||
| 		puts("ERROR with allocation of cmdline\n"); | ||||
| 		goto error; | ||||
| 	} | ||||
|  | ||||
| 	/* allocate space for kernel copy of board info */ | ||||
| 	ret = boot_get_kbd (lmb, &kbd, bootmap_base); | ||||
| 	ret = boot_get_kbd (lmb, &kbd); | ||||
| 	if (ret) { | ||||
| 		puts("ERROR with allocation of kernel bd\n"); | ||||
| 		goto error; | ||||
|   | ||||
| @@ -186,7 +186,6 @@ static void boot_prep_linux(void) | ||||
|  | ||||
| static int boot_cmdline_linux(bootm_headers_t *images) | ||||
| { | ||||
| 	ulong bootmap_base = getenv_bootm_low(); | ||||
| 	ulong of_size = images->ft_len; | ||||
| 	struct lmb *lmb = &images->lmb; | ||||
| 	ulong *cmd_start = &images->cmdline_start; | ||||
| @@ -196,7 +195,7 @@ static int boot_cmdline_linux(bootm_headers_t *images) | ||||
|  | ||||
| 	if (!of_size) { | ||||
| 		/* allocate space and init command line */ | ||||
| 		ret = boot_get_cmdline (lmb, cmd_start, cmd_end, bootmap_base); | ||||
| 		ret = boot_get_cmdline (lmb, cmd_start, cmd_end); | ||||
| 		if (ret) { | ||||
| 			puts("ERROR with allocation of cmdline\n"); | ||||
| 			return ret; | ||||
| @@ -208,7 +207,6 @@ static int boot_cmdline_linux(bootm_headers_t *images) | ||||
|  | ||||
| static int boot_bd_t_linux(bootm_headers_t *images) | ||||
| { | ||||
| 	ulong bootmap_base = getenv_bootm_low(); | ||||
| 	ulong of_size = images->ft_len; | ||||
| 	struct lmb *lmb = &images->lmb; | ||||
| 	bd_t **kbd = &images->kbd; | ||||
| @@ -217,7 +215,7 @@ static int boot_bd_t_linux(bootm_headers_t *images) | ||||
|  | ||||
| 	if (!of_size) { | ||||
| 		/* allocate space for kernel copy of board info */ | ||||
| 		ret = boot_get_kbd (lmb, kbd, bootmap_base); | ||||
| 		ret = boot_get_kbd (lmb, kbd); | ||||
| 		if (ret) { | ||||
| 			puts("ERROR with allocation of kernel bd\n"); | ||||
| 			return ret; | ||||
| @@ -235,7 +233,6 @@ static int boot_body_linux(bootm_headers_t *images) | ||||
| 	ulong *initrd_start = &images->initrd_start; | ||||
| 	ulong *initrd_end = &images->initrd_end; | ||||
| #if defined(CONFIG_OF_LIBFDT) | ||||
| 	ulong bootmap_base = getenv_bootm_low(); | ||||
| 	ulong of_size = images->ft_len; | ||||
| 	char **of_flat_tree = &images->ft_addr; | ||||
| #endif | ||||
| @@ -258,7 +255,7 @@ static int boot_body_linux(bootm_headers_t *images) | ||||
| 		return ret; | ||||
|  | ||||
| #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_SYS_BOOTMAPSZ) | ||||
| 	ret = boot_relocate_fdt(lmb, bootmap_base, of_flat_tree, &of_size); | ||||
| 	ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
|  | ||||
|   | ||||
| @@ -547,8 +547,7 @@ int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv | ||||
| #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_SYS_BOOTMAPSZ) | ||||
| 		case BOOTM_STATE_FDT: | ||||
| 		{ | ||||
| 			ulong bootmap_base = getenv_bootm_low(); | ||||
| 			ret = boot_relocate_fdt(&images.lmb, bootmap_base, | ||||
| 			ret = boot_relocate_fdt(&images.lmb, | ||||
| 				&images.ft_addr, &images.ft_len); | ||||
| 			break; | ||||
| 		} | ||||
|   | ||||
| @@ -1172,7 +1172,6 @@ static int fit_check_fdt (const void *fit, int fdt_noffset, int verify) | ||||
| /** | ||||
|  * boot_relocate_fdt - relocate flat device tree | ||||
|  * @lmb: pointer to lmb handle, will be used for memory mgmt | ||||
|  * @bootmap_base: base address of the bootmap region | ||||
|  * @of_flat_tree: pointer to a char* variable, will hold fdt start address | ||||
|  * @of_size: pointer to a ulong variable, will hold fdt length | ||||
|  * | ||||
| @@ -1188,8 +1187,7 @@ static int fit_check_fdt (const void *fit, int fdt_noffset, int verify) | ||||
|  *      1 - failure | ||||
|  */ | ||||
| #if defined(CONFIG_SYS_BOOTMAPSZ) | ||||
| int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, | ||||
| 		char **of_flat_tree, ulong *of_size) | ||||
| int boot_relocate_fdt (struct lmb *lmb, char **of_flat_tree, ulong *of_size) | ||||
| { | ||||
| 	void	*fdt_blob = *of_flat_tree; | ||||
| 	void	*of_start = 0; | ||||
| @@ -1209,7 +1207,7 @@ int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, | ||||
| 	/* Pad the FDT by a specified amount */ | ||||
| 	of_len = *of_size + CONFIG_SYS_FDT_PAD; | ||||
| 	of_start = (void *)(unsigned long)lmb_alloc_base(lmb, of_len, 0x1000, | ||||
| 			(CONFIG_SYS_BOOTMAPSZ + bootmap_base)); | ||||
| 			CONFIG_SYS_BOOTMAPSZ + getenv_bootm_low()); | ||||
|  | ||||
| 	if (of_start == 0) { | ||||
| 		puts("device tree - allocation error\n"); | ||||
| @@ -1567,11 +1565,9 @@ error: | ||||
|  * @lmb: pointer to lmb handle, will be used for memory mgmt | ||||
|  * @cmd_start: pointer to a ulong variable, will hold cmdline start | ||||
|  * @cmd_end: pointer to a ulong variable, will hold cmdline end | ||||
|  * @bootmap_base: ulong variable, holds offset in physical memory to | ||||
|  * base of bootmap | ||||
|  * | ||||
|  * boot_get_cmdline() allocates space for kernel command line below | ||||
|  * BOOTMAPSZ + bootmap_base address. If "bootargs" U-boot environemnt | ||||
|  * BOOTMAPSZ + getenv_bootm_low() address. If "bootargs" U-boot environemnt | ||||
|  * variable is present its contents is copied to allocated kernel | ||||
|  * command line. | ||||
|  * | ||||
| @@ -1579,14 +1575,13 @@ error: | ||||
|  *      0 - success | ||||
|  *     -1 - failure | ||||
|  */ | ||||
| int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end, | ||||
| 			ulong bootmap_base) | ||||
| int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end) | ||||
| { | ||||
| 	char *cmdline; | ||||
| 	char *s; | ||||
|  | ||||
| 	cmdline = (char *)(ulong)lmb_alloc_base(lmb, CONFIG_SYS_BARGSIZE, 0xf, | ||||
| 					 CONFIG_SYS_BOOTMAPSZ + bootmap_base); | ||||
| 				     CONFIG_SYS_BOOTMAPSZ + getenv_bootm_low()); | ||||
|  | ||||
| 	if (cmdline == NULL) | ||||
| 		return -1; | ||||
| @@ -1610,21 +1605,19 @@ int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end, | ||||
|  * boot_get_kbd - allocate and initialize kernel copy of board info | ||||
|  * @lmb: pointer to lmb handle, will be used for memory mgmt | ||||
|  * @kbd: double pointer to board info data | ||||
|  * @bootmap_base: ulong variable, holds offset in physical memory to | ||||
|  * base of bootmap | ||||
|  * | ||||
|  * boot_get_kbd() allocates space for kernel copy of board info data below | ||||
|  * BOOTMAPSZ + bootmap_base address and kernel board info is initialized with | ||||
|  * the current u-boot board info data. | ||||
|  * BOOTMAPSZ + getenv_bootm_low() address and kernel board info is initialized | ||||
|  * with the current u-boot board info data. | ||||
|  * | ||||
|  * returns: | ||||
|  *      0 - success | ||||
|  *     -1 - failure | ||||
|  */ | ||||
| int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base) | ||||
| int boot_get_kbd (struct lmb *lmb, bd_t **kbd) | ||||
| { | ||||
| 	*kbd = (bd_t *)(ulong)lmb_alloc_base(lmb, sizeof(bd_t), 0xf, | ||||
| 				      CONFIG_SYS_BOOTMAPSZ + bootmap_base); | ||||
| 				     CONFIG_SYS_BOOTMAPSZ + getenv_bootm_low()); | ||||
| 	if (*kbd == NULL) | ||||
| 		return -1; | ||||
|  | ||||
|   | ||||
| @@ -336,8 +336,7 @@ int boot_get_ramdisk (int argc, char * const argv[], bootm_headers_t *images, | ||||
| #ifdef CONFIG_OF_LIBFDT | ||||
| int boot_get_fdt (int flag, int argc, char * const argv[], bootm_headers_t *images, | ||||
| 		char **of_flat_tree, ulong *of_size); | ||||
| int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, | ||||
| 		char **of_flat_tree, ulong *of_size); | ||||
| int boot_relocate_fdt (struct lmb *lmb, char **of_flat_tree, ulong *of_size); | ||||
| #endif | ||||
|  | ||||
| #ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH | ||||
| @@ -345,11 +344,10 @@ int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len, | ||||
| 		  ulong *initrd_start, ulong *initrd_end); | ||||
| #endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */ | ||||
| #ifdef CONFIG_SYS_BOOT_GET_CMDLINE | ||||
| int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end, | ||||
| 			ulong bootmap_base); | ||||
| int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end); | ||||
| #endif /* CONFIG_SYS_BOOT_GET_CMDLINE */ | ||||
| #ifdef CONFIG_SYS_BOOT_GET_KBD | ||||
| int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base); | ||||
| int boot_get_kbd (struct lmb *lmb, bd_t **kbd); | ||||
| #endif /* CONFIG_SYS_BOOT_GET_KBD */ | ||||
| #endif /* !USE_HOSTCC */ | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user