mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

There are 4 wariants of initmem_init(), for 32 and 64 bits and for
CONFIG_NUMA enabled and disabled.
After commit bbeb69ce30
("x86/mm: Remove CONFIG_HIGHMEM64G support")
NUMA is not supported on 32 bit kernels anymore, and
arch/x86/mm/numa_32.c can be just deleted and setup_bootmem_allocator()
with completely misleading name can be folded into initmem_init().
For 64 bits the NUMA variant calls x86_numa_init() and !NUMA variant
sets all memory to node 0. The later can be split out into inline helper
called x86_numa_init() and then both initmem_init() functions become the
same.
Split out memblock_set_node() from initmem_init() for !NUMA on 64 bit
into x86_numa_init() helper and remove arch/x86/mm/numa_*.c that only
contained initmem_init() variants for NUMA configs.
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Len Brown <len.brown@intel.com>
Link: https://lore.kernel.org/r/20250409122815.420041-1-rppt@kernel.org
33 lines
832 B
C
33 lines
832 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __X86_MM_INTERNAL_H
|
|
#define __X86_MM_INTERNAL_H
|
|
|
|
void *alloc_low_pages(unsigned int num);
|
|
static inline void *alloc_low_page(void)
|
|
{
|
|
return alloc_low_pages(1);
|
|
}
|
|
|
|
void early_ioremap_page_table_range_init(void);
|
|
|
|
unsigned long kernel_physical_mapping_init(unsigned long start,
|
|
unsigned long end,
|
|
unsigned long page_size_mask,
|
|
pgprot_t prot);
|
|
unsigned long kernel_physical_mapping_change(unsigned long start,
|
|
unsigned long end,
|
|
unsigned long page_size_mask);
|
|
void zone_sizes_init(void);
|
|
|
|
extern int after_bootmem;
|
|
|
|
void update_cache_mode_entry(unsigned entry, enum page_cache_mode cache);
|
|
|
|
extern unsigned long tlb_single_page_flush_ceiling;
|
|
|
|
#ifdef CONFIG_NUMA
|
|
void __init x86_numa_init(void);
|
|
#endif
|
|
|
|
#endif /* __X86_MM_INTERNAL_H */
|