aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-02-20 02:29:08 -0500
committerTejun Heo <tj@kernel.org>2009-02-20 02:29:08 -0500
commitf0aa6617903648077dffe5cfcf7c4458f4610fa7 (patch)
treec97ab20b953bfea8a6516d741585ea088a8bf7ef /include/linux
parentf2a8205c4ef1af917d175c36a4097ae5587791c8 (diff)
vmalloc: implement vm_area_register_early()
Impact: allow multiple early vm areas There are places where kernel VM area needs to be allocated before vmalloc is initialized. This is done by allocating static vm_struct, initializing several fields and linking it to vmlist and later vmalloc initialization picking up these from vmlist. This is currently done manually and if there's more than one such areas, there's no defined way to arbitrate who gets which address. This patch implements vm_area_register_early(), which takes vm_area struct with flags and size initialized, assigns address to it and puts it on the vmlist. This way, multiple early vm areas can determine which addresses they should use. The only current user - alpha mm init - is converted to use it. Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/vmalloc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
index 506e7620a986..bbc051392298 100644
--- a/include/linux/vmalloc.h
+++ b/include/linux/vmalloc.h
@@ -106,5 +106,6 @@ extern long vwrite(char *buf, char *addr, unsigned long count);
106 */ 106 */
107extern rwlock_t vmlist_lock; 107extern rwlock_t vmlist_lock;
108extern struct vm_struct *vmlist; 108extern struct vm_struct *vmlist;
109extern __init void vm_area_register_early(struct vm_struct *vm);
109 110
110#endif /* _LINUX_VMALLOC_H */ 111#endif /* _LINUX_VMALLOC_H */