Skip to content
  • Nicolas Pitre's avatar
    ARM: 6748/1: ignore mdesc->boot_params if out of range · 3572bea8
    Nicolas Pitre authored
    
    
    The initial MMU table created in head.S contains a 1 MB mapping at the
    start of memory to let the early kernel boot code access the boot params
    specified by mdesc->boot_params.
    
    When using CONFIG_ARM_PATCH_PHYS_VIRT it is possible for the kernel to
    have a different idea of where the start of memory is at run time, making
    the compile-time determined mdesc->boot_params pointing to a memory area
    which is not mapped.  Any access to the boot params in that case will
    fault and silently hang the kernel at that point.  It is therefore a
    better idea to simply ignore mdesc->boot_params in that case and give
    the kernel a chance to print some diagnostic on the console later.
    
    If the bootloader provides a valid pointer in r2 to the kernel then this
    is used instead of mdesc->boot_params, and an explicit mapping is already
    created in the initial MMU table for it.  It is therefore a good idea to
    use that facility when using a relocated kernel.
    
    Signed-off-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    3572bea8