Re: [PATCH] m68k: Increase initial mapping to 16MB if possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Andreas,
If the size of the first memory chunk is at least 16MB increase the
initial mapping to 16MB instead of 4MB.  This makes it possible to map
more memory in the first node without running out of space for the page
tables.


Minor nit - the Falcon has 14MB, not 16MB. Not sure how large ST-RAM was on the TTs - trying for 8MB as well might be safer?

Cheers,

   Michael

Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
---
 arch/m68k/kernel/head.S | 9 ++++++++-
 arch/m68k/mm/motorola.c | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
index ac85f16..23091ea 100644
--- a/arch/m68k/kernel/head.S
+++ b/arch/m68k/kernel/head.S
@@ -941,7 +941,14 @@ L(nocon):
  *	First map the first 4 MB of kernel code & data
  */
- mmu_map #PAGE_OFFSET,%pc@(L(phys_kernel_start)),#4*1024*1024,\
+	get_bi_record BI_MEMCHUNK
+	movel	%a0@(4),%d0
+	movel	#16*1024*1024,%d1
+	cmpl	%d0,%d1
+	jls	1f
+	lsrl	#1,%d1
+	cmpl	%d0,%d1
+	jls	1f
+	lsrl	#1,%d1

+1:
+	mmu_map	#PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\
 		%pc@(m68k_supervisor_cachemode)
putc 'C'
diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c
index 251c543..0e4c3a9 100644
--- a/arch/m68k/mm/motorola.c
+++ b/arch/m68k/mm/motorola.c
@@ -45,7 +45,7 @@ EXPORT_SYMBOL(mm_cachebits);
 #endif
/* size of memory already mapped in head.S */
-#define INIT_MAPPED_SIZE	(4UL<<20)
+#define INIT_MAPPED_SIZE	(m68k_memory[0].size >= 16UL<<20 ? 16UL<<20 : 4UL<<20)
extern unsigned long availmem;

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux