From 1bf982dd686d5f07c377249396ac2068a1b1bbf2 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 30 Dec 2013 23:28:18 +0100 Subject: arch/arm: add support for AArch64 AArch64 id the 64-bit variant for ARM. Signed-off-by: "Yann E. MORIN" Cc: Zhenqiang Chen Cc: Michael Hope diff --git a/config/arch/arm.in b/config/arch/arm.in index 25311c4..5d40e37 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 f111b03..430bdde 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 3899483..90daa8a 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 \ -- cgit v0.10.2-6-g49f6