[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: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
19a8d97d89
commit
ee7a76da1e
@ -320,5 +320,9 @@ int main(void)
|
|||||||
DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
|
DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
|
||||||
DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
|
DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_PPC64
|
||||||
|
DEFINE(PGD_TABLE_SIZE, PGD_TABLE_SIZE);
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1539,4 +1539,4 @@ empty_zero_page:
|
|||||||
|
|
||||||
.globl swapper_pg_dir
|
.globl swapper_pg_dir
|
||||||
swapper_pg_dir:
|
swapper_pg_dir:
|
||||||
.space PAGE_SIZE
|
.space PGD_TABLE_SIZE
|
||||||
|
@ -10,10 +10,12 @@
|
|||||||
#define PUD_INDEX_SIZE 7
|
#define PUD_INDEX_SIZE 7
|
||||||
#define PGD_INDEX_SIZE 9
|
#define PGD_INDEX_SIZE 9
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
#define PTE_TABLE_SIZE (sizeof(pte_t) << PTE_INDEX_SIZE)
|
#define PTE_TABLE_SIZE (sizeof(pte_t) << PTE_INDEX_SIZE)
|
||||||
#define PMD_TABLE_SIZE (sizeof(pmd_t) << PMD_INDEX_SIZE)
|
#define PMD_TABLE_SIZE (sizeof(pmd_t) << PMD_INDEX_SIZE)
|
||||||
#define PUD_TABLE_SIZE (sizeof(pud_t) << PUD_INDEX_SIZE)
|
#define PUD_TABLE_SIZE (sizeof(pud_t) << PUD_INDEX_SIZE)
|
||||||
#define PGD_TABLE_SIZE (sizeof(pgd_t) << PGD_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_PTE (1 << PTE_INDEX_SIZE)
|
||||||
#define PTRS_PER_PMD (1 << PMD_INDEX_SIZE)
|
#define PTRS_PER_PMD (1 << PMD_INDEX_SIZE)
|
||||||
|
@ -9,9 +9,11 @@
|
|||||||
#define PUD_INDEX_SIZE 0
|
#define PUD_INDEX_SIZE 0
|
||||||
#define PGD_INDEX_SIZE 4
|
#define PGD_INDEX_SIZE 4
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
#define PTE_TABLE_SIZE (sizeof(real_pte_t) << PTE_INDEX_SIZE)
|
#define PTE_TABLE_SIZE (sizeof(real_pte_t) << PTE_INDEX_SIZE)
|
||||||
#define PMD_TABLE_SIZE (sizeof(pmd_t) << PMD_INDEX_SIZE)
|
#define PMD_TABLE_SIZE (sizeof(pmd_t) << PMD_INDEX_SIZE)
|
||||||
#define PGD_TABLE_SIZE (sizeof(pgd_t) << PGD_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_PTE (1 << PTE_INDEX_SIZE)
|
||||||
#define PTRS_PER_PMD (1 << PMD_INDEX_SIZE)
|
#define PTRS_PER_PMD (1 << PMD_INDEX_SIZE)
|
||||||
|
Loading…
Reference in New Issue
Block a user