mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 00:18:51 +09:00
![Alexey Brodkin](/assets/img/avatar_default.png)
ARC HS and ARC EM are new cores based on ARCv2 ISA which is binary incompatible with ISAv1 (AKA ARCompact). Significant difference between ISAv2 and v1 is implementation of interrupt vector table. In v1 it is implemented in the same way as on many other architectures - as a special location where user may put whether code executed in place (if machine word of space is enough) or jump to a full-scale interrupt handler. In v2 interrupt table is just an array of adresses of real interrupt handlers. That requires a separate section for IVT that is not encoded as code by assembler. This change adds support for following cores: * ARC EM6 (simple 32-bit microcontroller without MMU) * ARC HS36 (advanced 32-bit microcontroller without MMU) * ARC HS38 (advanced 32-bit microcontroller with MMU) As a part of ARC HS38 new version of MMU (v4) was introduced. Also this change adds AXS131 board which is the same DW ARC SDP base board but with ARC HS38 CPU tile. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
63 lines
1.1 KiB
Makefile
63 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
ifndef CONFIG_CPU_BIG_ENDIAN
|
|
CONFIG_SYS_LITTLE_ENDIAN = 1
|
|
else
|
|
CONFIG_SYS_BIG_ENDIAN = 1
|
|
endif
|
|
|
|
ifdef CONFIG_SYS_LITTLE_ENDIAN
|
|
ARC_CROSS_COMPILE := arc-buildroot-linux-uclibc-
|
|
PLATFORM_LDFLAGS += -EL
|
|
PLATFORM_CPPFLAGS += -mlittle-endian
|
|
endif
|
|
|
|
ifdef CONFIG_SYS_BIG_ENDIAN
|
|
ARC_CROSS_COMPILE := arceb-buildroot-linux-uclibc-
|
|
PLATFORM_LDFLAGS += -EB
|
|
PLATFORM_CPPFLAGS += -mbig-endian
|
|
endif
|
|
|
|
ifeq ($(CROSS_COMPILE),)
|
|
CROSS_COMPILE := $(ARC_CROSS_COMPILE)
|
|
endif
|
|
|
|
ifdef CONFIG_ARC_MMU_VER
|
|
CONFIG_MMU = 1
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARC750D
|
|
PLATFORM_CPPFLAGS += -marc700
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARC770D
|
|
PLATFORM_CPPFLAGS += -marc700 -mlock -mswape
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCEM6
|
|
PLATFORM_CPPFLAGS += -marcem
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCHS34
|
|
PLATFORM_CPPFLAGS += -marchs
|
|
endif
|
|
|
|
ifdef CONFIG_CPU_ARCHS38
|
|
PLATFORM_CPPFLAGS += -marchs
|
|
endif
|
|
|
|
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2
|
|
|
|
# Needed for relocation
|
|
LDFLAGS_FINAL += -pie
|
|
|
|
# Load address for standalone apps
|
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x82000000
|
|
|
|
# Support generic board on ARC
|
|
__HAVE_ARCH_GENERIC_BOARD := y
|