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

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
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -479,6 +479,15 @@ config RELOCATABLE
	  setting can still be useful to bootwrappers that need to know the
	  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
	bool "Build a kdump crash kernel"
	depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
+8 −1
Original line number Diff line number Diff line
@@ -107,12 +107,19 @@ __secondary_hold_acknowledge:
	 * crash_kernel region.  The loader is responsible for
	 * 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. */
	. = 0x5c
	.globl	__run_at_load
__run_at_load:
DEFINE_FIXED_SYMBOL(__run_at_load)
	.long	0x72756e30	/* "run0" -- relocate to 0 by default */
	.long	RUN_AT_LOAD_DEFAULT
#endif

	. = 0x60