6ef164188d
The reason the ppc64 and s390x test where failing was because gdb hides them although they are still accessible via regnum. We can re-arrange the test a little bit and include these two arches in our test. We also need to be a bit more careful handling remote-registers as the format isn't easily parsed with pure white space separation. Once we fold types like "long long" and "long double" into a single word we can now assert all registers are either listed or elided. Cc: Ilya Leoshkevich <iii@linux.ibm.com> Cc: <qemu-s390x@nongnu.org> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Daniel Henrique Barboza <danielhb413@gmail.com> Cc: <qemu-ppc@nongnu.org> Cc: Luis Machado <luis.machado@arm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231121153606.542101-1-alex.bennee@linaro.org>
115 lines
2.3 KiB
Makefile
115 lines
2.3 KiB
Makefile
S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
|
|
VPATH+=$(S390X_SRC)
|
|
CFLAGS+=-march=zEC12 -m64
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
|
|
|
|
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
|
|
|
|
TESTS+=hello-s390x
|
|
TESTS+=csst
|
|
TESTS+=ipm
|
|
TESTS+=exrl-trt
|
|
TESTS+=exrl-trtr
|
|
TESTS+=pack
|
|
TESTS+=mie3-compl
|
|
TESTS+=mie3-mvcrl
|
|
TESTS+=mie3-sel
|
|
TESTS+=mvo
|
|
TESTS+=mvc
|
|
TESTS+=shift
|
|
TESTS+=trap
|
|
TESTS+=signals-s390x
|
|
TESTS+=branch-relative-long
|
|
TESTS+=noexec
|
|
TESTS+=div
|
|
TESTS+=clst
|
|
TESTS+=long-double
|
|
TESTS+=cdsg
|
|
TESTS+=chrl
|
|
TESTS+=rxsbg
|
|
TESTS+=ex-relative-long
|
|
TESTS+=ex-branch
|
|
TESTS+=mxdb
|
|
TESTS+=epsw
|
|
TESTS+=larl
|
|
TESTS+=mdeb
|
|
TESTS+=cgebra
|
|
TESTS+=clgebr
|
|
TESTS+=clc
|
|
TESTS+=laalg
|
|
TESTS+=add-logical-with-carry
|
|
|
|
cdsg: CFLAGS+=-pthread
|
|
cdsg: LDFLAGS+=-pthread
|
|
|
|
rxsbg: CFLAGS+=-O2
|
|
|
|
cgebra: LDFLAGS+=-lm
|
|
clgebr: LDFLAGS+=-lm
|
|
|
|
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)
|
|
|
|
Z13_TESTS=vistr
|
|
Z13_TESTS+=lcbb
|
|
Z13_TESTS+=locfhr
|
|
Z13_TESTS+=vcksm
|
|
Z13_TESTS+=vstl
|
|
Z13_TESTS+=vrep
|
|
Z13_TESTS+=precise-smc-user
|
|
$(Z13_TESTS): CFLAGS+=-march=z13 -O2
|
|
TESTS+=$(Z13_TESTS)
|
|
|
|
ifneq ($(CROSS_CC_HAS_Z14),)
|
|
Z14_TESTS=vfminmax
|
|
vfminmax: LDFLAGS+=-lm
|
|
$(Z14_TESTS): CFLAGS+=-march=z14 -O2
|
|
TESTS+=$(Z14_TESTS)
|
|
endif
|
|
|
|
ifneq ($(CROSS_CC_HAS_Z15),)
|
|
Z15_TESTS=vxeh2_vs
|
|
Z15_TESTS+=vxeh2_vcvt
|
|
Z15_TESTS+=vxeh2_vlstr
|
|
Z15_TESTS+=vxeh2_vstrs
|
|
$(Z15_TESTS): CFLAGS+=-march=z15 -O2
|
|
TESTS+=$(Z15_TESTS)
|
|
endif
|
|
|
|
ifneq ($(GDB),)
|
|
GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
|
|
|
|
run-gdbstub-signals-s390x: signals-s390x
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
|
--gdb $(GDB) \
|
|
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
|
|
--bin $< --test $(S390X_SRC)/gdbstub/test-signals-s390x.py, \
|
|
mixing signals and debugging)
|
|
|
|
hello-s390x-asm: CFLAGS+=-nostdlib
|
|
|
|
run-gdbstub-svc: hello-s390x-asm
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
|
--gdb $(GDB) \
|
|
--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
|
|
endif
|
|
|
|
# MVX versions of sha512
|
|
sha512-mvx: CFLAGS=-march=z13 -mvx -O3
|
|
sha512-mvx: sha512.c
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
TESTS+=sha512-mvx
|