path: root/mm/memory_hotplug.c
diff options
mode: <>2010-03-05 13:41:58 -0800
committerLinus Torvalds <>2010-03-06 11:26:25 -0800
commitd96ae5309165d9ed7c008a178238977b73595cd9 (patch)
tree78b169102b718a9489fcc41ad4829a646492d2fb /mm/memory_hotplug.c
parent9d8cebd4bcd7c3878462fdfda34bbcdeb4df7ef4 (diff)
memory-hotplug: create /sys/firmware/memmap entry for new memory
A memmap is a directory in sysfs which includes 3 text files: start, end and type. For example: start: 0x100000 end: 0x7e7b1cff type: System RAM Interface firmware_map_add was not called explicitly. Remove it and add function firmware_map_add_hotplug as hotplug interface of memmap. Each memory entry has a memmap in sysfs, When we hot-add new memory, sysfs does not export memmap entry for it. We add a call in function add_memory to function firmware_map_add_hotplug. Add a new function add_sysfs_fw_map_entry() to create memmap entry, it will be called when initialize memmap and hot-add memory. [ un-kernedoc a no longer kerneldoc comment] Signed-off-by: Shaohui Zheng <> Acked-by: Andi Kleen <> Acked-by: Yasunori Goto <> Reviewed-by: Wu Fengguang <> Cc: Dave Hansen <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'mm/memory_hotplug.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 030ce8a5bb0e..78e34e63c7b8 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -28,6 +28,7 @@
#include <linux/pfn.h>
#include <linux/suspend.h>
#include <linux/mm_inline.h>
+#include <linux/firmware-map.h>
#include <asm/tlbflush.h>
@@ -523,6 +524,9 @@ int __ref add_memory(int nid, u64 start, u64 size)
+ /* create new memmap entry */
+ firmware_map_add_hotplug(start, start + size, "System RAM");
goto out;