Loading arch/sh/mm/Kconfig +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading arch/sh/mm/init.c +17 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
arch/sh/mm/Kconfig +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
arch/sh/mm/init.c +17 −0 Original line number Diff line number Diff line Loading @@ -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 */