diff options
author | Kevin Hao <haokexin@gmail.com> | 2013-12-24 08:12:10 +0100 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-01-10 00:52:17 +0100 |
commit | 7d2471f9fa85089beb1cb9436ffc28f9e11e518d (patch) | |
tree | 1d3c786feb97e2ef82a417a9a95dcecf82bcd5da /arch/powerpc/mm/mmu_decl.h | |
parent | powerpc/fsl_booke: introduce map_mem_in_cams_addr (diff) | |
download | linux-7d2471f9fa85089beb1cb9436ffc28f9e11e518d.tar.xz linux-7d2471f9fa85089beb1cb9436ffc28f9e11e518d.zip |
powerpc/fsl_booke: make sure PAGE_OFFSET map to memstart_addr for relocatable kernel
This is always true for a non-relocatable kernel. Otherwise the kernel
would get stuck. But for a relocatable kernel, it seems a little
complicated. When booting a relocatable kernel, we just align the
kernel start addr to 64M and map the PAGE_OFFSET from there. The
relocation will base on this virtual address. But if this address
is not the same as the memstart_addr, we will have to change the
map of PAGE_OFFSET to the real memstart_addr and do another relocation
again.
Signed-off-by: Kevin Hao <haokexin@gmail.com>
[scottwood@freescale.com: make offset long and non-negative in simple case]
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/mm/mmu_decl.h')
-rw-r--r-- | arch/powerpc/mm/mmu_decl.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index eefbf7bb4331..91da910210cb 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -149,7 +149,7 @@ extern void MMU_init_hw(void); extern unsigned long mmu_mapin_ram(unsigned long top); extern void adjust_total_lowmem(void); extern int switch_to_as1(void); -extern void restore_to_as0(int esel); +extern void restore_to_as0(int esel, int offset, void *dt_ptr); #endif extern void loadcam_entry(unsigned int index); |