summaryrefslogtreecommitdiff
path: root/include/relocate.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-03-31 08:40:38 -0600
committerTom Rini <trini@konsulko.com>2017-04-05 16:36:57 -0400
commite47b2d674f0acd137412535647cb3072bf11dbb0 (patch)
tree9ebdb5b4ccc2805279bdbdb8971d1c55dcc2c0af /include/relocate.h
parent96d4b75c0d7f1bbbbde19e6225b09b1f7e7b60fe (diff)
board_f: Make relocation functions generic
This header file is used by three archs. It could be used by all of them since relocation is a common function. Move it into a generic file. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/relocate.h')
-rw-r--r--include/relocate.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/relocate.h b/include/relocate.h
new file mode 100644
index 0000000000..0d4b27aa2b
--- /dev/null
+++ b/include/relocate.h
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _RELOCATE_H_
+#define _RELOCATE_H_
+
+#include <common.h>
+
+/**
+ * copy_uboot_to_ram() - Copy U-Boot to its new relocated position
+ *
+ * @return 0 if OK, -ve on error
+ */
+int copy_uboot_to_ram(void);
+
+/**
+ * clear_bss() - Clear the BSS (Blocked Start by Symbol) segment
+ *
+ * This clears the memory used by global variables
+ *
+ * @return 0 if OK, -ve on error
+ */
+int clear_bss(void);
+
+/**
+ * do_elf_reloc_fixups() - Fix up ELF relocations in the relocated code
+ *
+ * This processes the relocation tables to ensure that the code can run in its
+ * new location.
+ *
+ * @return 0 if OK, -ve on error
+ */
+int do_elf_reloc_fixups(void);
+
+#endif /* _RELOCATE_H_ */