summaryrefslogtreecommitdiff
path: root/arch/mips/Kconfig
diff options
context:
space:
mode:
authorDaniel Schwierzeck <daniel.schwierzeck@gmail.com>2018-11-01 02:02:21 +0100
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>2018-11-02 22:39:07 +0100
commit963014641117291c15df2425caf46c7b4b979f18 (patch)
tree02698bdef9005f995c36d87353c3f172e082836c /arch/mips/Kconfig
parent99431c1c21685fe63d46b6eac995b78ce9adce0a (diff)
downloadu-boot-963014641117291c15df2425caf46c7b4b979f18.tar.gz
u-boot-963014641117291c15df2425caf46c7b4b979f18.tar.bz2
u-boot-963014641117291c15df2425caf46c7b4b979f18.zip
MIPS: make size of relocation table fixed but configurable
Currently the size of the relocation table will be shrunk to the actual size needed. Although this gives a maximal space saving, it messes up the _end symbol. This breaks features like appended DTBs because the _end symbol doesn't point to the real end of the U-Boot binary. Remove the size shrinking and make the size of the relocation table fixed but configurable. This follows the Linux approach and the user can adjust the size to his needs. Also rename the relocation table section from .rel to .data.reloc to follow the Linux approach and to avoid ambiguities with the .rel.* sections added by the linker. Reported-by: Lars Povlsen <lars.povlsen@microsemi.com> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r--arch/mips/Kconfig18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 071dea04ec..6d646ef999 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -248,6 +248,24 @@ config MIPS_CACHE_INDEX_BASE
Normally this is CKSEG0. If the MIPS system needs to move this block
to some SRAM or ScratchPad RAM, adapt this option accordingly.
+config MIPS_RELOCATION_TABLE_SIZE
+ hex "Relocation table size"
+ range 0x100 0x10000
+ default "0x8000"
+ ---help---
+ A table of relocation data will be appended to the U-Boot binary
+ and parsed in relocate_code() to fix up all offsets in the relocated
+ U-Boot.
+
+ This option allows the amount of space reserved for the table to be
+ adjusted in a range from 256 up to 64k. The default is 32k and should
+ be ok in most cases. Reduce this value to shrink the size of U-Boot
+ binary.
+
+ The build will fail and a valid size suggested if this is too small.
+
+ If unsure, leave at the default value.
+
endmenu
menu "OS boot interface"