xref: /openbmc/qemu/tests/tcg/x86_64/Makefile.softmmu-target (revision a666a84b32690fa414325ab23e50616f91ef00b1)
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