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 <malloc.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/tables.h> | ||||
| 
 | ||||
|  | @ -109,7 +102,7 @@ int dram_init(void) | |||
| 	if (ram_size == 0) | ||||
| 		return -1; | ||||
| 
 | ||||
| 	return calculate_relocation_address(); | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| void dram_init_banksize(void) | ||||
|  |  | |||
|  | @ -8,8 +8,6 @@ | |||
| #ifndef _INIT_HELPERS_H_ | ||||
| #define _INIT_HELPERS_H_ | ||||
| 
 | ||||
| int calculate_relocation_address(void); | ||||
| 
 | ||||
| int init_cache_f_r(void); | ||||
| int init_bd_struct_r(void); | ||||
| int init_func_spi(void); | ||||
|  |  | |||
|  | @ -4,12 +4,10 @@ | |||
|  * | ||||
|  * SPDX-License-Identifier:	GPL-2.0+ | ||||
|  */ | ||||
| 
 | ||||
| #include <common.h> | ||||
| #include <fdtdec.h> | ||||
| #include <spi.h> | ||||
| #include <asm/errno.h> | ||||
| #include <asm/mtrr.h> | ||||
| #include <asm/sections.h> | ||||
| 
 | ||||
| DECLARE_GLOBAL_DATA_PTR; | ||||
| 
 | ||||
|  | @ -19,53 +17,6 @@ __weak ulong board_get_usable_ram_top(ulong total_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) | ||||
| { | ||||
| #if defined(CONFIG_X86_RESET_VECTOR) & !defined(CONFIG_HAVE_FSP) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue