summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2018-06-18 12:01:05 +0100
committerManish Pandey <manish.pandey2@arm.com>2018-06-26 13:04:00 +0100
commitfa402ea937eef4cb6756e5df542b61ab95b76340 (patch)
tree699634eb62ce1ae3adb7c86d962edc6f47ce386b
parente5ba23f3fb4d80d0a00e7c06e5d1974222c7a84f (diff)
bootwrapper: added support for XIP kernel.
added a compilation flag XIP_KERNEL to execute kernel directly from flash, no need to load and relocate kernel in RAM. Change-Id: I6ed37dafbedb72000f61212cde251e755e736240 Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
-rw-r--r--config-default.mk4
-rw-r--r--semi_loader.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/config-default.mk b/config-default.mk
index fade53d..0f71438 100644
--- a/config-default.mk
+++ b/config-default.mk
@@ -91,6 +91,10 @@ CORTEX_A9_A5 ?= no
ifeq ($(CORTEX_A9_A5),yes)
CPPFLAGS +=-DCORTEX_A9_A5
endif
+XIP_KERNEL ?= no
+ifeq ($(XIP_KERNEL),yes)
+CPPFLAGS +=-DXIP_KERNEL
+endif
# Default kernel command line, using initrd:
ifeq ($(USE_INITRD),yes)
diff --git a/semi_loader.c b/semi_loader.c
index f8be94d..ce7b474 100644
--- a/semi_loader.c
+++ b/semi_loader.c
@@ -564,6 +564,7 @@ args_done:
/* load the kernel */
+#ifndef XIP_KERNEL
info->kernel_entry = (unsigned)phys;
if(kernel_arg) {
@@ -579,6 +580,7 @@ args_done:
/* move the kernel to the correct place, if necessary */
correct_kernel_location(info);
+#endif
phys = (char *)(PHYS_OFFSET + INITRD_OFFSET);