master
softmmu-target 57 lines 2.71 KB
Raw
1 S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
2 VPATH+=$(S390X_SRC)
3 # EXTFLAGS can be passed by the user, e.g. to override the --accel
4 QEMU_OPTS+=-action panic=exit-failure -nographic -serial chardev:output $(EXTFLAGS) -kernel
5 LINK_SCRIPT=$(S390X_SRC)/softmmu.ld
6 CFLAGS+=-ggdb -O0 -I$(SRC_PATH)/include/hw/s390x/ipl/
7 LDFLAGS=-nostdlib -static
8
9 %.o: %.S
10 $(CC) -march=z13 -m64 -Wa,--noexecstack -c $< -o $@
11
12 %.o: %.c
13 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -march=z13 -m64 -c $< -o $@
14
15 %: %.o
16 $(CC) $< -o $@ $(LDFLAGS)
17
18 ASM_TESTS = \
19 bal \
20 cksm \
21 clm \
22 exrl-ssm-early \
23 icm \
24 sam \
25 lpsw \
26 lpswe-early \
27 lra \
28 mc \
29 per \
30 precise-smc-softmmu \
31 sckc \
32 ssm-early \
33 stosm-early \
34 stpq \
35 unaligned-lowcore
36
37 include $(S390X_SRC)/pgm-specification.mak
38 $(PGM_SPECIFICATION_TESTS): pgm-specification-softmmu.o
39 $(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-softmmu.o
40 ASM_TESTS += $(PGM_SPECIFICATION_TESTS)
41
42 $(ASM_TESTS): LDFLAGS += -Wl,-T$(LINK_SCRIPT) -Wl,--build-id=none
43 $(ASM_TESTS): $(LINK_SCRIPT)
44 TESTS += $(ASM_TESTS)
45
46 MULTIARCH_TESTS += mvc-smc
47 S390X_MULTIARCH_RUNTIME_OBJS = head64.o console.o $(MINILIB_OBJS)
48 $(MULTIARCH_TESTS): $(S390X_MULTIARCH_RUNTIME_OBJS)
49 $(MULTIARCH_TESTS): LDFLAGS += $(S390X_MULTIARCH_RUNTIME_OBJS)
50 $(MULTIARCH_TESTS): CFLAGS += $(MINILIB_INC) \
51 -I$(SRC_PATH)/roms/SLOF/lib/libc/include/
52 memory: CFLAGS += -DCHECK_UNALIGNED=0
53
54 # s390x clears the BSS section so we need to account for that
55 run-plugin-memory-with-libmem.so: \
56 CHECK_PLUGIN_OUTPUT_COMMAND=$(MULTIARCH_SYSTEM_SRC)/validate-memory-counts.py \
57 --bss-cleared $@.out