summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/page_types.h
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2013-07-08 09:15:17 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2013-08-07 21:00:04 -0700
commita02150610776f66b40257624822a879311592bb2 (patch)
treea14370b350bfead0b692d2b6a4b74f426c17024d /arch/x86/include/asm/page_types.h
parentc095ba7224d8edc71dcef0d655911399a8bd4a3f (diff)
downloadop-kernel-dev-a02150610776f66b40257624822a879311592bb2.zip
op-kernel-dev-a02150610776f66b40257624822a879311592bb2.tar.gz
x86, relocs: Move ELF relocation handling to C
Moves the relocation handling into C, after decompression. This requires that the decompressed size is passed to the decompression routine as well so that relocations can be found. Only kernels that need relocation support will use the code (currently just x86_32), but this is laying the ground work for 64-bit using it in support of KASLR. Based on work by Neill Clift and Michael Davidson. Signed-off-by: Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/20130708161517.GA4832@www.outflux.net Acked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include/asm/page_types.h')
-rw-r--r--arch/x86/include/asm/page_types.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/include/asm/page_types.h b/arch/x86/include/asm/page_types.h
index 54c9787..f97fbe3 100644
--- a/arch/x86/include/asm/page_types.h
+++ b/arch/x86/include/asm/page_types.h
@@ -33,6 +33,11 @@
(((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
+#define __PHYSICAL_START ALIGN(CONFIG_PHYSICAL_START, \
+ CONFIG_PHYSICAL_ALIGN)
+
+#define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
+
#ifdef CONFIG_X86_64
#include <asm/page_64_types.h>
#else
OpenPOWER on IntegriCloud