• Tejun Heo's avatar
    vmalloc: implement vm_area_register_early() · f0aa6617
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
vmalloc.c 43.8 KB