diff options
author | Simon Horman <horms@verge.net.au> | 2011-09-15 15:13:00 +0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-10-28 10:03:43 +0400 |
commit | e66ac3f26aef131f5ca60350d25fba95f43acd0d (patch) | |
tree | 480337b09468bb5e8d1660c218d04a1a63b940e3 /arch/sh/include | |
parent | d11584a0449f881181dc94dd697d3f3896c15c73 (diff) | |
download | linux-e66ac3f26aef131f5ca60350d25fba95f43acd0d.tar.xz |
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 <horms@verge.net.au>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r-- | arch/sh/include/asm/page.h | 10 |
1 files changed, 10 insertions, 0 deletions
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 @@ -113,6 +113,16 @@ typedef struct page *pgtable_t; #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. */ |