1503e549eSIlya LeoshkevichS390X_SRC=$(SRC_PATH)/tests/tcg/s390x 2503e549eSIlya LeoshkevichVPATH+=$(S390X_SRC) 33b2899e3SAlex Bennée# EXTFLAGS can be passed by the user, e.g. to override the --accel 43b2899e3SAlex BennéeQEMU_OPTS+=-action panic=exit-failure -nographic -serial chardev:output $(EXTFLAGS) -kernel 5e902126cSIlya LeoshkevichLINK_SCRIPT=$(S390X_SRC)/softmmu.ld 6*9f427883SJared RossiCFLAGS+=-ggdb -O0 -I$(SRC_PATH)/include/hw/s390x/ipl/ 7c2485ea4SIlya LeoshkevichLDFLAGS=-nostdlib -static 8503e549eSIlya Leoshkevich 9e902126cSIlya Leoshkevich%.o: %.S 106c180490SRichard Henderson $(CC) -march=z13 -m64 -Wa,--noexecstack -c $< -o $@ 11e902126cSIlya Leoshkevich 12c2485ea4SIlya Leoshkevich%.o: %.c 13c2485ea4SIlya Leoshkevich $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -march=z13 -m64 -c $< -o $@ 14c2485ea4SIlya Leoshkevich 15c2485ea4SIlya Leoshkevich%: %.o 16e902126cSIlya Leoshkevich $(CC) $< -o $@ $(LDFLAGS) 17503e549eSIlya Leoshkevich 18c2485ea4SIlya LeoshkevichASM_TESTS = \ 19c2485ea4SIlya Leoshkevich bal \ 20f6044c99SIlya Leoshkevich cksm \ 21285a672dSIlya Leoshkevich clm \ 22c2485ea4SIlya Leoshkevich exrl-ssm-early \ 23f383b2f7SIlya Leoshkevich icm \ 24c2485ea4SIlya Leoshkevich sam \ 25c2485ea4SIlya Leoshkevich lpsw \ 26c2485ea4SIlya Leoshkevich lpswe-early \ 27028dc70eSIlya Leoshkevich lra \ 28eacfe7cbSIlya Leoshkevich mc \ 29fa8718c7SRichard Henderson per \ 30c3513ce5SIlya Leoshkevich precise-smc-softmmu \ 31c2485ea4SIlya Leoshkevich ssm-early \ 32c2485ea4SIlya Leoshkevich stosm-early \ 33e11e2fc6SIlya Leoshkevich stpq \ 34c2485ea4SIlya Leoshkevich unaligned-lowcore 35e902126cSIlya Leoshkevich 36e902126cSIlya Leoshkevichinclude $(S390X_SRC)/pgm-specification.mak 37e902126cSIlya Leoshkevich$(PGM_SPECIFICATION_TESTS): pgm-specification-softmmu.o 38e902126cSIlya Leoshkevich$(PGM_SPECIFICATION_TESTS): LDFLAGS+=pgm-specification-softmmu.o 39c2485ea4SIlya LeoshkevichASM_TESTS += $(PGM_SPECIFICATION_TESTS) 40d044b7c3SAlex Bennée 41c2485ea4SIlya Leoshkevich$(ASM_TESTS): LDFLAGS += -Wl,-T$(LINK_SCRIPT) -Wl,--build-id=none 42c2485ea4SIlya Leoshkevich$(ASM_TESTS): $(LINK_SCRIPT) 43c2485ea4SIlya LeoshkevichTESTS += $(ASM_TESTS) 44c2485ea4SIlya Leoshkevich 45c2485ea4SIlya LeoshkevichS390X_MULTIARCH_RUNTIME_OBJS = head64.o console.o $(MINILIB_OBJS) 46c2485ea4SIlya Leoshkevich$(MULTIARCH_TESTS): $(S390X_MULTIARCH_RUNTIME_OBJS) 47c2485ea4SIlya Leoshkevich$(MULTIARCH_TESTS): LDFLAGS += $(S390X_MULTIARCH_RUNTIME_OBJS) 48c2485ea4SIlya Leoshkevich$(MULTIARCH_TESTS): CFLAGS += $(MINILIB_INC) 49c2485ea4SIlya Leoshkevichmemory: CFLAGS += -DCHECK_UNALIGNED=0 50ecbcc9eaSAlex Bennée 51ecbcc9eaSAlex Bennée# s390x clears the BSS section so we need to account for that 52ecbcc9eaSAlex Bennéerun-plugin-memory-with-libmem.so: \ 53ecbcc9eaSAlex Bennée CHECK_PLUGIN_OUTPUT_COMMAND=$(MULTIARCH_SYSTEM_SRC)/validate-memory-counts.py \ 54ecbcc9eaSAlex Bennée --bss-cleared $@.out 55