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