ARC: prepare for building for ARCv3 HS6x
Do basic preparations for building code for ARCv3 HS6x * add ISA_ARCV3 and CPU_HS6X config options * add off_t type support for __ARC64__ * use elf64-littlearc format for linking * use arc64 mcpu for CPU_HS6X Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This commit is contained in:
parent
8ed87be4ff
commit
6afe7c5fd2
4 changed files with 27 additions and 2 deletions
|
@ -39,6 +39,11 @@ config ISA_ARCV2
|
||||||
help
|
help
|
||||||
v2 ISA for the ARC-HS & ARC-EM cores
|
v2 ISA for the ARC-HS & ARC-EM cores
|
||||||
|
|
||||||
|
config ISA_ARCV3
|
||||||
|
bool "ARC ISA v3"
|
||||||
|
select USE_SWITCH
|
||||||
|
select USE_SWITCH_SUPPORTED
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
if ISA_ARCV2
|
if ISA_ARCV2
|
||||||
|
@ -83,6 +88,17 @@ config CPU_HS3X
|
||||||
|
|
||||||
endif #ISA_ARCV2
|
endif #ISA_ARCV2
|
||||||
|
|
||||||
|
if ISA_ARCV3
|
||||||
|
|
||||||
|
config CPU_HS6X
|
||||||
|
bool
|
||||||
|
select CPU_ARCHS
|
||||||
|
select 64BIT
|
||||||
|
help
|
||||||
|
If y, the SoC uses an ARC HS6x CPU
|
||||||
|
|
||||||
|
endif #ISA_ARCV3
|
||||||
|
|
||||||
config FP_FPU_DA
|
config FP_FPU_DA
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -123,6 +139,7 @@ config RGF_NUM_BANKS
|
||||||
|
|
||||||
config ARC_FIRQ
|
config ARC_FIRQ
|
||||||
bool "FIRQ enable"
|
bool "FIRQ enable"
|
||||||
|
depends on ISA_ARCV2
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Fast interrupts are supported (FIRQ). If FIRQ enabled, for interrupts
|
Fast interrupts are supported (FIRQ). If FIRQ enabled, for interrupts
|
||||||
|
@ -147,6 +164,7 @@ config ARC_FIRQ_STACK_SIZE
|
||||||
|
|
||||||
config ARC_HAS_STACK_CHECKING
|
config ARC_HAS_STACK_CHECKING
|
||||||
bool "ARC has STACK_CHECKING"
|
bool "ARC has STACK_CHECKING"
|
||||||
|
depends on ISA_ARCV2
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
ARC is configured with STACK_CHECKING which is a mechanism for
|
ARC is configured with STACK_CHECKING which is a mechanism for
|
||||||
|
@ -233,6 +251,7 @@ config ARC_HAS_ACCL_REGS
|
||||||
|
|
||||||
config ARC_HAS_SECURE
|
config ARC_HAS_SECURE
|
||||||
bool "ARC has SecureShield"
|
bool "ARC has SecureShield"
|
||||||
|
depends on ISA_ARCV2
|
||||||
select CPU_HAS_TEE
|
select CPU_HAS_TEE
|
||||||
select ARCH_HAS_TRUSTED_EXECUTION
|
select ARCH_HAS_TRUSTED_EXECUTION
|
||||||
help
|
help
|
||||||
|
|
|
@ -56,6 +56,8 @@ elseif("${ARCH}" STREQUAL "arc")
|
||||||
set(GCC_M_CPU em4_fpuda)
|
set(GCC_M_CPU em4_fpuda)
|
||||||
elseif(CONFIG_CPU_HS3X)
|
elseif(CONFIG_CPU_HS3X)
|
||||||
set(GCC_M_CPU hs)
|
set(GCC_M_CPU hs)
|
||||||
|
elseif(CONFIG_CPU_HS6X)
|
||||||
|
set(GCC_M_CPU arc64)
|
||||||
elseif(CONFIG_CPU_EM4)
|
elseif(CONFIG_CPU_EM4)
|
||||||
set(GCC_M_CPU arcem)
|
set(GCC_M_CPU arcem)
|
||||||
elseif(CONFIG_CPU_EM6)
|
elseif(CONFIG_CPU_EM6)
|
||||||
|
|
|
@ -27,7 +27,11 @@
|
||||||
#elif defined(CONFIG_ARM64)
|
#elif defined(CONFIG_ARM64)
|
||||||
OUTPUT_FORMAT("elf64-littleaarch64")
|
OUTPUT_FORMAT("elf64-littleaarch64")
|
||||||
#elif defined(CONFIG_ARC)
|
#elif defined(CONFIG_ARC)
|
||||||
OUTPUT_FORMAT("elf32-littlearc", "elf32-bigarc", "elf32-littlearc")
|
#if defined(CONFIG_64BIT)
|
||||||
|
OUTPUT_FORMAT("elf64-littlearc")
|
||||||
|
#else
|
||||||
|
OUTPUT_FORMAT("elf32-littlearc", "elf32-bigarc", "elf32-littlearc")
|
||||||
|
#endif
|
||||||
#elif defined(CONFIG_X86)
|
#elif defined(CONFIG_X86)
|
||||||
#if defined(CONFIG_X86_64)
|
#if defined(CONFIG_X86_64)
|
||||||
OUTPUT_FORMAT("elf64-x86-64")
|
OUTPUT_FORMAT("elf64-x86-64")
|
||||||
|
|
|
@ -25,7 +25,7 @@ typedef __SIZE_TYPE__ ssize_t;
|
||||||
#if !defined(__off_t_defined)
|
#if !defined(__off_t_defined)
|
||||||
#define __off_t_defined
|
#define __off_t_defined
|
||||||
|
|
||||||
#if defined(__i386) || defined(__x86_64)
|
#if defined(__i386) || defined(__x86_64) || defined(__ARC64__)
|
||||||
typedef long int off_t; /* "long" works for all of i386, X32 and true 64 bit */
|
typedef long int off_t; /* "long" works for all of i386, X32 and true 64 bit */
|
||||||
#elif defined(__ARM_ARCH)
|
#elif defined(__ARM_ARCH)
|
||||||
typedef int off_t;
|
typedef int off_t;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue