123456789101112131415161718192021222324252627282930313233343536 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (C) 2012 ARM Ltd.
- */
- #ifndef __ASM_SPARSEMEM_H
- #define __ASM_SPARSEMEM_H
- #define MAX_PHYSMEM_BITS CONFIG_ARM64_PA_BITS
- /*
- * Section size must be at least 512MB for 64K base
- * page size config. Otherwise it will be less than
- * (MAX_ORDER - 1) and the build process will fail.
- */
- #ifdef CONFIG_ARM64_64K_PAGES
- #define SECTION_SIZE_BITS 29
- #elif defined(CONFIG_ARM64_MEMMAP_ON_MEMORY)
- /*
- * mhp_supports_memmap_on_memory() requires memmap size to be aligned to
- * pageblock_order.
- */
- #define SECTION_SIZE_BITS 28
- #else
- /*
- * Section size must be at least 128MB for 4K base
- * page size config. Otherwise PMD based huge page
- * entries could not be created for vmemmap mappings.
- * 16K follows 4K for simplicity.
- */
- #define SECTION_SIZE_BITS 27
- #endif /* CONFIG_ARM64_64K_PAGES */
- #endif
|