1*e47b2d67SSimon Glass /* 2*e47b2d67SSimon Glass * (C) Copyright 2011 3*e47b2d67SSimon Glass * Graeme Russ, <graeme.russ@gmail.com> 4*e47b2d67SSimon Glass * 5*e47b2d67SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*e47b2d67SSimon Glass */ 7*e47b2d67SSimon Glass 8*e47b2d67SSimon Glass #ifndef _RELOCATE_H_ 9*e47b2d67SSimon Glass #define _RELOCATE_H_ 10*e47b2d67SSimon Glass 11*e47b2d67SSimon Glass #include <common.h> 12*e47b2d67SSimon Glass 13*e47b2d67SSimon Glass /** 14*e47b2d67SSimon Glass * copy_uboot_to_ram() - Copy U-Boot to its new relocated position 15*e47b2d67SSimon Glass * 16*e47b2d67SSimon Glass * @return 0 if OK, -ve on error 17*e47b2d67SSimon Glass */ 18*e47b2d67SSimon Glass int copy_uboot_to_ram(void); 19*e47b2d67SSimon Glass 20*e47b2d67SSimon Glass /** 21*e47b2d67SSimon Glass * clear_bss() - Clear the BSS (Blocked Start by Symbol) segment 22*e47b2d67SSimon Glass * 23*e47b2d67SSimon Glass * This clears the memory used by global variables 24*e47b2d67SSimon Glass * 25*e47b2d67SSimon Glass * @return 0 if OK, -ve on error 26*e47b2d67SSimon Glass */ 27*e47b2d67SSimon Glass int clear_bss(void); 28*e47b2d67SSimon Glass 29*e47b2d67SSimon Glass /** 30*e47b2d67SSimon Glass * do_elf_reloc_fixups() - Fix up ELF relocations in the relocated code 31*e47b2d67SSimon Glass * 32*e47b2d67SSimon Glass * This processes the relocation tables to ensure that the code can run in its 33*e47b2d67SSimon Glass * new location. 34*e47b2d67SSimon Glass * 35*e47b2d67SSimon Glass * @return 0 if OK, -ve on error 36*e47b2d67SSimon Glass */ 37*e47b2d67SSimon Glass int do_elf_reloc_fixups(void); 38*e47b2d67SSimon Glass 39*e47b2d67SSimon Glass #endif /* _RELOCATE_H_ */ 40