mips-fix-highmem-initialization.patch removed from -mm tree
The quilt patch titled
Subject: mips: fix HIGHMEM initialization
has been removed from the -mm tree. Its filename was
mips-fix-highmem-initialization.patch
This patch was dropped because it was merged into the mm-hotfixes-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: "Mike Rapoport (Microsoft)" <[email protected]>
Subject: mips: fix HIGHMEM initialization
Date: Wed, 31 Dec 2025 12:57:01 +0200
Commit 6faea3422e3b ("arch, mm: streamline HIGHMEM freeing") overzealously removed mem_init_free_highmem() function that beside freeing high memory pages checked for CPU support for high memory as a prerequisite.
Partially restore mem_init_free_highmem() with a new highmem_init() name and make it discard high memory in case there is no CPU support for it.
---
arch/mips/mm/init.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
arch/mips/mm/init.c renamed from arch/mips/mm/init.c~mips-fix-highmem-initialization +23 -0
@@ -425,6 +425,28 @@ void __init paging_init(void)static struct kcore_list kcore_kseg0;#endif +static inline void __init highmem_init (void ) +{ +#ifdef CONFIG_HIGHMEM +unsigned long tmp; + +/* +* If CPU cannot support HIGHMEM discard the memory above highstart_pfn +*/ +if (cpu_has_dc_aliases) { +memblock_remove (PFN_PHYS (highstart_pfn),-1 ); +return ; + } + +for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) { +struct page *page =pfn_to_page (tmp); + +if (!memblock_is_memory (PFN_PHYS (tmp))) +SetPageReserved (page); + } +#endif +} +void __init arch_mm_preinit (void ) {/*
@@ -435,6 +457,7 @@ void __init arch_mm_preinit(void)maar_init ();setup_zero_pages ();/* Setup zeroed pages. */ +highmem_init ();#ifdef CONFIG_64BIT if ((unsigned long ) &_text > (unsigned long )CKSEG0 )
_
Patches currently in -mm which might be from [email protected] are
alpha-introduce-arch_zone_limits_init.patch arc-introduce-arch_zone_limits_init.patch arm-introduce-arch_zone_limits_init.patch arm64-introduce-arch_zone_limits_init.patch csky-introduce-arch_zone_limits_init.patch hexagon-introduce-arch_zone_limits_init.patch loongarch-introduce-arch_zone_limits_init.patch m68k-introduce-arch_zone_limits_init.patch microblaze-introduce-arch_zone_limits_init.patch mips-introduce-arch_zone_limits_init.patch nios2-introduce-arch_zone_limits_init.patch openrisc-introduce-arch_zone_limits_init.patch parisc-introduce-arch_zone_limits_init.patch powerpc-introduce-arch_zone_limits_init.patch riscv-introduce-arch_zone_limits_init.patch s390-introduce-arch_zone_limits_init.patch sh-introduce-arch_zone_limits_init.patch sparc-introduce-arch_zone_limits_init.patch um-introduce-arch_zone_limits_init.patch x86-introduce-arch_zone_limits_init.patch xtensa-introduce-arch_zone_limits_init.patch arch-mm-consolidate-initialization-of-nodes-zones-and-memory-map.patch arch-mm-consolidate-initialization-of-sparse-memory-model.patch mips-drop-paging_init.patch x86-dont-reserve-hugetlb-memory-in-setup_arch.patch mm-arch-consolidate-hugetlb-cma-reservation.patch mm-hugetlb-drop-hugetlb_cma_check.patch revert-mm-hugetlb-deal-with-multiple-calls-to-hugetlb_bootmem_alloc.patch kho-abi-luo-make-generated-documentation-more-coherent.patch kho-abi-memfd-make-generated-documentation-more-coherent.patch kho-docs-combine-concepts-and-fdt-documentation.patch kho-docs-combine-concepts-and-fdt-documentation-fix.patch kho-abi-add-memblock-abi-header.patch