Add support for kexec-hardboot

"Allows hard booting (i.e., with a full hardware reboot) to a kernel
previously loaded in memory by kexec.  This works around the problem of
soft-booted kernel hangs due to improper device shutdown and/or
reinitialization."
More info in /arch/arm/Kconfig.

Original author: Mike Kasick <mike@kasick.org>
These patches are ported from Asus TF201, to which it
was ported by Jens Andersen <jens.andersen@gmail.com>.

 ---
 arch/arm/Kconfig                          |   26 +++++
 arch/arm/boot/compressed/Makefile         |    3 +
 arch/arm/boot/compressed/head.S           |  142 +++++++++++++++++++++++++++++
 arch/arm/boot/compressed/misc.c           |   23 +++++
 arch/arm/include/asm/kexec.h              |    8 ++
 arch/arm/kernel/atags.c                   |   54 +++++++----
 arch/arm/kernel/machine_kexec.c           |   25 ++++-
 arch/arm/kernel/relocate_kernel.S         |   47 ++++++++++
 arch/arm/mach-tegra/common.c              |    9 ++
 arch/arm/mach-tegra/include/mach/memory.h |   12 ++
 arch/arm/mach-tegra/reset.c               |   23 +++++
 include/linux/kexec.h                     |   19 +++-
 kernel/kexec.c                            |    4 +
 14 files changed, 379 insertions(+), 25 deletions(-)
KEXEC Endevouru Changes