• Vivek Goyal's avatar
    [PATCH] x86-64: Kill temp boot pmds · dafe41ee
    Vivek Goyal authored
    Early in the boot process we need the ability to set
    up temporary mappings, before our normal mechanisms are
    initialized.  Currently this is used to map pages that
    are part of the page tables we are building and pages
    during the dmi scan.
    
    The core problem is that we are using the user portion of
    the page tables to implement this.  Which means that while
    this mechanism is active we cannot catch NULL pointer dereferences
    and we deviate from the normal ways of handling things.
    
    In this patch I modify early_ioremap to map pages into
    the kernel portion of address space, roughly where
    we will later put modules, and I make the discovery of
    which addresses we can use dynamic which removes all
    kinds of static limits and remove the dependencies
    on implementation details between different parts of the code.
    
    Now alloc_low_page() and unmap_low_page() use
    early_iomap() and early_iounmap() to allocate/map and
    unmap a page.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    dafe41ee
init.c 18.6 KB