forked from Imagelibrary/rtems
bsps/sparc: Add leon3 BSP variants
Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC The UT699 requires -mcpu=leon as it does not support the CAS instruction provided by -mcpu=leon3. It also requires -mfix-ut699 for errata fixes. UT700 and GR712RC requires the -mfix-ut700 and -mfix-gr712rc flags that have been recently added to GCC's master and 7-branch. Remove -msoft-float from the leon3 config to make the more common case of using the FPU the default. Update #3057.
This commit is contained in:
committed by
Sebastian Huber
parent
2f8704b6c8
commit
4debaca6d2
@@ -26,7 +26,10 @@ project_lib_DATA = start.$(OBJEXT)
|
|||||||
dist_project_lib_DATA += ../shared/startup/linkcmds.base
|
dist_project_lib_DATA += ../shared/startup/linkcmds.base
|
||||||
dist_project_lib_DATA += startup/linkcmds
|
dist_project_lib_DATA += startup/linkcmds
|
||||||
dist_project_lib_DATA += startup/linkcmds.leon3
|
dist_project_lib_DATA += startup/linkcmds.leon3
|
||||||
dist_project_lib_DATA += startup/linkcmds.ngmp
|
dist_project_lib_DATA += startup/linkcmds.ut699
|
||||||
|
dist_project_lib_DATA += startup/linkcmds.gr712rc
|
||||||
|
dist_project_lib_DATA += startup/linkcmds.ut700
|
||||||
|
dist_project_lib_DATA += startup/linkcmds.gr740
|
||||||
|
|
||||||
noinst_LIBRARIES += libbsp.a
|
noinst_LIBRARIES += libbsp.a
|
||||||
libbsp_a_SOURCES =
|
libbsp_a_SOURCES =
|
||||||
|
|||||||
18
c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg
Normal file
18
c/src/lib/libbsp/sparc/leon3/make/custom/gr712rc.cfg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#
|
||||||
|
# Config file for the GR712RC LEON3 SPARC processor.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||||
|
|
||||||
|
RTEMS_CPU=sparc
|
||||||
|
RTEMS_CPU_MODEL=leon3
|
||||||
|
|
||||||
|
# This contains the compiler options necessary to select the CPU model
|
||||||
|
# and (hopefully) optimize for it.
|
||||||
|
CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc
|
||||||
|
|
||||||
|
# optimize flag: typically -O2
|
||||||
|
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||||
|
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
|
LDFLAGS = -Wl,--gc-sections
|
||||||
@@ -9,7 +9,7 @@ RTEMS_CPU_MODEL=leon3
|
|||||||
|
|
||||||
# This contains the compiler options necessary to select the CPU model
|
# This contains the compiler options necessary to select the CPU model
|
||||||
# and (hopefully) optimize for it.
|
# and (hopefully) optimize for it.
|
||||||
CPU_CFLAGS = -mcpu=leon3 -msoft-float
|
CPU_CFLAGS = -mcpu=leon3
|
||||||
|
|
||||||
# optimize flag: typically -O2
|
# optimize flag: typically -O2
|
||||||
CFLAGS_OPTIMIZE_V = -O2 -g
|
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||||
|
|||||||
18
c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg
Normal file
18
c/src/lib/libbsp/sparc/leon3/make/custom/ut699.cfg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#
|
||||||
|
# Config file for the UT699 LEON3 SPARC processor.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||||
|
|
||||||
|
RTEMS_CPU=sparc
|
||||||
|
RTEMS_CPU_MODEL=leon3
|
||||||
|
|
||||||
|
# This contains the compiler options necessary to select the CPU model
|
||||||
|
# and (hopefully) optimize for it.
|
||||||
|
CPU_CFLAGS = -mcpu=leon -mfix-ut699
|
||||||
|
|
||||||
|
# optimize flag: typically -O2
|
||||||
|
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||||
|
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
|
LDFLAGS = -Wl,--gc-sections
|
||||||
18
c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg
Normal file
18
c/src/lib/libbsp/sparc/leon3/make/custom/ut700.cfg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#
|
||||||
|
# Config file for the UT699e/UT700 LEON3 SPARC processor.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||||
|
|
||||||
|
RTEMS_CPU=sparc
|
||||||
|
RTEMS_CPU_MODEL=leon3
|
||||||
|
|
||||||
|
# This contains the compiler options necessary to select the CPU model
|
||||||
|
# and (hopefully) optimize for it.
|
||||||
|
CPU_CFLAGS = -mcpu=leon3 -mfix-ut700
|
||||||
|
|
||||||
|
# optimize flag: typically -O2
|
||||||
|
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||||
|
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
|
LDFLAGS = -Wl,--gc-sections
|
||||||
@@ -81,9 +81,21 @@ $(PROJECT_LIB)/linkcmds.leon3: startup/linkcmds.leon3 $(PROJECT_LIB)/$(dirstamp)
|
|||||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.leon3
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.leon3
|
||||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.leon3
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.leon3
|
||||||
|
|
||||||
$(PROJECT_LIB)/linkcmds.ngmp: startup/linkcmds.ngmp $(PROJECT_LIB)/$(dirstamp)
|
$(PROJECT_LIB)/linkcmds.ut699: startup/linkcmds.ut699 $(PROJECT_LIB)/$(dirstamp)
|
||||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ngmp
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ut699
|
||||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.ngmp
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.ut699
|
||||||
|
|
||||||
|
$(PROJECT_LIB)/linkcmds.gr712rc: startup/linkcmds.gr712rc $(PROJECT_LIB)/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.gr712rc
|
||||||
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.gr712rc
|
||||||
|
|
||||||
|
$(PROJECT_LIB)/linkcmds.ut700: startup/linkcmds.ut700 $(PROJECT_LIB)/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ut700
|
||||||
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.ut700
|
||||||
|
|
||||||
|
$(PROJECT_LIB)/linkcmds.gr740: startup/linkcmds.gr740 $(PROJECT_LIB)/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.gr740
|
||||||
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.gr740
|
||||||
|
|
||||||
$(PROJECT_INCLUDE)/bsp/gnatcommon.h: ../shared/include/gnatcommon.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
$(PROJECT_INCLUDE)/bsp/gnatcommon.h: ../shared/include/gnatcommon.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/gnatcommon.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/gnatcommon.h
|
||||||
|
|||||||
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.gr712rc
Normal file
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.gr712rc
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/* linkcmds
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Default values, can be overridden */
|
||||||
|
|
||||||
|
_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
|
||||||
|
_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
|
||||||
|
|
||||||
|
_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
|
||||||
|
_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x40000000;
|
||||||
|
|
||||||
|
/* these are the maximum values */
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
rom : ORIGIN = 0x00000000, LENGTH = 256M
|
||||||
|
ram : ORIGIN = 0x40000000, LENGTH = 1024M
|
||||||
|
}
|
||||||
|
|
||||||
|
INCLUDE linkcmds.base
|
||||||
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut699
Normal file
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut699
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/* linkcmds
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Default values, can be overridden */
|
||||||
|
|
||||||
|
_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
|
||||||
|
_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
|
||||||
|
|
||||||
|
_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
|
||||||
|
_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x40000000;
|
||||||
|
|
||||||
|
/* these are the maximum values */
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
rom : ORIGIN = 0x00000000, LENGTH = 256M
|
||||||
|
ram : ORIGIN = 0x40000000, LENGTH = 1024M
|
||||||
|
}
|
||||||
|
|
||||||
|
INCLUDE linkcmds.base
|
||||||
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut700
Normal file
20
c/src/lib/libbsp/sparc/leon3/startup/linkcmds.ut700
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/* linkcmds
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Default values, can be overridden */
|
||||||
|
|
||||||
|
_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
|
||||||
|
_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
|
||||||
|
|
||||||
|
_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
|
||||||
|
_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x40000000;
|
||||||
|
|
||||||
|
/* these are the maximum values */
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
rom : ORIGIN = 0x00000000, LENGTH = 256M
|
||||||
|
ram : ORIGIN = 0x40000000, LENGTH = 1024M
|
||||||
|
}
|
||||||
|
|
||||||
|
INCLUDE linkcmds.base
|
||||||
Reference in New Issue
Block a user