xref: /openbmc/qemu/tests/tcg/arm/Makefile.target (revision 40a770ea8b9478aefa3a60049bc67cc04ace569c)
1c348722cSAlex Bennée# -*- Mode: makefile -*-
2c348722cSAlex Bennée#
3ab4aac50SAlex Bennée# ARM - included from tests/tcg/Makefile
4c348722cSAlex Bennée#
5c348722cSAlex Bennée
6c348722cSAlex BennéeARM_SRC=$(SRC_PATH)/tests/tcg/arm
7c348722cSAlex Bennée
8c348722cSAlex Bennée# Set search path for all sources
9c348722cSAlex BennéeVPATH 		+= $(ARM_SRC)
10c348722cSAlex Bennée
1140126a16SRichard Hendersonconfig-cc.mak: Makefile
1240126a16SRichard Henderson	$(quiet-@)( \
1340126a16SRichard Henderson	    $(call cc-option,-fno-integrated-as, CROSS_CC_HAS_FNIA)) 3> config-cc.mak
1440126a16SRichard Henderson-include config-cc.mak
1540126a16SRichard Henderson
16a4f3ed62SAlex Bennéefloat_madds: CFLAGS+=-mfpu=neon-vfpv4
17a4f3ed62SAlex Bennée
189a297facSAlex Bennée# Basic Hello World
199a297facSAlex BennéeARM_TESTS = hello-arm
20580731dcSAkihiko Odakihello-arm: CFLAGS+=-marm -ffreestanding -fno-stack-protector
21c348722cSAlex Bennéehello-arm: LDFLAGS+=-nostdlib
22ab4aac50SAlex Bennée
239a297facSAlex Bennée# IWMXT floating point extensions
249a297facSAlex BennéeARM_TESTS += test-arm-iwmmxt
2540126a16SRichard Henderson# Clang assembler does not support IWMXT, so use the external assembler.
2640126a16SRichard Hendersontest-arm-iwmmxt: CFLAGS += -marm -march=iwmmxt -mabi=aapcs -mfpu=fpv4-sp-d16 $(CROSS_CC_HAS_FNIA)
2765eab0f8SAlex Bennéetest-arm-iwmmxt: test-arm-iwmmxt.S
28*6c180490SRichard Henderson	$(CC) $(CFLAGS) -Wa,--noexecstack $< -o $@ $(LDFLAGS)
2965eab0f8SAlex Bennée
309a297facSAlex Bennée# Float-convert Tests
319a297facSAlex BennéeARM_TESTS += fcvt
328ec8a55eSAlex Bennéefcvt: LDFLAGS += -lm
33e3693cd3SRichard Hendersonfcvt: CFLAGS += -march=armv8.2-a+fp16 -mfpu=neon-fp-armv8
348ec8a55eSAlex Bennéerun-fcvt: fcvt
35c6cf8a20SPaolo Bonzini	$(call run-test,fcvt,$(QEMU) $<)
36607bf9b5SAlex Bennée	$(call diff-out,fcvt,$(ARM_SRC)/fcvt.ref)
379a297facSAlex Bennée
380bdce486SRichard Henderson# PC alignment test
390bdce486SRichard HendersonARM_TESTS += pcalign-a32
400bdce486SRichard Hendersonpcalign-a32: CFLAGS+=-marm
410bdce486SRichard Henderson
423539d84dSAlex Bennéeifeq ($(CONFIG_ARM_COMPATIBLE_SEMIHOSTING),y)
433539d84dSAlex Bennée
4483704cefSAlex Bennée# Semihosting smoke test for linux-user
45f0593809SAlex Bennéesemihosting: CFLAGS += -mthumb
4683704cefSAlex Bennée
47f0593809SAlex BennéeARM_TESTS += semihosting-arm
483539d84dSAlex Bennéesemihosting-arm: CFLAGS += -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME)
49f0593809SAlex Bennéesemihosting-arm: semihosting.c
50f0593809SAlex Bennée	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
51f0593809SAlex Bennée
52f0593809SAlex Bennéerun-semihosting-arm: semihosting-arm
53c6cf8a20SPaolo Bonzini	$(call run-test,$<,$(QEMU) $< 2> $<.err)
54f0593809SAlex Bennée
553539d84dSAlex BennéeARM_TESTS += semiconsole-arm
56486e58b1SAlex Bennée
57486e58b1SAlex Bennéesemiconsole: CFLAGS += -mthumb
58486e58b1SAlex Bennée
593539d84dSAlex Bennéesemiconsole-arm: CFLAGS += -marm -I$(SRC_PATH)/tests/tcg/$(TARGET_NAME)
603539d84dSAlex Bennéesemiconsole-arm: semihosting.c
61486e58b1SAlex Bennée	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
62486e58b1SAlex Bennée
63486e58b1SAlex Bennéerun-semiconsole-arm: semiconsole-arm
64486e58b1SAlex Bennée	$(call skip-test, $<, "MANUAL ONLY")
65486e58b1SAlex Bennée
663539d84dSAlex Bennéeendif
673539d84dSAlex Bennée
68b6771210SAlex BennéeARM_TESTS += commpage
69b6771210SAlex Bennée
70c96e593aSAlex Bennée# Vector SHA1
71c96e593aSAlex Bennéesha1-vector: CFLAGS=-O3
72c96e593aSAlex Bennéesha1-vector: sha1.c
73c96e593aSAlex Bennée	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
74c96e593aSAlex Bennéerun-sha1-vector: sha1-vector run-sha1
75c6cf8a20SPaolo Bonzini	$(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<)
76c96e593aSAlex Bennée	$(call diff-out, sha1-vector, sha1.out)
77c96e593aSAlex Bennée
78c96e593aSAlex BennéeARM_TESTS += sha1-vector
79f8a4c6d7SAlex Bennée
80f8a4c6d7SAlex Bennée# Vector versions of sha512 (-O3 triggers vectorisation)
81f8a4c6d7SAlex Bennéesha512-vector: CFLAGS=-O3
82f8a4c6d7SAlex Bennéesha512-vector: sha512.c
83f8a4c6d7SAlex Bennée	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
84f8a4c6d7SAlex Bennée
85f8a4c6d7SAlex BennéeARM_TESTS += sha512-vector
86f8a4c6d7SAlex Bennée
879a297facSAlex BennéeTESTS += $(ARM_TESTS)
88