linux/arch
Vivek Goyal 12db5562e0 kexec: load and relocate purgatory at kernel load time
Load purgatory code in RAM and relocate it based on the location.
Relocation code has been inspired by module relocation code and purgatory
relocation code in kexec-tools.

Also compute the checksums of loaded kexec segments and store them in
purgatory.

Arch independent code provides this functionality so that arch dependent
bootloaders can make use of it.

Helper functions are provided to get/set symbol values in purgatory which
are used by bootloaders later to set things like stack and entry point of
second kernel etc.

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: 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 kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -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 kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
m32r lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
m68k kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57: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 kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -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 kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
s390 kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
score lib/scatterlist: clean up useless architecture versions of scatterlist.h 2014-08-08 15:57:26 -07:00
sh kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
sparc lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
tile kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -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 kexec: load and relocate purgatory at kernel load time 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