File: Makefile.aarch64

package info (click to toggle)
herdtools7 7.58-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,732 kB
  • sloc: ml: 128,583; ansic: 3,827; makefile: 670; python: 407; sh: 212; awk: 14
file content (107 lines) | stat: -rw-r--r-- 4,186 bytes parent folder | download
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
ifneq ($(OS),Darwin)
AARCH64_PREFIX ?= aarch64-linux-gnu-
endif

litmus-aarch64-test:: litmus-cata-aarch64-test-std
litmus-cata-aarch64-test-std: TEMP_DIR:=$(shell mktemp -d)
litmus-cata-aarch64-test-std:
	$(LITMUS)					\
		-set-libdir $(LITMUS_LIB_DIR)	        \
		-gcc=$(AARCH64_PREFIX)gcc		\
		-ccopts='-march=armv8-a+lse'		\
		-o $(TEMP_DIR)				\
		-mode std -a 4				\
		catalogue/aarch64/tests/@all
	make $(SILENTOPT) -C $(TEMP_DIR) -j $(J)
	if $(RUN_TESTS); then ( cd $(TEMP_DIR) && sh run.sh ); fi
	$(RM) -r $(TEMP_DIR)
	@ echo "litmus7 in -mode std catalogue aarch64 tests: OK"

litmus-aarch64-test:: litmus-cata-aarch64-test-presi
litmus-cata-aarch64-test-presi: TEMP_DIR:=$(shell mktemp -d)
litmus-cata-aarch64-test-presi:
	$(LITMUS)					\
		-set-libdir $(LITMUS_LIB_DIR) 	        \
		-gcc=$(AARCH64_PREFIX)gcc		\
		-ccopts='-march=armv8-a+lse'		\
		-o $(TEMP_DIR)				\
		-mode presi -a 4			\
		catalogue/aarch64/tests/@all
	make $(SILENTOPT) -C $(TEMP_DIR) -j $(J)
	if $(RUN_TESTS); then ( cd $(TEMP_DIR) && sh run.sh ); fi
	$(RM) -r $(TEMP_DIR)
	@ echo "litmus7 in -mode presi catalogue aarch64 tests: OK"

litmus-aarch64-test:: litmus-cata-aarch64-ifetch-test
litmus-cata-aarch64-ifetch-test: TEMP_DIR:=$(shell mktemp -d)
litmus-cata-aarch64-ifetch-test:
	$(LITMUS)					\
		-set-libdir $(LITMUS_LIB_DIR)	        \
		-gcc=$(AARCH64_PREFIX)gcc 	        \
		-ccopts='-march=armv8-a+lse'		\
		-o $(TEMP_DIR)				\
		-mode std -a 4				\
		catalogue/aarch64-ifetch/tests/@nofault
	make $(SILENTOPT) -C $(TEMP_DIR) -j $(J)
	if $(RUN_TESTS); then ( cd $(TEMP_DIR) && sh run.sh ); fi
	$(RM) -r $(TEMP_DIR)
	@ echo "litmus7 in -mode std catalogue aarch64-ifetch tests: OK"

KUT_AARCH64_PREFFIX = $(AARCH64_PREFIX)
ifeq ($(OS),Darwin)
KUT_AARCH64_PREFFIX = aarch64-elf-
endif
KUT_CONFIG_PARAMS=--arch=arm64 --page-size=4k --cross-prefix=$(KUT_AARCH64_PREFFIX)

KUT_DIR_AARCH64:=$(shell mktemp -d)

litmus-aarch64-dep:
	cd $(KUT_DIR_AARCH64);                                             \
	git clone -q https://gitlab.com/kvm-unit-tests/kvm-unit-tests.git; \
	cd kvm-unit-tests;                                                 \
	./configure $(KUT_CONFIG_PARAMS);                                  \
	make $(SILENTOPT)

litmus-aarch64-test:: litmus-cata-aarch64-test-kvm
litmus-cata-aarch64-test-kvm: litmus-aarch64-dep
	mkdir $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	$(LITMUS)					\
		-set-libdir $(LITMUS_LIB_DIR)	        \
		-o $(KUT_DIR_AARCH64)/kvm-unit-tests/t	\
		-mach kvm-armv8.1 -a 4			\
		catalogue/aarch64/tests/@all
	cd $(KUT_DIR_AARCH64)/kvm-unit-tests/t; make $(SILENTOPT) -j $(J)
	if $(RUN_TESTS); then ( cd $(KUT_DIR_AARCH64)/kvm-unit-tests && sh t/run.sh ); fi
	$(RM) -r $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	@ echo "litmus7 in -mode kvm catalogue aarch64 tests: OK"

litmus-aarch64-test:: litmus-cata-aarch64-VMSA-test-kvm
litmus-cata-aarch64-VMSA-test-kvm: litmus-aarch64-dep
	mkdir $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	$(LITMUS)					\
		-set-libdir $(LITMUS_LIB_DIR)	        \
		-o $(KUT_DIR_AARCH64)/kvm-unit-tests/t	\
		-mach kvm-armv8.1+rcpc -a 4 -s 10 -r 10	\
		catalogue/aarch64-VMSA/tests/@all
	cd $(KUT_DIR_AARCH64)/kvm-unit-tests/t; make $(SILENTOPT) -j $(J)
	if $(RUN_TESTS); then ( cd $(KUT_DIR_AARCH64)/kvm-unit-tests && sh t/run.sh ); fi
	$(RM) -r $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	@ echo "litmus7 in -mode kvm catalogue aarch64-VMSA tests: OK"

litmus-aarch64-test:: litmus-cata-aarch64-ifetch-test-kvm
litmus-cata-aarch64-ifetch-test-kvm: litmus-aarch64-dep
	mkdir $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	$(LITMUS)					         \
		-set-libdir $(LITMUS_LIB_DIR)	                 \
		-o $(KUT_DIR_AARCH64)/kvm-unit-tests/t	         \
		-mach kvm-armv8.1 -variant self -a 4 -s 10 -r 10 \
		catalogue/aarch64-ifetch/tests/@all
	cd $(KUT_DIR_AARCH64)/kvm-unit-tests/t; make $(SILENTOPT) -j $(J)
#Disabled as some tests are not terminating. Those tests are
# WRC-inst-modified-2 IDC1.WRC-inst-modified-2
# DIC1.WRC-inst-modified-2 UDF+2FH
	if false; then ( cd $(KUT_DIR_AARCH64)/kvm-unit-tests && sh t/run.sh ); fi
	$(RM) -r $(KUT_DIR_AARCH64)/kvm-unit-tests/t
	@ echo "litmus7 in -mode kvm catalogue aarch64-ifetch tests: OK"

litmus-test:: litmus-aarch64-test