xref: /openbmc/qemu/tests/tcg/s390x/Makefile.target (revision 2c471a8291c182130a77702d9bd4c910d987c6a9)
1e7f8a3aaSIlya LeoshkevichS390X_SRC=$(SRC_PATH)/tests/tcg/s390x
2e7f8a3aaSIlya LeoshkevichVPATH+=$(S390X_SRC)
3276ba120SPavel ZbitskiyCFLAGS+=-march=zEC12 -m64
4117ea960SThomas Huth
5e902126cSIlya Leoshkevich%.o: %.c
6e902126cSIlya Leoshkevich	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
7e902126cSIlya Leoshkevich
8117ea960SThomas Huthconfig-cc.mak: Makefile
9117ea960SThomas Huth	$(quiet-@)( \
10117ea960SThomas Huth	    $(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
11117ea960SThomas Huth	    $(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
12117ea960SThomas Huth-include config-cc.mak
13117ea960SThomas Huth
14276ba120SPavel ZbitskiyTESTS+=hello-s390x
15dc95b31dSPavel ZbitskiyTESTS+=csst
16478d360cSPavel ZbitskiyTESTS+=ipm
17ad8c851dSPavel ZbitskiyTESTS+=exrl-trt
18ad8c851dSPavel ZbitskiyTESTS+=exrl-trtr
193cea0927SPavel ZbitskiyTESTS+=pack
20e2c3fb06SDavid MillerTESTS+=mie3-compl
21e2c3fb06SDavid MillerTESTS+=mie3-mvcrl
22e2c3fb06SDavid MillerTESTS+=mie3-sel
23d9e13c34SDavid HildenbrandTESTS+=mvo
245d69cbdfSDavid HildenbrandTESTS+=mvc
25f7cff073SIlya LeoshkevichTESTS+=shift
2650e36dd6SJonathan AlbrechtTESTS+=trap
27e7f8a3aaSIlya LeoshkevichTESTS+=signals-s390x
28c587bddbSIlya LeoshkevichTESTS+=branch-relative-long
29ab12c95dSIlya LeoshkevichTESTS+=noexec
3029b8de00SIlya LeoshkevichTESTS+=div
31c432198aSIlya LeoshkevichTESTS+=clst
32521d38ecSRichard HendersonTESTS+=long-double
3382f6584cSIlya LeoshkevichTESTS+=cdsg
3441079122SNina Schoetterl-GlauschTESTS+=chrl
3504fce706SIlya LeoshkevichTESTS+=rxsbg
365e8a0c62SIlya LeoshkevichTESTS+=ex-relative-long
37bfa72590SIlya LeoshkevichTESTS+=ex-branch
382b956244SIlya LeoshkevichTESTS+=mxdb
39f5c2ae71SIlya LeoshkevichTESTS+=epsw
40ad85ac6aSIlya LeoshkevichTESTS+=larl
4185411ac9SIlya LeoshkevichTESTS+=mdeb
42372886d2SIlya LeoshkevichTESTS+=cgebra
43372886d2SIlya LeoshkevichTESTS+=clgebr
4443fecbe7SIlya LeoshkevichTESTS+=clc
45ebc14107SIlya LeoshkevichTESTS+=laalg
46d7e61d6bSIlya LeoshkevichTESTS+=add-logical-with-carry
472bcc91ecSIlya LeoshkevichTESTS+=lae
485b003b59SIlya LeoshkevichTESTS+=cvd
49eb14b021SIlya LeoshkevichTESTS+=cvb
50f9b29c63SIlya LeoshkevichTESTS+=ts
51e5a00700SIlya LeoshkevichTESTS+=ex-smc
5282f6584cSIlya Leoshkevich
5382f6584cSIlya Leoshkevichcdsg: CFLAGS+=-pthread
5482f6584cSIlya Leoshkevichcdsg: LDFLAGS+=-pthread
55e7f8a3aaSIlya Leoshkevich
5604fce706SIlya Leoshkevichrxsbg: CFLAGS+=-O2
5704fce706SIlya Leoshkevich
58372886d2SIlya Leoshkevichcgebra: LDFLAGS+=-lm
59372886d2SIlya Leoshkevichclgebr: LDFLAGS+=-lm
60372886d2SIlya Leoshkevich
61e902126cSIlya Leoshkevichinclude $(S390X_SRC)/pgm-specification.mak
62e902126cSIlya Leoshkevich$(PGM_SPECIFICATION_TESTS): pgm-specification-user.o
63e902126cSIlya Leoshkevich$(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-user.o
64e902126cSIlya LeoshkevichTESTS += $(PGM_SPECIFICATION_TESTS)
65e902126cSIlya Leoshkevich
669e3eb3b2SThomas HuthZ13_TESTS=vistr
6705d000fbSIlya LeoshkevichZ13_TESTS+=lcbb
6823097623SIlya LeoshkevichZ13_TESTS+=locfhr
69241ab36cSIlya LeoshkevichZ13_TESTS+=vcksm
7093af6e0aSIlya LeoshkevichZ13_TESTS+=vstl
71024d7cafSIlya LeoshkevichZ13_TESTS+=vrep
72c3513ce5SIlya LeoshkevichZ13_TESTS+=precise-smc-user
739e3eb3b2SThomas Huth$(Z13_TESTS): CFLAGS+=-march=z13 -O2
749e3eb3b2SThomas HuthTESTS+=$(Z13_TESTS)
759e3eb3b2SThomas Huth
76117ea960SThomas Huthifneq ($(CROSS_CC_HAS_Z14),)
77*6dc29354SIlya LeoshkevichZ14_TESTS=fma vfminmax
78*6dc29354SIlya Leoshkevichfma: float.h
79*6dc29354SIlya Leoshkevichfma: LDFLAGS+=-lm
8023f13e19SIlya Leoshkevichvfminmax: LDFLAGS+=-lm
81*6dc29354SIlya Leoshkevichvfminmax: float.h
8223f13e19SIlya Leoshkevich$(Z14_TESTS): CFLAGS+=-march=z14 -O2
83117ea960SThomas HuthTESTS+=$(Z14_TESTS)
84117ea960SThomas Huthendif
8523f13e19SIlya Leoshkevich
86117ea960SThomas Huthifneq ($(CROSS_CC_HAS_Z15),)
87117ea960SThomas HuthZ15_TESTS=vxeh2_vs
88117ea960SThomas HuthZ15_TESTS+=vxeh2_vcvt
89117ea960SThomas HuthZ15_TESTS+=vxeh2_vlstr
906c49f685SIlya LeoshkevichZ15_TESTS+=vxeh2_vstrs
91117ea960SThomas Huth$(Z15_TESTS): CFLAGS+=-march=z15 -O2
92117ea960SThomas HuthTESTS+=$(Z15_TESTS)
93117ea960SThomas Huthendif
94bc556c66SDavid Miller
95a47dd5c5SPaolo Bonziniifneq ($(GDB),)
96e7f8a3aaSIlya LeoshkevichGDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
97e7f8a3aaSIlya Leoshkevich
98e7f8a3aaSIlya Leoshkevichrun-gdbstub-signals-s390x: signals-s390x
99e7f8a3aaSIlya Leoshkevich	$(call run-test, $@, $(GDB_SCRIPT) \
100a47dd5c5SPaolo Bonzini		--gdb $(GDB) \
101e7f8a3aaSIlya Leoshkevich		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
102e7f8a3aaSIlya Leoshkevich		--bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \
103c6cf8a20SPaolo Bonzini	mixing signals and debugging)
104e7f8a3aaSIlya Leoshkevich
105be4a4cb4SIlya Leoshkevichhello-s390x-asm: CFLAGS+=-nostdlib
106be4a4cb4SIlya Leoshkevich
107be4a4cb4SIlya Leoshkevichrun-gdbstub-svc: hello-s390x-asm
108be4a4cb4SIlya Leoshkevich	$(call run-test, $@, $(GDB_SCRIPT) \
109a47dd5c5SPaolo Bonzini		--gdb $(GDB) \
110be4a4cb4SIlya Leoshkevich		--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
111be4a4cb4SIlya Leoshkevich		--bin $< --test $(S390X_SRC)/gdbstub/test-svc.py, \
112be4a4cb4SIlya Leoshkevich	single-stepping svc)
113be4a4cb4SIlya Leoshkevich
114be4a4cb4SIlya LeoshkevichEXTRA_RUNS += run-gdbstub-signals-s390x run-gdbstub-svc
115e7f8a3aaSIlya Leoshkevichendif
116f8a4c6d7SAlex Bennée
117f8a4c6d7SAlex Bennée# MVX versions of sha512
118f8a4c6d7SAlex Bennéesha512-mvx: CFLAGS=-march=z13 -mvx -O3
119f8a4c6d7SAlex Bennéesha512-mvx: sha512.c
120f8a4c6d7SAlex Bennée	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
121f8a4c6d7SAlex Bennée
122f8a4c6d7SAlex BennéeTESTS+=sha512-mvx
123