summaryrefslogtreecommitdiff
path: root/common/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'common/Kconfig')
-rw-r--r--common/Kconfig33
1 files changed, 28 insertions, 5 deletions
diff --git a/common/Kconfig b/common/Kconfig
index 7685914fa6f..be517b80eb5 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -914,6 +914,19 @@ config STACKPROTECTOR
Enable stack smash detection through compiler's stack-protector
canary logic
+config MMU_PGPROT
+ bool "Enable RO, RW and RX mappings"
+ help
+ U-Boot maps all pages as RWX. If selected pages will
+ be marked as RO(.rodata), RX(.text), RW(.data) right after
+ we relocate. Since code sections needs to be page aligned
+ the final binary size will increase. The mappings can be dumped
+ using the 'meminfo' command.
+
+ Enabling this feature can expose bugs in U-Boot where we have
+ code that violates read-only permissions for example. Use this
+ feature with caution.
+
config SPL_STACKPROTECTOR
bool "Stack Protector buffer overflow detection for SPL"
depends on STACKPROTECTOR && SPL
@@ -1055,8 +1068,8 @@ choice
config BLOBLIST_FIXED
bool "Place bloblist at a fixed address in memory"
help
- Select this to used a fixed memory address for the bloblist. If the
- bloblist exists at this address from a previous phase, it used as is.
+ Select this to use a fixed memory address for the bloblist. If the
+ bloblist exists at this address from a previous phase, it is used as is.
If not it is created at this address in U-Boot.
config BLOBLIST_ALLOC
@@ -1066,11 +1079,21 @@ config BLOBLIST_ALLOC
specify a fixed address on systems where this is unknown or can
change at runtime.
+config BLOBLIST_PASSAGE_MANDATORY
+ bool "Use bloblist in-place mandatorily"
+ help
+ By default U-Boot will use a bloblist in the incoming standard passage.
+ This option controls whether U-Boot tries to load a static bloblist or
+ allocate one if a valid incoming bloblist does not exist.
+ Select this option to mark incoming standard passage as mandatory and
+ U-Boot will report an error when a valid incoming bloblist does not
+ exist.
+
endchoice
config BLOBLIST_ADDR
hex "Address of bloblist"
- default 0xb000 if SANDBOX
+ default 0x100 if SANDBOX
depends on BLOBLIST_FIXED
help
Sets the address of the bloblist, set up by the first part of U-Boot
@@ -1080,17 +1103,17 @@ config BLOBLIST_ADDR
config BLOBLIST_SIZE
hex "Size of bloblist"
+ default 0x0 if BLOBLIST_PASSAGE_MANDATORY
default 0x400
help
Sets the size of the bloblist in bytes. This must include all
overhead (alignment, bloblist header, record header). The bloblist
is set up in the first part of U-Boot to run (TPL, SPL or U-Boot
- proper), and this sane bloblist is used for subsequent phases.
+ proper), and this same bloblist is used for subsequent phases.
config BLOBLIST_SIZE_RELOC
hex "Size of bloblist after relocation"
default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
- default 0x0 if BLOBLIST_PASSAGE
default 0x20000 if (ARM && EFI_LOADER && GENERATE_ACPI_TABLE)
help
Sets the size of the bloblist in bytes after relocation. Since U-Boot