3539d84df1
It may be arm-compat-semihosting but more than one architecture uses it so lets move the tests into the multiarch area. We gate it on the feature and split the semicall.h header between the arches. Also clean-up a bit of the Makefile messing about to one common set of runners. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210323165308.15244-6-alex.bennee@linaro.org>
76 lines
1.9 KiB
Makefile
76 lines
1.9 KiB
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# AArch64 specific tweaks
|
|
|
|
ARM_SRC=$(SRC_PATH)/tests/tcg/arm
|
|
VPATH += $(ARM_SRC)
|
|
|
|
AARCH64_SRC=$(SRC_PATH)/tests/tcg/aarch64
|
|
VPATH += $(AARCH64_SRC)
|
|
|
|
# Float-convert Tests
|
|
AARCH64_TESTS=fcvt
|
|
|
|
fcvt: LDFLAGS+=-lm
|
|
|
|
run-fcvt: fcvt
|
|
$(call run-test,$<,$(QEMU) $<, "$< on $(TARGET_NAME)")
|
|
$(call diff-out,$<,$(AARCH64_SRC)/fcvt.ref)
|
|
|
|
# Pauth Tests
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_ARMV8_3),)
|
|
AARCH64_TESTS += pauth-1 pauth-2 pauth-4 pauth-5
|
|
pauth-%: CFLAGS += -march=armv8.3-a
|
|
run-pauth-%: QEMU_OPTS += -cpu max
|
|
run-plugin-pauth-%: QEMU_OPTS += -cpu max
|
|
endif
|
|
|
|
# BTI Tests
|
|
# bti-1 tests the elf notes, so we require special compiler support.
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_ARMV8_BTI),)
|
|
AARCH64_TESTS += bti-1
|
|
bti-1: CFLAGS += -mbranch-protection=standard
|
|
bti-1: LDFLAGS += -nostdlib
|
|
endif
|
|
# bti-2 tests PROT_BTI, so no special compiler support required.
|
|
AARCH64_TESTS += bti-2
|
|
|
|
# MTE Tests
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_ARMV8_MTE),)
|
|
AARCH64_TESTS += mte-1 mte-2 mte-3 mte-4
|
|
mte-%: CFLAGS += -march=armv8.5-a+memtag
|
|
endif
|
|
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_SVE),)
|
|
# System Registers Tests
|
|
AARCH64_TESTS += sysregs
|
|
sysregs: CFLAGS+=-march=armv8.1-a+sve
|
|
|
|
# SVE ioctl test
|
|
AARCH64_TESTS += sve-ioctls
|
|
sve-ioctls: CFLAGS+=-march=armv8.1-a+sve
|
|
|
|
ifneq ($(HAVE_GDB_BIN),)
|
|
GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py
|
|
|
|
run-gdbstub-sysregs: sysregs
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
|
--gdb $(HAVE_GDB_BIN) \
|
|
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
|
|
--bin $< --test $(AARCH64_SRC)/gdbstub/test-sve.py, \
|
|
"basic gdbstub SVE support")
|
|
|
|
run-gdbstub-sve-ioctls: sve-ioctls
|
|
$(call run-test, $@, $(GDB_SCRIPT) \
|
|
--gdb $(HAVE_GDB_BIN) \
|
|
--qemu $(QEMU) --qargs "$(QEMU_OPTS)" \
|
|
--bin $< --test $(AARCH64_SRC)/gdbstub/test-sve-ioctl.py, \
|
|
"basic gdbstub SVE ZLEN support")
|
|
|
|
EXTRA_RUNS += run-gdbstub-sysregs run-gdbstub-sve-ioctls
|
|
endif
|
|
|
|
endif
|
|
|
|
TESTS += $(AARCH64_TESTS)
|