diff options
author | Yann E. MORIN" <yann.morin.1998@free.fr> | 2013-12-30 23:28:18 +0100 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@free.fr> | 2013-12-30 23:28:18 +0100 |
commit | 1bf982dd686d5f07c377249396ac2068a1b1bbf2 (patch) | |
tree | e48006d20c58f92c2b689df6f0ed79846ec7de4f | |
parent | 9bda4536fee99b14737f6e0cba3bf4d186f0544d (diff) | |
download | crosstool-ng-1bf982dd686d5f07c377249396ac2068a1b1bbf2.tar.gz crosstool-ng-1bf982dd686d5f07c377249396ac2068a1b1bbf2.tar.bz2 crosstool-ng-1bf982dd686d5f07c377249396ac2068a1b1bbf2.zip |
arch/arm: add support for AArch64
AArch64 id the 64-bit variant for ARM.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Cc: Michael Hope <michael.hope@linaro.org>
-rw-r--r-- | config/arch/arm.in | 7 | ||||
-rw-r--r-- | scripts/build/arch/arm.sh | 11 | ||||
-rw-r--r-- | scripts/build/kernel/linux.sh | 4 |
3 files changed, 18 insertions, 4 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in index 25311c45..5d40e372 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -1,6 +1,7 @@ # ARM specific configuration file ## select ARCH_SUPPORTS_32 +## select ARCH_SUPPORTS_64 ## select ARCH_DEFAULT_32 ## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_HAS_MMU @@ -9,9 +10,9 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE -## select ARCH_SUPPORTS_WITH_FLOAT -## select ARCH_SUPPORTS_WITH_FPU -## select ARCH_SUPPORTS_SOFTFP +## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 +## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 +## select ARCH_SUPPORTS_SOFTFP if ARCH_32 ## ## help The ARM architecture, as defined by: ## help http://www.arm.com/ diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh index f111b036..430bddee 100644 --- a/scripts/build/arch/arm.sh +++ b/scripts/build/arch/arm.sh @@ -2,7 +2,16 @@ CT_DoArchTupleValues() { # The architecture part of the tuple: - CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}" + case "${CT_ARCH_BITNESS}" in + 32) + CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}" + ;; + 64) + # ARM 64 (aka AArch64) is special + [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be" + CT_TARGET_ARCH="aarch64${CT_ARCH_SUFFIX:-${target_endian_eb}}" + ;; + esac # The system part of the tuple: case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in diff --git a/scripts/build/kernel/linux.sh b/scripts/build/kernel/linux.sh index 3899483c..90daa8ad 100644 --- a/scripts/build/kernel/linux.sh +++ b/scripts/build/kernel/linux.sh @@ -110,6 +110,10 @@ do_kernel_install() { V_OPT="V=${CT_KERNEL_LINUX_VERBOSE_LEVEL}" kernel_arch="${CT_ARCH}" + case "${CT_ARCH}:${CT_ARCH_BITNESS}" in + # ARM 64 (aka AArch64) is special + arm:64) kernel_arch="arm64";; + esac CT_DoLog EXTRA "Installing kernel headers" CT_DoExecLog ALL \ |