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