Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee7a76da authored by Stephen Rothwell's avatar Stephen Rothwell Committed by Paul Mackerras
Browse files

[POWERPC] Size swapper_pg_dir correctly



David Gibson pointed out that swapper_pg_dir actually need to be
PGD_TABLE_SIZE bytes long not PAGE_SIZE.  This actually saves 64k in
the bss for a kernel ppc64_defconfig built with CONFIG_PPC_64K_PAGES.

Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 19a8d97d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -320,5 +320,9 @@ int main(void)
	DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
	DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
#endif

#ifdef CONFIG_PPC64
	DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE);
#endif
	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -1539,4 +1539,4 @@ empty_zero_page:

	.globl	swapper_pg_dir
swapper_pg_dir:
	.space	PAGE_SIZE
	.space	PGD_TABLE_SIZE
+2 −0
Original line number Diff line number Diff line
@@ -10,10 +10,12 @@
#define PUD_INDEX_SIZE  7
#define PGD_INDEX_SIZE  9

#ifndef __ASSEMBLY__
#define PTE_TABLE_SIZE	(sizeof(pte_t) << PTE_INDEX_SIZE)
#define PMD_TABLE_SIZE	(sizeof(pmd_t) << PMD_INDEX_SIZE)
#define PUD_TABLE_SIZE	(sizeof(pud_t) << PUD_INDEX_SIZE)
#define PGD_TABLE_SIZE	(sizeof(pgd_t) << PGD_INDEX_SIZE)
#endif	/* __ASSEMBLY__ */

#define PTRS_PER_PTE	(1 << PTE_INDEX_SIZE)
#define PTRS_PER_PMD	(1 << PMD_INDEX_SIZE)
+2 −0
Original line number Diff line number Diff line
@@ -9,9 +9,11 @@
#define PUD_INDEX_SIZE	0
#define PGD_INDEX_SIZE  4

#ifndef __ASSEMBLY__
#define PTE_TABLE_SIZE	(sizeof(real_pte_t) << PTE_INDEX_SIZE)
#define PMD_TABLE_SIZE	(sizeof(pmd_t) << PMD_INDEX_SIZE)
#define PGD_TABLE_SIZE	(sizeof(pgd_t) << PGD_INDEX_SIZE)
#endif	/* __ASSEMBLY__ */

#define PTRS_PER_PTE	(1 << PTE_INDEX_SIZE)
#define PTRS_PER_PMD	(1 << PMD_INDEX_SIZE)