linux_dsm_epyc7002/arch/arm
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
..
boot Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-08-06 09:38:14 -07:00
common Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-05 17:46:42 -07:00
configs tgt: defconfig cleanup 2014-07-17 22:07:44 +02:00
crypto Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-08-05 10:05:29 -07:00
firmware
include lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
kernel Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2014-08-06 08:06:39 -07:00
kvm ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
lib ARM: 8091/2: add get_user() support for 8 byte types 2014-07-18 12:29:34 +01:00
mach-at91 ARM: at91: fix at91_sysirq_mask_rtc for sam9x5 SoCs 2014-06-06 16:08:08 -07:00
mach-axxia
mach-bcm platform: Remove most references to platform_bus device 2014-07-23 19:09:03 -07:00
mach-berlin ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-clps711x platform: Remove most references to platform_bus device 2014-07-23 19:09:03 -07:00
mach-cns3xxx ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-davinci ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mach-dove
mach-ebsa110 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-efm32
mach-ep93xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-exynos ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
mach-footbridge ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-gemini
mach-highbank PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mach-hisi
mach-imx ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
mach-integrator ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-iop13xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone ARM: keystone requires ARM_PATCH_PHYS_VIRT 2014-06-17 17:09:22 +02:00
mach-kirkwood
mach-ks8695 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-lpc32xx mmc: mmci: Enforce DMA configuration through DT 2014-06-02 11:20:25 +02:00
mach-mmp
mach-moxart ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-msm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-08-06 21:03:53 -07:00
mach-mv78xx0
mach-mvebu Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-08-05 10:05:29 -07:00
mach-mxs
mach-netx
mach-nomadik ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-nspire
mach-omap1 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-omap2 arch/arm/mach-omap2: replace strict_strto* with kstrto* 2014-08-08 15:57:27 -07:00
mach-orion5x ARM: SoC updates for 3.16 (part 2) 2014-06-11 11:03:24 -07:00
mach-picoxcell
mach-prima2 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-pxa arch/arm/mach-pxa: replace strict_strto call with kstrto 2014-08-08 15:57:27 -07:00
mach-qcom ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-realview ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-rockchip ARM: rockchip: Select ARCH_HAS_RESET_CONTROLLER 2014-07-13 12:17:11 -07:00
mach-rpc ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-s3c24xx arch/arm/mach-s3c24xx/mach-jive.c: replace strict_strto* with kstrto* 2014-08-08 15:57:28 -07:00
mach-s3c64xx ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5p64x0 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pc100 ARM: samsung: make SAMSUNG_DMADEV optional 2014-06-17 17:09:37 +02:00
mach-s5pv210 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-sa1100 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-shmobile ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
mach-socfpga ARM: l2c: socfpga: convert to generic l2c OF initialisation 2014-05-30 00:50:04 +01:00
mach-spear ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-sti Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-sunxi ARM: sunxi: Reintroduce the restart code for A10/A20 SoCs 2014-07-04 21:50:10 -07:00
mach-tegra ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mach-u300 ARM: use menuconfig for sub-arch menus 2014-06-17 17:09:48 +02:00
mach-ux500 Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-versatile
mach-vexpress ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
mach-vt8500 ARM: Remove ARCH_HAS_CPUFREQ config option 2014-06-17 17:09:39 +02:00
mach-w90x900 arch/arm/mach-w90x900/cpu.c: replace obsolete strict_strto 2014-08-08 15:57:28 -07:00
mach-zynq PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mm CMA: generalize CMA reserved area management functionality 2014-08-06 18:01:16 -07:00
net net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
nwfpe ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
oprofile Merge branch 'devel-stable' into for-next 2014-08-05 10:27:25 +01:00
plat-iop
plat-omap ARM: OMAP: add deprecation message for legacy OMAP DMA API 2014-07-01 15:00:26 +01:00
plat-orion
plat-pxa
plat-samsung Couple of DT fixes for STi platform issues discovered on V3.16-rc1. 2014-06-20 10:59:05 +02:00
plat-versatile
tools
vfp ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
xen Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-08-05 10:05:29 -07:00
Kconfig kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
Kconfig-nommu
Kconfig.debug Samsung Exynos updates for 3.16 2014-05-30 21:44:49 -07:00
Makefile ARM: 8096/1: Describe required sort order for textofs-y (TEXT_OFFSET) 2014-07-18 12:29:27 +01:00