• Michael Ellerman's avatar
    [POWERPC] Fix crashkernel= handling when no crashkernel= specified · eabd9094
    Michael Ellerman authored
    Commit edd8ce67 (Use extended crashkernel
    command line on ppc64), changed the logic in reserve_crashkernel()
    which deals with the crashkernel= command line option.
    
    This introduced a bug in the case when there is no crashkernel= option,
    or it is incorrect.  We would fall through and calculate the crash_size
    based on the existing values in crashk_res.  If both start and end are 0,
    the default, we calculate the crash_size as 1 byte - which is wrong.
    
    Rework the logic so that we use crashk_res, regardless of whether it's
    set by the command line or via the device tree (see prom.c).  Then check
    if we have an empty range (end == start), and if so make sure to set
    both end and start to zero (this is checked in machine_kexec_64.c).  Then
    we calculate the crash_size once we know we have a non-zero range.
    
    Finally we always want to warn the user if they specify a base != 32MB,
    so remove the special case for that in the command line parsing case.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    eabd9094
machine_kexec.c 3.05 KB