From e66ac3f26aef131f5ca60350d25fba95f43acd0d Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Thu, 15 Sep 2011 20:13:00 +0900 Subject: sh: kexec: Add PHYSICAL_START Add PHYSICAL_START kernel configuration parameter to set the address at which the kernel should be loaded. It has been observed on an sh7757lcr that simply modifying MEMORY_START does not achieve this goal for 32bit sh. This is due to MEMORY_OFFSET in arch/sh/kernel/vmlinux.lds.S bot being based on MEMORY_START on such systems. Signed-off-by: Simon Horman Signed-off-by: Paul Mundt --- arch/sh/include/asm/page.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'arch/sh/include') diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h index 822d6084195b..0dca9a5c6be6 100644 --- a/arch/sh/include/asm/page.h +++ b/arch/sh/include/asm/page.h @@ -112,6 +112,16 @@ typedef struct page *pgtable_t; #define __MEMORY_START CONFIG_MEMORY_START #define __MEMORY_SIZE CONFIG_MEMORY_SIZE +/* + * PHYSICAL_OFFSET is the offset in physical memory where the base + * of the kernel is loaded. + */ +#ifdef CONFIG_PHYSICAL_START +#define PHYSICAL_OFFSET (CONFIG_PHYSICAL_START - __MEMORY_START) +#else +#define PHYSICAL_OFFSET 0 +#endif + /* * PAGE_OFFSET is the virtual address of the start of kernel address * space. -- cgit v1.2.3