1. 24 Mar, 2012 1 commit
    • Will Deacon's avatar
      ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path · 9141a003
      Will Deacon authored
      
      
      The kexec machine crash code can be called in interrupt context via a
      sysrq trigger made using the magic key combination. If the irq chip
      dealing with the serial interrupt is using the fasteoi flow handler,
      then we will never EOI the interrupt because the interrupt handler will
      be fatal. In the case of a GIC, this results in the crash kernel not
      receiving interrupts on that CPU interface.
      
      This patch adds code (based on the PowerPC implementation) to EOI any
      pending interrupts on the crash CPU before masking and disabling all
      interrupts. Secondary cores are not a problem since they are placed into
      a cpu_relax() loop via an IPI.
      Reported-by: default avatarLei Wen <leiwen@marvell.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      9141a003
  2. 12 Dec, 2011 1 commit
  3. 10 Nov, 2011 1 commit
  4. 07 Nov, 2011 1 commit
  5. 17 Oct, 2011 1 commit
  6. 03 Mar, 2011 1 commit
  7. 04 Dec, 2010 1 commit
  8. 26 Oct, 2010 1 commit
  9. 27 Jul, 2010 2 commits
    • Russell King's avatar
      ARM: call machine_shutdown() from machine_halt(), etc · 3d3f78d7
      Russell King authored
      
      
      x86 calls machine_shutdown() from the various machine_*() calls which
      take the machine down ready for halting, restarting, etc, and uses
      this to bring the system safely to a point where those actions can be
      performed.  Such actions are stopping the secondary CPUs.
      
      So, change the ARM implementation of these to reflect what x86 does.
      
      This solves kexec problems on ARM SMP platforms, where the secondary
      CPUs were left running across the kexec call.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      3d3f78d7
    • Russell King's avatar
      ARM: Factor out common code from cpu_proc_fin() · 9ca03a21
      Russell King authored
      
      
      All implementations of cpu_proc_fin() start by disabling interrupts
      and then flush caches.  Rather than have every processors proc_fin()
      implementation do this, move it out into generic code - and move the
      cache flush past setup_mm_for_reboot() (so it can benefit from having
      caches still enabled.)
      
      This allows cpu_proc_fin() to become independent of the L1/L2 cache
      types, and eventually move the L2 cache flushing into the L2 support
      code.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      9ca03a21
  10. 09 Jul, 2010 1 commit
  11. 10 Feb, 2009 1 commit
  12. 06 Sep, 2008 1 commit
  13. 15 Aug, 2008 1 commit
  14. 04 Feb, 2008 1 commit
    • Richard Purdie's avatar
      [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags · 4cd9d6f7
      Richard Purdie authored
      
      
      Currently, the atags used by kexec are fixed to the ones originally used
      to boot the kernel. This is less than ideal as changing the commandline,
      initrd and other options would be a useful feature.
      
      This patch exports the atags used for the current kernel to userspace
      through an "atags" file in procfs. The presence of the file is
      controlled by its own Kconfig option and cleans up several ifdef blocks
      into a separate file. The tags for the new kernel are assumed to be at
      a fixed location before the kernel image itself. The location of the
      tags used to boot the original kernel is unimportant and no longer
      saved.
      
      Based on a patch from Uli Luckas <u.luckas@road.de>
      Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
      Acked-by: default avatarUli Luckas <u.luckas@road.de>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      4cd9d6f7
  15. 16 Feb, 2007 1 commit
    • Richard Purdie's avatar
      [ARM] 4137/1: Add kexec support · c587e4a6
      Richard Purdie authored
      
      
      Add kexec support to ARM.
      
      Improvements like commandline handling could be made but this patch gives
      basic functional support. It uses the next available syscall number, 347.
      
      Once the syscall number is known, userspace support will be
      finalised/submitted to kexec-tools, various patches already exist.
      
      Originally based on a patch by Maxim Syrchin but updated and forward
      ported by various people.
      Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      c587e4a6