Skip to content

Commit 332b42e

Browse files
committed
parisc: Increase initial kernel mapping to 32MB on 64bit kernel
For the 64bit kernel the initially 16 MB kernel memory might become too small if you build a kernel with many modules built-in and with kernel text and data areas mapped on huge pages. This patch increases the initial mapping to 32MB for 64bit kernels and keeps 16MB for 32bit kernels. Signed-off-by: Helge Deller <[email protected]>
1 parent 4182d0c commit 332b42e

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

arch/parisc/include/asm/pgtable.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,11 @@ static inline void purge_tlb_entries(struct mm_struct *mm, unsigned long addr)
8383
printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, (unsigned long)pgd_val(e))
8484

8585
/* This is the size of the initially mapped kernel memory */
86-
#define KERNEL_INITIAL_ORDER 24 /* 0 to 1<<24 = 16MB */
86+
#ifdef CONFIG_64BIT
87+
#define KERNEL_INITIAL_ORDER 25 /* 1<<25 = 32MB */
88+
#else
89+
#define KERNEL_INITIAL_ORDER 24 /* 1<<24 = 16MB */
90+
#endif
8791
#define KERNEL_INITIAL_SIZE (1 << KERNEL_INITIAL_ORDER)
8892

8993
#if CONFIG_PGTABLE_LEVELS == 3

arch/parisc/kernel/head.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ $bss_loop:
6969
stw,ma %arg2,4(%r1)
7070
stw,ma %arg3,4(%r1)
7171

72-
/* Initialize startup VM. Just map first 8/16 MB of memory */
72+
/* Initialize startup VM. Just map first 16/32 MB of memory */
7373
load32 PA(swapper_pg_dir),%r4
7474
mtctl %r4,%cr24 /* Initialize kernel root pointer */
7575
mtctl %r4,%cr25 /* Initialize user root pointer */
@@ -107,7 +107,7 @@ $bss_loop:
107107
/* Now initialize the PTEs themselves. We use RWX for
108108
* everything ... it will get remapped correctly later */
109109
ldo 0+_PAGE_KERNEL_RWX(%r0),%r3 /* Hardwired 0 phys addr start */
110-
ldi (1<<(KERNEL_INITIAL_ORDER-PAGE_SHIFT)),%r11 /* PFN count */
110+
load32 (1<<(KERNEL_INITIAL_ORDER-PAGE_SHIFT)),%r11 /* PFN count */
111111
load32 PA(pg0),%r1
112112

113113
$pgt_fill_loop:

0 commit comments

Comments
 (0)