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-09 23:35:35 +0200
commite6e04899154d94ac5e8515b69978424d6edc7f7a (patch)
tree0bffc79c85180be28afb793946e95bf4ed4cdc55
parent54a594001c0b98dc64c11849133f80fcbe899b29 (diff)
leon,mptests: add BSP specific linkflags for MP tests
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