x86: Remove calculate_relocation_address()
Now that we have generic routine to calculate relocation address, remove the x86 specific one which is now only used by coreboot. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
		
							parent
							
								
									52b778603b
								
							
						
					
					
						commit
						c17ca6b5cd
					
				|  | @ -7,14 +7,7 @@ | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include <common.h> | #include <common.h> | ||||||
| #include <malloc.h> |  | ||||||
| #include <asm/e820.h> | #include <asm/e820.h> | ||||||
| #include <asm/u-boot-x86.h> |  | ||||||
| #include <asm/global_data.h> |  | ||||||
| #include <asm/init_helpers.h> |  | ||||||
| #include <asm/processor.h> |  | ||||||
| #include <asm/sections.h> |  | ||||||
| #include <asm/zimage.h> |  | ||||||
| #include <asm/arch/sysinfo.h> | #include <asm/arch/sysinfo.h> | ||||||
| #include <asm/arch/tables.h> | #include <asm/arch/tables.h> | ||||||
| 
 | 
 | ||||||
|  | @ -109,7 +102,7 @@ int dram_init(void) | ||||||
| 	if (ram_size == 0) | 	if (ram_size == 0) | ||||||
| 		return -1; | 		return -1; | ||||||
| 
 | 
 | ||||||
| 	return calculate_relocation_address(); | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void dram_init_banksize(void) | void dram_init_banksize(void) | ||||||
|  |  | ||||||
|  | @ -8,8 +8,6 @@ | ||||||
| #ifndef _INIT_HELPERS_H_ | #ifndef _INIT_HELPERS_H_ | ||||||
| #define _INIT_HELPERS_H_ | #define _INIT_HELPERS_H_ | ||||||
| 
 | 
 | ||||||
| int calculate_relocation_address(void); |  | ||||||
| 
 |  | ||||||
| int init_cache_f_r(void); | int init_cache_f_r(void); | ||||||
| int init_bd_struct_r(void); | int init_bd_struct_r(void); | ||||||
| int init_func_spi(void); | int init_func_spi(void); | ||||||
|  |  | ||||||
|  | @ -4,12 +4,10 @@ | ||||||
|  * |  * | ||||||
|  * SPDX-License-Identifier:	GPL-2.0+ |  * SPDX-License-Identifier:	GPL-2.0+ | ||||||
|  */ |  */ | ||||||
|  | 
 | ||||||
| #include <common.h> | #include <common.h> | ||||||
| #include <fdtdec.h> |  | ||||||
| #include <spi.h> |  | ||||||
| #include <asm/errno.h> | #include <asm/errno.h> | ||||||
| #include <asm/mtrr.h> | #include <asm/mtrr.h> | ||||||
| #include <asm/sections.h> |  | ||||||
| 
 | 
 | ||||||
| DECLARE_GLOBAL_DATA_PTR; | DECLARE_GLOBAL_DATA_PTR; | ||||||
| 
 | 
 | ||||||
|  | @ -19,53 +17,6 @@ __weak ulong board_get_usable_ram_top(ulong total_size) | ||||||
| 	return gd->ram_size; | 	return gd->ram_size; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int calculate_relocation_address(void) |  | ||||||
| { |  | ||||||
| 	const ulong uboot_size = (uintptr_t)&__bss_end - |  | ||||||
| 			(uintptr_t)&__text_start; |  | ||||||
| 	ulong total_size; |  | ||||||
| 	ulong dest_addr; |  | ||||||
| 	ulong fdt_size = 0; |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_OF_SEPARATE) && defined(CONFIG_OF_CONTROL) |  | ||||||
| 	if (gd->fdt_blob) |  | ||||||
| 		fdt_size = ALIGN(fdt_totalsize(gd->fdt_blob) + 0x1000, 32); |  | ||||||
| #endif |  | ||||||
| 	total_size = ALIGN(uboot_size, 1 << 12) + CONFIG_SYS_MALLOC_LEN + |  | ||||||
| 		CONFIG_SYS_STACK_SIZE + fdt_size; |  | ||||||
| 
 |  | ||||||
| 	dest_addr = board_get_usable_ram_top(total_size); |  | ||||||
| 	/*
 |  | ||||||
| 	 * NOTE: All destination address are rounded down to 16-byte |  | ||||||
| 	 *       boundary to satisfy various worst-case alignment |  | ||||||
| 	 *       requirements |  | ||||||
| 	 */ |  | ||||||
| 	dest_addr &= ~15; |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_OF_SEPARATE) && defined(CONFIG_OF_CONTROL) |  | ||||||
| 	/*
 |  | ||||||
| 	 * If the device tree is sitting immediate above our image then we |  | ||||||
| 	 * must relocate it. If it is embedded in the data section, then it |  | ||||||
| 	 * will be relocated with other data. |  | ||||||
| 	 */ |  | ||||||
| 	if (gd->fdt_blob) { |  | ||||||
| 		dest_addr -= fdt_size; |  | ||||||
| 		gd->new_fdt = (void *)dest_addr; |  | ||||||
| 		dest_addr &= ~15; |  | ||||||
| 	} |  | ||||||
| #endif |  | ||||||
| 	/* U-Boot is below the FDT */ |  | ||||||
| 	dest_addr -= uboot_size; |  | ||||||
| 	dest_addr &= ~((1 << 12) - 1); |  | ||||||
| 	gd->relocaddr = dest_addr; |  | ||||||
| 	gd->reloc_off = dest_addr - (uintptr_t)&__text_start; |  | ||||||
| 
 |  | ||||||
| 	/* Stack is at the bottom, so it can grow down */ |  | ||||||
| 	gd->start_addr_sp = dest_addr - CONFIG_SYS_MALLOC_LEN; |  | ||||||
| 
 |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| int init_cache_f_r(void) | int init_cache_f_r(void) | ||||||
| { | { | ||||||
| #if defined(CONFIG_X86_RESET_VECTOR) & !defined(CONFIG_HAVE_FSP) | #if defined(CONFIG_X86_RESET_VECTOR) & !defined(CONFIG_HAVE_FSP) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue