mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef _ASM_X86_SPARSEMEM_H |
|
#define _ASM_X86_SPARSEMEM_H |
|
|
|
#ifdef CONFIG_SPARSEMEM |
|
/* |
|
* generic non-linear memory support: |
|
* |
|
* 1) we will not split memory into more chunks than will fit into the flags |
|
* field of the struct page |
|
* |
|
* SECTION_SIZE_BITS 2^n: size of each section |
|
* MAX_PHYSMEM_BITS 2^n: max size of physical address space |
|
* |
|
*/ |
|
|
|
#ifdef CONFIG_X86_32 |
|
# ifdef CONFIG_X86_PAE |
|
# define SECTION_SIZE_BITS 29 |
|
# define MAX_PHYSMEM_BITS 36 |
|
# else |
|
# define SECTION_SIZE_BITS 26 |
|
# define MAX_PHYSMEM_BITS 32 |
|
# endif |
|
#else /* CONFIG_X86_32 */ |
|
# define SECTION_SIZE_BITS 27 /* matt - 128 is convenient right now */ |
|
# define MAX_PHYSMEM_BITS (pgtable_l5_enabled() ? 52 : 46) |
|
#endif |
|
|
|
#endif /* CONFIG_SPARSEMEM */ |
|
|
|
#ifndef __ASSEMBLY__ |
|
#ifdef CONFIG_NUMA_KEEP_MEMINFO |
|
extern int phys_to_target_node(phys_addr_t start); |
|
#define phys_to_target_node phys_to_target_node |
|
extern int memory_add_physaddr_to_nid(u64 start); |
|
#define memory_add_physaddr_to_nid memory_add_physaddr_to_nid |
|
#endif |
|
#endif /* __ASSEMBLY__ */ |
|
|
|
#endif /* _ASM_X86_SPARSEMEM_H */
|
|
|