linux/arch
Vivek Goyal 8fc5b4d412 purgatory: core purgatory functionality
Create a stand alone relocatable object purgatory which runs between two
kernels.  This name, concept and some code has been taken from
kexec-tools.  Idea is that this code runs after a crash and it runs in
minimal environment.  So keep it separate from rest of the kernel and in
long term we will have to practically do no maintenance of this code.

This code also has the logic to do verify sha256 hashes of various
segments which have been loaded into memory.  So first we verify that the
kernel we are jumping to is fine and has not been corrupted and make
progress only if checsums are verified.

This code also takes care of copying some memory contents to backup region.

[sfr@canb.auug.org.au: run host built programs from objtree]
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: WANG Chao <chaowang@redhat.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-08-08 15:57:32 -07:00
..
alpha lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
arc TTY / Serial driver update for 3.17-rc1 2014-08-04 18:51:19 -07:00
arm arch/arm/mach-w90x900/cpu.c: replace obsolete strict_strto 2014-08-08 15:57:28 -07:00
arm64 arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
avr32 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 2014-08-07 09:01:25 -07:00
blackfin Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-04 16:09:53 -07:00
c6x arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
cris lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
frv lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-08-06 21:03:53 -07:00
ia64 arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
m32r lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
m68k SCSI misc on 20140806 2014-08-06 20:10:32 -07:00
metag Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-04 16:09:53 -07:00
microblaze lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-08-07 08:47:00 -07:00
mn10300 lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
openrisc Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-05 17:38:45 -07:00
parisc Staging driver patches for 3.17-rc1 2014-08-04 18:36:12 -07:00
powerpc arch/powerpc: replace obsolete strict_strto* calls 2014-08-08 15:57:28 -07:00
s390 arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
score lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
sh arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
sparc lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
tile arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
um arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
unicore32 Driver core patches for 3.17-rc1 2014-08-04 18:34:04 -07:00
x86 purgatory: core purgatory functionality 2014-08-08 15:57:32 -07:00
xtensa Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-04 16:09:06 -07:00
.gitignore
Kconfig seccomp: add "seccomp" syscall 2014-07-18 12:13:37 -07:00