aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/kernel/head.S')
-rw-r--r--arch/m68k/kernel/head.S19
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
index 15c8f55e4835..dbb118e1a4e0 100644
--- a/arch/m68k/kernel/head.S
+++ b/arch/m68k/kernel/head.S
@@ -292,6 +292,7 @@
292 292
293.globl kernel_pg_dir 293.globl kernel_pg_dir
294.globl availmem 294.globl availmem
295.globl m68k_init_mapped_size
295.globl m68k_pgtable_cachemode 296.globl m68k_pgtable_cachemode
296.globl m68k_supervisor_cachemode 297.globl m68k_supervisor_cachemode
297#ifdef CONFIG_MVME16x 298#ifdef CONFIG_MVME16x
@@ -907,10 +908,21 @@ L(nocon):
907 * 908 *
908 * This block of code does what's necessary to map in the various kinds 909 * This block of code does what's necessary to map in the various kinds
909 * of machines for execution of Linux. 910 * of machines for execution of Linux.
910 * First map the first 4 MB of kernel code & data 911 * First map the first 4, 8, or 16 MB of kernel code & data
911 */ 912 */
912 913
913 mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),#4*1024*1024,\ 914 get_bi_record BI_MEMCHUNK
915 movel %a0@(4),%d0
916 movel #16*1024*1024,%d1
917 cmpl %d0,%d1
918 jls 1f
919 lsrl #1,%d1
920 cmpl %d0,%d1
921 jls 1f
922 lsrl #1,%d1
9231:
924 movel %d1,m68k_init_mapped_size
925 mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\
914 %pc@(m68k_supervisor_cachemode) 926 %pc@(m68k_supervisor_cachemode)
915 927
916 putc 'C' 928 putc 'C'
@@ -3730,6 +3742,9 @@ func_return console_plot_pixel
3730__INITDATA 3742__INITDATA
3731 .align 4 3743 .align 4
3732 3744
3745m68k_init_mapped_size:
3746 .long 0
3747
3733#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || \ 3748#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || \
3734 defined(CONFIG_HP300) || defined(CONFIG_APOLLO) 3749 defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
3735L(custom): 3750L(custom):