2021-08-05 01:51:46 +03:00
|
|
|
S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
|
|
|
|
VPATH+=$(S390X_SRC)
|
2018-08-21 05:50:58 +03:00
|
|
|
CFLAGS+=-march=zEC12 -m64
|
2022-10-12 21:27:53 +03:00
|
|
|
|
2023-03-16 19:44:28 +03:00
|
|
|
%.o: %.c
|
|
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
|
|
|
|
|
2022-10-12 21:27:53 +03:00
|
|
|
config-cc.mak: Makefile
|
|
|
|
$(quiet-@)( \
|
|
|
|
$(call cc-option,-march=z14, CROSS_CC_HAS_Z14); \
|
|
|
|
$(call cc-option,-march=z15, CROSS_CC_HAS_Z15)) 3> config-cc.mak
|
|
|
|
-include config-cc.mak
|
|
|
|
|
2018-08-21 05:50:58 +03:00
|
|
|
TESTS+=hello-s390x
|
target/s390x: fix CSST decoding and runtime alignment check
CSST is defined as:
C(0xc802, CSST, SSF, CASS, la1, a2, 0, 0, csst, 0)
It means that the first parameter is handled by in1_la1().
in1_la1() fills addr1 field, and not in1.
Furthermore, when extract32() is used for the alignment check, the
third parameter should specify the number of trailing bits that must
be 0. For FC these numbers are:
FC=0 (word, 4 bytes): 2
FC=1 (double word, 8 bytes): 3
FC=2 (quad word, 16 bytes): 4
For SC these numbers correspond to the size:
SC=0: 0
SC=1: 1
SC=2: 2
SC=3: 3
SC=4: 4
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@gmail.com>
Message-Id: <20180821025104.19604-4-pavel.zbitskiy@gmail.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-08-21 05:51:00 +03:00
|
|
|
TESTS+=csst
|
2018-08-21 05:51:01 +03:00
|
|
|
TESTS+=ipm
|
2018-08-21 05:51:02 +03:00
|
|
|
TESTS+=exrl-trt
|
|
|
|
TESTS+=exrl-trtr
|
2018-08-21 05:51:03 +03:00
|
|
|
TESTS+=pack
|
2022-02-24 01:31:16 +03:00
|
|
|
TESTS+=mie3-compl
|
|
|
|
TESTS+=mie3-mvcrl
|
|
|
|
TESTS+=mie3-sel
|
2019-09-05 21:18:51 +03:00
|
|
|
TESTS+=mvo
|
2019-09-19 12:21:48 +03:00
|
|
|
TESTS+=mvc
|
2022-01-12 19:50:16 +03:00
|
|
|
TESTS+=shift
|
2021-07-09 19:04:59 +03:00
|
|
|
TESTS+=trap
|
2021-08-05 01:51:46 +03:00
|
|
|
TESTS+=signals-s390x
|
2022-03-14 13:42:32 +03:00
|
|
|
TESTS+=branch-relative-long
|
2022-08-17 18:05:04 +03:00
|
|
|
TESTS+=noexec
|
2022-11-01 14:13:00 +03:00
|
|
|
TESTS+=div
|
2022-10-26 00:30:08 +03:00
|
|
|
TESTS+=clst
|
2022-10-21 09:09:30 +03:00
|
|
|
TESTS+=long-double
|
2023-02-01 16:32:57 +03:00
|
|
|
TESTS+=cdsg
|
2023-03-10 14:41:57 +03:00
|
|
|
TESTS+=chrl
|
2023-03-16 20:22:05 +03:00
|
|
|
TESTS+=rxsbg
|
2023-03-17 00:07:51 +03:00
|
|
|
TESTS+=ex-relative-long
|
2023-04-27 02:58:13 +03:00
|
|
|
TESTS+=ex-branch
|
2023-06-02 01:30:27 +03:00
|
|
|
TESTS+=mxdb
|
2023-07-04 11:12:32 +03:00
|
|
|
TESTS+=epsw
|
2023-07-04 11:12:33 +03:00
|
|
|
TESTS+=larl
|
2023-07-04 11:12:35 +03:00
|
|
|
TESTS+=mdeb
|
2023-07-24 11:16:02 +03:00
|
|
|
TESTS+=cgebra
|
|
|
|
TESTS+=clgebr
|
2023-11-06 12:31:23 +03:00
|
|
|
TESTS+=clc
|
2023-02-01 16:32:57 +03:00
|
|
|
|
|
|
|
cdsg: CFLAGS+=-pthread
|
|
|
|
cdsg: LDFLAGS+=-pthread
|
2021-08-05 01:51:46 +03:00
|
|
|
|
2023-03-16 20:22:05 +03:00
|
|
|
rxsbg: CFLAGS+=-O2
|
|
|
|
|
2023-07-24 11:16:02 +03:00
|
|
|
cgebra: LDFLAGS+=-lm
|
|
|
|
clgebr: LDFLAGS+=-lm
|
|
|
|
|
2023-03-16 19:44:28 +03:00
|
|
|
include $(S390X_SRC)/pgm-specification.mak
|
|
|
|
$(PGM_SPECIFICATION_TESTS): pgm-specification-user.o
|
|
|
|
$(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-user.o
|
|
|
|
TESTS += $(PGM_SPECIFICATION_TESTS)
|
|
|
|
|
2022-10-12 21:27:55 +03:00
|
|
|
Z13_TESTS=vistr
|
2023-05-26 21:12:38 +03:00
|
|
|
Z13_TESTS+=lcbb
|
2023-05-26 21:12:40 +03:00
|
|
|
Z13_TESTS+=locfhr
|
2023-07-24 11:16:07 +03:00
|
|
|
Z13_TESTS+=vcksm
|
2023-08-05 02:55:34 +03:00
|
|
|
Z13_TESTS+=vstl
|
2023-08-07 19:34:32 +03:00
|
|
|
Z13_TESTS+=vrep
|
2023-08-07 14:48:21 +03:00
|
|
|
Z13_TESTS+=precise-smc-user
|
2022-10-12 21:27:55 +03:00
|
|
|
$(Z13_TESTS): CFLAGS+=-march=z13 -O2
|
|
|
|
TESTS+=$(Z13_TESTS)
|
|
|
|
|
2022-10-12 21:27:53 +03:00
|
|
|
ifneq ($(CROSS_CC_HAS_Z14),)
|
2022-07-13 21:26:12 +03:00
|
|
|
Z14_TESTS=vfminmax
|
|
|
|
vfminmax: LDFLAGS+=-lm
|
|
|
|
$(Z14_TESTS): CFLAGS+=-march=z14 -O2
|
2022-10-12 21:27:53 +03:00
|
|
|
TESTS+=$(Z14_TESTS)
|
|
|
|
endif
|
2022-07-13 21:26:12 +03:00
|
|
|
|
2022-10-12 21:27:53 +03:00
|
|
|
ifneq ($(CROSS_CC_HAS_Z15),)
|
|
|
|
Z15_TESTS=vxeh2_vs
|
|
|
|
Z15_TESTS+=vxeh2_vcvt
|
|
|
|
Z15_TESTS+=vxeh2_vlstr
|
2023-08-05 02:03:19 +03:00
|
|
|
Z15_TESTS+=vxeh2_vstrs
|
2022-10-12 21:27:53 +03:00
|
|
|
$(Z15_TESTS): CFLAGS+=-march=z15 -O2
|
|
|
|
TESTS+=$(Z15_TESTS)
|
|
|
|
endif
|
2022-04-28 12:47:08 +03:00
|
|
|
|
2023-09-28 11:44:56 +03:00
|
|
|
ifneq ($(GDB),)
|
2021-08-05 01:51:46 +03:00
|
|
|
GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
|
|
|
|
|
|
|
|
run-gdbstub-signals-s390x: signals-s390x
|
|
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
2023-09-28 11:44:56 +03:00
|
|
|
--gdb $(GDB) \
|
2021-08-05 01:51:46 +03:00
|
|
|
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
|
|
|
|
--bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \
|
2022-09-29 14:42:03 +03:00
|
|
|
mixing signals and debugging)
|
2021-08-05 01:51:46 +03:00
|
|
|
|
2023-05-11 02:02:13 +03:00
|
|
|
hello-s390x-asm: CFLAGS+=-nostdlib
|
|
|
|
|
|
|
|
run-gdbstub-svc: hello-s390x-asm
|
|
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
2023-09-28 11:44:56 +03:00
|
|
|
--gdb $(GDB) \
|
2023-05-11 02:02:13 +03:00
|
|
|
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
|
|
|
|
--bin $< --test $(S390X_SRC)/gdbstub/test-svc.py, \
|
|
|
|
single-stepping svc)
|
|
|
|
|
|
|
|
EXTRA_RUNS += run-gdbstub-signals-s390x run-gdbstub-svc
|
2021-08-05 01:51:46 +03:00
|
|
|
endif
|
2022-02-25 20:20:16 +03:00
|
|
|
|
|
|
|
# MVX versions of sha512
|
|
|
|
sha512-mvx: CFLAGS=-march=z13 -mvx -O3
|
|
|
|
sha512-mvx: sha512.c
|
|
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
|
|
|
|
TESTS+=sha512-mvx
|