Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3159e7d6 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Add support for memory hot-remove.



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 5840263e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -134,6 +134,10 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
	def_bool y
	depends on SPARSEMEM

config ARCH_ENABLE_MEMORY_HOTREMOVE
	def_bool y
	depends on SPARSEMEM

config ARCH_MEMORY_PROBE
	def_bool y
	depends on MEMORY_HOTPLUG
+17 −0
Original line number Diff line number Diff line
@@ -292,4 +292,21 @@ int memory_add_physaddr_to_nid(u64 addr)
}
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
#endif

#ifdef CONFIG_MEMORY_HOTREMOVE
int remove_memory(u64 start, u64 size)
{
	unsigned long start_pfn = start >> PAGE_SHIFT;
	unsigned long end_pfn = start_pfn + (size >> PAGE_SHIFT);
	int ret;

	ret = offline_pages(start_pfn, end_pfn, 120 * HZ);
	if (unlikely(ret))
		printk("%s: Failed, offline_pages() == %d\n", __func__, ret);

	return ret;
}
EXPORT_SYMBOL_GPL(remove_memory);
#endif

#endif /* CONFIG_MEMORY_HOTPLUG */