arm64/mm: Rename ARM64_SWAPPER_USES_SECTION_MAPS
ARM64_SWAPPER_USES_SECTION_MAPS implies that a PMD level huge page mappings are used for swapper, idmap and vmemmap. Lets make it PMD explicit removing any possible confusion with generic memory sections and also bit generic as it's applicable for idmap and vmemmap mappings as well. Hence rename it as ARM64_KERNEL_USES_PMD_MAPS instead. Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/1623991622-24294-1-git-send-email-anshuman.khandual@arm.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
Родитель
7957a3db01
Коммит
2062d44da3
|
@ -18,9 +18,9 @@
|
||||||
* 64K (section size = 512M).
|
* 64K (section size = 512M).
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_ARM64_4K_PAGES
|
#ifdef CONFIG_ARM64_4K_PAGES
|
||||||
#define ARM64_SWAPPER_USES_SECTION_MAPS 1
|
#define ARM64_KERNEL_USES_PMD_MAPS 1
|
||||||
#else
|
#else
|
||||||
#define ARM64_SWAPPER_USES_SECTION_MAPS 0
|
#define ARM64_KERNEL_USES_PMD_MAPS 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
* VA range, so pages required to map highest possible PA are reserved in all
|
* VA range, so pages required to map highest possible PA are reserved in all
|
||||||
* cases.
|
* cases.
|
||||||
*/
|
*/
|
||||||
#if ARM64_SWAPPER_USES_SECTION_MAPS
|
#if ARM64_KERNEL_USES_PMD_MAPS
|
||||||
#define SWAPPER_PGTABLE_LEVELS (CONFIG_PGTABLE_LEVELS - 1)
|
#define SWAPPER_PGTABLE_LEVELS (CONFIG_PGTABLE_LEVELS - 1)
|
||||||
#define IDMAP_PGTABLE_LEVELS (ARM64_HW_PGTABLE_LEVELS(PHYS_MASK_SHIFT) - 1)
|
#define IDMAP_PGTABLE_LEVELS (ARM64_HW_PGTABLE_LEVELS(PHYS_MASK_SHIFT) - 1)
|
||||||
#else
|
#else
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
#define IDMAP_DIR_SIZE (IDMAP_PGTABLE_LEVELS * PAGE_SIZE)
|
#define IDMAP_DIR_SIZE (IDMAP_PGTABLE_LEVELS * PAGE_SIZE)
|
||||||
|
|
||||||
/* Initial memory map size */
|
/* Initial memory map size */
|
||||||
#if ARM64_SWAPPER_USES_SECTION_MAPS
|
#if ARM64_KERNEL_USES_PMD_MAPS
|
||||||
#define SWAPPER_BLOCK_SHIFT PMD_SHIFT
|
#define SWAPPER_BLOCK_SHIFT PMD_SHIFT
|
||||||
#define SWAPPER_BLOCK_SIZE PMD_SIZE
|
#define SWAPPER_BLOCK_SIZE PMD_SIZE
|
||||||
#define SWAPPER_TABLE_SHIFT PUD_SHIFT
|
#define SWAPPER_TABLE_SHIFT PUD_SHIFT
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
#define SWAPPER_PTE_FLAGS (PTE_TYPE_PAGE | PTE_AF | PTE_SHARED)
|
#define SWAPPER_PTE_FLAGS (PTE_TYPE_PAGE | PTE_AF | PTE_SHARED)
|
||||||
#define SWAPPER_PMD_FLAGS (PMD_TYPE_SECT | PMD_SECT_AF | PMD_SECT_S)
|
#define SWAPPER_PMD_FLAGS (PMD_TYPE_SECT | PMD_SECT_AF | PMD_SECT_S)
|
||||||
|
|
||||||
#if ARM64_SWAPPER_USES_SECTION_MAPS
|
#if ARM64_KERNEL_USES_PMD_MAPS
|
||||||
#define SWAPPER_MM_MMUFLAGS (PMD_ATTRINDX(MT_NORMAL) | SWAPPER_PMD_FLAGS)
|
#define SWAPPER_MM_MMUFLAGS (PMD_ATTRINDX(MT_NORMAL) | SWAPPER_PMD_FLAGS)
|
||||||
#else
|
#else
|
||||||
#define SWAPPER_MM_MMUFLAGS (PTE_ATTRINDX(MT_NORMAL) | SWAPPER_PTE_FLAGS)
|
#define SWAPPER_MM_MMUFLAGS (PTE_ATTRINDX(MT_NORMAL) | SWAPPER_PTE_FLAGS)
|
||||||
|
|
|
@ -1113,14 +1113,14 @@ static void free_empty_tables(unsigned long addr, unsigned long end,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !ARM64_SWAPPER_USES_SECTION_MAPS
|
#if !ARM64_KERNEL_USES_PMD_MAPS
|
||||||
int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
|
int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
|
||||||
struct vmem_altmap *altmap)
|
struct vmem_altmap *altmap)
|
||||||
{
|
{
|
||||||
WARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));
|
WARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));
|
||||||
return vmemmap_populate_basepages(start, end, node, altmap);
|
return vmemmap_populate_basepages(start, end, node, altmap);
|
||||||
}
|
}
|
||||||
#else /* !ARM64_SWAPPER_USES_SECTION_MAPS */
|
#else /* !ARM64_KERNEL_USES_PMD_MAPS */
|
||||||
int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
|
int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
|
||||||
struct vmem_altmap *altmap)
|
struct vmem_altmap *altmap)
|
||||||
{
|
{
|
||||||
|
@ -1165,7 +1165,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* !ARM64_SWAPPER_USES_SECTION_MAPS */
|
#endif /* !ARM64_KERNEL_USES_PMD_MAPS */
|
||||||
|
|
||||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||||
void vmemmap_free(unsigned long start, unsigned long end,
|
void vmemmap_free(unsigned long start, unsigned long end,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче