Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f4a9041 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/kconfig: make _etext and data areas alignment configurable on Book3s 32



Depending on the number of available BATs for mapping the different
kernel areas, it might be needed to increase the alignment of _etext
and/or of data areas.

This patchs allows the user to do it via Kconfig.

Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 63b2bc61
Loading
Loading
Loading
Loading
+30 −2
Original line number Diff line number Diff line
@@ -721,16 +721,44 @@ config THREAD_SHIFT
	  Used to define the stack size. The default is almost always what you
	  want. Only change this if you know what you are doing.

config ETEXT_SHIFT_BOOL
	bool "Set custom etext alignment" if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	depends on ADVANCED_OPTIONS
	help
	  This option allows you to set the kernel end of text alignment. When
	  RAM is mapped by blocks, the alignment needs to fit the size and
	  number of possible blocks. The default should be OK for most configs.

	  Say N here unless you know what you are doing.

config ETEXT_SHIFT
	int
	int "_etext shift" if ETEXT_SHIFT_BOOL
	range 17 28 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	default 17 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	default PPC_PAGE_SHIFT
	help
	  On Book3S 32 (603+), IBATs are used to map kernel text.
	  Smaller is the alignment, greater is the number of necessary IBATs.

config DATA_SHIFT_BOOL
	bool "Set custom data alignment" if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	depends on ADVANCED_OPTIONS
	help
	  This option allows you to set the kernel data alignment. When
	  RAM is mapped by blocks, the alignment needs to fit the size and
	  number of possible blocks. The default should be OK for most configs.

	  Say N here unless you know what you are doing.

config DATA_SHIFT
	int
	int "Data shift" if DATA_SHIFT_BOOL
	default 24 if STRICT_KERNEL_RWX && PPC64
	range 17 28 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32
	default PPC_PAGE_SHIFT
	help
	  On Book3S 32 (603+), DBATs are used to map kernel text and rodata RO.
	  Smaller is the alignment, greater is the number of necessary DBATs.

config FORCE_MAX_ZONEORDER
	int "Maximum zone order"