summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2020-09-04 12:43:49 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2020-09-04 12:55:05 +0200
commitd903d8df4cd9cc991dca4723ab5c18e796fdf389 (patch)
tree3fb53729f697f8810102ead2c1b4339aefb96814
parentc713418d7aa6eab93fd9895c3b98c21434892219 (diff)
leon,mptests: add BSP specific linkflags for MP testsrcc-v1.3-rc9
The RTEMS MP test-suite was originally designed to two identical nodes, however the LEON devices is often operating several instances of the RTEMS MP configuration wihtin the same device sharing memory. Therefore this places the RTEMS MP nodes at different RAM location. The node1.exe and node2.exe can be started from GRMON like this on a GR712RC with 4MiB SRAM: grmon> cpu act 0 grmon> load build/sparc-gaisler-rtems5/c/gr712rc_mp/testsuites/mptests/mp01_node1.exe cpu0 grmon> stack 0x401ffff0 cpu0 grmon> load build/sparc-gaisler-rtems5/c/gr712rc_mp/testsuites/mptests/mp01_node2.exe cpu1 grmon> stack 0x403ffff0 cpu1 grmon> run
-rw-r--r--bsps/sparc/leon3/config/gr712rc.cfg4
-rw-r--r--bsps/sparc/leon3/config/gr740.cfg4
-rw-r--r--bsps/sparc/leon3/config/leon3.cfg4
-rw-r--r--testsuites/mptests/Makefile.am26
4 files changed, 38 insertions, 0 deletions
diff --git a/bsps/sparc/leon3/config/gr712rc.cfg b/bsps/sparc/leon3/config/gr712rc.cfg
index e8f07315e7..78adbda14b 100644
--- a/bsps/sparc/leon3/config/gr712rc.cfg
+++ b/bsps/sparc/leon3/config/gr712rc.cfg
@@ -21,3 +21,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections
+
+# For Multiprocessing (AMP) test-suite node1/node2 linking fit into 4MiB
+MPTEST_NODE1_LDFLAGS+=-Wl,-Ttext,0x40001000
+MPTEST_NODE2_LDFLAGS+=-Wl,-Ttext,0x40200000
diff --git a/bsps/sparc/leon3/config/gr740.cfg b/bsps/sparc/leon3/config/gr740.cfg
index 640a4fdd72..37c11baccd 100644
--- a/bsps/sparc/leon3/config/gr740.cfg
+++ b/bsps/sparc/leon3/config/gr740.cfg
@@ -20,3 +20,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections
+
+# For Multiprocessing (AMP) test-suite node1/node2 linking fit into 16MiB
+MPTEST_NODE1_LDFLAGS+=-Wl,-Ttext,0x00001000
+MPTEST_NODE2_LDFLAGS+=-Wl,-Ttext,0x00800000
diff --git a/bsps/sparc/leon3/config/leon3.cfg b/bsps/sparc/leon3/config/leon3.cfg
index d931d6c5f1..76c0ba55af 100644
--- a/bsps/sparc/leon3/config/leon3.cfg
+++ b/bsps/sparc/leon3/config/leon3.cfg
@@ -15,3 +15,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections
+
+# For Multiprocessing (AMP) test-suite node1/node2 linking fit into 4MiB
+MPTEST_NODE1_LDFLAGS+=-Wl,-Ttext,0x40001000
+MPTEST_NODE2_LDFLAGS+=-Wl,-Ttext,0x40200000
diff --git a/testsuites/mptests/Makefile.am b/testsuites/mptests/Makefile.am
index d947cb6986..7267110aaa 100644
--- a/testsuites/mptests/Makefile.am
+++ b/testsuites/mptests/Makefile.am
@@ -22,12 +22,14 @@ mp_docs += mp01/mp01-node1.doc
mp01_node1_SOURCES = mp01/init1.c mp01/task1.c mp01/system.h
mp01_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp01) \
$(support_includes)
+mp01_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp01_node2
mp_screens += mp01/mp01-node2.scn
mp_docs += mp01/mp01-node2.doc
mp01_node2_SOURCES = mp01/init2.c mp01/task1.c mp01/system.h
mp01_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp01) \
$(support_includes)
+mp01_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -39,12 +41,14 @@ mp_docs += mp03/mp03-node1.doc
mp03_node1_SOURCES = mp03/init1.c mp03/task1.c mp03/delay.c mp03/system.h
mp03_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp03) \
$(support_includes)
+mp03_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp03_node2
mp_screens += mp03/mp03-node2.scn
mp_docs += mp03/mp03-node2.doc
mp03_node2_SOURCES = mp03/init2.c mp03/task1.c mp03/delay.c mp03/system.h
mp03_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp03) \
$(support_includes)
+mp03_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -56,12 +60,14 @@ mp_docs += mp04/mp04-node1.doc
mp04_node1_SOURCES = mp04/init1.c mp04/task1.c mp04/system.h
mp04_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp04) \
$(support_includes)
+mp04_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp04_node2
mp_screens += mp04/mp04-node2.scn
mp_docs += mp04/mp04-node2.doc
mp04_node2_SOURCES = mp04/init2.c mp04/task1.c mp04/system.h
mp04_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp04) \
$(support_includes)
+mp04_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -73,12 +79,14 @@ mp_docs += mp05/mp05-node1.doc
mp05_node1_SOURCES = mp05/init1.c mp05/task1.c mp05/asr.c mp05/system.h
mp05_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp05) \
$(support_includes)
+mp05_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp05_node2
mp_screens += mp05/mp05-node2.scn
mp_docs += mp05/mp05-node2.doc
mp05_node2_SOURCES = mp05/init2.c mp05/task1.c mp05/asr.c mp05/system.h
mp05_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp05) \
$(support_includes)
+mp05_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -90,12 +98,14 @@ mp_docs += mp06/mp06-node1.doc
mp06_node1_SOURCES = mp06/init1.c mp06/task1.c mp06/system.h
mp06_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp06) \
$(support_includes)
+mp06_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp06_node2
mp_screens += mp06/mp06-node2.scn
mp_docs += mp06/mp06-node2.doc
mp06_node2_SOURCES = mp06/init2.c mp06/task1.c mp06/system.h
mp06_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp06) \
$(support_includes)
+mp06_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -107,12 +117,14 @@ mp_docs += mp07/mp07-node1.doc
mp07_node1_SOURCES = mp07/init1.c mp07/task1.c mp07/system.h
mp07_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp07) \
$(support_includes)
+mp07_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp07_node2
mp_screens += mp07/mp07-node2.scn
mp_docs += mp07/mp07-node2.doc
mp07_node2_SOURCES = mp07/init2.c mp07/task1.c mp07/system.h
mp07_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp07) \
$(support_includes)
+mp07_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -124,12 +136,14 @@ mp_docs += mp08/mp08-node1.doc
mp08_node1_SOURCES = mp08/init1.c mp08/task1.c mp08/system.h
mp08_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp08) \
$(support_includes)
+mp08_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp08_node2
mp_screens += mp08/mp08-node2.scn
mp_docs += mp08/mp08-node2.doc
mp08_node2_SOURCES = mp08/init2.c mp08/task1.c mp08/system.h
mp08_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp08) \
$(support_includes)
+mp08_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -142,6 +156,7 @@ mp09_node1_SOURCES = mp09/init1.c mp09/task1.c mp09/recvmsg.c \
mp09/sendmsg.c mp09/system.h
mp09_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp09) \
$(support_includes)
+mp09_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp09_node2
mp_screens += mp09/mp09-node2.scn
mp_docs += mp09/mp09-node2.doc
@@ -149,6 +164,7 @@ mp09_node2_SOURCES = mp09/init2.c mp09/task1.c mp09/recvmsg.c \
mp09/sendmsg.c mp09/system.h
mp09_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp09) \
$(support_includes)
+mp09_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -161,6 +177,7 @@ mp10_node1_SOURCES = mp10/init1.c mp10/task1.c mp10/task2.c mp10/task3.c \
mp10/system.h
mp10_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp10) \
$(support_includes)
+mp10_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp10_node2
mp_screens += mp10/mp10-node2.scn
mp_docs += mp10/mp10-node2.doc
@@ -168,6 +185,7 @@ mp10_node2_SOURCES = mp10/init2.c mp10/task1.c mp10/task2.c mp10/task3.c \
mp10/system.h
mp10_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp10) \
$(support_includes)
+mp10_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -179,12 +197,14 @@ mp_docs += mp11/mp11-node1.doc
mp11_node1_SOURCES = mp11/init1.c mp11/system.h
mp11_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp11) \
$(support_includes)
+mp11_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp11_node2
mp_screens += mp11/mp11-node2.scn
mp_docs += mp11/mp11-node2.doc
mp11_node2_SOURCES = mp11/init2.c mp11/system.h
mp11_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp11) \
$(support_includes)
+mp11_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -196,12 +216,14 @@ mp_docs += mp12/mp12-node1.doc
mp12_node1_SOURCES = mp12/init1.c mp12/system.h
mp12_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp12) \
$(support_includes)
+mp12_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp12_node2
mp_screens += mp12/mp12-node2.scn
mp_docs += mp12/mp12-node2.doc
mp12_node2_SOURCES = mp12/init2.c mp12/system.h
mp12_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp12) \
$(support_includes)
+mp12_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -213,12 +235,14 @@ mp_docs += mp13/mp13-node1.doc
mp13_node1_SOURCES = mp13/init1.c mp13/task1.c mp13/task2.c mp13/system.h
mp13_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp13) \
$(support_includes)
+mp13_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp13_node2
mp_screens += mp13/mp13-node2.scn
mp_docs += mp13/mp13-node2.doc
mp13_node2_SOURCES = mp13/init2.c mp13/task1.c mp13/task2.c mp13/system.h
mp13_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp13) \
$(support_includes)
+mp13_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif
@@ -232,6 +256,7 @@ mp14_node1_SOURCES = mp14/init1.c mp14/exit.c mp14/delay.c \
mp14/msgtask1.c mp14/system.h
mp14_node1_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp14) \
$(support_includes)
+mp14_node1_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE1_LDFLAGS)
mp_tests += mp14_node2
mp_screens += mp14/mp14-node2.scn
mp_docs += mp14/mp14-node2.doc
@@ -240,6 +265,7 @@ mp14_node2_SOURCES = mp14/init2.c mp14/exit.c mp14/delay.c \
mp14/msgtask1.c mp14/system.h
mp14_node2_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_mp14) \
$(support_includes)
+mp14_node2_LDFLAGS = $(AM_LDFLAGS) $(MPTEST_NODE2_LDFLAGS)
endif
endif