m68k: Fix boot regression on machines with RAM at non-zero

My enhancement to store the initial mapping size for later reuse in commit
486df8bc46 ("m68k: Increase initial mapping
to 8 or 16 MiB if possible") broke booting on machines where RAM doesn't
start at address zero.

Use pc-relative addressing to fix this.

Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Andreas Schwab <schwab@linux-m68k.org>
This commit is contained in:
Geert Uytterhoeven 2014-07-08 09:17:16 +02:00
parent cd3de83f14
commit f1a1b63529

View File

@ -921,7 +921,8 @@ L(nocon):
jls 1f
lsrl #1,%d1
1:
movel %d1,m68k_init_mapped_size
lea %pc@(m68k_init_mapped_size),%a0
movel %d1,%a0@
mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\
%pc@(m68k_supervisor_cachemode)