aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/aarch64/Makefile.target
blob: d99b2a9eced4affa7b4adb9449591f4a38e7b323 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# -*- 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
run-pauth-%: QEMU_OPTS += -cpu max
pauth-%: CFLAGS += -march=armv8.3-a
endif

# Semihosting smoke test for linux-user
AARCH64_TESTS += semihosting
run-semihosting: semihosting
	$(call run-test,$<,$(QEMU) $< 2> $<.err, "$< on $(TARGET_NAME)")

run-plugin-semihosting-with-%:
	$(call run-test, $@, $(QEMU) $(QEMU_OPTS) \
		-plugin $(PLUGIN_DIR)/$(call extract-plugin,$@) \
		 $(call strip-plugin,$<) 2> $<.err, \
		"$< on $(TARGET_NAME) with $*")

AARCH64_TESTS += semiconsole
run-semiconsole: semiconsole
	$(call skip-test, $<, "MANUAL ONLY")

run-plugin-semiconsole-with-%:
	$(call skip-test, $<, "MANUAL ONLY")

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

AARCH64_TESTS += gdbstub-sysregs gdbstub-sve-ioctls

.PHONY: gdbstub-sysregs gdbstub-sve-ioctls
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")
endif

endif

TESTS += $(AARCH64_TESTS)