1caab277bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 24f04d8f0SCatalin Marinas /* 34f04d8f0SCatalin Marinas * Copyright (C) 2012 ARM Ltd. 44f04d8f0SCatalin Marinas */ 54f04d8f0SCatalin Marinas #ifndef __ASM_SPARSEMEM_H 64f04d8f0SCatalin Marinas #define __ASM_SPARSEMEM_H 74f04d8f0SCatalin Marinas 8982aa7c5SKristina Martsenko #define MAX_PHYSMEM_BITS CONFIG_ARM64_PA_BITS 9f0b13ee2SSudarshan Rajagopalan 10f0b13ee2SSudarshan Rajagopalan /* 11f0b13ee2SSudarshan Rajagopalan * Section size must be at least 512MB for 64K base 12f0b13ee2SSudarshan Rajagopalan * page size config. Otherwise it will be less than 13*23baf831SKirill A. Shutemov * MAX_ORDER and the build process will fail. 14f0b13ee2SSudarshan Rajagopalan */ 15f0b13ee2SSudarshan Rajagopalan #ifdef CONFIG_ARM64_64K_PAGES 16f0b13ee2SSudarshan Rajagopalan #define SECTION_SIZE_BITS 29 17f0b13ee2SSudarshan Rajagopalan 18f0b13ee2SSudarshan Rajagopalan #else 19f0b13ee2SSudarshan Rajagopalan 20f0b13ee2SSudarshan Rajagopalan /* 21f0b13ee2SSudarshan Rajagopalan * Section size must be at least 128MB for 4K base 22f0b13ee2SSudarshan Rajagopalan * page size config. Otherwise PMD based huge page 23f0b13ee2SSudarshan Rajagopalan * entries could not be created for vmemmap mappings. 24f0b13ee2SSudarshan Rajagopalan * 16K follows 4K for simplicity. 25f0b13ee2SSudarshan Rajagopalan */ 26f0b13ee2SSudarshan Rajagopalan #define SECTION_SIZE_BITS 27 27f0b13ee2SSudarshan Rajagopalan #endif /* CONFIG_ARM64_64K_PAGES */ 28f0b13ee2SSudarshan Rajagopalan 294f04d8f0SCatalin Marinas #endif 30