summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2018-01-23 14:48:50 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2020-09-02 10:53:07 +0200
commitabc021355be68348219dde228b19d66c238f1a4e (patch)
tree5477087ab92c7b3548a83b5179b83f4d49c5bd6a
parent63d35455567024a5f38fd50af14125034e159dcf (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 =