summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot/Config.in1
-rw-r--r--boot/boot-wrapper-aarch64/Config.in31
-rw-r--r--boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk29
3 files changed, 61 insertions, 0 deletions
diff --git a/boot/Config.in b/boot/Config.in
index a55139be1..eb5f7cd67 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -4,6 +4,7 @@ source "boot/at91bootstrap/Config.in"
source "boot/at91bootstrap3/Config.in"
source "boot/at91dataflashboot/Config.in"
source "boot/barebox/Config.in"
+source "boot/boot-wrapper-aarch64/Config.in"
source "boot/grub/Config.in"
source "boot/lpc32xxcdl/Config.in"
source "boot/mxs-bootlets/Config.in"
diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in
new file mode 100644
index 000000000..654686296
--- /dev/null
+++ b/boot/boot-wrapper-aarch64/Config.in
@@ -0,0 +1,31 @@
+config BR2_TARGET_BOOT_WRAPPER_AARCH64
+ bool "boot-wrapper-aarch64"
+ depends on BR2_aarch64
+ depends on BR2_LINUX_KERNEL
+ help
+ The boot-wrapper-aarch64 is a small bootloader that makes it
+ possible to start an Aarch64 kernel inside the available
+ software simulators for the Aarch64 architecture.
+
+ git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git
+
+if BR2_TARGET_BOOT_WRAPPER_AARCH64
+
+config BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS
+ string "Device Tree Source name"
+ default ""
+ help
+ Name of the Device Tree Source file to use to generate the
+ Device Tree Blob that will be embedded in the image
+ generated by the boot wrapper. Valid names are the .dts
+ files from arch/arm64/boot/dts/ in the kernel source
+ tree. The name must be specified without the .dts suffix.
+
+config BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS
+ string "Kernel bootargs"
+ default ""
+ help
+ Kernel bootargs to embed inside the image generated by the
+ boot wrapper.
+
+endif
diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk
new file mode 100644
index 000000000..25c6bed76
--- /dev/null
+++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk
@@ -0,0 +1,29 @@
+#############################################################
+#
+# boot-wrapper-aarch64
+#
+#############################################################
+
+BOOT_WRAPPER_AARCH64_VERSION = 26b62f586020fd998c6efd43db657eaafeec14da
+BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git
+BOOT_WRAPPER_AARCH64_LICENSE = BSD3c
+BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt
+BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux
+BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES
+
+BOOT_WRAPPER_AARCH64_DTS = $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))
+
+define BOOT_WRAPPER_AARCH64_BUILD_CMDS
+ $(MAKE) \
+ KERNEL=$(BINARIES_DIR)/Image \
+ DTC=$(LINUX_DIR)/scripts/dtc/dtc \
+ FDT_SRC=$(LINUX_DIR)/arch/arm64/boot/dts/$(BOOT_WRAPPER_AARCH64_DTS).dts \
+ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
+ BOOTARGS='$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS)' -C $(@D)
+endef
+
+define BOOT_WRAPPER_AARCH64_INSTALL_IMAGES_CMDS
+ cp $(@D)/linux-system.axf $(BINARIES_DIR)
+endef
+
+$(eval $(generic-package))