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 += startup/linkcmds
|
||||
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
|
||||
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
|
||||
# and (hopefully) optimize for it.
|
||||
CPU_CFLAGS = -mcpu=leon3 -msoft-float
|
||||
CPU_CFLAGS = -mcpu=leon3
|
||||
|
||||
# optimize flag: typically -O2
|
||||
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
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.leon3
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.ngmp: startup/linkcmds.ngmp $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ngmp
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.ngmp
|
||||
$(PROJECT_LIB)/linkcmds.ut699: startup/linkcmds.ut699 $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ut699
|
||||
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)
|
||||
$(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