1. 30 4月, 2008 1 次提交
    • M
      [POWERPC] Fix crashkernel= handling when no crashkernel= specified · eabd9094
      Michael Ellerman 提交于
      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: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      eabd9094
  2. 14 2月, 2008 1 次提交
  3. 20 10月, 2007 1 次提交
  4. 17 8月, 2006 1 次提交
  5. 11 1月, 2006 1 次提交
  6. 09 1月, 2006 2 次提交
    • M
      [PATCH] powerpc: Propagate regs through to machine_crash_shutdown · cd0ca2ce
      Michael Ellerman 提交于
      Currently machine_crash_shutdown() gets a struct pt_regs, but doesn't pass it
      through to the ppc_md function, it should.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      cd0ca2ce
    • M
      [PATCH] powerpc: Merge kexec · 3d1229d6
      Michael Ellerman 提交于
      This patch merges, to some extent, the PPC32 and PPC64 kexec implementations.
      
      We adopt the PPC32 approach of having ppc_md callbacks for the kexec functions.
      The current PPC64 implementation becomes the "default" implementation for PPC64
      which platforms can select if they need no special treatment.
      
      I've added these default callbacks to pseries/maple/cell/powermac, this means
      iSeries no longer supports kexec - but it never worked anyway.
      
      I've renamed PPC32's machine_kexec_simple to default_machine_kexec, inline with
      PPC64. Judging by the comments it might be better named machine_kexec_non_of,
      or something, but at the moment it's the only implementation for PPC32 so it's
      the "default".
      
      Kexec requires machine_shutdown(), which is in machine_kexec.c on PPC32, but we
      already have in setup-common.c on powerpc. All this does is call
      ppc_md.nvram_sync, which only powermac implements, so instead make
      machine_shutdown a ppc_md member and have it call core99_nvram_sync directly
      on powermac.
      
      I've also stuck relocate_kernel.S into misc_32.S for powerpc.
      
      Built for ARCH=ppc, and 32 & 64 bit ARCH=powerpc, with KEXEC=y/n. Booted on
      P5 LPAR and successfully kexec'ed.
      
      Should apply on top of 493f25ef.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3d1229d6