1*be5cac17SAlex Bennée#
2*be5cac17SAlex Bennée# Xtensa softmmu tests
3*be5cac17SAlex Bennée#
4*be5cac17SAlex Bennée
5*be5cac17SAlex Bennéeifneq ($(TARGET_WORDS_BIGENDIAN),y)
6*be5cac17SAlex Bennée
7*be5cac17SAlex BennéeXTENSA_SRC = $(SRC_PATH)/tests/tcg/xtensa
8*be5cac17SAlex BennéeXTENSA_ALL = $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_SRC)/*.S))
9*be5cac17SAlex BennéeXTENSA_TESTS = $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL))
10*be5cac17SAlex Bennée# Filter out common blobs and broken tests
11*be5cac17SAlex BennéeXTENSA_BROKEN_TESTS  = crt vectors test_boolean test_pipeline test_fail
12*be5cac17SAlex BennéeXTENSA_USABLE_TESTS = $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TESTS))
13*be5cac17SAlex Bennée
14*be5cac17SAlex Bennée# add to the list of tests
15*be5cac17SAlex BennéeTESTS += $(XTENSA_USABLE_TESTS)
16*be5cac17SAlex BennéeVPATH += $(XTENSA_SRC)
17*be5cac17SAlex Bennée
18*be5cac17SAlex BennéeCORE=dc232b
19*be5cac17SAlex BennéeQEMU_OPTS+=-M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
20*be5cac17SAlex Bennée
21*be5cac17SAlex BennéeINCLUDE_DIRS = $(SRC_PATH)/target/xtensa/core-$(CORE)
22*be5cac17SAlex BennéeXTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
23*be5cac17SAlex Bennée
24*be5cac17SAlex Bennéevectors_ASFLAGS = -mtext-section-literals
25*be5cac17SAlex BennéeASFLAGS = -Wa,--no-absolute-literals
26*be5cac17SAlex BennéeLDFLAGS = -Tlinker.ld -nostartfiles -nostdlib
27*be5cac17SAlex Bennée
28*be5cac17SAlex BennéeCRT        = crt.o vectors.o
29*be5cac17SAlex Bennée
30*be5cac17SAlex Bennéelinker.ld: linker.ld.S
31*be5cac17SAlex Bennée	$(CC) $(XTENSA_INC) -E -P $< -o $@
32*be5cac17SAlex Bennée
33*be5cac17SAlex Bennée$(XTENSA_USABLE_TESTS): linker.ld macros.inc $(CRT) Makefile.softmmu-target
34*be5cac17SAlex Bennée
35*be5cac17SAlex Bennée# special rule for common blobs
36*be5cac17SAlex Bennée%.o: %.S
37*be5cac17SAlex Bennée	$(CC) $(XTENSA_INC) $($*_ASFLAGS) $(ASFLAGS) -c $< -o $@
38*be5cac17SAlex Bennée
39*be5cac17SAlex Bennée%: %.S
40*be5cac17SAlex Bennée	$(CC) $(XTENSA_INC) $(ASFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT)
41*be5cac17SAlex Bennée
42*be5cac17SAlex Bennéeendif
43