Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2012 ARM Ltd.
4 */
5#ifndef __ASM_SPARSEMEM_H
6#define __ASM_SPARSEMEM_H
7
8#include <asm/pgtable-prot.h>
9
10#define MAX_PHYSMEM_BITS PHYS_MASK_SHIFT
11#define MAX_POSSIBLE_PHYSMEM_BITS (52)
12
13/*
14 * Section size must be at least 512MB for 64K base
15 * page size config. Otherwise it will be less than
16 * MAX_PAGE_ORDER and the build process will fail.
17 */
18#ifdef CONFIG_ARM64_64K_PAGES
19#define SECTION_SIZE_BITS 29
20
21#else
22
23/*
24 * Section size must be at least 128MB for 4K base
25 * page size config. Otherwise PMD based huge page
26 * entries could not be created for vmemmap mappings.
27 * 16K follows 4K for simplicity.
28 */
29#define SECTION_SIZE_BITS 27
30#endif /* CONFIG_ARM64_64K_PAGES */
31
32#endif