mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 13:43:28 +00:00
ARC: rework setting of ARC CPU specific compiler options
It's a very rare if at all existing occasion when ARC CPU template is used as is w/o any changes - in the end it's a beauty and competitive advantage of ARC cores to be tailored for a particular use-case - and so it doesn't make a lot of sense to offer template-based "-mcpu" selection. Given for each and every platform we end-up adding quite a few more flags it's logical to move "-mcpu" selection to platform's definition as well which we exactly do here. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This commit is contained in:
parent
defd1e71d0
commit
c77bbc2215
12 changed files with 39 additions and 22 deletions
|
@ -22,26 +22,6 @@ ifdef CONFIG_ARC_MMU_VER
|
|||
CONFIG_MMU = 1
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_ARC750D
|
||||
PLATFORM_CPPFLAGS += -mcpu=arc700
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_ARC770D
|
||||
PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_ARCEM6
|
||||
PLATFORM_CPPFLAGS += -mcpu=arcem
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_ARCHS34
|
||||
PLATFORM_CPPFLAGS += -mcpu=archs
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_ARCHS38
|
||||
PLATFORM_CPPFLAGS += -mcpu=archs
|
||||
endif
|
||||
|
||||
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 -mno-sdata
|
||||
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections -fno-common
|
||||
|
||||
|
|
5
board/abilis/tb100/config.mk
Normal file
5
board/abilis/tb100/config.mk
Normal file
|
@ -0,0 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Copyright (C) 2020 Synopsys, Inc. All rights reserved.
|
||||
|
||||
PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape
|
|
@ -2,6 +2,12 @@
|
|||
#
|
||||
# Copyright (C) 2018 Synopsys, Inc. All rights reserved.
|
||||
|
||||
ifdef CONFIG_TARGET_AXS103
|
||||
PLATFORM_CPPFLAGS += -mcpu=archs
|
||||
else
|
||||
PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape
|
||||
endif
|
||||
|
||||
bsp-generate: u-boot u-boot.bin
|
||||
ifdef CONFIG_ISA_ARCV2
|
||||
$(Q)python3 $(srctree)/board/$(BOARDDIR)/headerize-axs.py \
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
PLATFORM_CPPFLAGS += -mlittle-endian -mnorm -mswap -mmpy-option=3 \
|
||||
PLATFORM_CPPFLAGS += -mcpu=arcem -mlittle-endian -mnorm -mswap -mmpy-option=3 \
|
||||
-mbarrel-shifter -mfpu=fpuda_all -mcode-density
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
#
|
||||
# Copyright (C) 2018 Synopsys, Inc. All rights reserved.
|
||||
|
||||
PLATFORM_CPPFLAGS += -mcpu=hs38_linux -mlittle-endian -matomic -mll64 \
|
||||
-mdiv-rem -mswap -mnorm -mmpy-option=9 -mbarrel-shifter \
|
||||
-mfpu=fpud_all
|
||||
|
||||
bsp-generate: u-boot u-boot.bin
|
||||
$(Q)python3 $(srctree)/board/$(BOARDDIR)/headerize-hsdk.py \
|
||||
--arc-id 0x52 --image $(srctree)/u-boot.bin \
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
PLATFORM_CPPFLAGS += -mlittle-endian -mcode-density -mdiv-rem -mswap -mnorm -mmpy-option=6 -mbarrel-shifter
|
||||
PLATFORM_CPPFLAGS += -mcpu=arcem -mlittle-endian -mcode-density -mdiv-rem \
|
||||
-mswap -mnorm -mmpy-option=6 -mbarrel-shifter
|
||||
LDSCRIPT = $(srctree)/board/synopsys/iot_devkit/u-boot.lds
|
||||
|
|
|
@ -9,4 +9,13 @@ config SYS_VENDOR
|
|||
config SYS_CONFIG_NAME
|
||||
default "nsim"
|
||||
|
||||
config NSIM_BOARD_CPPFLAGS
|
||||
string "board arc-specific compiler options"
|
||||
help
|
||||
For nSIM we allow to set custom arc-specific compiler options
|
||||
(like -mcpu=) instead of hardcoding them in its makefile as nSIM
|
||||
target is used for representing targets without fixed CPU version
|
||||
like FPGA-based boards and software simulators.
|
||||
This variable takes space separated compiler options list.
|
||||
|
||||
endif
|
||||
|
|
8
board/synopsys/nsim/config.mk
Normal file
8
board/synopsys/nsim/config.mk
Normal file
|
@ -0,0 +1,8 @@
|
|||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Copyright (C) 2020 Synopsys, Inc. All rights reserved.
|
||||
|
||||
# CONFIG_NSIM_BOARD_CPPFLAGS is a string variable which comes from defconfig
|
||||
# with double quotes. We use echo to remove them so CONFIG_NSIM_BOARD_CPPFLAGS
|
||||
# won't be treated by compiler as a single option.
|
||||
PLATFORM_CPPFLAGS += $(shell echo $(CONFIG_NSIM_BOARD_CPPFLAGS))
|
|
@ -1,5 +1,6 @@
|
|||
CONFIG_ARC=y
|
||||
CONFIG_TARGET_NSIM=y
|
||||
CONFIG_NSIM_BOARD_CPPFLAGS="-mcpu=arc700 -mlock -mswape"
|
||||
CONFIG_SYS_TEXT_BASE=0x81000000
|
||||
CONFIG_DEBUG_UART_BASE=0xf0000000
|
||||
CONFIG_DEBUG_UART_CLOCK=70000000
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
CONFIG_ARC=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_TARGET_NSIM=y
|
||||
CONFIG_NSIM_BOARD_CPPFLAGS="-mcpu=arc700 -mlock -mswape"
|
||||
CONFIG_SYS_TEXT_BASE=0x81000000
|
||||
CONFIG_DEBUG_UART_BASE=0xf0000000
|
||||
CONFIG_DEBUG_UART_CLOCK=70000000
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
CONFIG_ARC=y
|
||||
CONFIG_ISA_ARCV2=y
|
||||
CONFIG_TARGET_NSIM=y
|
||||
CONFIG_NSIM_BOARD_CPPFLAGS="-mcpu=archs"
|
||||
CONFIG_SYS_TEXT_BASE=0x81000000
|
||||
CONFIG_DEBUG_UART_BASE=0xf0000000
|
||||
CONFIG_DEBUG_UART_CLOCK=70000000
|
||||
|
|
|
@ -2,6 +2,7 @@ CONFIG_ARC=y
|
|||
CONFIG_ISA_ARCV2=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_TARGET_NSIM=y
|
||||
CONFIG_NSIM_BOARD_CPPFLAGS="-mcpu=archs"
|
||||
CONFIG_SYS_TEXT_BASE=0x81000000
|
||||
CONFIG_DEBUG_UART_BASE=0xf0000000
|
||||
CONFIG_DEBUG_UART_CLOCK=70000000
|
||||
|
|
Loading…
Reference in a new issue