aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2014-11-24 06:33:13 +0000
committerFlorian Fainelli <florian@openwrt.org>2014-11-24 06:33:13 +0000
commit688e48076b9d63fc68c03312418fc2516bdf8e33 (patch)
tree53de5a2d9c6ccd0c09aa57b2d3f29fd1bc05b599 /include
parent379d97d851dc8a95d44a8e2acd42ad4b42fb6ab5 (diff)
downloadmaster-187ad058-688e48076b9d63fc68c03312418fc2516bdf8e33.tar.gz
master-187ad058-688e48076b9d63fc68c03312418fc2516bdf8e33.tar.bz2
master-187ad058-688e48076b9d63fc68c03312418fc2516bdf8e33.zip
aarch64: add initial support
Add initial support for the AArch64 architecture Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43353 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r--include/kernel.mk2
-rw-r--r--include/site/aarch64-linux28
-rw-r--r--include/site/aarch64-openwrt-linux-gnu5
-rw-r--r--include/site/aarch64_be-linux28
-rw-r--r--include/site/aarch64_be-openwrt-linux-gnu5
-rw-r--r--include/target.mk4
6 files changed, 71 insertions, 1 deletions
diff --git a/include/kernel.mk b/include/kernel.mk
index 28c8cf8974..01fb4dbd81 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -66,7 +66,7 @@ ifneq (,$(findstring uml,$(BOARD)))
LINUX_KARCH=um
else
ifeq (,$(LINUX_KARCH))
- LINUX_KARCH=$(strip $(subst i386,x86,$(subst armeb,arm,$(subst mipsel,mips,$(subst mips64,mips,$(subst mips64el,mips,$(subst sh2,sh,$(subst sh3,sh,$(subst sh4,sh,$(ARCH))))))))))
+ LINUX_KARCH=$(strip $(subst i386,x86,$(subst armeb,arm,$(subst mipsel,mips,$(subst mips64,mips,$(subst mips64el,mips,$(subst sh2,sh,$(subst sh3,sh,$(subst sh4,sh,$(subst aarch64,arm64,$(subst aarch64_be,arm64,$(ARCH))))))))))))
endif
endif
diff --git a/include/site/aarch64-linux b/include/site/aarch64-linux
new file mode 100644
index 0000000000..41dfc01df5
--- /dev/null
+++ b/include/site/aarch64-linux
@@ -0,0 +1,28 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=8
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=8
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=8
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=8
+ac_cv_sizeof_ssize_t=8
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=8
+ac_cv_sizeof_unsigned_long_long=8
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=8
diff --git a/include/site/aarch64-openwrt-linux-gnu b/include/site/aarch64-openwrt-linux-gnu
new file mode 100644
index 0000000000..d84dd0a17e
--- /dev/null
+++ b/include/site/aarch64-openwrt-linux-gnu
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/aarch64-linux
+. $TOPDIR/include/site/linux-gnu
+
diff --git a/include/site/aarch64_be-linux b/include/site/aarch64_be-linux
new file mode 100644
index 0000000000..1541a89d15
--- /dev/null
+++ b/include/site/aarch64_be-linux
@@ -0,0 +1,28 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=8
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=8
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=8
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=8
+ac_cv_sizeof_ssize_t=8
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=8
+ac_cv_sizeof_unsigned_long_long=8
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=8
diff --git a/include/site/aarch64_be-openwrt-linux-gnu b/include/site/aarch64_be-openwrt-linux-gnu
new file mode 100644
index 0000000000..d84dd0a17e
--- /dev/null
+++ b/include/site/aarch64_be-openwrt-linux-gnu
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/aarch64-linux
+. $TOPDIR/include/site/linux-gnu
+
diff --git a/include/target.mk b/include/target.mk
index 3401f849a5..17413f9ece 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -252,6 +252,10 @@ ifeq ($(DUMP),1)
CPU_TYPE = sparc
CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc
endif
+ ifeq ($(ARCH),aarch64)
+ CPU_TYPE ?= armv8-a
+ CPU_CFLAGS_armv8-a = -mcpu=armv8-a
+ endif
DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE)))
endif