1be5cac17SAlex Bennée#
2*7893e42dSPhilippe Mathieu-Daudé# Xtensa system tests
3be5cac17SAlex Bennée#
4be5cac17SAlex Bennée
551139fb3SMax FilippovCORE=dc232b
651139fb3SMax Filippovifneq ($(shell $(QEMU) -cpu help | grep -w $(CORE)),)
7be5cac17SAlex Bennée
8be5cac17SAlex BennéeXTENSA_SRC = $(SRC_PATH)/tests/tcg/xtensa
9be5cac17SAlex BennéeXTENSA_ALL = $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_SRC)/*.S))
10be5cac17SAlex BennéeXTENSA_TESTS = $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL))
11be5cac17SAlex Bennée# Filter out common blobs and broken tests
12bc19449aSMax FilippovXTENSA_BROKEN_TESTS  = crt vectors
13be5cac17SAlex BennéeXTENSA_USABLE_TESTS = $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TESTS))
14be5cac17SAlex Bennée
15be5cac17SAlex Bennée# add to the list of tests
16be5cac17SAlex BennéeTESTS += $(XTENSA_USABLE_TESTS)
17be5cac17SAlex BennéeVPATH += $(XTENSA_SRC)
18be5cac17SAlex Bennée
19be5cac17SAlex BennéeQEMU_OPTS+=-M sim -cpu $(CORE) -nographic -semihosting -icount 6 $(EXTFLAGS) -kernel
20be5cac17SAlex Bennée
21be5cac17SAlex BennéeINCLUDE_DIRS = $(SRC_PATH)/target/xtensa/core-$(CORE)
22be5cac17SAlex BennéeXTENSA_INC = $(addprefix -I,$(INCLUDE_DIRS))
23be5cac17SAlex Bennée
24be5cac17SAlex Bennéevectors_ASFLAGS = -mtext-section-literals
25be5cac17SAlex BennéeASFLAGS = -Wa,--no-absolute-literals
26be5cac17SAlex BennéeLDFLAGS = -Tlinker.ld -nostartfiles -nostdlib
27be5cac17SAlex Bennée
28be5cac17SAlex BennéeCRT        = crt.o vectors.o
295161dba8SMax FilippovCLEANFILES += linker.ld
30be5cac17SAlex Bennée
31be5cac17SAlex Bennéelinker.ld: linker.ld.S
32be5cac17SAlex Bennée	$(CC) $(XTENSA_INC) -E -P $< -o $@
33be5cac17SAlex Bennée
34be5cac17SAlex Bennée$(XTENSA_USABLE_TESTS): linker.ld macros.inc $(CRT) Makefile.softmmu-target
35be5cac17SAlex Bennée
36be5cac17SAlex Bennée# special rule for common blobs
37be5cac17SAlex Bennée%.o: %.S
386a9e0ef3SPaolo Bonzini	$(CC) $(XTENSA_INC) $($*_ASFLAGS) $(ASFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
39be5cac17SAlex Bennée
40be5cac17SAlex Bennée%: %.S
416a9e0ef3SPaolo Bonzini	$(CC) $(XTENSA_INC) $(ASFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT)
42be5cac17SAlex Bennée
43be5cac17SAlex Bennéeendif
44d044b7c3SAlex Bennée
45d044b7c3SAlex Bennée# We don't currently support the multiarch system tests
46d044b7c3SAlex Bennéeundefine MULTIARCH_TESTS
47