aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tcg/arm/Makefile.target
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/arm/Makefile.target')
-rw-r--r--tests/tcg/arm/Makefile.target72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target
new file mode 100644
index 000000000..5ab59ed6c
--- /dev/null
+++ b/tests/tcg/arm/Makefile.target
@@ -0,0 +1,72 @@
+# -*- Mode: makefile -*-
+#
+# ARM - included from tests/tcg/Makefile
+#
+
+ARM_SRC=$(SRC_PATH)/tests/tcg/arm
+
+# Set search path for all sources
+VPATH += $(ARM_SRC)
+
+float_madds: CFLAGS+=-mfpu=neon-vfpv4
+
+# Basic Hello World
+ARM_TESTS = hello-arm
+hello-arm: CFLAGS+=-marm -ffreestanding
+hello-arm: LDFLAGS+=-nostdlib
+
+# IWMXT floating point extensions
+ARM_TESTS += test-arm-iwmmxt
+test-arm-iwmmxt: CFLAGS+=-marm -march=iwmmxt -mabi=aapcs -mfpu=fpv4-sp-d16
+test-arm-iwmmxt: test-arm-iwmmxt.S
+ $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
+
+# Float-convert Tests
+ARM_TESTS += fcvt
+fcvt: LDFLAGS+=-lm
+# fcvt: CFLAGS+=-march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
+run-fcvt: fcvt
+ $(call run-test,fcvt,$(QEMU) $<,"$< on $(TARGET_NAME)")
+ $(call diff-out,fcvt,$(ARM_SRC)/fcvt.ref)
+
+ifeq ($(CONFIG_ARM_COMPATIBLE_SEMIHOSTING),y)
+
+# Semihosting smoke test for linux-user
+semihosting: CFLAGS += -mthumb
+
+ARM_TESTS += semihosting-arm
+semihosting-arm: CFLAGS += -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME)
+semihosting-arm: semihosting.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
+
+run-semihosting-arm: semihosting-arm
+ $(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")
+
+run-plugin-semihosting-arm-with-%:
+ $(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
+ -plugin $(PLUGIN_LIB)/$(call extract-plugin,$@) \
+ $(call strip-plugin,$<) 2> $<.err, \
+ "$< on $(TARGET_NAME) with $*")
+
+ARM_TESTS += semiconsole-arm
+
+semiconsole: CFLAGS += -mthumb
+
+semiconsole-arm: CFLAGS += -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME)
+semiconsole-arm: semihosting.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
+
+run-semiconsole-arm: semiconsole-arm
+ $(call skip-test, $<, "MANUAL ONLY")
+
+run-plugin-semiconsole-arm-with-%:
+ $(call skip-test, $<, "MANUAL ONLY")
+
+endif
+
+ARM_TESTS += commpage
+
+TESTS += $(ARM_TESTS)
+
+# On ARM Linux only supports 4k pages
+EXTRA_RUNS+=run-test-mmap-4096