summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-04-15 16:50:50 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-04-15 16:50:50 +0200
commit786605b21d3996df956bf785b020996cc7df3763 (patch)
treed40b956ce805150c73bc22bc33fbaa097e323f3d /package
parent67f34421f0ae00adc39cbf016e4b33d2817b854d (diff)
add basic support for aarch64 with ARMv8 foundation model, toolchain and kernel works, userland broken.
Diffstat (limited to 'package')
-rw-r--r--package/boot-wrapper-aarch64/Makefile27
-rw-r--r--package/boot-wrapper-aarch64/patches/patch-Makefile_am13
-rw-r--r--package/boot-wrapper-aarch64/patches/patch-configure_ac23
3 files changed, 63 insertions, 0 deletions
diff --git a/package/boot-wrapper-aarch64/Makefile b/package/boot-wrapper-aarch64/Makefile
new file mode 100644
index 000000000..1c7a800ee
--- /dev/null
+++ b/package/boot-wrapper-aarch64/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= boot-wrapper-aarch64
+PKG_VERSION:= 0.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 2ffdbf8c05854e3b855314d9ac21bbc4
+PKG_DESCR:= boot-wrapper for aarch64
+PKG_SECTION:= boot
+PKG_BUILDDEP:= autotool
+PKG_SITES:= http://www.openadk.org/distfiles/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,BOOT_WRAPPER_AARCH64,boot-wrapper-aarch64,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --with-kernel-dir=${LINUX_DIR}
+
+boot-wrapper-aarch64-install:
+ ${CP} ${WRKBUILD}/linux-system.axf ${LINUX_DIR}
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/boot-wrapper-aarch64/patches/patch-Makefile_am b/package/boot-wrapper-aarch64/patches/patch-Makefile_am
new file mode 100644
index 000000000..40eb83f2a
--- /dev/null
+++ b/package/boot-wrapper-aarch64/patches/patch-Makefile_am
@@ -0,0 +1,13 @@
+--- boot-wrapper-aarch64-0.1.orig/Makefile.am 2014-04-13 21:10:47.000000000 +0200
++++ boot-wrapper-aarch64-0.1/Makefile.am 2014-04-13 21:58:16.848991221 +0200
+@@ -83,8 +83,8 @@ $(IMAGE): boot.o cache.o gic.o mmu.o ns.
+ model.lds: $(LD_SCRIPT) Makefile
+ $(CPP) $(CPPFLAGS) -ansi -DPHYS_OFFSET=$(PHYS_OFFSET) -DMBOX_OFFSET=$(MBOX_OFFSET) -DKERNEL_OFFSET=$(KERNEL_OFFSET) -DFDT_OFFSET=$(FDT_OFFSET) -DFS_OFFSET=$(FS_OFFSET) -DKERNEL=$(KERNEL_IMAGE) -DFILESYSTEM=$(FILESYSTEM) -DBOOTMETHOD=$(BOOTMETHOD) -P -C -o $@ $<
+
+-fdt.dtb: $(KERNEL_DTB) Makefile gen-cpu-nodes.sh
+- ( $(DTC) -O dts -I dtb $(KERNEL_DTB) ; echo "/ { $(CHOSEN_NODE) $(PSCI_NODE) $(CPUS_NODE) };" ) | $(DTC) -O dtb -o $@ -
++fdt.dtb: $(KERNEL_DTS) Makefile gen-cpu-nodes.sh
++ ( cat $(KERNEL_DTS) ; echo "/ { $(CHOSEN_NODE) $(PSCI_NODE) $(CPUS_NODE) };" ) | $(DTC) -O dtb -o $@ -
+
+ # The filesystem archive might not exist if INITRD is not being used
+ .PHONY: all clean $(FILESYSTEM)
diff --git a/package/boot-wrapper-aarch64/patches/patch-configure_ac b/package/boot-wrapper-aarch64/patches/patch-configure_ac
new file mode 100644
index 000000000..1a016cf2e
--- /dev/null
+++ b/package/boot-wrapper-aarch64/patches/patch-configure_ac
@@ -0,0 +1,23 @@
+--- boot-wrapper-aarch64-0.1.orig/configure.ac 2014-04-13 21:10:47.000000000 +0200
++++ boot-wrapper-aarch64-0.1/configure.ac 2014-04-13 21:58:39.944973128 +0200
+@@ -22,18 +22,10 @@ AC_ARG_WITH([kernel-dir],
+ AC_SUBST([KERN_DIR], [$withval]),
+ AC_MSG_ERROR([No kernel directory specified. Use --with-kernel-dir]))
+ KERN_IMAGE=/arch/arm64/boot/Image
+-KERN_DTB=/arch/arm64/boot/dts/rtsm_ve-aemv8a.dtb
+-
+-# Ensure that the user has provided us with a sane kernel dir.
+-m4_define([CHECKFILES], [KERN_DIR,
+- KERN_DIR$KERN_DTB,
+- KERN_DIR$KERN_IMAGE])
+-
+-m4_foreach([checkfile], [CHECKFILES],
+- [AC_CHECK_FILE([$checkfile], [], AC_MSG_ERROR([No such file or directory: $checkfile]))])
++KERN_DTS=/arch/arm64/boot/dts/foundation-v8.dts
+
+ AC_SUBST([KERNEL_IMAGE], [$KERN_DIR$KERN_IMAGE])
+-AC_SUBST([KERNEL_DTB], [$KERN_DIR$KERN_DTB])
++AC_SUBST([KERNEL_DTS], [$KERN_DIR$KERN_DTS])
+
+ # Allow a user to pass --enable-psci
+ USE_PSCI=no