summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2018-01-23 14:48:50 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2020-04-22 15:55:50 +0200
commit1898e5fa9e1b154fbe3a7f78875f3f0567d96638 (patch)
tree7d4990f1f8b367c4d6dea4d2ddd2d7538d8538f1
parent807a052fdc5e5b201d0b26d7e086ed189d9f6520 (diff)
leon3: added soft-float BSP
For compatibility with non-FPU targets.
-rw-r--r--bsps/sparc/leon3/config/leon3_sf.cfg3
-rw-r--r--bsps/sparc/leon3/config/leon3_sf_smp.cfg3
-rw-r--r--bsps/sparc/leon3/start/linkcmds.leon3_sf22
-rw-r--r--bsps/sparc/leon3/start/linkcmds.leon3_sf_smp22
-rw-r--r--c/src/lib/libbsp/sparc/leon3/Makefile.am2
5 files changed, 52 insertions, 0 deletions
diff --git a/bsps/sparc/leon3/config/leon3_sf.cfg b/bsps/sparc/leon3/config/leon3_sf.cfg
new file mode 100644
index 0000000000..12bff0d070
--- /dev/null
+++ b/bsps/sparc/leon3/config/leon3_sf.cfg
@@ -0,0 +1,3 @@
+include $(RTEMS_ROOT)/make/custom/leon3.cfg
+
+CPU_CFLAGS += -msoft-float
diff --git a/bsps/sparc/leon3/config/leon3_sf_smp.cfg b/bsps/sparc/leon3/config/leon3_sf_smp.cfg
new file mode 100644
index 0000000000..6c4d236968
--- /dev/null
+++ b/bsps/sparc/leon3/config/leon3_sf_smp.cfg
@@ -0,0 +1,3 @@
+include $(RTEMS_ROOT)/make/custom/leon3_smp.cfg
+
+CPU_CFLAGS += -msoft-float
diff --git a/bsps/sparc/leon3/start/linkcmds.leon3_sf b/bsps/sparc/leon3/start/linkcmds.leon3_sf
new file mode 100644
index 0000000000..6954e88f45
--- /dev/null
+++ b/bsps/sparc/leon3/start/linkcmds.leon3_sf
@@ -0,0 +1,22 @@
+/* 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
+}
+
+ENTRY(start)
+
+INCLUDE linkcmds.base
diff --git a/bsps/sparc/leon3/start/linkcmds.leon3_sf_smp b/bsps/sparc/leon3/start/linkcmds.leon3_sf_smp
new file mode 100644
index 0000000000..6954e88f45
--- /dev/null
+++ b/bsps/sparc/leon3/start/linkcmds.leon3_sf_smp
@@ -0,0 +1,22 @@
+/* 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
+}
+
+ENTRY(start)
+
+INCLUDE linkcmds.base
diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am
index 7649c93657..94026e03b6 100644
--- a/c/src/lib/libbsp/sparc/leon3/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am
@@ -19,11 +19,13 @@ dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.gr712
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.gr740
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.leon3
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.leon3_flat
+dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.leon3_sf
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.ut699
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.ut700
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.gr712rc_smp
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.gr740_smp
dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.leon3_smp
+dist_project_lib_DATA += ../../../../../../bsps/sparc/leon3/start/linkcmds.leon3_sf_smp
project_lib_LIBRARIES = librtemsbsp.a
librtemsbsp_a_SOURCES =