mirror of https://gitee.com/openkylin/linux.git
e47168f3d1
The 8xx has 4 page sizes: 4k, 16k, 512k and 8M 4k and 16k can be selected at build time as standard page sizes, and 512k and 8M are hugepages. When 4k standard pages are selected, 16k pages are not available. Allow 16k pages as hugepages when 4k pages are used. To allow that, implement arch_make_huge_pte() which receives the necessary arguments to allow setting the PTE in accordance with the page size: - 512 k pages must have _PAGE_HUGE and _PAGE_SPS. They are set by pte_mkhuge(). arch_make_huge_pte() does nothing. - 16 k pages must have only _PAGE_SPS. arch_make_huge_pte() clears _PAGE_HUGE. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/a518abc29266a708dfbccc8fce9ae6694fe4c2c6.1598862623.git.christophe.leroy@csgroup.eu |
||
---|---|---|
.. | ||
8xx.c | ||
40x.c | ||
44x.c | ||
Makefile | ||
book3e_hugetlbpage.c | ||
book3e_pgtable.c | ||
fsl_booke.c | ||
kaslr_booke.c | ||
mmu_context.c | ||
tlb.c | ||
tlb_low.S | ||
tlb_low_64e.S |