Commit 166d97d9 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman

powerpc/kconfig: define CONFIG_DATA_SHIFT and CONFIG_ETEXT_SHIFT

CONFIG_STRICT_KERNEL_RWX requires a special alignment
for DATA for some subarches. Today it is just defined
as an #ifdef in vmlinux.lds.S

In order to get more flexibility, this patch moves the
definition of this alignment in Kconfig

On some subarches, CONFIG_STRICT_KERNEL_RWX will
require a special alignment of _etext.

This patch also adds a configuration item for it in Kconfig
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 555f4fdb
...@@ -721,6 +721,15 @@ config THREAD_SHIFT ...@@ -721,6 +721,15 @@ config THREAD_SHIFT
Used to define the stack size. The default is almost always what you Used to define the stack size. The default is almost always what you
want. Only change this if you know what you are doing. want. Only change this if you know what you are doing.
config ETEXT_SHIFT
int
default PPC_PAGE_SHIFT
config DATA_SHIFT
int
default 24 if STRICT_KERNEL_RWX && PPC64
default PPC_PAGE_SHIFT
config FORCE_MAX_ZONEORDER config FORCE_MAX_ZONEORDER
int "Maximum zone order" int "Maximum zone order"
range 8 9 if PPC64 && PPC_64K_PAGES range 8 9 if PPC64 && PPC_64K_PAGES
......
...@@ -12,11 +12,8 @@ ...@@ -12,11 +12,8 @@
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#if defined(CONFIG_STRICT_KERNEL_RWX) && !defined(CONFIG_PPC32) #define STRICT_ALIGN_SIZE (1 << CONFIG_DATA_SHIFT)
#define STRICT_ALIGN_SIZE (1 << 24) #define ETEXT_ALIGN_SIZE (1 << CONFIG_ETEXT_SHIFT)
#else
#define STRICT_ALIGN_SIZE PAGE_SIZE
#endif
ENTRY(_stext) ENTRY(_stext)
...@@ -131,7 +128,7 @@ SECTIONS ...@@ -131,7 +128,7 @@ SECTIONS
} :kernel } :kernel
. = ALIGN(PAGE_SIZE); . = ALIGN(ETEXT_ALIGN_SIZE);
_etext = .; _etext = .;
PROVIDE32 (etext = .); PROVIDE32 (etext = .);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment