Răsfoiți Sursa

tests/tcg/tricore: Add recursion test for CSAs

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Message-Id: <20230526061946.54514-7-kbastian@mail.uni-paderborn.de>
Bastian Koppelmann 2 ani în urmă
părinte
comite
e926c94171

+ 2 - 1
tests/tcg/tricore/Makefile.softmmu-target

@@ -4,7 +4,7 @@ C_TESTS_PATH = $(TESTS_PATH)/c
 
 
 LDFLAGS = -T$(TESTS_PATH)/link.ld --mcpu=tc162
 LDFLAGS = -T$(TESTS_PATH)/link.ld --mcpu=tc162
 ASFLAGS = -mtc162
 ASFLAGS = -mtc162
-CFLAGS = -mtc162 -c
+CFLAGS = -mtc162 -c -I$(TESTS_PATH)
 
 
 TESTS += test_abs.asm.tst
 TESTS += test_abs.asm.tst
 TESTS += test_bmerge.asm.tst
 TESTS += test_bmerge.asm.tst
@@ -23,6 +23,7 @@ TESTS += test_msub.asm.tst
 TESTS += test_muls.asm.tst
 TESTS += test_muls.asm.tst
 
 
 TESTS += test_boot_to_main.c.tst
 TESTS += test_boot_to_main.c.tst
+TESTS += test_context_save_areas.c.tst
 
 
 QEMU_OPTS += -M tricore_testboard -cpu tc27x -nographic -kernel
 QEMU_OPTS += -M tricore_testboard -cpu tc27x -nographic -kernel
 
 

+ 15 - 0
tests/tcg/tricore/c/test_context_save_areas.c

@@ -0,0 +1,15 @@
+#include "testdev_assert.h"
+
+static int fib(int n)
+{
+    if (n == 1 || n == 2) {
+        return 1;
+    }
+    return fib(n - 2) + fib(n - 1);
+}
+
+int main(int argc, char **argv)
+{
+    testdev_assert(fib(10) == 55);
+    return 0;
+}