Merge pull request #964 from abrodkin/topic-arc

Add ARC architecture support
This commit is contained in:
Alexey Neyman 2018-05-15 16:37:27 -07:00 committed by GitHub
commit 844c83cac2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 69 additions and 0 deletions

15
config/arch/arc.in Normal file
View File

@ -0,0 +1,15 @@
# ARC specific configuration file
## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_BOTH_MMU
## select ARCH_DEFAULT_HAS_MMU
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
## select ARCH_SUPPORTS_WITH_CPU
## select GCC_REQUIRE_7_or_later
## select BINUTILS_REQUIRE_2_30_or_later
##
## help The Synopsys DesignWare ARC architecture, see more info here:
## help https://www.synopsys.com/designware-ip/processor-solutions/arc-processors.html

View File

@ -0,0 +1,7 @@
CT_ARCH_ARC=y
CT_TARGET_ALIAS="arc-linux"
CT_TARGET_CFLAGS="-matomic"
CT_TARGET_VENDOR="snps"
CT_KERNEL_LINUX=y
CT_LIBC_UCLIBC=y
CT_ARCH_CPU="arc700"

View File

@ -0,0 +1,3 @@
reporter_name="Alexey Brodkin"
reporter_url="http://embarc.org"
reporter_comment="ARCompact default Linux toolchain"

View File

@ -0,0 +1,7 @@
CT_ARCH_ARC=y
CT_TARGET_ALIAS="arc-linux"
CT_TARGET_CFLAGS="-matomic"
CT_TARGET_VENDOR="snps"
CT_KERNEL_LINUX=y
CT_LIBC_UCLIBC=y
CT_ARCH_CPU="hs38"

View File

@ -0,0 +1,3 @@
reporter_name="Alexey Brodkin"
reporter_url="http://embarc.org"
reporter_comment="ARCv2 default Linux toolchain"

34
scripts/build/arch/arc.sh Normal file
View File

@ -0,0 +1,34 @@
# Compute ARC-specific values
CT_DoArchTupleValues() {
# The architecture part of the tuple:
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}"
# The system part of the tuple:
case "${CT_LIBC}" in
glibc) CT_TARGET_SYS=gnu;;
uClibc) CT_TARGET_SYS=uclibc;;
esac
}
CT_DoArchUClibcConfig() {
local cfg="${1}"
CT_DoArchUClibcSelectArch "${cfg}" "arc"
}
CT_DoArchUClibcCflags() {
local cfg="${1}"
local cflags="${2}"
local f
CT_KconfigDeleteOption "CONFIG_ARC_HAS_ATOMICS" "${cfg}"
for f in ${cflags}; do
case "${f}" in
-matomic)
CT_KconfigEnableOption "CONFIG_ARC_HAS_ATOMICS" "${cfg}"
;;
esac
done
}