1 # -*- Mode: makefile -*-
3 # ARM - included from tests/tcg/Makefile
6 ARM_SRC=$(SRC_PATH)/tests/tcg/arm
8 # Set search path for all sources
11 float_madds: CFLAGS+=-mfpu=neon-vfpv4
15 hello-arm: CFLAGS+=-marm -ffreestanding
16 hello-arm: LDFLAGS+=-nostdlib
18 # IWMXT floating point extensions
19 ARM_TESTS += test-arm-iwmmxt
20 test-arm-iwmmxt: CFLAGS+=-marm -march=iwmmxt -mabi=aapcs -mfpu=fpv4-sp-d16
21 test-arm-iwmmxt: test-arm-iwmmxt.S
22 $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
27 # fcvt: CFLAGS+=-march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
29 $(call run-test,fcvt,$(QEMU) $<,"$< on $(TARGET_NAME)")
30 $(call diff-out,fcvt,$(ARM_SRC)/fcvt.ref)
32 # Semihosting smoke test for linux-user
33 ARM_TESTS += semihosting
34 semihosting: CFLAGS += -mthumb
35 run-semihosting: semihosting
36 $(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")
38 ARM_TESTS += semihosting-arm
39 semihosting-arm: CFLAGS += -marm
40 semihosting-arm: semihosting.c
41 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
43 run-semihosting-arm: semihosting-arm
44 $(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")
46 run-plugin-semihosting-with-%:
47 $(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
48 -plugin $(PLUGIN_DIR)/$(call extract-plugin,$@) \
49 $(call strip-plugin,$<) 2> $<.err, \
50 "$< on $(TARGET_NAME) with $*")
52 ARM_TESTS += semiconsole semiconsole-arm
54 semiconsole: CFLAGS += -mthumb
55 run-semiconsole: semiconsole
56 $(call skip-test, $<, "MANUAL ONLY")
58 run-plugin-semiconsole-with-%:
59 $(call skip-test, $<, "MANUAL ONLY")
61 semiconsole-arm: CFLAGS += -marm
62 semiconsole-arm: semiconsole.c
63 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
65 run-semiconsole-arm: semiconsole-arm
66 $(call skip-test, $<, "MANUAL ONLY")
68 run-plugin-semiconsole-arm-with-%:
69 $(call skip-test, $<, "MANUAL ONLY")
73 # On ARM Linux only supports 4k pages
74 EXTRA_RUNS+=run-test-mmap-4096