1fc76c56dSPaolo Bonzini# 25ea2abf0SRowan Hart# x86_64 system tests 3fc76c56dSPaolo Bonzini# 4fc76c56dSPaolo Bonzini 5fc76c56dSPaolo BonziniX64_SYSTEM_SRC=$(SRC_PATH)/tests/tcg/x86_64/system 65ea2abf0SRowan HartX64_SYSTEM_TESTS=$(patsubst $(X64_SYSTEM_SRC)/%.c, %, $(wildcard $(X64_SYSTEM_SRC)/*.c)) 75ea2abf0SRowan Hart 85ea2abf0SRowan HartVPATH+=$(X64_SYSTEM_SRC) 9fc76c56dSPaolo Bonzini 10fc76c56dSPaolo Bonzini# These objects provide the basic boot code and helper functions for all tests 11fc76c56dSPaolo BonziniCRT_OBJS=boot.o 12fc76c56dSPaolo Bonzini 13fc76c56dSPaolo BonziniCRT_PATH=$(X64_SYSTEM_SRC) 14fc76c56dSPaolo BonziniLINK_SCRIPT=$(X64_SYSTEM_SRC)/kernel.ld 15fc76c56dSPaolo BonziniLDFLAGS=-Wl,-T$(LINK_SCRIPT) -Wl,-melf_x86_64 16fc76c56dSPaolo BonziniCFLAGS+=-nostdlib -ggdb -O0 $(MINILIB_INC) 17fc76c56dSPaolo BonziniLDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc 18fc76c56dSPaolo Bonzini 195ea2abf0SRowan HartTESTS+=$(MULTIARCH_TESTS) $(X64_SYSTEM_TESTS) 20c00506aaSAlex BennéeEXTRA_RUNS+=$(MULTIARCH_RUNS) 21fc76c56dSPaolo Bonzini 22fc76c56dSPaolo Bonzini# building head blobs 23fc76c56dSPaolo Bonzini.PRECIOUS: $(CRT_OBJS) 24fc76c56dSPaolo Bonzini 25fc76c56dSPaolo Bonzini%.o: $(CRT_PATH)/%.S 266c180490SRichard Henderson $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -Wa,--noexecstack -c $< -o $@ 27fc76c56dSPaolo Bonzini 28fc76c56dSPaolo Bonzini# Build and link the tests 29fc76c56dSPaolo Bonzini%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) 30fc76c56dSPaolo Bonzini $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) 31fc76c56dSPaolo Bonzini 32fc76c56dSPaolo Bonzinimemory: CFLAGS+=-DCHECK_UNALIGNED=1 33fc76c56dSPaolo Bonzini 34fc76c56dSPaolo Bonzini# Running 35fc76c56dSPaolo BonziniQEMU_OPTS+=-device isa-debugcon,chardev=output -device isa-debug-exit,iobase=0xf4,iosize=0x4 -kernel 3671d33794SRowan Hart 3771d33794SRowan Hartifeq ($(CONFIG_PLUGIN),y) 3871d33794SRowan Hartrun-plugin-patch-target-with-libpatch.so: \ 3971d33794SRowan Hart PLUGIN_ARGS=$(COMMA)target=ffc0$(COMMA)patch=9090$(COMMA)use_hwaddr=true 4071d33794SRowan Hartrun-plugin-patch-target-with-libpatch.so: \ 4171d33794SRowan Hart CHECK_PLUGIN_OUTPUT_COMMAND=$(X64_SYSTEM_SRC)/validate-patch.py $@.out 4271d33794SRowan Hartrun-plugin-patch-target-with-libpatch.so: patch-target libpatch.so 43*676ab6a2SGustavo RomeroEXTRA_RUNS_WITH_PLUGIN+=run-plugin-patch-target-with-libpatch.so 4471d33794SRowan Hartendif 45