xref: /openbmc/qemu/tests/tcg/s390x/Makefile.target (revision 0139a4f2)
1S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
2VPATH+=$(S390X_SRC)
3CFLAGS+=-march=zEC12 -m64
4
5%.o: %.c
6	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
7
8config-cc.mak: Makefile
9	$(quiet-@)( \
10	    $(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
11	    $(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
12-include config-cc.mak
13
14TESTS+=hello-s390x
15TESTS+=csst
16TESTS+=ipm
17TESTS+=exrl-trt
18TESTS+=exrl-trtr
19TESTS+=pack
20TESTS+=mie3-compl
21TESTS+=mie3-mvcrl
22TESTS+=mie3-sel
23TESTS+=mvo
24TESTS+=mvc
25TESTS+=shift
26TESTS+=trap
27TESTS+=signals-s390x
28TESTS+=branch-relative-long
29TESTS+=noexec
30TESTS+=div
31TESTS+=clst
32TESTS+=long-double
33TESTS+=cdsg
34TESTS+=chrl
35TESTS+=rxsbg
36TESTS+=ex-relative-long
37TESTS+=ex-branch
38TESTS+=mxdb
39TESTS+=epsw
40TESTS+=larl
41TESTS+=mdeb
42TESTS+=cgebra
43TESTS+=clgebr
44TESTS+=clc
45TESTS+=laalg
46TESTS+=add-logical-with-carry
47TESTS+=lae
48TESTS+=cvd
49TESTS+=cvb
50TESTS+=ts
51TESTS+=ex-smc
52
53cdsg: CFLAGS+=-pthread
54cdsg: LDFLAGS+=-pthread
55
56rxsbg: CFLAGS+=-O2
57
58cgebra: LDFLAGS+=-lm
59clgebr: LDFLAGS+=-lm
60
61include $(S390X_SRC)/pgm-specification.mak
62$(PGM_SPECIFICATION_TESTS): pgm-specification-user.o
63$(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-user.o
64TESTS += $(PGM_SPECIFICATION_TESTS)
65
66Z13_TESTS=vistr
67Z13_TESTS+=lcbb
68Z13_TESTS+=locfhr
69Z13_TESTS+=vcksm
70Z13_TESTS+=vstl
71Z13_TESTS+=vrep
72Z13_TESTS+=precise-smc-user
73$(Z13_TESTS): CFLAGS+=-march=z13 -O2
74TESTS+=$(Z13_TESTS)
75
76ifneq ($(CROSS_CC_HAS_Z14),)
77Z14_TESTS=fma vfminmax
78fma: float.h
79fma: LDFLAGS+=-lm
80vfminmax: LDFLAGS+=-lm
81vfminmax: float.h
82$(Z14_TESTS): CFLAGS+=-march=z14 -O2
83TESTS+=$(Z14_TESTS)
84endif
85
86ifneq ($(CROSS_CC_HAS_Z15),)
87Z15_TESTS=vxeh2_vs
88Z15_TESTS+=vxeh2_vcvt
89Z15_TESTS+=vxeh2_vlstr
90Z15_TESTS+=vxeh2_vstrs
91$(Z15_TESTS): CFLAGS+=-march=z15 -O2
92TESTS+=$(Z15_TESTS)
93endif
94
95ifneq ($(GDB),)
96GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
97
98run-gdbstub-signals-s390x: signals-s390x
99	$(call run-test, $@, $(GDB_SCRIPT) \
100		--gdb $(GDB) \
101		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
102		--bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \
103	mixing signals and debugging)
104
105hello-s390x-asm: CFLAGS+=-nostdlib
106
107run-gdbstub-svc: hello-s390x-asm
108	$(call run-test, $@, $(GDB_SCRIPT) \
109		--gdb $(GDB) \
110		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
111		--bin $< --test $(S390X_SRC)/gdbstub/test-svc.py, \
112	single-stepping svc)
113
114EXTRA_RUNS += run-gdbstub-signals-s390x run-gdbstub-svc
115endif
116
117# MVX versions of sha512
118sha512-mvx: CFLAGS=-march=z13 -mvx -O3
119sha512-mvx: sha512.c
120	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
121
122TESTS+=sha512-mvx
123