mmu.c (57a8ec387e1441ea5e1232bc0749fb99a8cba7e7) mmu.c (22eb634632a2359769f8a2a91a41d3c566a0a450)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Based on arch/arm/mm/mmu.c
4 *
5 * Copyright (C) 1995-2005 Russell King
6 * Copyright (C) 2012 ARM Ltd.
7 */
8

--- 1060 unchanged lines hidden (view full) ---

1069 flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
1070
1071 __create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start),
1072 size, PAGE_KERNEL, __pgd_pgtable_alloc, flags);
1073
1074 return __add_pages(nid, start >> PAGE_SHIFT, size >> PAGE_SHIFT,
1075 restrictions);
1076}
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Based on arch/arm/mm/mmu.c
4 *
5 * Copyright (C) 1995-2005 Russell King
6 * Copyright (C) 2012 ARM Ltd.
7 */
8

--- 1060 unchanged lines hidden (view full) ---

1069 flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
1070
1071 __create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start),
1072 size, PAGE_KERNEL, __pgd_pgtable_alloc, flags);
1073
1074 return __add_pages(nid, start >> PAGE_SHIFT, size >> PAGE_SHIFT,
1075 restrictions);
1076}
1077#ifdef CONFIG_MEMORY_HOTREMOVE
1078void arch_remove_memory(int nid, u64 start, u64 size,
1079 struct vmem_altmap *altmap)
1080{
1081 unsigned long start_pfn = start >> PAGE_SHIFT;
1082 unsigned long nr_pages = size >> PAGE_SHIFT;
1083 struct zone *zone;
1084
1085 /*
1086 * FIXME: Cleanup page tables (also in arch_add_memory() in case
1087 * adding fails). Until then, this function should only be used
1088 * during memory hotplug (adding memory), not for memory
1089 * unplug. ARCH_ENABLE_MEMORY_HOTREMOVE must not be
1090 * unlocked yet.
1091 */
1092 zone = page_zone(pfn_to_page(start_pfn));
1093 __remove_pages(zone, start_pfn, nr_pages, altmap);
1094}
1077#endif
1095#endif
1096#endif