Commit 70839d20 authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman

powerpc/64: Add an option to force run-at-load to test relocation

This adds a config option that can help exercise the case when
the kernel is not running at PAGE_OFFSET.
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Reviewed-by: default avatarBalbir Singh <bsingharora@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 5246adec
...@@ -479,6 +479,15 @@ config RELOCATABLE ...@@ -479,6 +479,15 @@ config RELOCATABLE
setting can still be useful to bootwrappers that need to know the setting can still be useful to bootwrappers that need to know the
load address of the kernel (eg. u-boot/mkimage). load address of the kernel (eg. u-boot/mkimage).
config RELOCATABLE_TEST
bool "Test relocatable kernel"
depends on (PPC64 && RELOCATABLE)
default n
help
This runs the relocatable kernel at the address it was initially
loaded at, which tends to be non-zero and therefore test the
relocation code.
config CRASH_DUMP config CRASH_DUMP
bool "Build a kdump crash kernel" bool "Build a kdump crash kernel"
depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP) depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
......
...@@ -107,12 +107,19 @@ __secondary_hold_acknowledge: ...@@ -107,12 +107,19 @@ __secondary_hold_acknowledge:
* crash_kernel region. The loader is responsible for * crash_kernel region. The loader is responsible for
* observing the alignment requirement. * observing the alignment requirement.
*/ */
#ifdef CONFIG_RELOCATABLE_TEST
#define RUN_AT_LOAD_DEFAULT 1 /* Test relocation, do not copy to 0 */
#else
#define RUN_AT_LOAD_DEFAULT 0x72756e30 /* "run0" -- relocate to 0 by default */
#endif
/* Do not move this variable as kexec-tools knows about it. */ /* Do not move this variable as kexec-tools knows about it. */
. = 0x5c . = 0x5c
.globl __run_at_load .globl __run_at_load
__run_at_load: __run_at_load:
DEFINE_FIXED_SYMBOL(__run_at_load) DEFINE_FIXED_SYMBOL(__run_at_load)
.long 0x72756e30 /* "run0" -- relocate to 0 by default */ .long RUN_AT_LOAD_DEFAULT
#endif #endif
. = 0x60 . = 0x60
......
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