diff options
author | Badari Pulavarty <pbadari@us.ibm.com> | 2008-04-18 13:33:52 -0700 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-04-29 15:57:53 +1000 |
commit | 98d5c21c812e4e3b795f5bd912f407ed7c5e4e38 (patch) | |
tree | 40c5680e5b8b337fdddd3becf59484a19e2037d5 /include/linux/lmb.h | |
parent | 57b539269e9eef4dedc533d83c94877bc6b4d44d (diff) | |
download | talos-op-linux-98d5c21c812e4e3b795f5bd912f407ed7c5e4e38.tar.gz talos-op-linux-98d5c21c812e4e3b795f5bd912f407ed7c5e4e38.zip |
[POWERPC] Update lmb data structures for hotplug memory add/remove
The powerpc kernel maintains information about logical memory blocks
in the lmb.memory structure, which is initialized and updated at boot
time, but not when memory is added or removed while the kernel is
running.
This adds a hotplug memory notifier which updates lmb.memory when
memory is added or removed. This information is useful for eHEA
driver to find out the memory layout and holes.
NOTE: No special locking is needed for lmb_add() and lmb_remove().
Calls to these are serialized by caller. (pSeries_reconfig_chain).
Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/linux/lmb.h')
-rw-r--r-- | include/linux/lmb.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/lmb.h b/include/linux/lmb.h index 271153d27fba..55d4b261a9e8 100644 --- a/include/linux/lmb.h +++ b/include/linux/lmb.h @@ -40,7 +40,8 @@ extern struct lmb lmb; extern void __init lmb_init(void); extern void __init lmb_analyze(void); -extern long __init lmb_add(u64 base, u64 size); +extern long lmb_add(u64 base, u64 size); +extern long lmb_remove(u64 base, u64 size); extern long __init lmb_reserve(u64 base, u64 size); extern u64 __init lmb_alloc_nid(u64 size, u64 align, int nid, u64 (*nid_range)(u64, u64, int *)); |